+* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
-- mounts might take time, need to be executed asynchronously in a forked process?
+* implicitly import "defaults" settings file into all types
-- need gc for active jobs that nothing cares for
+* add #ifdefs for non-sysv builds
-- need gc for units that are not referenced anymore
+* reinvestigate random seed, hwclock
-- refreshing of units (i.e. reload config files)
+* "disabled" load state?
-- dbusification
+* ability to kill services? i.e. in contrast to stopping them, go directly
+ into killing mode?
-- cgroupsification
+* port over to LISTEN_FDS/LISTEN_PID:
-- udev hookup
+ - uuidd DONE
+ - nscd 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
-- snapshot system
+* write utmp record a la upstart for processes
-- hookup with battery status, suspend/resume
+* follow property change dbus spec
-- add a job mode which shuts everything down but what is requested
+* selinux
-- implement priv dropping
+* systemctl status $PID, systemctl stop $PID!
-- allow to disable priv dropping for hook scripts from fragment
+* systemctl list-units doesn't show units with actvie jobs?
-- implement timer
+* timeout waiting for mount devices?
-- implement mount/automount
+* default logic for serial getty, ck logging, ssk readahead
-- more process attributes: cpu affinity, cpu scheduling
+* place /etc/inittab with explaining blurb.
-- create session/pgroup for child processes? handle input on console properly? interactive fsck? interactive luks password?
+* OnFailure=foo.unit
-- fs namespaces
+* default.target must be %ghosted...
-- templating/instances
+* systemd.path muss irgendwie nen sinvolles Defaultdependencies=True kriegen, genaus timer usw.
-- verify fragment data after loading: refuse cycles on yourself, service units contradicting, more than one Start executable, ...
+* In command lines, support both "$FOO" and $FOO
-- automatically delete stale unix sockets
+* systemd-install disable should recursively kill all symlinks
-- .socket needs to be notified not only by .service state changes, but also unsuccessful start jobs
+* __nss_disable_nscd() aufrufen um loops zu verhindern
-- we probably cannot use glibc's syslog() for logging, since it
- presumably uses the logging socket in blocking mode which might
- trigger a deadlock if syslog does not process the socket anymore
- (maybe because it is restarted) and the socket buffer is full.
+* in %post create all symlinks manually and use inittab data
-- in udev/mount if properties change we need to delete the old
- settings and install the new settings. Deleting the old settings is
- currently missing.
+* check mtimes of dirs and unit files in systemctl
-- ability to kill services? i.e. in contrast to stopping them, go directly
- into killing mode?
+* /etc must always take precedence even if we follow symlinks!
+
+* when adding default deps to targets, check if they are already there and skip
+
+* /lib/init/rw
+
+* vielleicht implizit immer auf syslog dependen?
+
+External:
+
+* 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
+https://bugzilla.redhat.com/show_bug.cgi?id=612789
+https://bugzilla.redhat.com/show_bug.cgi?id=612728
+https://bugzilla.redhat.com/show_bug.cgi?id=612712
+
+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
-- restart-on-success, restart-on-failure, restart-on-abort
+* %m in printf() instead of strerror();