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