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