chiark / gitweb /
readahead: parse command line arguments
[elogind.git] / fixme
diff --git a/fixme b/fixme
index 6a771c72f69b0abff5014521ee7eecf5dc1a63d4..16aabdaa1c590c1150134dd8e0c42869c916035b 100644 (file)
--- a/fixme
+++ b/fixme
+* do not throw error when .service file is linked to /dev/null
 
-- mounts might take time, need to be executed asynchronously in a forked process?
+* oneshot services which do not remain: 'exited' instead of 'dead'?
+  it should be visible in 'systemctl' that they have been run
 
-- need gc for active jobs that nothing cares for
+* dot output for --test showing the 'initial transaction'
 
-- need gc for units that are not referenced anymore
+* 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
 
-- refreshing of units (i.e. reload config files)
+* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
 
-- dbusification
+* implicitly import "defaults" settings file into all types
 
-- cgroupsification
+* add #ifdefs for non-sysv builds
+  ABI: sysv "legacy", disable D-Bus export if not compiled-in
 
-- udev hookup
+* "disabled" load state?
 
-- snapshot system
+* ability to kill services? i.e. in contrast to stopping them, go directly
+  into killing mode?
 
-- hookup with battery status, suspend/resume
+* 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
 
-- add a job mode which shuts everything down but what is requested
+* write utmp record a la upstart for processes
 
-- implement priv dropping
+* selinux policy loading
 
-- allow to disable priv dropping for hook scripts from fragment
+* fingerprint.target, wireless.target, gps.target
 
-- implement timer
+* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
 
-- implement automount
+* fix merging in .swap units
 
-- create session/pgroup for child processes? handle input on console properly? interactive fsck? interactive luks password?
+* chkconfig/systemd-install glue
 
-- fs namespaces
+* io priority during initialization
 
-- templating/instances
+* if a service fails too often, make the service enter failed mode, and the socket, too.
 
-- verify fragment data after loading: refuse cycles on yourself, service units contradicting, more than one Start executable, ...
+* systemctl enable - warn about empty [Install] section
 
-- automatically delete stale unix sockets
+* bash completion a la gdbus
 
-- .socket needs to be notified not only by .service state changes, but also unsuccessful start jobs
+* systemctl list-jobs - show dependencies
 
-- 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.
+* ConditionFileExists=, ConditionKernelCommandLine=, ConditionEnvironment= with !
 
-- 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.
+* accountsservice is dod
 
-- ability to kill services? i.e. in contrast to stopping them, go directly
-  into killing mode?
+* auditd service files
 
-- restart-on-success, restart-on-failure, restart-on-abort
+* add systemctl switch to dump transaction without executing it
 
-- port over to LISTEN_FDS/LISTEN_PID:
+* system.conf/session.conf man page
 
-   - uuidd    DONE
-   - nscd
-   - rpcbind (/var/run/rpcbind.sock!)
-   - dbus
-   - rsyslog
-   - cups
-   - ssh
-   - rpc.idmapd, rpc.quotad, rpc.mountd, rpc.statd
-   - postfix, saslauthd
-   - acpid?
-   - apache/samba
-   - libvirtd (/var/run/libvirt/libvirt-sock-ro)
-   - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
-   - avahi-daemon (/var/run/avahi-daemon/socket)
-   - distccd
+* exec /sbin/poweroff as PID 1 and do the shutdown
+
+* kexec, suspend, resume
+
+* passphrase agent https://bugs.freedesktop.org/show_bug.cgi?id=30038
+
+* emergency.service should start default.target after C-d.
+
+* support dbus introspection in mid-level object paths, i.e. in /org/freedesktop/systemd/units/.
+
+* systemctl auto-pager a la git
+
+* fsck setup
+
+* merge CK
+
+* ask-password tty agent, ask-password plymouth agent
+
+* plymouth update status hookup
+
+* ask-password tty timeout
+
+* properly handle bind mounts in /etc/fstab
+
+* readahead() vs. fadvise() vs. ioprio
+
+External:
+
+* 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
+
+* pam: fix double sudo session cleanup:
+  http://www.gratisoft.us/bugzilla/show_bug.cgi?id=421
+
+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();
 
-- teach dbus to talk to systemd when autospawning services
+* pahole
 
-- unix sockets chown()/chgrp()
+* CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"