chiark / gitweb /
update TODO
[elogind.git] / TODO
diff --git a/TODO b/TODO
index fa4f05c41d74237f7457d2f402d891e0d08d104d..eb3f6b87972bf5e6b74607ba93374392695f2c81 100644 (file)
--- a/TODO
+++ b/TODO
-* bind mounts with 'fsck' fail and block for a minute:
-    /foo /bar none bind 1 1
-  (using fsck is wrong, but why do we block for a minute
-   instead of just handling the error)
+Bugfixes:
 
-* 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'
+* NM should pull in network.target (PENDING)
+  https://bugzilla.redhat.com/show_bug.cgi?id=692008
 
-* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
-  - check timerfd() patch: http://lkml.org/lkml/2010/11/23/290
+* make anaconda write timeout=0 for encrypted devices
 
-* systemd --user
-  - get PR_SET_ANCHOR merged: http://lkml.org/lkml/2010/2/2/165
+* fix broken Sockets=syslog-ng.socket packaging
 
-* add VT tracking:
-    - provide CK functionality
-    - start getty 2-6 only when actual vt switch happens
-      (same model as socket on-demand activation)
+* logind: ensure ACLs are updated on login and logout
 
-* implicitly import "defaults" settings file into all types
+* fix CUPS .path unit for globbing
 
-* 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
+* service: pid file reading after reload doesn't work, since we don't reset the pid variable
 
-* fingerprint.target, wireless.target, gps.target
+* make sure timeouts are applied to Type=oneshot services.
 
-* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
+Features:
 
-* io priority during initialization
+* make arbitrary cgroups attributes settable
 
-* if a service fails too often, make the service enter failed mode, and the socket, too.
+* when we automatically restart a service, ensure we retsart its rdeps, too.
 
-* systemctl list-jobs - show dependencies
+* allow Type=simple with PIDFile=
+  https://bugzilla.redhat.com/show_bug.cgi?id=723942
 
-* accountsservice is borked
+* rename systemd-logger to systemd-stdio-syslog-bridge
 
-* auditd service files
+* file bugs against sysklogd, syslog-ng because of StandardOuput=null
+* turn default stdout/stderr to syslog (after rsyslog got updated)
 
-* add systemctl switch to dump transaction without executing it
+* move PAM code into its own binary
+
+* warn if the user stops a service but not its associated socket
+
+* logind: spawn user@..service on login
+
+* logind: non-local X11 server handling
+
+* logind: use sysfs path in device hash table instead of sysname, as soon as fb driver is fixed
+
+* timedated: implement NTP calls
+
+* implement Register= switch in .socket units to enable registration
+  in Avahi, RPC and other socket registration services.
+
+* make sure people don't leave processes around after ExecStartPre=
+
+* make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
+
+* readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
+
+* readahead: check whether a btrfs volume includes ssd by checking mount flag "ssd"
+
+* support sd_notify() style notification when reload begins (RELOADING=1), reload is finished (READY=1)
+
+* support sd_notify() style notification when shutting down, to make auto-exit bus services work (STOPPING=1)
+
+* verify that the AF_UNIX sockets of a service in the fs still exist
+  when we start a service in order to avoid confusion when a user
+  assumes starting a service is enough to make it accessible
+
+* Make it possible to set the keymap independently from the font on
+  the kernel cmdline. Right now setting one resets also the other.
+
+* move nss-myhostname into systemd
+
+* and a dbus call to generate target from current state
+
+* detect LXC with $container=lxc
+
+* drop /.readahead on bigger upgrades with yum
+
+* add inode nr check to readahead to suppress preloading changed files
+
+* add support for /bin/mount -s
+
+* GC unreferenced jobs (such as .device jobs)
 
-* suspend, resume
+* add JoinControllers= to system.conf to mount certain cgroup
+  controllers together in order to guarantee atomic creation/addition
+  of cgroups
 
-* systemctl auto-pager a la git
+* avoid DefaultStandardOutput=syslog to have any effect on StandardInput=socket services
 
-* readahead: btrfs/LVM SSD detection
+* cgroup_notify_empty(): recursively check groups up the tree, too
 
-* when processes remain in a service even though the start command failed enter active
+* when failing to start a service due to ratelimiting, try again later, if restart=always is set
 
