chiark / gitweb /
update TODO
[elogind.git] / TODO
1 * drop IN_ATTRIB from inotify watches for .path units where possible to avoid
2   lots of wakeups due to /dev changing when we watch a subdir of /dev.
3
4 * Support ProcessNeededForShutdown=true to allow stuff like mdmon
5   to br killed very late after the rootfs is read only
6
7 * Integrate "mdadm --wait-clean". Maybe just let SIGTERM to mdmon trigger the
8   needed action
9
10 * bind mounts with 'fsck' fail and block for a minute:
11     /foo /bar none bind 1 1
12   (requesting fsck is wrong, but why do we block for a minute
13    instead of just handling the error)
14
15 * oneshot services which do not remain: 'exited' instead of 'dead'?
16   it should be visible in 'systemctl' that they have been run
17
18 * dot output for --test showing the 'initial transaction'
19
20 * calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
21   - check timerfd() patch: http://lkml.org/lkml/2010/11/23/290
22
23 * systemd --user
24   - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
25
26 * add VT tracking:
27     - provide CK functionality
28     - start getty only when actual vt switch happens (same model as
29       socket on-demand activation). allocate the next free tty and
30       start a getty there. this way, pressing alt-f[1-12] will switch
31       through running X and getty sessions, and any unallocated
32       activated tty will start a new getty. the hardcoding of
33       getty[1-6] will entirely go away.
34
35 * implicitly import "defaults" settings file into all types
36
37 * port over to LISTEN_FDS/LISTEN_PID:
38    - uuidd    DONE
39    - dbus     DONE
40    - rsyslog  DONE
41    - rpcbind (/var/run/rpcbind.sock!) DONE
42    - cups     DONE
43    - avahi-daemon (/var/run/avahi-daemon/socket) DONE
44    - ssh      CLASSIC
45    - postfix, saslauthd
46    - apache/samba
47    - libvirtd (/var/run/libvirt/libvirt-sock-ro)
48    - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
49    - distccd
50
51 * fingerprint.target, wireless.target, gps.target
52
53 * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
54
55 * io priority during initialization
56
57 * if a service fails too often, make the service enter failed mode, and the socket, too.
58
59 * systemctl list-jobs - show dependencies
60
61 * accountsservice is borked
62
63 * auditd service files
64
65 * add systemctl switch to dump transaction without executing it
66
67 * suspend, resume
68
69 * systemctl auto-pager a la git
70
71 * readahead: btrfs/LVM SSD detection
72
73 * when processes remain in a service even though the start command failed enter active
74
75 * add seperate man page for [Install] settings
76
77 * only add quotacheck deps to .mount units which mention grpquota/usrquota in the mount flags
78
79 * systemctl condrestart should return 0 if service isn't running
80
81 * tmpfiles: allow specification of .conf files on cmdline
82
83 * allow runtime changing of log level and target
84
85 * automatically determine TERM= based on tty name even for /dev/console
86
87 * fix hotplug transactions
88
89 * isolate multi-user.target doesn't start a getty@tty1 if we run it from graphical.target
90
91 * sendmail.service doesn't get rid PID file, fails to kill everything on stop
92
93 * global defaults for StandardOuput=xxx
94
95 * Make EnvironmentFile=-/fooobar/waldo ingnore errors while reading /foobar/waldo
96
97 * mkswap/mke2fs is called on wrong devices in crypto devices.
98
99 Fedora:
100
101 * obsolete readhead in systemd pkg
102
103 * chkconfig → systemd enable/daemon-reload glue
104
105 * /var/lock, /var/run → what happens if rpm stuff is no %ghosted?
106
107 External:
108
109 * make cryptsetup lower --iter-time
110
111 * patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup.
112
113 * patch kernel for cpu feature modalias for autoloading aes/kvm/...
114
115 * place /etc/inittab with explaining blurb.
116
117 * pam_securetty should honour console=
118
119 * procps, psmisc, sysvinit-tools, hostname → util-linux-ng
120
121 https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
122 https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
123 https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
124 https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
125 https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
126 https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
127 https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
128 http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
129 http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
130 https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
131 https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
132 https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
133 https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
134 https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
135 https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
136 https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
137 https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
138 https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
139
140 Regularly:
141
142 * look for close() vs. close_nointr() vs. close_nointr_nofail()
143
144 * check for strerror(r) instead of strerror(-r)
145
146 * Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
147
148 * %m in printf() instead of strerror();
149
150 * pahole
151
152 * CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"