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