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