chiark / gitweb /
unit: introduce ConditionPathIsMountPoint=
[elogind.git] / TODO
1 Bugfixes:
2
3 * swap units that are activated by one name but shown in the kernel under another are semi-broken
4
5 * NM should pull in network.target (PENDING)
6   https://bugzilla.redhat.com/show_bug.cgi?id=692008
7
8 * make anaconda write timeout=0 for encrypted devices
9
10 * service: pid file reading after reload doesn't work, since we don't reset the pid variable
11
12 * make sure timeouts are applied to Type=oneshot services.
13
14 Features:
15
16 * introduce sd_log_open() to create a connection to the syslog bridge via sd-daemon.h
17
18 * when a bus name of a service disappears from the bus make sure to queue further activation requests
19
20 * something like ConditionExec= or ExecStartPre= without failure state
21
22 * service restart retry configuration
23
24 * tmpfiles: apply "x" on "D" too (see patch from William Douglas)
25 * tmpfiles: support generation of char/block devices, symlinks and one-line files (think sysfs)
26
27 * Introduce ControlGroupPersistant=yes to set +t on the tasks file when creating the cgroup
28
29 * don't set $HOME in services unless requested
30
31 * remove hacks in vala code and require libnotify 0.7
32
33 * hide PAM/TCPWrap options in fragment parser when compile time disabled
34
35 * when we automatically restart a service, ensure we retsart its rdeps, too.
36
37 * allow Type=simple with PIDFile=
38   https://bugzilla.redhat.com/show_bug.cgi?id=723942
39
40 * move PAM code into its own binary
41
42 * warn if the user stops a service but not its associated socket
43
44 * logind: spawn user@..service on login
45
46 * logind: non-local X11 server handling
47
48 * logind: use sysfs path in device hash table instead of sysname, as soon as fb driver is fixed
49
50 * implement Register= switch in .socket units to enable registration
51   in Avahi, RPC and other socket registration services.
52
53 * make sure people don't leave processes around after ExecStartPre=
54
55 * make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
56
57 * readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
58
59 * readahead: check whether a btrfs volume includes ssd by checking mount flag "ssd"
60
61 * support sd_notify() style notification when reload begins (RELOADING=1), reload is finished (READY=1)
62
63 * support sd_notify() style notification when shutting down, to make auto-exit bus services work (STOPPING=1)
64
65 * verify that the AF_UNIX sockets of a service in the fs still exist
66   when we start a service in order to avoid confusion when a user
67   assumes starting a service is enough to make it accessible
68
69 * Make it possible to set the keymap independently from the font on
70   the kernel cmdline. Right now setting one resets also the other.
71
72 * move nss-myhostname into systemd
73
74 * and a dbus call to generate target from current state
75
76 * detect LXC with $container=lxc
77
78 * drop /.readahead on bigger upgrades with yum
79
80 * add inode nr check to readahead to suppress preloading changed files
81
82 * add support for /bin/mount -s
83
84 * GC unreferenced jobs (such as .device jobs)
85
86 * avoid DefaultStandardOutput=syslog to have any effect on StandardInput=socket services
87
88 * cgroup_notify_empty(): recursively check groups up the tree, too
89
90 * when failing to start a service due to ratelimiting, try again later, if restart=always is set
91
92 * write blog stories about:
93   - enabling dbus services
94   - status update
95   - how to make changes to sysctl and sysfs attributes
96   - remote access
97   - cgroup best pratices to avoid stepping on each others toes
98   - how to pass throw-away units to systemd, or dynamically change properties of existing units
99   - how to integrate cgconfig and suchlike with systemd
100   - security properties
101   - inetd conversion
102
103 * allow port=0 in .socket units
104
105 * move readahead files into /var, look for them with .path units
106
107 * teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
108
109 * support systemd.mask= on the kernel command line.
110
111 * when key file cannot be found, read it from kbd in cryptsetup
112
113 * reuse mkdtemp namespace dirs in /tmp?
114
115 * recreate systemd's D-Bus private socket file on SIGUSR2
116
117 * Support --test based on current system state
118
119 * investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
120
121 * maybe introduce ExecRestartPre=
122
123 * configurable jitter for timer events
124
125 * timer events with system resume
126
127 * timer events on calendar time
128
129 * Support ProcessNeededForShutdown=true to allow stuff like mdmon to
130   be killed very late after the rootfs is read only? If implement pass
131   this to shutdown binary via command line argument.
132
133 * dot output for --test showing the 'initial transaction'
134
135 * calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
136     http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ee5315dac6211e972fa3f23bcc9a0343ff58c4
137
138 * implicitly import "defaults" settings file into all types
139 * exec settings override
140 * writable cgroups dbus properties for live changes
141
142 * port over to LISTEN_FDS/LISTEN_PID:
143    - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
144    - cups     HAVEPATCH
145    - postfix, saslauthd
146    - apache/samba
147    - libvirtd (/var/run/libvirt/libvirt-sock-ro)
148    - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
149    - distccd
150
151 * auditd service files
152
153 * fingerprint.target, wireless.target, gps.target, netdevice.target
154
155 * io priority during initialization
156
157 * if a service fails too often, make the service enter failed mode, and the socket, too.
158
159 * new deps "Triggers" and "TriggeredBy"
160
161 * systemctl list-jobs - show dependencies
162
163 * add systemctl switch to dump transaction without executing it
164
165 * suspend, resume support?
166
167 * drop cap bounding set in readahead and other services
168
169 External:
170
171 * dbus:
172    - get process transport into dbus for systemctl -P/-H (PENDING)
173    - dbus --user
174    - natively watch for dbus-*.service symlinks (PENDING)
175    - allow specification of socket mode/umask when allocating DBusServer
176    - allow disabling of fd passing when connecting a AF_UNIX connection
177    - allow disabling of UID passing for AUTH EXTERNAL
178
179 * systemd --user
180     PR_SET_CHILD_REAPER patch: https://lkml.org/lkml/2011/7/28/426
181
182 * fix alsa mixer restore to not print error when no config is stored
183
184 * udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
185
186 * snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
187
188 * gnome-shell python script/glxinfo/is-accelerated must die
189
190 * make cryptsetup lower --iter-time
191
192 * patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
193
194 * patch kernel for cpu feature modalias for autoloading aes/kvm/...
195     http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
196   (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
197
198 * kernel: add /proc/sys file exposing CAP_LAST_CAP? sysconf?
199
200 * kernel: add device_type = "fb", "fbcon" to class "graphics"
201
202 Regularly:
203
204 * look for close() vs. close_nointr() vs. close_nointr_nofail()
205
206 * check for strerror(r) instead of strerror(-r)
207
208 * Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
209
210 * %m in printf() instead of strerror();
211
212 * pahole
213
214 * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!