]> git.ipfire.org Git - thirdparty/systemd.git/blame - TODO
util: conf_files_list() return list as parameter
[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
44143309 66* allow port=0 in .socket units
3d57c6ab 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
44143309
KS
126* move /selinux to /sys/fs/selinux
127
a8f11321
LP
128* Support --test based on current system state
129
e85138e6
LP
130* systemctl enable as D-Bus call
131
81253930 132* consider services with any kind of link in /etc/systemd/system enabled
7fc7012b 133
430c18ed 134* show failure error string in "systemctl status"
1a6f4df6
LP
135
136* make sure timeouts are applied to Type=oneshot services.
137
0ecb9427
KS
138* Implement:
139 systemctl mask <unit>
140 systemctl unmask <unit>
141 Also support --temp to make this temporary by placing mask links in /run.
3db48a78 142
2e0d98fa
LP
143* detect LXC environment
144
62170515 145* invoke vhangup() before and after invoking getty
a49408ec 146 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3c95c985fa91ecf6a0e29622bbdd13dcfc5ce9f1
62170515 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"