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