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