chiark / gitweb /
update fixme
[elogind.git] / fixme
diff --git a/fixme b/fixme
index 55df3be713cb193949389acf854f20fc277ce28d..5a5a486aced6cf92455b2284a6bd03c175778fc9 100644 (file)
--- a/fixme
+++ b/fixme
+* dot output for --test for 'initial description'
 
-- trigger mounting; mounts might take time, need to be executed asynchronously in a forked process?
+* 'quiet' sets log_level=null
 
-- need gc for active jobs that nothing cares for
+* conflicted-by: to have a defined winner for conflicts:
 
-- need gc for units that are not referenced anymore
+* 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
 
-- refreshing of units (i.e. reload config files)
+* fixup var-run/var-lock tmpfs mounts. we need:
+    touch /var/run/utmp
+    chown root:utmp /var/run/utmp
+    mkdir -p /var/lock/subsys
 
-- further dbusification (i.e. export dependency information, per-unit-type data)
+* 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
 
-- cgroupsification
+* somehow fix the start of getty on tty1, which clears the screen, and mixes
+  its output with systemd bootup messages
 
-- snapshot system
+* 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
 
-- add a job mode which shuts everything down but what is requested
+* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
 
-- implement timer
+* implicitly import "defaults" settings file into all types
 
-- implement automount
+* add #ifdefs for non-sysv builds
 
-- create session/pgroup for child processes? handle input on console properly? interactive fsck? interactive luks password?
+* reinvestigate random seed, hwclock
 
-- fs namespaces
+* "disabled" load state?
 
-- templating/instances
-
-- verify fragment data after loading: refuse cycles on yourself, service units contradicting, more than one Start executable, ...
-
-- .socket needs to be notified not only by .service state changes, but also unsuccessful start jobs
-
-- 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 udev/mount if properties change we need to delete the old
-  settings and install the new settings. Deleting the old settings is
-  currently missing.
-
-- ability to kill services? i.e. in contrast to stopping them, go directly
+* ability to kill services? i.e. in contrast to stopping them, go directly
   into killing mode?
 
-- restart-on-success, restart-on-failure, restart-on-abort, restart-on-name-gnone
-
-- port over to LISTEN_FDS/LISTEN_PID:
+* port over to LISTEN_FDS/LISTEN_PID:
 
    - uuidd    DONE
-   - nscd     DONE
-   - rpcbind (/var/run/rpcbind.sock!)
-   - dbus
-   - rsyslog
-   - cups
+   - 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!)
-   - avahi-daemon (/var/run/avahi-daemon/socket)
    - distccd
 
-- teach dbus to talk to systemd when autospawning services
+* 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)
 
-- unix sockets chown()/chgrp()
+* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
 
-- watch dbus names for figuring out when a service has finished startup/goes down
+* %m in printf() instead of strerror();