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