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