chiark / gitweb /
c5ac18e4119469ec180c16face4e4d495a70a460
[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 * make anaconda write timeout=0 for encrypted devices
18
19 * fix broken Sockets=syslog-ng.socket packaging
20
21 Features:
22
23 * fix CUPS .path unit for globbing
24
25 * move PAM code into its own binary
26
27 * logind: ensure ACLs are updated on login and logout
28
29 * warn if the user stops a service but not its associated socket
30
31 * ensure we always set the facility when logging to kmsg
32
33 * service: pid file reading after reload doesn't work, since we don't reset the pid variable
34
35 * logind: spawn user@..service on login
36
37 * logind: non-local X11 server handling
38
39 * logind: use sysfs path in device hash table instead of sysname, as soon as fb driver is fixed
40
41 * implement Register= switch in .socket units to enable registration
42   in Avahi, RPC and other socket registration services.
43
44 * make sure people don't leave processes around after ExecStartPre=
45
46 * make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
47
48 * kernel: add /proc/sys file exposing CAP_LAST_CAP?
49
50 * kernel: add device_type = "fb", "fbcon" to class "graphics"
51
52 * understand https://bugzilla.redhat.com/show_bug.cgi?id=672194
53
54 * readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
55
56 * readahead: check whether a btrfs volume includes ssd by checking mount flag "ssd"
57
58 * support sd_notify() style notification when reload is finished (RELOADED=1)
59
60 * support sf_notify() style notification when shutting down, to make auto-exit bus services work
61
62 * verify that the AF_UNIX sockets of a service in the fs still exist
63   when we start a service in order to avoid confusion when a user
64   assumes starting a service is enough to make it accessible
65
66 * Make it possible to set the keymap independently from the font on
67   the kernel cmdline. Right now setting one resets also the other.
68
69 * move nss-myhostname into systemd
70
71 * figure out a standard place to configure timezone name, inform myllynen@redhat.com
72
73 * add dbus call to convert snapshot into target, and a dbus call to generate target from current state
74
75 * detect LXC with $container=lxc
76
77 * drop /.readahead on bigger upgrades with yum
78
79 * add inode stat() check to readahead to suppress preloading changed files
80
81 * allow list of paths in config_parse_condition_path()
82
83 * show enablement status in systemctl status
84
85 * add support for /bin/mount -s
86
87 * GC unreferenced jobs (such as .device jobs)
88
89 * add JoinControllers= to system.conf to mount certain cgroup
90   controllers together in order to guarantee atomic creation/addition
91   of cgroups
92
93 * avoid DefaultStandardOutput=syslog to have any effect on StandardInput=socket services
94
95 * cgroup_notify_empty(): recursively check groups up the tree, too
96
97 * fix alsa mixer restore to not print error when no config is stored
98
99 * when failing to start a service due to ratelimiting, try again later, if restart=always is set
100
101 * write blog stories about:
102   - enabling dbus services
103   - status update
104   - how to make changes to sysctl and sysfs attributes
105   - remote access
106   - cgroup best pratices to avoid stepping on each others toes
107   - how to pass throw-away units to systemd, or dynamically change properties of existing units
108   - how to integrate cgconfig and suchlike with systemd
109
110 * allow port=0 in .socket units
111
112 * rename systemd-logger to systemd-stdio-syslog-bridge
113
114 * take BSD file lock on tty devices when using them?
115
116 * avoid any flag files, or readahead files in /, we need to support r/o /
117   or / on tmpfs like Android setups.
118
119 * move readahead files into /var, look for them with .path units
120
121 * teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
122
123 * get process transport into dbus for systemctl -P/-H
124
125 * document default dependencies
126
127 * support systemd.whitelist=/systemd.blacklist= on the kernel command
128   line.
129
130 * Find a way to replace /var/run, /var/lock directories with
131   symlinks during an RPM package upgrade (filesystem.rpm or systemd.rpm).
132   (lua code to create symlinks right away for new installations is in filesytem.rpm now)
133   We soon want to get rid of var-run.mount var-lock.mount units:
134     if mountpoint /run ; then
135           umount /var/run || :
136     else
137           mount --move /var/run /run || mount --bind /var/run /run
138     fi
139     mv /var/run /var/.run.save
140     ln -s /run /var/run
141     echo "R /var/.run.save" > /etc/tmpfiles.d/remove-run-save.conf
142
143 * when key file cannot be found, read it from kbd in cryptsetup
144
145 * add switch to systemctl to show enabled but not running services. Or
146   another switch that shows service that have been running since
147   booting but aren't running anymore.
148
149 * reuse mkdtemp namespace dirs in /tmp?
150
151 * recreate systemd's D-Bus private socket file on SIGUSR2
152
153 * be more specific what failed:
154     ...
155     Unmounting file systems.
156     Not all file systems unmounted, 1 left.
157     Disabling swaps.
158     Detaching loop devices.
159     Detaching DM devices.
160     Cannot finalize remaining file systems and devices, trying to kill remaining processes.
161     Unmounting file systems.
162     Not all file systems unmounted, 1 left.
163     Cannot finalize remaining file systems and devices, giving up.
164     ...
165
166 * check for compiled-in, but not active selinux, and don't print any warnings
167   about policy loading. Probably check for available selinux in /proc/filesystems,
168   and check for active selinux with getcon_raw() == "kernel"
169
170 * Support --test based on current system state
171
172 * show failure error string in "systemctl status"
173
174 * make sure timeouts are applied to Type=oneshot services.
175
176 * investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
177
178 * need a way to apply mount options of api vfs from systemd unit files
179   (or some other modern source?) instead of fstab?
180
181 * maybe introduce ExecRestartPre=
182
183 * figure out what happened to bluez patch
184
185 * Patch systemd-fsck to use -C and pass console fd to it
186
187 * configurable jitter for timer events
188
189 * Support ProcessNeededForShutdown=true to allow stuff like mdmon to
190   be killed very late after the rootfs is read only? If implement pass
191   this to shutdown binary via command line argument.
192
193 * dot output for --test showing the 'initial transaction'
194
195 * calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
196     http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ee5315dac6211e972fa3f23bcc9a0343ff58c4
197
198 * systemd --user
199   - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
200
201 * implicitly import "defaults" settings file into all types
202
203 * port over to LISTEN_FDS/LISTEN_PID:
204    - uuidd    HAVEPATCH
205    - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
206    - cups     HAVEPATCH
207    - postfix, saslauthd
208    - apache/samba
209    - libvirtd (/var/run/libvirt/libvirt-sock-ro)
210    - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
211    - distccd
212
213 * fingerprint.target, wireless.target, gps.target, netdevice.target
214
215 * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
216
217 * io priority during initialization
218
219 * if a service fails too often, make the service enter failed mode, and the socket, too.
220
221 * systemctl list-jobs - show dependencies
222
223 * auditd service files
224
225 * add systemctl switch to dump transaction without executing it
226
227 * suspend, resume support?
228
229 * readahead: btrfs/LVM SSD detection
230
231 * allow runtime changing of log level and target
232
233 * drop cap bounding set in readahead and other services
234
235 External:
236
237 * udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
238
239 * snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
240
241 * gnome-shell python script/glxinfo/is-accelerated must die
242
243 * make cryptsetup lower --iter-time
244
245 * patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
246
247 * patch kernel for cpu feature modalias for autoloading aes/kvm/...
248     http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
249   (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
250
251 * procps, psmisc, sysvinit-tools, hostname → util-linux-ng
252
253 https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
254 https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
255 https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
256 https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
257 https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
258 https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
259 https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
260 http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
261 http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
262 https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
263 https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
264 https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
265 https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
266 https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
267 https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
268 https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
269 https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
270 https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
271
272 Regularly:
273
274 * look for close() vs. close_nointr() vs. close_nointr_nofail()
275
276 * check for strerror(r) instead of strerror(-r)
277
278 * Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
279
280 * %m in printf() instead of strerror();
281
282 * pahole
283
284 * CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"