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