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