+* dot output for --test showing the 'initial transaction'
-- mounts might take time, need to be executed asynchronously in a forked process?
+* 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
-- need gc for active jobs that nothing cares for
+* fixup var-run/var-lock tmpfs mounts. we need:
+ touch /var/run/utmp
+ chown root:utmp /var/run/utmp
+ mkdir -p /var/lock/subsys
-- need gc for units that are not referenced anymore
+* 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
-- refreshing of units (i.e. reload config files)
+* 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
-- dbusification
+* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
-- cgroupsification
+* implicitly import "defaults" settings file into all types
-- udev hookup
+* add #ifdefs for non-sysv builds
-- snapshot system
+* reinvestigate random seed, hwclock
-- hookup with battery status, suspend/resume
+* "disabled" load state?
-- add a job mode which shuts everything down but what is requested
+* ability to kill services? i.e. in contrast to stopping them, go directly
+ into killing mode?
-- implement priv dropping
+* port over to LISTEN_FDS/LISTEN_PID:
-- allow to disable priv dropping for hook scripts from fragment
+ - 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
-- implement timer
+* write utmp record a la upstart for processes
-- implement mount/automount
+* follow property change dbus spec
-- more process attributes: cpu affinity, cpu scheduling
+* selinux policy loading/socket stuff
-- create session/pgroup for child processes? handle input on console properly? interactive fsck? interactive luks password?
+* systemctl status $PID, systemctl stop $PID!
-- fs namespaces
+* place /etc/inittab with explaining blurb.
-- templating/instances
+* vielleicht implizit immer auf syslog dependen?
-- verify fragment data after loading: refuse cycles on yourself, service units contradicting, more than one Start executable, ...
+* debian deadlock when partition set to noauto
-- automatically delete stale unix sockets
+* fingerprint.target, wireless.target, gps.target
-- .socket needs to be notified not only by .service state changes, but also unsuccessful start jobs
+* set_put(), hashmap_put() return values checken. i.e. == 0 macht kein free()!
-- 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.
+* fix merging in .swap units
-- 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.
+* pahole
-- ability to kill services? i.e. in contrast to stopping them, go directly
- into killing mode?
+* 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
+
+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
-- restart-on-success, restart-on-failure, restart-on-abort
+* %m in printf() instead of strerror();