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