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
|
* oneshot services which do not remain: 'exited' instead of 'dead'?
it should be visible in 'systemctl' that they have been run
* systemd.log_level=debug should overwrite 'quiet' ?
* 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
* add #ifdefs for non-sysv builds
* "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 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 maintenance mode, and the socket, too.
* systemctl: warning wenn [Install] leer ist bei enable
* bash completion a la gdbus
* [Install] section rausmachen für early boot krams, uznd per default nach /lib linken
* systemctl list-jobs deps anzeigen
* ConditionFileExists=, ConditionKernelCommandLine=, ConditionEnvironment= mit !
* oom_score_adj
* accountsservice is dod
* follow LSB exit codes spec in "systemctl start"
* auditd service files
* override the human readable dbus error code for permission denied.
* discuss reexec on shutdown, async. vs. sync?
* auto-serial-getty vs. isolate
* add RefuseManualIsolate= (default on?)
* add systemctl switch to dump transaction without executing it
* shell wenn fsck im arsch is
* system.conf/session.conf brauch ne man page
External:
* make sure MountOnPlug und MountAuto und SwapOnPlug is off in Fedora
* 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
* get mount point kernel patch into f14
* sysv functions should color when stdout is tty, not stdin
* agetty should not modify baudrate https://bugzilla.redhat.com/show_bug.cgi?id=623685
* ck logging, ssd readahead
* pam: fix double sudo session cleanup:
http://www.gratisoft.us/bugzilla/show_bug.cgi?id=421
* kernel mount point move
* 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
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"
|