chiark / gitweb /
cgroup: explain when we cannot initialize the cgroup stuff
[elogind.git] / TODO
diff --git a/TODO b/TODO
index 6903791f2858a07b9544dd603b0fb4ce07f82acf..eeb6c0728ff43252731daf24c735d6d87e410a11 100644 (file)
--- a/TODO
+++ b/TODO
-* do not throw error when .service file is linked to /dev/null
+F15:
 
-* oneshot services which do not remain: 'exited' instead of 'dead'?
-  it should be visible in 'systemctl' that they have been run
+* swap units that are activated by one name but shown in the kernel under another are semi-broken
 
-* dot output for --test showing the 'initial transaction'
+* dep cycle basic → udev-retry → auditd → iptables → basic
 
-* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
+* isolate multi-user.target doesn't start a getty@tty1 if we run it from graphical.target
 
-* implicitly import "defaults" settings file into all types
+* NFS, networkmanager ordering issue (PENDING)
 
-* "disabled" load state?
+* add fstab fields to add wait timeouts, change Wants to Requires by local-fs.target
 
-* ability to kill services? i.e. in contrast to stopping them, go directly
-  into killing mode?
+* hook emergency.target into local-fs.target in some way as OnFailure with isolate
 
-* 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
+* drop SIGHUP handling from rsyslog.service upstream (PENDING)
 
-* write utmp record a la upstart for processes
+* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
 
-* selinux policy loading
+* save/restore tool for SysV as requested by FPC (PENDING)
 
-* fingerprint.target, wireless.target, gps.target
+* bind mounts are ignored
 
-* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
+* 0595f9a1c182a84581749823ef47c5f292e545f9 is borked, freezes shutdown
+    (path: after installing inotify watches, recheck file again to fix race)
 
-* fix merging in .swap units
+* NM should pull in network.target, ntpd should pull in rtc-set.target.
 
-* chkconfig/systemd-install glue
+* document default dependencies
 
-* io priority during initialization
+* remove KillMode=process-group
 
-* if a service fails too often, make the service enter failed mode, and the socket, too.
+* kernel patch wegen kmsg prio nach f15
 
-* systemctl enable - warn about empty [Install] section
+* LOG_DAEMON/LOG_USER für kmsg messages schreiben
 
-* bash completion a la gdbus
+* fix /usr taint
 
-* systemctl list-jobs - show dependencies
+* disable /dev/console status messages after plymouth went down
 
-* ConditionFileExists=, ConditionKernelCommandLine=, ConditionEnvironment= with !
+Features:
 
-* accountsservice is borked
+* when key file cannot be found, read it from kbd in cryptsetup
 
-* auditd service files
+* hide passwords on TAB
 
-* add systemctl switch to dump transaction without executing it
+* get rid of random file name in generator directory?
+    /run/systemd/generator-IH1vFu
 
-* system.conf/session.conf man page
+* fix SD_WARNING syslog stuff in src/sd-daemon.h to include the
+  facility
 
-* exec /sbin/poweroff as PID 1 and do the shutdown
+* add switch to systemctl to show enabled but not running services. Or
+  another switch that shows service that have been running since
+  booting but aren't running anymore.
 
-* kexec, suspend, resume
+* reuse mkdtemp namespace dirs in /tmp?
 
-* passphrase agent https://bugs.freedesktop.org/show_bug.cgi?id=30038
+* don't strip facility from kmsg log messages as soon as that is possible.
+    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=9d90c8d9cde929cbc575098e825d7c29d9f45054
 
-* support dbus introspection in mid-level object paths, i.e. in /org/freedesktop/systemd/units/.
+* recreate systemd's D-Bus private socket file on SIGUSR2
 
-* systemctl auto-pager a la git
+* be more specific what failed:
+    Unmounting file systems.
+    Not all file systems unmounted, 1 left.
+    Disabling swaps.
+    Detaching loop devices.
+    Detaching DM devices.
+    Cannot finalize remaining file systems and devices, trying to kill remaining processes.
+    Unmounting file systems.
+    Not all file systems unmounted, 1 left.
+    Cannot finalize remaining file systems and devices, giving up.
 
-* fsck setup
+* check for compiled-in, but not active selinux, and don't print any warnings
+  about policy loading. Probably check for available selinux in /proc/filesystems,
+  and check for active selinux with getcon_raw() == "kernel"
 
-* merge CK
+* optionally create watched directories in .path units
 
-* ask-password tty agent, ask-password plymouth agent
+* Support --test based on current system state
 
-* ask-password tty timeout
+* consider services with no [Install] section and stored in /lib enabled by "systemctl is-enabled"
 
-* properly handle multiple inotify events per read() in path.c and util.c
+* consider services with any kind of link in /etc/systemd/system enabled
 
