]> git.ipfire.org Git - thirdparty/systemd.git/blame - TODO
build-sys: fix copynpaste mistake
[thirdparty/systemd.git] / TODO
CommitLineData
8bf7fea5
KS
1* udev-kernel.socket + udev.control.socket seems not
2 to work, udevd is started but no fd is passed
3
b7ff1e47
LP
4F15:
5
c904f64d
LP
6* swap units that are activated by one name but shown in the kernel under another are semi-broken
7
b0a3f2bc
LP
8F15 External:
9
7d640cdf 10* NFS, networkmanager ordering issue (PENDING)
62170515 11
f80781ea
LP
12* NM should pull in network.target (PENDING)
13 https://bugzilla.redhat.com/show_bug.cgi?id=692008
14
222ae6a8
LP
15* bluetooth should be possible to disable (PENDING)
16
05677bb7 17* make anaconda write timeout=0 for encrypted devices
73090dc8 18
235b2826
KS
19* fix broken Sockets=syslog-ng.socket packaging
20
222ae6a8 21Features:
53907215 22
7a41c611
LP
23* add conditions for file executability
24
25* allow creating fifos with tmpfiles
26
1258097c
LP
27* implement Register= switch in .socket units to enable registration
28 in Avahi, RPC and other socket registration services.
29
7b3afbac
LP
30* Remove kill_mode parameter to kill bus calls
31
a4c279f8
LP
32* Fix nspawn to not read-only mount /selinux on the host system
33
34* make sure people don't leave processes around after ExecStartPre=
35
36* make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
37
8092a428 38* add loginctl, i.e. a systemctl for logind introspection
4e002583 39
8092a428 40* support presets
5db35d06 41
0a31730e
LP
42* kernel: add /proc/sys file exposing CAP_LAST_CAP?
43
359306df
KS
44* kernel: add device_type = "fb", "fbcon" to class "graphics"
45
b5ef5549
LP
46* understand https://bugzilla.redhat.com/show_bug.cgi?id=672194
47
d3fc81bd
LP
48* readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
49
50* readahead: check whether a btrfs volume includes ssd by checking mount flag "ssd"
51
8d0e38a2
LP
52* support sd_notify() style notificatio when reload is finished (RELOADED=1)
53
f28f1daf
LP
54* verify that the AF_UNIX sockets of a service in the fs still exist
55 when we start a service in order to avoid confusion when a user
56 assumes starting a service is enough to make it accessible
57
88a07670
LP
58* Make it possible to set the keymap independently from the font on
59 the kernel cmdline. Right now setting one resets also the other.
60
6ea832a2 61* add dbus call to convert snapshot into target
c2a14cf0 62
916abb21
LP
63* move nss-myhostname into systemd
64
65* figure out a standard place to configure timezone name, inform myllynen@redhat.com
66
31a5f880 67* add dbus call to convert snapshot into target, and a dbus call to generate target from current state
916abb21 68
4ecda405
LP
69* detect LXC with $container=lxc
70
fb389e05
LP
71* add prefix match to sysctl, tmpfiles, ...
72
b23de6af
LP
73* drop /.readahead on bigger upgrades with yum
74
24a73f51 75* add inode stat() check to readahead to suppress preloading changed files
b4bd5144 76
6ea832a2 77* allow list of paths in config_parse_condition_path()
adf70c5e 78
ecb963cc
LP
79* introduce dbus calls for enabling/disabling a service
80
81* support notifications for services being enabled/disabled
82
31a5f880
LP
83* show enablement status in systemctl status
84
85* consider services with any kind of link in /etc/systemd/system enabled
86
87* teach systemctl to enable unit files in arbitrary directories
88
89* In systemctl make sure both is-enabled and is-active print a string, or neither.
90
91* Implement:
92 systemctl mask <unit>
93 systemctl unmask <unit>
94 Also support --temp to make this temporary by placing mask links in /run.
95
21bdae12
LP
96* add support for /bin/mount -s
97
9534ce54
LP
98* GC unreferenced jobs (such as .device jobs)
99
2076cf88
LP
100* add JoinControllers= to system.conf to mount certain cgroup
101 controllers together in order to guarantee atomic creation/addition
102 of cgroups
103
73090dc8 104* avoid DefaultStandardOutput=syslog to have any effect on StandardInput=socket services
19bc719e
LP
105
106* cgroup_notify_empty(): recursively check groups up the tree, too
73090dc8 107
ba1a5515 108* fix alsa mixer restore to not print error when no config is stored
18a5d7ff 109
8003c705
LP
110* fix upstart reboot compat call
111
c798c40e
LP
112* when failing to start a service due to ratelimiting, try again later, if restart=always is set
113
68c7d001 114* write blog stories about:
68c7d001
LP
115 - enabling dbus services
116 - status update
2121dcdd 117 - /etc/sysconfig and /etc/default
73090dc8 118
44143309 119* allow port=0 in .socket units
3d57c6ab 120
9d8677da
LP
121* rename systemd-logger to systemd-stdio-syslog-bridge
122
cca4aeee
LP
123* take BSD file lock on tty devices when using them?
124
16b879e3
KS
125* avoid any flag files, or readahead files in /, we need to support r/o /
126 or / on tmpfs like Android setups.
127
b9a2a36b
LP
128* move readahead files into /var, look for them with .path units
129
ba1a5515 130* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
9408a2d2 131
68c7d001
LP
132* get process transport into dbus for systemctl -P/-H
133
ba1a5515 134* document default dependencies
9408a2d2 135
d7cc2987
LP
136* support systemd.whitelist=/systemd.blacklist= on the kernel command
137 line.
138
3f7a8c4e
KS
139* Find a way to replace /var/run, /var/lock directories with
140 symlinks during an RPM package upgrade (filesystem.rpm or systemd.rpm).
619c2581 141 (lua code to create symlinks right away for new installations is in filesytem.rpm now)
b9a2a36b 142 We soon want to get rid of var-run.mount var-lock.mount units:
619c2581
KS
143 if mountpoint /run ; then
144 umount /var/run || :
145 else
146 mount --move /var/run /run || mount --bind /var/run /run
147 fi
148 mv /var/run /var/.run.save
149 ln -s /run /var/run
150 echo "R /var/.run.save" > /etc/tmpfiles.d/remove-run-save.conf
3f7a8c4e 151
f9276855
LP
152* when key file cannot be found, read it from kbd in cryptsetup
153
260abb78
LP
154* add switch to systemctl to show enabled but not running services. Or
155 another switch that shows service that have been running since
156 booting but aren't running anymore.
157
158* reuse mkdtemp namespace dirs in /tmp?
159
260abb78 160* recreate systemd's D-Bus private socket file on SIGUSR2
2791a8f8 161
7d9e57d2 162* be more specific what failed:
3f7a8c4e 163 ...
7d9e57d2
KS
164 Unmounting file systems.
165 Not all file systems unmounted, 1 left.
166 Disabling swaps.
167 Detaching loop devices.
168 Detaching DM devices.
169 Cannot finalize remaining file systems and devices, trying to kill remaining processes.
170 Unmounting file systems.
171 Not all file systems unmounted, 1 left.
172 Cannot finalize remaining file systems and devices, giving up.
3f7a8c4e 173 ...
2791a8f8 174
a49408ec
KS
175* check for compiled-in, but not active selinux, and don't print any warnings
176 about policy loading. Probably check for available selinux in /proc/filesystems,
177 and check for active selinux with getcon_raw() == "kernel"
178
a8f11321
LP
179* Support --test based on current system state
180
430c18ed 181* show failure error string in "systemctl status"
1a6f4df6
LP
182
183* make sure timeouts are applied to Type=oneshot services.
184
2e0d98fa
LP
185* detect LXC environment
186
21bdae12
LP
187* investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
188
b8bb3e8f
LP
189* perhaps add "systemctl reenable" as combination of "systemctl disable" and "systemctl enable"
190
f959c5e6 191* need a way to apply mount options of api vfs from systemd unit files
b9a2a36b 192 (or some other modern source?) instead of fstab?
7f6d6135 193
c32e0c40
LP
194* maybe introduce ExecRestartPre=
195
47ae6e67
LP
196* figure out what happened to bluez patch
197
487a15bb
LP
198* Patch systemd-fsck to use -C and pass console fd to it
199
35f10fcc
LP
200* configurable jitter for timer events
201
3d3961f2
LP
202* Support ProcessNeededForShutdown=true to allow stuff like mdmon to
203 be killed very late after the rootfs is read only? If implement pass
204 this to shutdown binary via command line argument.
bf5bb531 205
0ecb9427
KS
206* use pivot_root on shutdown so that we can unmount the root directory.
207 - copy binaries to, and pivot_root() to the "shutdown tmpfs"
208 - solve "mdadm --wait-clean" problem that way
bf5bb531 209
59fee421
LP
210* dot output for --test showing the 'initial transaction'
211
8c6db833 212* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
8bf7fea5 213 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ee5315dac6211e972fa3f23bcc9a0343ff58c4
351c7e74
KS
214
215* systemd --user
216 - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
217
218* add VT tracking:
a49408ec
KS
219 - provide CK functionality
220 - start getty only when actual vt switch happens (same model as
221 socket on-demand activation). allocate the next free tty and
222 start a getty there. this way, pressing alt-f[1-12] will switch
223 through running X and getty sessions, and any unallocated
224 activated tty will start a new getty. the hardcoding of
225 getty[1-6] will entirely go away.
8bf7fea5 226 - http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbc92a3455577ab17615cbcb91826399061bd789
75787bb7 227
129126f3 228* implicitly import "defaults" settings file into all types
75787bb7 229
129126f3 230* port over to LISTEN_FDS/LISTEN_PID:
7d9e57d2
KS
231 - uuidd HAVEPATCH
232 - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
233 - cups HAVEPATCH
a625ac1a 234 - postfix, saslauthd
a625ac1a
LP
235 - apache/samba
236 - libvirtd (/var/run/libvirt/libvirt-sock-ro)
237 - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
a625ac1a
LP
238 - distccd
239
68c7d001 240* fingerprint.target, wireless.target, gps.target, netdevice.target
0ff3dea7 241
647703fe 242* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
246756ca 243
50f2a90d 244* io priority during initialization
8fe914ec 245
74ac3cbd 246* if a service fails too often, make the service enter failed mode, and the socket, too.
ea4a240d 247
647703fe 248* systemctl list-jobs - show dependencies
63090775 249
20604ebc
LP
250* auditd service files
251
20604ebc
LP
252* add systemctl switch to dump transaction without executing it
253
7d9e57d2 254* suspend, resume support?
da726a4d 255
1a34d367
LP
256* readahead: btrfs/LVM SSD detection
257
ed1c99fc 258* add separate man page for [Install] settings
98e1f931 259
42e8a0a8
LP
260* allow runtime changing of log level and target
261
9534ce54
LP
262* drop cap bounding set in readahead and other services
263
2f8cd170 264External:
74fe1fe3 265
f959c5e6
LP
266* udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
267
268* snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
269
7d9e57d2 270* gnome-shell python script/glxinfo/is-accelerated must die
f959c5e6 271
74fe1fe3
LP
272* make cryptsetup lower --iter-time
273
44143309 274* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
06ae4bfe 275
6f3f9deb 276* patch kernel for cpu feature modalias for autoloading aes/kvm/...
fc84026d 277 http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
7d9e57d2 278 (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
6f3f9deb 279
26192dfc
LP
280* procps, psmisc, sysvinit-tools, hostname → util-linux-ng
281
50f2a90d
LP
282https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
283https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
284https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
285https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
286https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
287https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
5e5c6cd7
LP
288https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
289http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
50f2a90d 290http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
b5e9dba8
LP
291https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
292https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
293https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
294https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
295https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
296https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
297https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
298https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
02ee865a 299https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
14bd37fe 300
129126f3 301Regularly:
874aa2cc 302
129126f3 303* look for close() vs. close_nointr() vs. close_nointr_nofail()
5021be21 304
129126f3 305* check for strerror(r) instead of strerror(-r)
5b6319dc
LP
306
307* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
8c6db833
LP
308
309* %m in printf() instead of strerror();
444a79d3
LP
310
311* pahole
312
313* CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"