]> git.ipfire.org Git - thirdparty/systemd.git/blame - TODO
dbus: make daemon reexecution synchronous
[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
b0a3f2bc
LP
5* 0595f9a1c182a84581749823ef47c5f292e545f9 is borked, freezes shutdown
6 (path: after installing inotify watches, recheck file again to fix race)
7
b23de6af
LP
8* move systemadm man page to systemd-gtk
9 https://bugzilla.redhat.com/show_bug.cgi?id=699394
10
b0a3f2bc
LP
11F15 External:
12
7d640cdf 13* NFS, networkmanager ordering issue (PENDING)
62170515 14
f80781ea
LP
15* NM should pull in network.target (PENDING)
16 https://bugzilla.redhat.com/show_bug.cgi?id=692008
17
222ae6a8
LP
18* bluetooth should be possible to disable (PENDING)
19
b9a2a36b 20* get writev() /dev/kmsg support into the F15 kernel
619c2581
KS
21 https://lkml.org/lkml/2011/4/6/473
22 patched merged into -mm
b9a2a36b 23
90a5f6e4
LP
24* fix sd_is_socket() invocation in dbus
25
3d3961f2
LP
26* New CK release, with sysinit.target dropping and TTY loop
27
28* New Avahi package, enable it by default
29
05677bb7 30* make anaconda write timeout=0 for encrypted devices
73090dc8 31
222ae6a8 32Features:
7d76f312 33
b23de6af
LP
34* drop /.readahead on bigger upgrades with yum
35
36* add inode stat() check to readahead
37
b4bd5144
LP
38* plymouth.enable=0
39
ecb963cc
LP
40* introduce dbus calls for enabling/disabling a service
41
42* support notifications for services being enabled/disabled
43
13f91232
LP
44* Maybe merge nss-myhostname into systemd?
45
9534ce54
LP
46* GC unreferenced jobs (such as .device jobs)
47
ecb963cc
LP
48* support wildcard expansion in ListenStream= and friends
49
50* support wildcard expansion in EnvironmentFile= and friends
9534ce54 51
73090dc8
LP
52* avoid DefaultStandardOutput=syslog to have any effect on StandardInput=socket services
53
ba1a5515 54* fix alsa mixer restore to not print error when no config is stored
18a5d7ff 55
abf96c87
LP
56* show enablement status in systemctl status
57
68c7d001 58* write blog stories about:
68c7d001
LP
59 - enabling dbus services
60 - status update
3d3961f2 61 - you are a distro: why switch?
2121dcdd 62 - /etc/sysconfig and /etc/default
68c7d001 63
05677bb7 64* maybe add tiny dbus services similar to hostnamed for locale and wallclock/timezone?
73090dc8 65
3d57c6ab
LP
66* allow port = 0 in .socket units
67
9d8677da
LP
68* rename systemd-logger to systemd-stdio-syslog-bridge
69
cca4aeee
LP
70* take BSD file lock on tty devices when using them?
71
16b879e3
KS
72* avoid any flag files, or readahead files in /, we need to support r/o /
73 or / on tmpfs like Android setups.
74
b9a2a36b
LP
75* move readahead files into /var, look for them with .path units
76
ba1a5515 77* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
9408a2d2 78
68c7d001
LP
79* get process transport into dbus for systemctl -P/-H
80
ba1a5515 81* document default dependencies
9408a2d2 82
d7cc2987
LP
83* support systemd.whitelist=/systemd.blacklist= on the kernel command
84 line.
85
3f7a8c4e
KS
86* Find a way to replace /var/run, /var/lock directories with
87 symlinks during an RPM package upgrade (filesystem.rpm or systemd.rpm).
619c2581 88 (lua code to create symlinks right away for new installations is in filesytem.rpm now)
b9a2a36b 89 We soon want to get rid of var-run.mount var-lock.mount units:
619c2581
KS
90 if mountpoint /run ; then
91 umount /var/run || :
92 else
93 mount --move /var/run /run || mount --bind /var/run /run
94 fi
95 mv /var/run /var/.run.save
96 ln -s /run /var/run
97 echo "R /var/.run.save" > /etc/tmpfiles.d/remove-run-save.conf
3f7a8c4e 98
f9276855
LP
99* when key file cannot be found, read it from kbd in cryptsetup
100
260abb78
LP
101* add switch to systemctl to show enabled but not running services. Or
102 another switch that shows service that have been running since
103 booting but aren't running anymore.
104
105* reuse mkdtemp namespace dirs in /tmp?
106
260abb78 107* recreate systemd's D-Bus private socket file on SIGUSR2
2791a8f8 108
7d9e57d2 109* be more specific what failed:
3f7a8c4e 110 ...
7d9e57d2
KS
111 Unmounting file systems.
112 Not all file systems unmounted, 1 left.
113 Disabling swaps.
114 Detaching loop devices.
115 Detaching DM devices.
116 Cannot finalize remaining file systems and devices, trying to kill remaining processes.
117 Unmounting file systems.
118 Not all file systems unmounted, 1 left.
119 Cannot finalize remaining file systems and devices, giving up.
3f7a8c4e 120 ...
2791a8f8 121
a49408ec
KS
122* check for compiled-in, but not active selinux, and don't print any warnings
123 about policy loading. Probably check for available selinux in /proc/filesystems,
124 and check for active selinux with getcon_raw() == "kernel"
125
a8f11321
LP
126* Support --test based on current system state
127
e85138e6
LP
128* systemctl enable as D-Bus call
129
81253930 130* consider services with any kind of link in /etc/systemd/system enabled
7fc7012b 131
430c18ed 132* show failure error string in "systemctl status"
1a6f4df6
LP
133
134* make sure timeouts are applied to Type=oneshot services.
135
0ecb9427
KS
136* Implement:
137 systemctl mask <unit>
138 systemctl unmask <unit>
139 Also support --temp to make this temporary by placing mask links in /run.
3db48a78 140
2e0d98fa
LP
141* detect LXC environment
142
62170515 143* invoke vhangup() before and after invoking getty
a49408ec 144 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3c95c985fa91ecf6a0e29622bbdd13dcfc5ce9f1
62170515 145
3185a36b 146* Maybe store in unit files whether a service should be enabled by default on package installation
7d9e57d2 147 (belongs into a distro pattern though, not in an upstream package's service file)
3185a36b 148
b8bb3e8f
LP
149* perhaps add "systemctl reenable" as combination of "systemctl disable" and "systemctl enable"
150
f959c5e6 151* need a way to apply mount options of api vfs from systemd unit files
b9a2a36b 152 (or some other modern source?) instead of fstab?
7f6d6135 153
c32e0c40
LP
154* maybe introduce ExecRestartPre=
155
47ae6e67
LP
156* figure out what happened to bluez patch
157
487a15bb
LP
158* Patch systemd-fsck to use -C and pass console fd to it
159
35f10fcc
LP
160* configurable jitter for timer events
161
3d3961f2
LP
162* Support ProcessNeededForShutdown=true to allow stuff like mdmon to
163 be killed very late after the rootfs is read only? If implement pass
164 this to shutdown binary via command line argument.
bf5bb531 165
0ecb9427
KS
166* use pivot_root on shutdown so that we can unmount the root directory.
167 - copy binaries to, and pivot_root() to the "shutdown tmpfs"
168 - solve "mdadm --wait-clean" problem that way
bf5bb531 169
59fee421
LP
170* dot output for --test showing the 'initial transaction'
171
8c6db833 172* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
0ecb9427 173 - timerfd() with TFD_TIMER_CANCELON_SET support: https://lkml.org/lkml/2011/4/27/383
351c7e74
KS
174
175* systemd --user
176 - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
177
178* add VT tracking:
a49408ec
KS
179 - provide CK functionality
180 - start getty only when actual vt switch happens (same model as
181 socket on-demand activation). allocate the next free tty and
182 start a getty there. this way, pressing alt-f[1-12] will switch
183 through running X and getty sessions, and any unallocated
184 activated tty will start a new getty. the hardcoding of
185 getty[1-6] will entirely go away.
186 - http://git.kernel.org/?p=linux/kernel/git/gregkh/tty-2.6.git;a=commitdiff;h=fbc92a3455577ab17615cbcb91826399061bd789
75787bb7 187
129126f3 188* implicitly import "defaults" settings file into all types
75787bb7 189
129126f3 190* port over to LISTEN_FDS/LISTEN_PID:
7d9e57d2
KS
191 - uuidd HAVEPATCH
192 - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
193 - cups HAVEPATCH
a625ac1a 194 - postfix, saslauthd
a625ac1a
LP
195 - apache/samba
196 - libvirtd (/var/run/libvirt/libvirt-sock-ro)
197 - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
a625ac1a
LP
198 - distccd
199
68c7d001 200* fingerprint.target, wireless.target, gps.target, netdevice.target
0ff3dea7 201
647703fe 202* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
246756ca 203
50f2a90d 204* io priority during initialization
8fe914ec 205
74ac3cbd 206* if a service fails too often, make the service enter failed mode, and the socket, too.
ea4a240d 207
647703fe 208* systemctl list-jobs - show dependencies
63090775 209
20604ebc
LP
210* auditd service files
211
20604ebc
LP
212* add systemctl switch to dump transaction without executing it
213
7d9e57d2 214* suspend, resume support?
da726a4d 215
1a34d367
LP
216* readahead: btrfs/LVM SSD detection
217
ed1c99fc 218* add separate man page for [Install] settings
98e1f931 219
42e8a0a8
LP
220* allow runtime changing of log level and target
221
9534ce54
LP
222* drop cap bounding set in readahead and other services
223
2f8cd170 224External:
74fe1fe3 225
f959c5e6
LP
226* udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
227
228* snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
229
7d9e57d2 230* gnome-shell python script/glxinfo/is-accelerated must die
f959c5e6 231
74fe1fe3
LP
232* make cryptsetup lower --iter-time
233
06ae4bfe
LP
234* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup.
235
6f3f9deb 236* patch kernel for cpu feature modalias for autoloading aes/kvm/...
fc84026d 237 http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
7d9e57d2 238 (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
6f3f9deb 239
26192dfc
LP
240* procps, psmisc, sysvinit-tools, hostname → util-linux-ng
241
50f2a90d
LP
242https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
243https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
244https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
245https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
246https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
247https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
5e5c6cd7
LP
248https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
249http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
50f2a90d 250http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
b5e9dba8
LP
251https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
252https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
253https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
254https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
255https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
256https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
257https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
258https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
02ee865a 259https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
14bd37fe 260
129126f3 261Regularly:
874aa2cc 262
129126f3 263* look for close() vs. close_nointr() vs. close_nointr_nofail()
5021be21 264
129126f3 265* check for strerror(r) instead of strerror(-r)
5b6319dc
LP
266
267* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
8c6db833
LP
268
269* %m in printf() instead of strerror();
444a79d3
LP
270
271* pahole
272
273* CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"