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