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