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