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