1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
* do not throw error when .service file is linked to /dev/null
* oneshot services which do not remain: 'exited' instead of 'dead'?
it should be visible in 'systemctl' that they have been run
* dot output for --test showing the 'initial transaction'
* have a simple syslog bridge providing /dev/log and forward messages
to /dev/kmsg. at the moment the real syslog can be started, the bridge
is stopped and the open /dev/log fd to the real syslog. that way we
don't lose any early log message, and simple systems have full syslog
support in the kernel ringbuffer, without any syslog service or disk
access
* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
* implicitly import "defaults" settings file into all types
* "disabled" load state?
* ability to kill services? i.e. in contrast to stopping them, go directly
into killing mode?
* port over to LISTEN_FDS/LISTEN_PID:
- uuidd DONE
- dbus DONE
- rsyslog DONE
- rpcbind (/var/run/rpcbind.sock!) DONE
- cups DONE
- avahi-daemon (/var/run/avahi-daemon/socket) DONE
- ssh CLASSIC
- postfix, saslauthd
- apache/samba
- libvirtd (/var/run/libvirt/libvirt-sock-ro)
- bluetoothd (/var/run/sdp! @/org/bluez/audio!)
- distccd
* write utmp record a la upstart for processes
* selinux policy loading
* fingerprint.target, wireless.target, gps.target
* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
* fix merging in .swap units
* chkconfig/systemd-install glue
* io priority during initialization
* if a service fails too often, make the service enter failed mode, and the socket, too.
* systemctl enable - warn about empty [Install] section
* bash completion a la gdbus
* systemctl list-jobs - show dependencies
* ConditionFileExists=, ConditionKernelCommandLine=, ConditionEnvironment= with !
* accountsservice is borked
* auditd service files
* add systemctl switch to dump transaction without executing it
* system.conf/session.conf man page
* exec /sbin/poweroff as PID 1 and do the shutdown
* kexec, suspend, resume
* passphrase agent https://bugs.freedesktop.org/show_bug.cgi?id=30038
* emergency.service should start default.target after C-d.
* support dbus introspection in mid-level object paths, i.e. in /org/freedesktop/systemd/units/.
* systemctl auto-pager a la git
* fsck setup
* merge CK
* ask-password tty agent, ask-password plymouth agent
* plymouth update status hookup
* ask-password tty timeout
* properly handle bind mounts in /etc/fstab
* readahead() vs. fadvise() vs. ioprio
* "unneeded" vs. "uneeded"
* properly handle multiple inotify events per read() in path.c and util.c
* tmpwatch: what does "-umc" actually mean?
* tmpwatch: lower ioprio
* readahead: btrfs/LVM SSD detection
* handle $null LSB header
* LSB provides should only create targets, never aliases
* d /var/run/screen 0755 root utmp
External:
* place /etc/inittab with explaining blurb.
* pam_securetty should honour console=
* procps, psmisc, sysvinit-tools, hostname → util-linux-ng
* nologin nach /var/run https://bugzilla.redhat.com/show_bug.cgi?id=624489
* make sysinit honour forcefsck/fastboot from the kernel command line fsck.mode=auto|force|skip
* pam: fix double sudo session cleanup:
http://www.gratisoft.us/bugzilla/show_bug.cgi?id=421
https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
https://bugzilla.redhat.com/show_bug.cgi?id=612728 -- /etc/rc.d/init.d/functions
https://bugzilla.redhat.com/show_bug.cgi?id=612712 -- pam_systemd
https://bugs.freedesktop.org/show_bug.cgi?id=29193 -- accountsservice
https://bugs.freedesktop.org/show_bug.cgi?id=29194 -- ConsoleKit
https://bugs.freedesktop.org/show_bug.cgi?id=29205 -- udisks
http://article.gmane.org/gmane.linux.bluez.kernel/6479 -- bluez
http://www.spinics.net/lists/linux-nfs/msg14371.html -- rpcbind
https://bugzilla.redhat.com/show_bug.cgi?id=617328 -- ntp
https://bugzilla.redhat.com/show_bug.cgi?id=617320 -- at
https://bugzilla.redhat.com/show_bug.cgi?id=617326 -- fprintd
https://bugzilla.redhat.com/show_bug.cgi?id=617333 -- yum
https://bugzilla.redhat.com/show_bug.cgi?id=617317 -- acpid
https://bugzilla.redhat.com/show_bug.cgi?id=617327 -- gpm
https://bugzilla.redhat.com/show_bug.cgi?id=617330 -- pcsc-lite
https://bugzilla.redhat.com/show_bug.cgi?id=617321 -- audit
https://bugzilla.redhat.com/show_bug.cgi?id=617316 -- abrt
http://sources.redhat.com/bugzilla/show_bug.cgi?id=11930 -- glibc
Regularly:
* look for close() vs. close_nointr() vs. close_nointr_nofail()
* check for strerror(r) instead of strerror(-r)
* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
* %m in printf() instead of strerror();
* pahole
* CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"
|