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