chiark / gitweb /
update TODO
[elogind.git] / TODO
1 * udev-kernel.socket + udev.control.socket seems not
2   to work, udevd is started but no fd is passed
3
4 F15:
5
6 * swap units that are activated by one name but shown in the kernel under another are semi-broken
7
8 F15 External:
9
10 * NFS, networkmanager ordering issue (PENDING)
11
12 * NM should pull in network.target (PENDING)
13   https://bugzilla.redhat.com/show_bug.cgi?id=692008
14
15 * bluetooth should be possible to disable (PENDING)
16
17 * get writev() /dev/kmsg support into the F15 kernel
18     http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7e5b58bcbcb3d7518389c1d82fb6e926f5a9f72c
19
20 * make anaconda write timeout=0 for encrypted devices
21
22 Features:
23 * possibly set timezone offset from systemd at init instead
24   of calling hwclock
25
26 * verify that the AF_UNIX sockets of a service in the fs still exist
27   when we start a service in order to avoid confusion when a user
28   assumes starting a service is enough to make it accessible
29
30 * drop -lrt req for sd-daemon.[ch]
31
32 * Make it possible to set the keymap independently from the font on
33   the kernel cmdline. Right now setting one resets also the other.
34
35 * add dbus call to convert snapshot into target
36
37 * move nss-myhostname into systemd
38
39 * figure out a standard place to configure timezone name, inform myllynen@redhat.com
40
41 * add dbus call to convert snapshot into target
42
43 * move /selinux to /sys/fs/selinux
44
45 * unset cgroup agents on shutdown
46
47 * add prefix match to sysctl, tmpfiles, ...
48
49 * drop /.readahead on bigger upgrades with yum
50
51 * add inode stat() check to readahead to suppress preloading changed files
52
53 * allow list of paths in config_parse_condition_path()
54
55 * introduce dbus calls for enabling/disabling a service
56
57 * support notifications for services being enabled/disabled
58
59 * GC unreferenced jobs (such as .device jobs)
60
61 * support wildcard expansion in ListenStream= and friends
62
63 * support wildcard expansion in EnvironmentFile= and friends
64
65 * avoid DefaultStandardOutput=syslog to have any effect on StandardInput=socket services
66
67 * fix alsa mixer restore to not print error when no config is stored
68
69 * show enablement status in systemctl status
70
71 * write blog stories about:
72   - enabling dbus services
73   - status update
74   - /etc/sysconfig and /etc/default
75   - how to write socket activated services
76
77 * maybe add tiny dbus services similar to hostnamed for locale and wallclock/timezone?
78
79 * allow port=0 in .socket units
80
81 * rename systemd-logger to systemd-stdio-syslog-bridge
82
83 * take BSD file lock on tty devices when using them?
84
85 * avoid any flag files, or readahead files in /, we need to support r/o /
86   or / on tmpfs like Android setups.
87
88 * move readahead files into /var, look for them with .path units
89
90 * teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
91
92 * get process transport into dbus for systemctl -P/-H
93
94 * document default dependencies
95
96 * support systemd.whitelist=/systemd.blacklist= on the kernel command
97   line.
98
99 * Find a way to replace /var/run, /var/lock directories with
100   symlinks during an RPM package upgrade (filesystem.rpm or systemd.rpm).
101   (lua code to create symlinks right away for new installations is in filesytem.rpm now)
102   We soon want to get rid of var-run.mount var-lock.mount units:
103     if mountpoint /run ; then
104           umount /var/run || :
105     else
106           mount --move /var/run /run || mount --bind /var/run /run
107     fi
108     mv /var/run /var/.run.save
109     ln -s /run /var/run
110     echo "R /var/.run.save" > /etc/tmpfiles.d/remove-run-save.conf
111
112 * when key file cannot be found, read it from kbd in cryptsetup
113
114 * add switch to systemctl to show enabled but not running services. Or
115   another switch that shows service that have been running since
116   booting but aren't running anymore.
117
118 * reuse mkdtemp namespace dirs in /tmp?
119
120 * recreate systemd's D-Bus private socket file on SIGUSR2
121
122 * be more specific what failed:
123     ...
124     Unmounting file systems.
125     Not all file systems unmounted, 1 left.
126     Disabling swaps.
127     Detaching loop devices.
128     Detaching DM devices.
129     Cannot finalize remaining file systems and devices, trying to kill remaining processes.
130     Unmounting file systems.
131     Not all file systems unmounted, 1 left.
132     Cannot finalize remaining file systems and devices, giving up.
133     ...
134
135 * check for compiled-in, but not active selinux, and don't print any warnings
136   about policy loading. Probably check for available selinux in /proc/filesystems,
137   and check for active selinux with getcon_raw() == "kernel"
138
139 * Support --test based on current system state
140
141 * systemctl enable as D-Bus call
142
143 * consider services with any kind of link in /etc/systemd/system enabled
144
145 * show failure error string in "systemctl status"
146
147 * make sure timeouts are applied to Type=oneshot services.
148
149 * Implement:
150     systemctl mask <unit>
151     systemctl unmask <unit>
152   Also support --temp to make this temporary by placing mask links in /run.
153
154 * detect LXC environment
155
156 * Maybe store in unit files whether a service should be enabled by default on package installation
157   (belongs into a distro pattern though, not in an upstream package's service file)
158
159 * perhaps add "systemctl reenable" as combination of "systemctl disable" and "systemctl enable"
160
161 * need a way to apply mount options of api vfs from systemd unit files
162   (or some other modern source?) instead of fstab?
163
164 * maybe introduce ExecRestartPre=
165
166 * figure out what happened to bluez patch
167
168 * Patch systemd-fsck to use -C and pass console fd to it
169
170 * configurable jitter for timer events
171
172 * Support ProcessNeededForShutdown=true to allow stuff like mdmon to
173   be killed very late after the rootfs is read only? If implement pass
174   this to shutdown binary via command line argument.
175
176 * use pivot_root on shutdown so that we can unmount the root directory.
177    - copy binaries to, and pivot_root() to the "shutdown tmpfs"
178    - solve "mdadm --wait-clean" problem that way
179
180 * dot output for --test showing the 'initial transaction'
181
182 * calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
183     http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ee5315dac6211e972fa3f23bcc9a0343ff58c4
184
185 * systemd --user
186   - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
187
188 * add VT tracking:
189   - provide CK functionality
190   - start getty only when actual vt switch happens (same model as
191     socket on-demand activation). allocate the next free tty and
192     start a getty there. this way, pressing alt-f[1-12] will switch
193     through running X and getty sessions, and any unallocated
194     activated tty will start a new getty. the hardcoding of
195     getty[1-6] will entirely go away.
196   - http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbc92a3455577ab17615cbcb91826399061bd789
197
198 * implicitly import "defaults" settings file into all types
199
200 * port over to LISTEN_FDS/LISTEN_PID:
201    - uuidd    HAVEPATCH
202    - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
203    - cups     HAVEPATCH
204    - postfix, saslauthd
205    - apache/samba
206    - libvirtd (/var/run/libvirt/libvirt-sock-ro)
207    - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
208    - distccd
209
210 * fingerprint.target, wireless.target, gps.target, netdevice.target
211
212 * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
213
214 * io priority during initialization
215
216 * if a service fails too often, make the service enter failed mode, and the socket, too.
217
218 * systemctl list-jobs - show dependencies
219
220 * auditd service files
221
222 * add systemctl switch to dump transaction without executing it
223
224 * suspend, resume support?
225
226 * readahead: btrfs/LVM SSD detection
227
228 * add separate man page for [Install] settings
229
230 * allow runtime changing of log level and target
231
232 * drop cap bounding set in readahead and other services
233
234 External:
235
236 * udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
237
238 * snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
239
240 * gnome-shell python script/glxinfo/is-accelerated must die
241
242 * make cryptsetup lower --iter-time
243
244 * patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
245
246 * patch kernel for cpu feature modalias for autoloading aes/kvm/...
247     http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
248   (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
249
250 * procps, psmisc, sysvinit-tools, hostname → util-linux-ng
251
252 https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
253 https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
254 https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
255 https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
256 https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
257 https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
258 https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
259 http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
260 http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
261 https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
262 https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
263 https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
264 https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
265 https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
266 https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
267 https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
268 https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
269 https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
270
271 Regularly:
272
273 * look for close() vs. close_nointr() vs. close_nointr_nofail()
274
275 * check for strerror(r) instead of strerror(-r)
276
277 * Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
278
279 * %m in printf() instead of strerror();
280
281 * pahole
282
283 * CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"