]> git.ipfire.org Git - thirdparty/systemd.git/blame - TODO
path: optionally, create watched directories in .path units
[thirdparty/systemd.git] / TODO
CommitLineData
b7ff1e47
LP
1F15:
2
c904f64d
LP
3* swap units that are activated by one name but shown in the kernel under another are semi-broken
4
7d640cdf 5* NFS, networkmanager ordering issue (PENDING)
62170515 6
f80781ea
LP
7* NM should pull in network.target (PENDING)
8 https://bugzilla.redhat.com/show_bug.cgi?id=692008
9
4466194c 10* ntpd should pull in time-sync.target. (PENDING)
f80781ea 11
222ae6a8
LP
12* bluetooth should be possible to disable (PENDING)
13
c904f64d
LP
14* add fstab fields to add wait timeouts, change Wants to Requires by local-fs.target
15
099663ff 16* bind mounts are ignored
cebe0d41 17 https://bugzilla.redhat.com/show_bug.cgi?id=682662
099663ff 18
099663ff 19* 0595f9a1c182a84581749823ef47c5f292e545f9 is borked, freezes shutdown
a49408ec 20 (path: after installing inotify watches, recheck file again to fix race)
b925e726 21
0e456f97
LP
22* be nice to ingo
23
222ae6a8 24Features:
7d76f312 25
ba1a5515 26* fix alsa mixer restore to not print error when no config is stored
18a5d7ff 27
67370238
LP
28* don't trim empty cgroups
29 https://bugzilla.redhat.com/show_bug.cgi?id=678555
30
abf96c87
LP
31* show enablement status in systemctl status
32
68c7d001
LP
33* write blog stories about:
34 - chroot, nspawn and friends
35 - the blame game: systemd-analyze
36 - enabling dbus services
37 - status update
38
3d57c6ab
LP
39* allow port = 0 in .socket units
40
9d8677da
LP
41* rename systemd-logger to systemd-stdio-syslog-bridge
42
43* introduce /usr/lib/binfmt.d/, /usr/lib/tmpfiles.d/
44
222ae6a8 45* in pam_systemd: don't rely on /proc/self/loginuid in a container (check if audit caps are there)
d7cc2987 46
cca4aeee
LP
47* take BSD file lock on tty devices when using them?
48
7ebdfc93
LP
49* tmpfiles should allow two identical lines
50 https://bugzilla.redhat.com/show_bug.cgi?id=690253
51
16b879e3
KS
52* avoid any flag files, or readahead files in /, we need to support r/o /
53 or / on tmpfs like Android setups.
54
ba1a5515 55* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
9408a2d2 56
68c7d001
LP
57* get process transport into dbus for systemctl -P/-H
58
ba1a5515 59* document default dependencies
9408a2d2 60
d7cc2987
LP
61* support systemd.whitelist=/systemd.blacklist= on the kernel command
62 line.
63
3f7a8c4e
KS
64* Find a way to replace /var/run, /var/lock directories with
65 symlinks during an RPM package upgrade (filesystem.rpm or systemd.rpm).
66 We soon want to get rid of var-run.mount var-lock.mount units.
67
f9276855
LP
68* when key file cannot be found, read it from kbd in cryptsetup
69
260abb78
LP
70* add switch to systemctl to show enabled but not running services. Or
71 another switch that shows service that have been running since
72 booting but aren't running anymore.
73
74* reuse mkdtemp namespace dirs in /tmp?
75
3f7a8c4e 76* don't strip facility from kmsg log messages as soon as that is possible:
a49408ec 77 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=9d90c8d9cde929cbc575098e825d7c29d9f45054
7d9e57d2 78
260abb78 79* recreate systemd's D-Bus private socket file on SIGUSR2
2791a8f8 80
7d9e57d2 81* be more specific what failed:
3f7a8c4e 82 ...
7d9e57d2
KS
83 Unmounting file systems.
84 Not all file systems unmounted, 1 left.
85 Disabling swaps.
86 Detaching loop devices.
87 Detaching DM devices.
88 Cannot finalize remaining file systems and devices, trying to kill remaining processes.
89 Unmounting file systems.
90 Not all file systems unmounted, 1 left.
91 Cannot finalize remaining file systems and devices, giving up.
3f7a8c4e 92 ...
2791a8f8 93
a49408ec
KS
94* check for compiled-in, but not active selinux, and don't print any warnings
95 about policy loading. Probably check for available selinux in /proc/filesystems,
96 and check for active selinux with getcon_raw() == "kernel"
97
a8f11321
LP
98* Support --test based on current system state
99
81253930
LP
100* consider services with no [Install] section and stored in /lib enabled by "systemctl is-enabled"
101
e85138e6
LP
102* systemctl enable as D-Bus call
103
81253930 104* consider services with any kind of link in /etc/systemd/system enabled
7fc7012b 105
430c18ed 106* show failure error string in "systemctl status"
1a6f4df6
LP
107
108* make sure timeouts are applied to Type=oneshot services.
109
a49408ec 110* Maybe implement "systemctl mask" and "systemctl unmask", but not
3db48a78
LP
111 document it? When doing that add switch to make this temporary by
112 placing mask links in /dev.
a49408ec
KS
113 Consider moving the actual fs operations into systemd behind a D-Bus
114 interface, to make namespaces/containers/remote connections work properly.
3db48a78 115
2e0d98fa
LP
116* detect LXC environment
117
62170515 118* invoke vhangup() before and after invoking getty
a49408ec 119 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3c95c985fa91ecf6a0e29622bbdd13dcfc5ce9f1
62170515 120
b5c6cf87
LP
121* support "auto" and "comment=systemd.automount" at the same time for an fstab entry
122
3185a36b 123* Maybe store in unit files whether a service should be enabled by default on package installation
7d9e57d2 124 (belongs into a distro pattern though, not in an upstream package's service file)
3185a36b 125
b8bb3e8f
LP
126* perhaps add "systemctl reenable" as combination of "systemctl disable" and "systemctl enable"
127
f959c5e6
LP
128* need a way to apply mount options of api vfs from systemd unit files
129 (or some other modern source?) instead of fstab
7f6d6135 130
c32e0c40
LP
131* maybe introduce ExecRestartPre=
132
47ae6e67
LP
133* figure out what happened to bluez patch
134
487a15bb
LP
135* Patch systemd-fsck to use -C and pass console fd to it
136
ba1a5515 137* support remote/ssh systemctl/systemadm, and local privileged access → dbus patches need to be merged
2c4b304e 138
35f10fcc
LP
139* configurable jitter for timer events
140
bf5bb531 141* Support ProcessNeededForShutdown=true to allow stuff like mdmon
f959c5e6 142 to be killed very late after the rootfs is read only (?)
bf5bb531
KS
143
144* Integrate "mdadm --wait-clean". Maybe just let SIGTERM to mdmon trigger the
145 needed action
146
59fee421
LP
147* dot output for --test showing the 'initial transaction'
148
8c6db833 149* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
351c7e74
KS
150 - check timerfd() patch: http://lkml.org/lkml/2010/11/23/290
151
152* systemd --user
153 - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
154
155* add VT tracking:
a49408ec
KS
156 - provide CK functionality
157 - start getty only when actual vt switch happens (same model as
158 socket on-demand activation). allocate the next free tty and
159 start a getty there. this way, pressing alt-f[1-12] will switch
160 through running X and getty sessions, and any unallocated
161 activated tty will start a new getty. the hardcoding of
162 getty[1-6] will entirely go away.
163 - http://git.kernel.org/?p=linux/kernel/git/gregkh/tty-2.6.git;a=commitdiff;h=fbc92a3455577ab17615cbcb91826399061bd789
75787bb7 164
129126f3 165* implicitly import "defaults" settings file into all types
75787bb7 166
129126f3 167* port over to LISTEN_FDS/LISTEN_PID:
7d9e57d2
KS
168 - uuidd HAVEPATCH
169 - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
170 - cups HAVEPATCH
a625ac1a 171 - postfix, saslauthd
a625ac1a
LP
172 - apache/samba
173 - libvirtd (/var/run/libvirt/libvirt-sock-ro)
174 - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
a625ac1a
LP
175 - distccd
176
68c7d001 177* fingerprint.target, wireless.target, gps.target, netdevice.target
0ff3dea7 178
647703fe 179* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
246756ca 180
50f2a90d 181* io priority during initialization
8fe914ec 182
74ac3cbd 183* if a service fails too often, make the service enter failed mode, and the socket, too.
ea4a240d 184
647703fe 185* systemctl list-jobs - show dependencies
63090775 186
313ed05b 187* accountsservice is borked
63090775 188
20604ebc
LP
189* auditd service files
190
20604ebc
LP
191* add systemctl switch to dump transaction without executing it
192
7d9e57d2 193* suspend, resume support?
da726a4d 194
1a34d367
LP
195* readahead: btrfs/LVM SSD detection
196
ed1c99fc 197* add separate man page for [Install] settings
98e1f931 198
42e8a0a8
LP
199* allow runtime changing of log level and target
200
2f8cd170 201External:
74fe1fe3 202
f959c5e6
LP
203* udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
204
205* snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
206
7d9e57d2 207* gnome-shell python script/glxinfo/is-accelerated must die
f959c5e6 208
74fe1fe3
LP
209* make cryptsetup lower --iter-time
210
06ae4bfe
LP
211* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup.
212
6f3f9deb 213* patch kernel for cpu feature modalias for autoloading aes/kvm/...
fc84026d 214 http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
7d9e57d2 215 (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
6f3f9deb 216
26192dfc
LP
217* procps, psmisc, sysvinit-tools, hostname → util-linux-ng
218
50f2a90d
LP
219https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
220https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
221https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
222https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
223https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
224https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
5e5c6cd7
LP
225https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
226http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
50f2a90d 227http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
b5e9dba8
LP
228https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
229https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
230https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
231https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
232https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
233https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
234https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
235https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
02ee865a 236https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
14bd37fe 237
129126f3 238Regularly:
874aa2cc 239
129126f3 240* look for close() vs. close_nointr() vs. close_nointr_nofail()
5021be21 241
129126f3 242* check for strerror(r) instead of strerror(-r)
5b6319dc
LP
243
244* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
8c6db833
LP
245
246* %m in printf() instead of strerror();
444a79d3
LP
247
248* pahole
249
250* CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"