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
|
* dot output for --test showing the 'initial transaction'
* check 'disable'
<Viking-Ice> "Warning: Unit file changed in disk, 'systemctl --system daemon-reload' recomended
<kay> when does it do that?
<Viking-Ice> if you disable the service
* fixup var-run/var-lock tmpfs mounts. we need:
touch /var/run/utmp
chown root:utmp /var/run/utmp
mkdir -p /var/lock/subsys
* downgrade warnings for non-existent services pulled-in
by soft dependencies, like:
init[1]: Failed to load configuration for isdn.service: No such file or directory
* 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
* add #ifdefs for non-sysv builds
* reinvestigate random seed, hwclock
* "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
* follow property change dbus spec
* selinux policy loading
* systemctl status $PID, systemctl stop $PID!
* place /etc/inittab with explaining blurb.
* fingerprint.target, wireless.target, gps.target
* set_put(), hashmap_put() return values checken. i.e. == 0 macht kein free()!
* fix merging in .swap units
* chkconfig/systemd-install glue
* io priority during initialization
* if a service fails too often, make the service enter maintainence mode, and the socket, too.
* don't show file not found msgs for irrelevant units
* j->installed issue
* plymouth boot.log
* plymouth different shut down msgs
* fix nscd disable
External:
* sysv functions should color when stdout is tty, not stdin
* agetty should not modify baudrate
* ck logging, ssh readahead
* pam: fix double sudo session cleanup:
http://www.gratisoft.us/bugzilla/show_bug.cgi?id=421
* patch /etc/init.d/functions with:
if [ $PPID -ne 1 && mountpoint /cgroup/systemd ] ; then echo "You suck!" ; fi
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
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"
|