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