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