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