-* add seperate man page for [Install] settings
+* write blog stories about:
+  - enabling dbus services
+  - status update
+  - how to make changes to sysctl and sysfs attributes
+  - remote access
+  - cgroup best pratices to avoid stepping on each others toes
+  - how to pass throw-away units to systemd, or dynamically change properties of existing units
+  - how to integrate cgconfig and suchlike with systemd
 
-* only add quotacheck deps to .mount units which mention grpquota/usrquota in the mount flags
+* allow port=0 in .socket units
 
-* systemctl condrestart should return 0 if service isn't running
+* move readahead files into /var, look for them with .path units
 
-* tmpfiles: allow specification of .conf files on cmdline
+* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
+* figure out what happened to bluez patch
 
-* allow runtime changing of log level and target
+* support systemd.mask= on the kernel command line.
 
-* automatically determine TERM= based on tty name even for /dev/console
+* when key file cannot be found, read it from kbd in cryptsetup
 
-* fix hotplug transactions
+* reuse mkdtemp namespace dirs in /tmp?
 
-* isolate multi-user.target doesn't start a getty@tty1 if we run it from graphical.target
+* recreate systemd's D-Bus private socket file on SIGUSR2
 
-* sendmail.service doesn't get rid PID file, fails to kill everything on stop
+* Support --test based on current system state
 
-* global defaults for StandardOuput=xxx
+* investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
 
-* Make EnvironmentFile=-/fooobar/waldo ingnore errors while reading /foobar/waldo
+* maybe introduce ExecRestartPre=
 
-* mkswap/mke2fs is called on wrong devices in crypto devices.
+* Patch systemd-fsck to use -C and pass console fd to it
 
-Fedora:
+* configurable jitter for timer events
 
-* obsolete readhead in systemd pkg
+* timer events with system resume
 
-* chkconfig → systemd enable/daemon-reload glue
+* timer events on calendar time
 
-* /var/lock, /var/run → what happens if rpm stuff is no %ghosted?
+* Support ProcessNeededForShutdown=true to allow stuff like mdmon to
+  be killed very late after the rootfs is read only? If implement pass
+  this to shutdown binary via command line argument.
+
+* dot output for --test showing the 'initial transaction'
+
+* calendar time support in timer, iCalendar semantics for the timer stuff (RFC2445)
+    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ee5315dac6211e972fa3f23bcc9a0343ff58c4
+
+* implicitly import "defaults" settings file into all types
+* exec settings override
+* writable cgroups dbus properties for live changes
+
+* port over to LISTEN_FDS/LISTEN_PID:
+   - 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
+
+* auditd service files
+
+* fingerprint.target, wireless.target, gps.target, netdevice.target
+
+* io priority during initialization
+
+* if a service fails too often, make the service enter failed mode, and the socket, too.
+
+* new deps "Triggers" and "TriggeredBy"
+
+* systemctl list-jobs - show dependencies
+
+* add systemctl switch to dump transaction without executing it
+
+* suspend, resume support?
+
+* drop cap bounding set in readahead and other services
 
 External:
 
+* dbus:
+   - get process transport into dbus for systemctl -P/-H
+   - dbus --user
+   - natively watch for dbus-*.service symlinks
+   - allow specification of socket mode/umask when allocating DBusServer
+   - allow disabling of fd passing when connecting a AF_UNIX connection
+
+* systemd --user
+    PR_SET_CHILD_REAPER patch: https://lkml.org/lkml/2011/7/28/426
+
+* fix alsa mixer restore to not print error when no config is stored
+
+* udisks should not use udisks-part-id, instead use blkid. also not probe /dev/loopxxx
+
+* snd-seq should go, https://bugzilla.redhat.com/show_bug.cgi?id=676095
+
+* gnome-shell python script/glxinfo/is-accelerated must die
+
 * make cryptsetup lower --iter-time
 
-* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup.
+* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
 
 * 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.)
 
-* place /etc/inittab with explaining blurb.
-
-* pam_securetty should honour console=
-
-* 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
-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
+* kernel: add /proc/sys file exposing CAP_LAST_CAP? sysconf?
+
+* kernel: add device_type = "fb", "fbcon" to class "graphics"
 
 Regularly:
 
@@ -136,4 +211,4 @@ Regularly:
 
 * pahole
 
-* CFLAGS="-Wl,--gc-sections -Wl,--print-gc-sections -ffunction-sections -fdata-sections"
+* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!