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