]> git.ipfire.org Git - thirdparty/systemd.git/blame - TODO
systemctl: make list-unit-files output more economical
[thirdparty/systemd.git] / TODO
CommitLineData
71092d70 1Bugfixes:
b7ff1e47 2
c904f64d
LP
3* swap units that are activated by one name but shown in the kernel under another are semi-broken
4
f80781ea
LP
5* NM should pull in network.target (PENDING)
6 https://bugzilla.redhat.com/show_bug.cgi?id=692008
7
05677bb7 8* make anaconda write timeout=0 for encrypted devices
73090dc8 9
71092d70 10* service: pid file reading after reload doesn't work, since we don't reset the pid variable
35c5c7a0 11
71092d70 12* make sure timeouts are applied to Type=oneshot services.
ddd88763 13
f957632b
KS
14* Dangling symlinks of .automount unit files in .wants/ directories, set up
15 automount points even when the original .automount file did not exist
16 anymore. Only the .mount unit was still around.
17
9a366075
LP
18* make polkit checks async
19
71092d70 20Features:
effe639c 21
62590f23 22* unset container= in PID1?
effe639c 23
b011116d
KS
24* if we can not get user quota for tmpfs, mount a separate tmpfs instance
25 for every user in /run/user/$USER with a configured maximum size
7d441ddb 26
65c0cf71
LP
27* default to actual 32bit PIDs, via /proc/sys/kernel/pid_max
28
7ef5875d
LP
29* add an option to make mounts private/shareable and so on, enable this for root by default
30
f957632b
KS
31* internal restart counter for units (focus on auto-respawn)
32
33* finer-grained auto-respawn settings (rate-limit)
34
35* be able to specify a forced restart of service A where service B depends on, in case B
36 needs to be auto-respawned?
37
a2f5666d
LP
38* Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files"
39
ab7f148f
LP
40* introduce sd_log_open() to create a connection to the syslog bridge via sd-daemon.h
41
ad740100
LP
42* when a bus name of a service disappears from the bus make sure to queue further activation requests
43
c821bd28
LP
44* something like ConditionExec= or ExecStartPre= without failure state
45
7d441ddb
LP
46* service restart retry configuration
47
de6c78f8 48* tmpfiles: apply "x" on "D" too (see patch from William Douglas)
7d441ddb
LP
49* tmpfiles: support generation of char/block devices, symlinks and one-line files (think sysfs)
50
51* Introduce ControlGroupPersistant=yes to set +t on the tasks file when creating the cgroup
52
14e639ae
LP
53* don't set $HOME in services unless requested
54
b38bb493 55* remove hacks in vala code and require libnotify 0.7
034a2a52 56
ff01d048
LP
57* hide PAM/TCPWrap options in fragment parser when compile time disabled
58
72b9ed82
LP
59* when we automatically restart a service, ensure we retsart its rdeps, too.
60
1d6702e8
LP
61* allow Type=simple with PIDFile=
62 https://bugzilla.redhat.com/show_bug.cgi?id=723942
63
71092d70
LP
64* move PAM code into its own binary
65
66* warn if the user stops a service but not its associated socket
0a55b298 67
97f73ffb
LP
68* logind: spawn user@..service on login
69
85f248b2
LP
70* logind: non-local X11 server handling
71
1258097c
LP
72* implement Register= switch in .socket units to enable registration
73 in Avahi, RPC and other socket registration services.
74
a4c279f8
LP
75* make sure people don't leave processes around after ExecStartPre=
76
77* make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
78
d3fc81bd
LP
79* readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
80
81* readahead: check whether a btrfs volume includes ssd by checking mount flag "ssd"
82
71092d70 83* support sd_notify() style notification when reload begins (RELOADING=1), reload is finished (READY=1)
253ee27a 84
71092d70 85* support sd_notify() style notification when shutting down, to make auto-exit bus services work (STOPPING=1)
8d0e38a2 86
f28f1daf
LP
87* verify that the AF_UNIX sockets of a service in the fs still exist
88 when we start a service in order to avoid confusion when a user
89 assumes starting a service is enough to make it accessible
90
88a07670
LP
91* Make it possible to set the keymap independently from the font on
92 the kernel cmdline. Right now setting one resets also the other.
93
916abb21
LP
94* move nss-myhostname into systemd
95
71092d70 96* and a dbus call to generate target from current state
916abb21 97
4ecda405
LP
98* detect LXC with $container=lxc
99
b23de6af
LP
100* drop /.readahead on bigger upgrades with yum
101
71092d70 102* add inode nr check to readahead to suppress preloading changed files
adf70c5e 103
21bdae12
LP
104* add support for /bin/mount -s
105
9534ce54
LP
106* GC unreferenced jobs (such as .device jobs)
107
19bc719e 108* cgroup_notify_empty(): recursively check groups up the tree, too
73090dc8 109
c798c40e
LP
110* when failing to start a service due to ratelimiting, try again later, if restart=always is set
111
68c7d001 112* write blog stories about:
68c7d001
LP
113 - enabling dbus services
114 - status update
7a2a0b90 115 - how to make changes to sysctl and sysfs attributes
253ee27a 116 - remote access
5d0fcd7c
LP
117 - cgroup best pratices to avoid stepping on each others toes
118 - how to pass throw-away units to systemd, or dynamically change properties of existing units
119 - how to integrate cgconfig and suchlike with systemd
0c85a4f3 120 - security properties
f957632b
KS
121 - xinetd conversion
122 - details of instantiated @.service setups
73090dc8 123
44143309 124* allow port=0 in .socket units
3d57c6ab 125
b9a2a36b
LP
126* move readahead files into /var, look for them with .path units
127
ba1a5515 128* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
9408a2d2 129
71092d70 130* support systemd.mask= on the kernel command line.
3f7a8c4e 131
f9276855
LP
132* when key file cannot be found, read it from kbd in cryptsetup
133
260abb78
LP
134* reuse mkdtemp namespace dirs in /tmp?
135
260abb78 136* recreate systemd's D-Bus private socket file on SIGUSR2
2791a8f8 137
a8f11321
LP
138* Support --test based on current system state
139
21bdae12
LP
140* investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
141
c32e0c40
LP
142* maybe introduce ExecRestartPre=
143
35f10fcc
LP
144* configurable jitter for timer events
145
cc9784c6
LP
146* timer events with system resume
147
148* timer events on calendar time
71092d70 149
3d3961f2
LP
150* Support ProcessNeededForShutdown=true to allow stuff like mdmon to
151 be killed very late after the rootfs is read only? If implement pass
152 this to shutdown binary via command line argument.
bf5bb531 153
59fee421
LP
154* dot output for --test showing the 'initial transaction'
155
8c6db833 156* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
8bf7fea5 157 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ee5315dac6211e972fa3f23bcc9a0343ff58c4
351c7e74 158
129126f3 159* implicitly import "defaults" settings file into all types
71092d70
LP
160* exec settings override
161* writable cgroups dbus properties for live changes
75787bb7 162
0cdad5c0
LP
163* read config fragments for all units from /lib/systemd/system/foobar.service.d/ to override/extend specific settings
164
129126f3 165* port over to LISTEN_FDS/LISTEN_PID:
7d9e57d2
KS
166 - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
167 - cups HAVEPATCH
a625ac1a 168 - postfix, saslauthd
a625ac1a
LP
169 - apache/samba
170 - libvirtd (/var/run/libvirt/libvirt-sock-ro)
171 - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
a625ac1a
LP
172 - distccd
173
71092d70 174* auditd service files
0ff3dea7 175
71092d70 176* fingerprint.target, wireless.target, gps.target, netdevice.target
246756ca 177
50f2a90d 178* io priority during initialization
8fe914ec 179
74ac3cbd 180* if a service fails too often, make the service enter failed mode, and the socket, too.
ea4a240d 181
71092d70 182* new deps "Triggers" and "TriggeredBy"
63090775 183
71092d70 184* systemctl list-jobs - show dependencies
20604ebc 185
20604ebc
LP
186* add systemctl switch to dump transaction without executing it
187
7d9e57d2 188* suspend, resume support?
da726a4d 189
9534ce54
LP
190* drop cap bounding set in readahead and other services
191
2f8cd170 192External:
74fe1fe3 193
cc9784c6 194* dbus:
3377af3e 195 - get process transport into dbus for systemctl -P/-H (PENDING)
cc9784c6 196 - dbus --user
3377af3e 197 - natively watch for dbus-*.service symlinks (PENDING)
cc9784c6
LP
198 - allow specification of socket mode/umask when allocating DBusServer
199 - allow disabling of fd passing when connecting a AF_UNIX connection
3377af3e 200 - allow disabling of UID passing for AUTH EXTERNAL
cc9784c6 201
71092d70
LP
202* systemd --user
203 PR_SET_CHILD_REAPER patch: https://lkml.org/lkml/2011/7/28/426
204
205* fix alsa mixer restore to not print error when no config is stored
206
f959c5e6
LP
207* udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
208
209* snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
210
7d9e57d2 211* gnome-shell python script/glxinfo/is-accelerated must die
f959c5e6 212
74fe1fe3
LP
213* make cryptsetup lower --iter-time
214
44143309 215* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
06ae4bfe 216
6f3f9deb 217* patch kernel for cpu feature modalias for autoloading aes/kvm/...
fc84026d 218 http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
7d9e57d2 219 (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
6f3f9deb 220
71092d70
LP
221* kernel: add /proc/sys file exposing CAP_LAST_CAP? sysconf?
222
223* kernel: add device_type = "fb", "fbcon" to class "graphics"
14bd37fe 224
129126f3 225Regularly:
874aa2cc 226
129126f3 227* look for close() vs. close_nointr() vs. close_nointr_nofail()
5021be21 228
129126f3 229* check for strerror(r) instead of strerror(-r)
5b6319dc
LP
230
231* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
8c6db833
LP
232
233* %m in printf() instead of strerror();
444a79d3
LP
234
235* pahole
236
71092d70 237* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!