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