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