summaryrefslogtreecommitdiff
path: root/fixme
blob: 765d9d121d608d25f61e896dc2e6dabafcc8b364 (plain)
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
* dot output for --test for 'initial description'

* conflicted-by: to have a defined winner for conflicts:

* 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

* somehow fix the start of getty on tty1, which clears the screen, and mixes
  its output with systemd bootup messages

* 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/socket stuff

* systemctl status $PID, systemctl stop $PID!

* place /etc/inittab with explaining blurb.

* vielleicht implizit immer auf syslog dependen?

* debian deadlock when partition set to noauto

* fingerprint.target, wireless.target, gps.target

* set_put(), hashmap_put() return values checken. i.e. == 0 macht kein free()!

* fix merging in .swap units

* pahole

* 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

* getty doesn't respawn

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

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();