]> git.ipfire.org Git - thirdparty/systemd.git/blame - TODO
update TODO
[thirdparty/systemd.git] / TODO
CommitLineData
b7ff1e47
LP
1F15:
2
c904f64d
LP
3* swap units that are activated by one name but shown in the kernel under another are semi-broken
4
c32e0c40
LP
5* isolate multi-user.target doesn't start a getty@tty1 if we run it from graphical.target
6
7d640cdf 7* NFS, networkmanager ordering issue (PENDING)
62170515 8
c904f64d
LP
9* add fstab fields to add wait timeouts, change Wants to Requires by local-fs.target
10
11* hook emergency.target into local-fs.target in some way as OnFailure with isolate
12
099663ff
LP
13* bind mounts are ignored
14
099663ff 15* 0595f9a1c182a84581749823ef47c5f292e545f9 is borked, freezes shutdown
a49408ec 16 (path: after installing inotify watches, recheck file again to fix race)
b925e726 17
a0e155d4 18* NM should pull in network.target, ntpd should pull in rtc-set.target.
e677657e 19
7d76f312
LP
20* bluetooth should be possible to disable
21
ba1a5515 22* fix alsa mixer restore to not print error when no config is stored
18a5d7ff 23
ba1a5515 24Features:
8e028bb1 25
67370238
LP
26* don't trim empty cgroups
27 https://bugzilla.redhat.com/show_bug.cgi?id=678555
28
e252dd8f
LP
29* serialize used job ids and max job id
30
31* expose monotonic timestamps on the bus and make systemd-analyze use it
32
68c7d001
LP
33* write blog stories about:
34 - chroot, nspawn and friends
35 - the blame game: systemd-analyze
36 - enabling dbus services
37 - status update
38
3d57c6ab
LP
39* allow port = 0 in .socket units
40
9d8677da
LP
41* rename systemd-logger to systemd-stdio-syslog-bridge
42
43* introduce /usr/lib/binfmt.d/, /usr/lib/tmpfiles.d/
44
d7cc2987
LP
45* in pam_systemd: don't rely on /proc/self/loginuid in a container
46
cca4aeee
LP
47* take BSD file lock on tty devices when using them?
48
7ebdfc93
LP
49* tmpfiles should allow two identical lines
50 https://bugzilla.redhat.com/show_bug.cgi?id=690253
51
16b879e3
KS
52* avoid any flag files, or readahead files in /, we need to support r/o /
53 or / on tmpfs like Android setups.
54
ba1a5515 55* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
9408a2d2 56
68c7d001
LP
57* get process transport into dbus for systemctl -P/-H
58
ba1a5515 59* document default dependencies
9408a2d2 60
d7cc2987
LP
61* support systemd.whitelist=/systemd.blacklist= on the kernel command
62 line.
63
3f7a8c4e
KS
64* Find a way to replace /var/run, /var/lock directories with
65 symlinks during an RPM package upgrade (filesystem.rpm or systemd.rpm).
66 We soon want to get rid of var-run.mount var-lock.mount units.
67
f9276855
LP
68* when key file cannot be found, read it from kbd in cryptsetup
69
4d99d2fd
KS
70* get rid of random file name in generator directory?
71 /run/systemd/generator-IH1vFu
72
7a03b197 73* fix SD_WARNING syslog stuff in src/sd-daemon.h to include the
3f7a8c4e 74 LOG_DAEMON(3) facility value. Never use the LOG_KERNEL(0) facility.
7a03b197 75
260abb78
LP
76* add switch to systemctl to show enabled but not running services. Or
77 another switch that shows service that have been running since
78 booting but aren't running anymore.
79
80* reuse mkdtemp namespace dirs in /tmp?
81
3f7a8c4e 82* don't strip facility from kmsg log messages as soon as that is possible:
a49408ec 83 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=9d90c8d9cde929cbc575098e825d7c29d9f45054
7d9e57d2 84
260abb78 85* recreate systemd's D-Bus private socket file on SIGUSR2
2791a8f8 86
7d9e57d2 87* be more specific what failed:
3f7a8c4e 88 ...
7d9e57d2
KS
89 Unmounting file systems.
90 Not all file systems unmounted, 1 left.
91 Disabling swaps.
92 Detaching loop devices.
93 Detaching DM devices.
94 Cannot finalize remaining file systems and devices, trying to kill remaining processes.
95 Unmounting file systems.
96 Not all file systems unmounted, 1 left.
97 Cannot finalize remaining file systems and devices, giving up.
3f7a8c4e 98 ...
2791a8f8 99
a49408ec
KS
100* check for compiled-in, but not active selinux, and don't print any warnings
101 about policy loading. Probably check for available selinux in /proc/filesystems,
102 and check for active selinux with getcon_raw() == "kernel"
103
099663ff
LP
104* optionally create watched directories in .path units
105
a8f11321
LP
106* Support --test based on current system state
107
81253930
LP
108* consider services with no [Install] section and stored in /lib enabled by "systemctl is-enabled"
109
110* consider services with any kind of link in /etc/systemd/system enabled
7fc7012b 111
430c18ed 112* show failure error string in "systemctl status"
1a6f4df6
LP
113
114* make sure timeouts are applied to Type=oneshot services.
115
a49408ec 116* Maybe implement "systemctl mask" and "systemctl unmask", but not
3db48a78
LP
117 document it? When doing that add switch to make this temporary by
118 placing mask links in /dev.
a49408ec
KS
119 Consider moving the actual fs operations into systemd behind a D-Bus
120 interface, to make namespaces/containers/remote connections work properly.
3db48a78 121
2e0d98fa
LP
122* detect LXC environment
123
62170515 124* invoke vhangup() before and after invoking getty
a49408ec 125 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3c95c985fa91ecf6a0e29622bbdd13dcfc5ce9f1
62170515 126
b5c6cf87
LP
127* support "auto" and "comment=systemd.automount" at the same time for an fstab entry
128
3185a36b 129* Maybe store in unit files whether a service should be enabled by default on package installation
7d9e57d2 130 (belongs into a distro pattern though, not in an upstream package's service file)
3185a36b 131
b8bb3e8f
LP
132* perhaps add "systemctl reenable" as combination of "systemctl disable" and "systemctl enable"
133
f959c5e6
LP
134* need a way to apply mount options of api vfs from systemd unit files
135 (or some other modern source?) instead of fstab
7f6d6135 136
c32e0c40
LP
137* maybe introduce ExecRestartPre=
138
47ae6e67
LP
139* figure out what happened to bluez patch
140
487a15bb
LP
141* Patch systemd-fsck to use -C and pass console fd to it
142
ba1a5515 143* support remote/ssh systemctl/systemadm, and local privileged access → dbus patches need to be merged
2c4b304e 144
35f10fcc
LP
145* configurable jitter for timer events
146
bf5bb531 147* Support ProcessNeededForShutdown=true to allow stuff like mdmon
f959c5e6 148 to be killed very late after the rootfs is read only (?)
bf5bb531
KS
149
150* Integrate "mdadm --wait-clean". Maybe just let SIGTERM to mdmon trigger the
151 needed action
152
59fee421
LP
153* dot output for --test showing the 'initial transaction'
154
8c6db833 155* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
351c7e74
KS
156 - check timerfd() patch: http://lkml.org/lkml/2010/11/23/290
157
158* systemd --user
159 - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
160
161* add VT tracking:
a49408ec
KS
162 - provide CK functionality
163 - start getty only when actual vt switch happens (same model as
164 socket on-demand activation). allocate the next free tty and
165 start a getty there. this way, pressing alt-f[1-12] will switch
166 through running X and getty sessions, and any unallocated
167 activated tty will start a new getty. the hardcoding of
168 getty[1-6] will entirely go away.
169 - http://git.kernel.org/?p=linux/kernel/git/gregkh/tty-2.6.git;a=commitdiff;h=fbc92a3455577ab17615cbcb91826399061bd789
75787bb7 170
129126f3 171* implicitly import "defaults" settings file into all types
75787bb7 172
129126f3 173* port over to LISTEN_FDS/LISTEN_PID:
7d9e57d2
KS
174 - uuidd HAVEPATCH
175 - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
176 - cups HAVEPATCH
a625ac1a 177 - postfix, saslauthd
a625ac1a
LP
178 - apache/samba
179 - libvirtd (/var/run/libvirt/libvirt-sock-ro)
180 - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
a625ac1a
LP
181 - distccd
182
68c7d001 183* fingerprint.target, wireless.target, gps.target, netdevice.target
0ff3dea7 184
647703fe 185* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
246756ca 186
50f2a90d 187* io priority during initialization
8fe914ec 188
74ac3cbd 189* if a service fails too often, make the service enter failed mode, and the socket, too.
ea4a240d 190
647703fe 191* systemctl list-jobs - show dependencies
63090775 192
313ed05b 193* accountsservice is borked
63090775 194
20604ebc
LP
195* auditd service files
196
20604ebc
LP
197* add systemctl switch to dump transaction without executing it
198
7d9e57d2 199* suspend, resume support?
da726a4d 200
1a34d367
LP
201* readahead: btrfs/LVM SSD detection
202
ed1c99fc 203* add separate man page for [Install] settings
98e1f931 204
42e8a0a8
LP
205* allow runtime changing of log level and target
206
2f8cd170 207External:
74fe1fe3 208
f959c5e6
LP
209* udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
210
211* snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
212
7d9e57d2 213* gnome-shell python script/glxinfo/is-accelerated must die
f959c5e6 214
74fe1fe3
LP
215* make cryptsetup lower --iter-time
216
06ae4bfe
LP
217* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup.
218
6f3f9deb 219* patch kernel for cpu feature modalias for autoloading aes/kvm/...
fc84026d 220 http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
7d9e57d2 221 (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
6f3f9deb 222
26192dfc
LP
223* procps, psmisc, sysvinit-tools, hostname → util-linux-ng
224
50f2a90d
LP
225https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
226https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
227https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
228https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
229https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
230https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
5e5c6cd7
LP
231https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
232http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
50f2a90d 233http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
b5e9dba8
LP
234https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
235https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
236https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
237https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
238https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
239https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
240https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
241https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
02ee865a 242https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
14bd37fe 243
129126f3 244Regularly:
874aa2cc 245
129126f3 246* look for close() vs. close_nointr() vs. close_nointr_nofail()
5021be21 247
129126f3 248* check for strerror(r) instead of strerror(-r)
5b6319dc
LP
249
250* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
8c6db833
LP
251
252* %m in printf() instead of strerror();
444a79d3
LP
253
254* pahole
255
256* CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"