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