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