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