]> git.ipfire.org Git - thirdparty/systemd.git/blame - TODO
syslog: rework syslog detection so that we need no compile-time option what the name...
[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
b7ff1e47
LP
5* dep cycle basic → udev-retry → auditd → iptables → basic
6
c32e0c40
LP
7* isolate multi-user.target doesn't start a getty@tty1 if we run it from graphical.target
8
7d640cdf 9* NFS, networkmanager ordering issue (PENDING)
62170515 10
c904f64d
LP
11* add fstab fields to add wait timeouts, change Wants to Requires by local-fs.target
12
13* hook emergency.target into local-fs.target in some way as OnFailure with isolate
14
7d640cdf 15* drop SIGHUP handling from rsyslog.service upstream (PENDING)
6e25b33c 16
34df5a34
LP
17* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
18
7d640cdf 19* save/restore tool for SysV as requested by FPC (PENDING)
34df5a34 20
099663ff
LP
21* bind mounts are ignored
22
099663ff 23* 0595f9a1c182a84581749823ef47c5f292e545f9 is borked, freezes shutdown
a49408ec 24 (path: after installing inotify watches, recheck file again to fix race)
b925e726 25
e677657e
LP
26* rsyslog.service should hook itself into syslog.target?
27
2791a8f8 28* syslog.target should be pulled in by multi-user.target?
e677657e
LP
29
30* pull in .service from meta .targers AND vice versa too. i.e. syslog.target ←→ rsyslog.service, rpcbind similarly
31
f1dd0c3f
LP
32* document default dependencies
33
fc7ac594 34Features:
260abb78
LP
35
36* hide passwords on TAB
37
38* add switch to systemctl to show enabled but not running services. Or
39 another switch that shows service that have been running since
40 booting but aren't running anymore.
41
42* reuse mkdtemp namespace dirs in /tmp?
43
2791a8f8 44* don't strip facility from kmsg log messages as soon as that is possible.
a49408ec 45 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=9d90c8d9cde929cbc575098e825d7c29d9f45054
7d9e57d2 46
260abb78 47* recreate systemd's D-Bus private socket file on SIGUSR2
2791a8f8 48
7d9e57d2
KS
49* be more specific what failed:
50 Unmounting file systems.
51 Not all file systems unmounted, 1 left.
52 Disabling swaps.
53 Detaching loop devices.
54 Detaching DM devices.
55 Cannot finalize remaining file systems and devices, trying to kill remaining processes.
56 Unmounting file systems.
57 Not all file systems unmounted, 1 left.
58 Cannot finalize remaining file systems and devices, giving up.
2791a8f8 59
a49408ec
KS
60* check for compiled-in, but not active selinux, and don't print any warnings
61 about policy loading. Probably check for available selinux in /proc/filesystems,
62 and check for active selinux with getcon_raw() == "kernel"
63
099663ff
LP
64* optionally create watched directories in .path units
65
a8f11321
LP
66* Support --test based on current system state
67
81253930
LP
68* consider services with no [Install] section and stored in /lib enabled by "systemctl is-enabled"
69
70* consider services with any kind of link in /etc/systemd/system enabled
7fc7012b 71
430c18ed 72* show failure error string in "systemctl status"
1a6f4df6
LP
73
74* make sure timeouts are applied to Type=oneshot services.
75
a49408ec 76* Maybe implement "systemctl mask" and "systemctl unmask", but not
3db48a78
LP
77 document it? When doing that add switch to make this temporary by
78 placing mask links in /dev.
a49408ec
KS
79 Consider moving the actual fs operations into systemd behind a D-Bus
80 interface, to make namespaces/containers/remote connections work properly.
3db48a78 81
2e0d98fa
LP
82* detect LXC environment
83
62170515 84* invoke vhangup() before and after invoking getty
a49408ec 85 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3c95c985fa91ecf6a0e29622bbdd13dcfc5ce9f1
62170515 86
b5c6cf87
LP
87* support "auto" and "comment=systemd.automount" at the same time for an fstab entry
88
3185a36b 89* Maybe store in unit files whether a service should be enabled by default on package installation
7d9e57d2 90 (belongs into a distro pattern though, not in an upstream package's service file)
3185a36b 91
b8bb3e8f
LP
92* perhaps add "systemctl reenable" as combination of "systemctl disable" and "systemctl enable"
93
f959c5e6
LP
94* need a way to apply mount options of api vfs from systemd unit files
95 (or some other modern source?) instead of fstab
7f6d6135 96
c32e0c40
LP
97* maybe introduce ExecRestartPre=
98
47ae6e67
LP
99* figure out what happened to bluez patch
100
487a15bb
LP
101* Patch systemd-fsck to use -C and pass console fd to it
102
2c4b304e
LP
103* support remote/ssh systemctl/systemadm, and local privileged access
104
35f10fcc
LP
105* configurable jitter for timer events
106
bf5bb531 107* Support ProcessNeededForShutdown=true to allow stuff like mdmon
f959c5e6 108 to be killed very late after the rootfs is read only (?)
bf5bb531
KS
109
110* Integrate "mdadm --wait-clean". Maybe just let SIGTERM to mdmon trigger the
111 needed action
112
59fee421
LP
113* dot output for --test showing the 'initial transaction'
114
8c6db833 115* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
351c7e74
KS
116 - check timerfd() patch: http://lkml.org/lkml/2010/11/23/290
117
118* systemd --user
119 - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
120
121* add VT tracking:
a49408ec
KS
122 - provide CK functionality
123 - start getty only when actual vt switch happens (same model as
124 socket on-demand activation). allocate the next free tty and
125 start a getty there. this way, pressing alt-f[1-12] will switch
126 through running X and getty sessions, and any unallocated
127 activated tty will start a new getty. the hardcoding of
128 getty[1-6] will entirely go away.
129 - http://git.kernel.org/?p=linux/kernel/git/gregkh/tty-2.6.git;a=commitdiff;h=fbc92a3455577ab17615cbcb91826399061bd789
75787bb7 130
129126f3 131* implicitly import "defaults" settings file into all types
75787bb7 132
129126f3 133* port over to LISTEN_FDS/LISTEN_PID:
7d9e57d2
KS
134 - uuidd HAVEPATCH
135 - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
136 - cups HAVEPATCH
a625ac1a 137 - postfix, saslauthd
a625ac1a
LP
138 - apache/samba
139 - libvirtd (/var/run/libvirt/libvirt-sock-ro)
140 - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
a625ac1a
LP
141 - distccd
142
064f51fa 143* fingerprint.target, wireless.target, gps.target
0ff3dea7 144
647703fe 145* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
246756ca 146
50f2a90d 147* io priority during initialization
8fe914ec 148
74ac3cbd 149* if a service fails too often, make the service enter failed mode, and the socket, too.
ea4a240d 150
647703fe 151* systemctl list-jobs - show dependencies
63090775 152
313ed05b 153* accountsservice is borked
63090775 154
20604ebc
LP
155* auditd service files
156
20604ebc
LP
157* add systemctl switch to dump transaction without executing it
158
7d9e57d2 159* suspend, resume support?
da726a4d 160
1a34d367
LP
161* readahead: btrfs/LVM SSD detection
162
ed1c99fc 163* add separate man page for [Install] settings
98e1f931 164
510051fc 165* only add quotacheck deps to .mount units which mention grpquota/usrquota in the mount flags
e5ebf783 166
9fe117ea
LP
167* systemctl condrestart should return 0 if service isn't running
168
42e8a0a8
LP
169* allow runtime changing of log level and target
170
2f8cd170 171External:
74fe1fe3 172
f959c5e6
LP
173* udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
174
175* snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
176
7d9e57d2 177* gnome-shell python script/glxinfo/is-accelerated must die
f959c5e6 178
74fe1fe3
LP
179* make cryptsetup lower --iter-time
180
06ae4bfe
LP
181* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup.
182
6f3f9deb 183* patch kernel for cpu feature modalias for autoloading aes/kvm/...
fc84026d 184 http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
7d9e57d2 185 (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
6f3f9deb 186
26192dfc
LP
187* procps, psmisc, sysvinit-tools, hostname → util-linux-ng
188
50f2a90d
LP
189https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
190https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
191https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
192https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
193https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
194https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
5e5c6cd7
LP
195https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
196http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
50f2a90d 197http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
b5e9dba8
LP
198https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
199https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
200https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
201https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
202https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
203https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
204https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
205https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
02ee865a 206https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
14bd37fe 207
129126f3 208Regularly:
874aa2cc 209
129126f3 210* look for close() vs. close_nointr() vs. close_nointr_nofail()
5021be21 211
129126f3 212* check for strerror(r) instead of strerror(-r)
5b6319dc
LP
213
214* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
8c6db833
LP
215
216* %m in printf() instead of strerror();
444a79d3
LP
217
218* pahole
219
220* CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"