chiark / gitweb /
service: make chain of main commands and control commands independent of each other...
[elogind.git] / TODO
1 Bugs:
2
3 * Don't try to connect to dbus during early boot
4
5 * sometimes processes seem to remain when we kill a service
6   http://lists.fedoraproject.org/pipermail/devel/2011-January/147559.html
7
8 * dep loop when using encrypted swap
9   https://bugzilla.redhat.com/show_bug.cgi?id=657234
10
11 * somehow some /etc/fstab supplied mount params are never applied to api fs
12   https://bugzilla.redhat.com/show_bug.cgi?id=663108
13
14 * automount units can cause a segfault:
15   https://bugs.freedesktop.org/show_bug.cgi?id=32076
16
17 * bind mounts with 'fsck' fail and block for a minute:
18     /foo /bar none bind 1 1
19   (requesting fsck is wrong, but why do we block for a minute
20    instead of just handling the error)
21
22 * isolate multi-user.target doesn't start a getty@tty1 if we run it from graphical.target
23
24 * sendmail.service doesn't get rid PID file, fails to kill everything on stop
25
26 Features:
27
28 * maybe introduce ExecRestartPre=
29
30 * reload PID file after reload, allow dynamically changing main PIDs
31
32 * figure out what happened to bluez patch
33
34 * introduce StandardOutput=syslog+console and StandardOutput=kmsg+console to support fsck output at boot
35
36 * Patch systemd-fsck to use -C and pass console fd to it
37
38 * support remote/ssh systemctl/systemadm, and local privileged access
39
40 * finish syslog socket stuff
41
42 * configurable jitter for timer events
43
44 * support caching password questions in plymouth and on the console
45   https://bugzilla.redhat.com/show_bug.cgi?id=655538
46
47 * exclude java hsp files by default
48   https://bugzilla.redhat.com/show_bug.cgi?id=527425
49
50 * load EnvironmentFile= when starting services, not when reloading configuration
51   https://bugzilla.redhat.com/show_bug.cgi?id=661282
52
53 * support globs in systemd-tmpfiles
54
55 * drop IN_ATTRIB from inotify watches for .path units where possible to avoid
56   lots of wakeups due to /dev changing when we watch a subdir of /dev.
57
58 * Support ProcessNeededForShutdown=true to allow stuff like mdmon
59   to be killed very late after the rootfs is read only
60
61 * Integrate "mdadm --wait-clean". Maybe just let SIGTERM to mdmon trigger the
62   needed action
63
64 * oneshot services which do not remain: 'exited' instead of 'dead'?
65   it should be visible in 'systemctl' that they have been run?
66
67 * dot output for --test showing the 'initial transaction'
68
69 * calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
70   - check timerfd() patch: http://lkml.org/lkml/2010/11/23/290
71
72 * systemd --user
73   - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
74
75 * add VT tracking:
76     - provide CK functionality
77     - start getty only when actual vt switch happens (same model as
78       socket on-demand activation). allocate the next free tty and
79       start a getty there. this way, pressing alt-f[1-12] will switch
80       through running X and getty sessions, and any unallocated
81       activated tty will start a new getty. the hardcoding of
82       getty[1-6] will entirely go away.
83     - http://git.kernel.org/?p=linux/kernel/git/gregkh/tty-2.6.git;a=commitdiff;h=fbc92a3455577ab17615cbcb91826399061bd789
84
85 * implicitly import "defaults" settings file into all types
86
87 * port over to LISTEN_FDS/LISTEN_PID:
88    - uuidd    DONE
89    - dbus     DONE
90    - rsyslog  DONE
91    - rpcbind (/var/run/rpcbind.sock!) DONE
92    - cups     DONE
93    - avahi-daemon (/var/run/avahi-daemon/socket) DONE
94    - ssh      CLASSIC
95    - postfix, saslauthd
96    - apache/samba
97    - libvirtd (/var/run/libvirt/libvirt-sock-ro)
98    - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
99    - distccd
100
101 * fingerprint.target, wireless.target, gps.target
102
103 * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
104
105 * io priority during initialization
106
107 * if a service fails too often, make the service enter failed mode, and the socket, too.
108
109 * systemctl list-jobs - show dependencies
110
111 * accountsservice is borked
112
113 * auditd service files
114
115 * add systemctl switch to dump transaction without executing it
116
117 * suspend, resume
118
119 * readahead: btrfs/LVM SSD detection
120
121 * when processes remain in a service even though the start command failed enter active
122
123 * add seperate man page for [Install] settings
124
125 * only add quotacheck deps to .mount units which mention grpquota/usrquota in the mount flags
126
127 * systemctl condrestart should return 0 if service isn't running
128
129 * tmpfiles: allow specification of .conf files on cmdline
130
131 * allow runtime changing of log level and target
132
133 * automatically determine TERM= based on tty name even for /dev/console
134     http://git.kernel.org/?p=linux/kernel/git/gregkh/tty-2.6.git;a=commitdiff;h=fbc92a3455577ab17615cbcb91826399061bd789
135     http://git.kernel.org/?p=linux/kernel/git/gregkh/tty-2.6.git;a=commitdiff;h=b7b8de087384cc1954a8cd075af3f9e5977caa2e
136
137 * global defaults for StandardOuput=xxx
138
139 Fedora:
140
141 * chkconfig → systemd enable/daemon-reload glue
142
143 * /var/lock, /var/run → what happens if rpm stuff is no %ghosted?
144
145 External:
146
147 * make cryptsetup lower --iter-time
148
149 * patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup.
150
151 * patch kernel for cpu feature modalias for autoloading aes/kvm/...
152     http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
153
154 * place /etc/inittab with explaining blurb.
155
156 * procps, psmisc, sysvinit-tools, hostname → util-linux-ng
157
158 https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
159 https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
160 https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
161 https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
162 https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
163 https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
164 https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
165 http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
166 http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
167 https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
168 https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
169 https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
170 https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
171 https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
172 https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
173 https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
174 https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
175 https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
176
177 Regularly:
178
179 * look for close() vs. close_nointr() vs. close_nointr_nofail()
180
181 * check for strerror(r) instead of strerror(-r)
182
183 * Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
184
185 * %m in printf() instead of strerror();
186
187 * pahole
188
189 * CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"