-* readahead: btrfs/LVM SSD detection
+* show failure error string in "systemctl status"
+
+* make sure timeouts are applied to Type=oneshot services.
+
+* Maybe implement "systemctl mask" and "systemctl unmask", but not
+  document it? When doing that add switch to make this temporary by
+  placing mask links in /dev.
+  Consider moving the actual fs operations into systemd behind a D-Bus
+  interface, to make namespaces/containers/remote connections work properly.
+
+* detect LXC environment
+
+* invoke vhangup() before and after invoking getty
+    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3c95c985fa91ecf6a0e29622bbdd13dcfc5ce9f1
+
+* support "auto" and "comment=systemd.automount" at the same time for an fstab entry
+
+* Maybe store in unit files whether a service should be enabled by default on package installation
+  (belongs into a distro pattern though, not in an upstream package's service file)
+
+* perhaps add "systemctl reenable" as combination of "systemctl disable" and "systemctl enable"
+
+* need a way to apply mount options of api vfs from systemd unit files
+  (or some other modern source?) instead of fstab
+
+* maybe introduce ExecRestartPre=
+
+* figure out what happened to bluez patch
+
+* Patch systemd-fsck to use -C and pass console fd to it
+
+* support remote/ssh systemctl/systemadm, and local privileged access
+
+* configurable jitter for timer events
+
+* Support ProcessNeededForShutdown=true to allow stuff like mdmon
+  to be killed very late after the rootfs is read only (?)
+
+* Integrate "mdadm --wait-clean". Maybe just let SIGTERM to mdmon trigger the
+  needed action
 
-* document locale.conf, vconsole.conf and possibly the tempfiles.d and modules-load.d mechanism.
+* dot output for --test showing the 'initial transaction'
 
-* beefed up tmpwatch that reads tmpfiles.d
+* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
+  - check timerfd() patch: http://lkml.org/lkml/2010/11/23/290
 
-* use /sbin/swapon
+* systemd --user
+  - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
 
-* enable syslog.socket by default, activating our kmsg bridge
+* add VT tracking:
+  - provide CK functionality
+  - start getty only when actual vt switch happens (same model as
+    socket on-demand activation). allocate the next free tty and
+    start a getty there. this way, pressing alt-f[1-12] will switch
+    through running X and getty sessions, and any unallocated
+    activated tty will start a new getty. the hardcoding of
+    getty[1-6] will entirely go away.
+  - http://git.kernel.org/?p=linux/kernel/git/gregkh/tty-2.6.git;a=commitdiff;h=fbc92a3455577ab17615cbcb91826399061bd789
 
-* Restart=on-failure and Restart=on-abort
+* implicitly import "defaults" settings file into all types
 
-* kill sessions on shutdown
+* port over to LISTEN_FDS/LISTEN_PID:
+   - uuidd    HAVEPATCH
+   - rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
+   - cups     HAVEPATCH
+   - postfix, saslauthd
+   - apache/samba
+   - libvirtd (/var/run/libvirt/libvirt-sock-ro)
+   - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
+   - distccd
 
-* when processes remain in a service even though the start command failed enter active
+* fingerprint.target, wireless.target, gps.target
+
+* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
+
+* io priority during initialization
+
+* if a service fails too often, make the service enter failed mode, and the socket, too.
 
-* fix plymouth socket, when plymouth started to use a clean one
+* systemctl list-jobs - show dependencies
+
+* accountsservice is borked
+
+* auditd service files
+
+* add systemctl switch to dump transaction without executing it
+
+* suspend, resume support?
+
+* readahead: btrfs/LVM SSD detection
+
+* add separate man page for [Install] settings
+
+* only add quotacheck deps to .mount units which mention grpquota/usrquota in the mount flags
+
+* systemctl condrestart should return 0 if service isn't running
+
+* allow runtime changing of log level and target
 
 External:
 
-* place /etc/inittab with explaining blurb.
+* udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
 
-* pam_securetty should honour console=
+* snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
 
-* procps, psmisc, sysvinit-tools, hostname → util-linux-ng
+* gnome-shell python script/glxinfo/is-accelerated must die
 
-* nologin nach /var/run https://bugzilla.redhat.com/show_bug.cgi?id=624489
+* make cryptsetup lower --iter-time
 
-* make sysinit honour forcefsck/fastboot from the kernel command line fsck.mode=auto|force|skip
+* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup.
 
-* pam: fix double sudo session cleanup:
-  http://www.gratisoft.us/bugzilla/show_bug.cgi?id=421
+* patch kernel for cpu feature modalias for autoloading aes/kvm/...
+    http://git.kernel.org/?p=linux/kernel/git/ak/linux-misc-2.6.git;a=shortlog;h=refs/heads/cpuid-match
+  (Rafael J. Wysocki's sysdev rework is on the way. After that CPUs can be exported a proper bus.)
+
+* procps, psmisc, sysvinit-tools, hostname → util-linux-ng
 
 https://bugzilla.redhat.com/show_bug.cgi?id=614245 -- plymouth
 https://bugzilla.redhat.com/show_bug.cgi?id=612789 -- umount /cgroup on halt
@@ -131,7 +218,6 @@ 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: