X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=TODO;h=c12190e58c20c77de42062da23ce5273b3f046aa;hp=cba2c8cfec427ecf13f63fb8950a73f9dd8aa3a5;hb=3e2147858f21943d5f4a781c60f33ac22c6096ed;hpb=068665b6fd9839f27bcace7e8f56c0baa6935272 diff --git a/TODO b/TODO index cba2c8cfe..c12190e58 100644 --- a/TODO +++ b/TODO @@ -2,13 +2,8 @@ Bugfixes: * swap units that are activated by one name but shown in the kernel under another are semi-broken -* NM should pull in network.target (PENDING) - https://bugzilla.redhat.com/show_bug.cgi?id=692008 - * make anaconda write timeout=0 for encrypted devices -* service: pid file reading after reload doesn't work, since we don't reset the pid variable - * make sure timeouts are applied to Type=oneshot services. * Dangling symlinks of .automount unit files in .wants/ directories, set up @@ -21,26 +16,86 @@ Bugfixes: Features: -* systemctl reboot -ff should trigger an immediate reboot +* allow configuration of console width/height in vconsole.conf + +* PrivateTmp should apply to both /tmp and /var/tmp + +* fstab should take priority over units in /usr + +* cleanup syslog 'priority' vs. 'level' wording + +* journal: if mmap() fails for mapping window try to unmap a a few older maps + +* add flag file for shutdownd so that clients can check whether a shutdown is queued + +* dbus upstream still refers to dbus.target and shouldn't + +* when a service has the same env var set twice we actually store it twice and return that in systemctl show -p... We should only show the last setting + +* add man page documenting all kernel cmdline options, including stuff like fsck.mode= + +* show getty in container mode, not sulogin + +* support container_ttys= + +* journald: make configurable "store-on-var", "store-on-run", "dont-store", "auto" + (store-persistent, store-volatile?) + +* Add ConditionReadWriteFileSystem= so that systemd-sysctl doesn't get executed when /proc/sys is read-only + +* unset container= and container_uuid= for child processes + +* when bind mounting /etc/machine-id, do so from /run/machine-id + +* introduce mix of BindTo and Requisite + +* journalctl: show multiline log messages sanely, expand tabs, and show all valid utf8 messages + +* introduce NeedsMounts= or so to create .mount dependencies automatically for a specific path + +* add DeleteSocketsOnStop=yes|no option to socket units + +* add shutdown inhibit API for usage by libvirt and friends + +* journal: store euid in journal if it differs from uid + +* support chrony in addition to ntpd in timedated + +* document crypttab(5) + +* There's currently no way to cancel fsck (used to be possible via C-c or c on the console) + +* hook up /dev/watchdog with main event loop for embedded, server uses + +* when dumping cgroup contents, include main/control PID of a service, explicitly + +* keep an eye on https://bugzilla.gnome.org/show_bug.cgi?id=670100 + +* D-Bus: always pass cred data along each message + +* journal: allow turning off logging entirely + +* journal: sanely deal with entries which are larger than the individual file size, but where the componets would fit + +* add command to systemctl to plot dependency graph as tree (see rhbz 795365) + +* make logind reserve tty10 or so for text logins, so that gdm never picks it up + +* add option to sockets to avoid activation. Instead just drop packets/connections, see http://cyberelk.net/tim/2012/02/15/portreserve-systemd-solution/ + +* isolate for getty is still broken, due to logind + +* default unix qlen is too small (10). bump sysctl? add sockopt? * support units generated by a generator and placed in /run/systemd/system/; the directory is currently ignored because it is empty before the generatores are executed -* let 'systemctl reboot' called as non-root talk to logind instead of systemd, to get polkit - system policy in the loop of privilege checking, so normal users can possibly use /sbin/reboot - * Possibly, detect whether SysV init scripts can do reloading by looking for "echo Usage:" lines * figure out whether we should leave dbus around during shutdown -* support closing all fds via RLIMIT_NOFILE instead of /proc, in order to make chroot stuff work. - * add interface to allow immediate rotation of the journal, and even flushing. -* don't log coredumps of PID 1 into the journal - -* if a journal file is corrupt, rotate it and create a new one - * dbus: in fedora, make the machine a symlink to /etc/machine-id * journald: reuse XZ context @@ -49,8 +104,6 @@ Features: * write RPM spec macros for presets -* write man pages for systemd-cat - * journal: write man pages for API * journal: OR matches are borked @@ -83,7 +136,7 @@ Features: * support crash reporting operation modes (https://live.gnome.org/GnomeOS/Design/Whiteboards/ProblemReporting) -* allow per-entry control on /var vs. /run (think incognito browser mode) +* journal: allow per-entry control on /var vs. /run (think incognito browser mode) * clean up session cgroups that remain after logout (think sshd), but eventually run empty @@ -95,15 +148,13 @@ Features: * document that %% can be used to write % in a string that is specifier extended -* check utf8 everywhere - * when an instanced service exits, remove its parent cgroup too if possible. * Make libselinux, libattr, libcap, libdl dependencies only of the tools which actually need them. * as Tom Gundersen pointed out there's a always a dep loop if people use crypto file systems with random keys -* unset container= in PID1? +* unset container=, container_uuid= in PID1? * automatically escape unit names passed on the service (i.e. think "systemctl start serial-getty.service@serial/by-path/jshdfjsdfhkjh" being automatically escaped as necessary. @@ -114,10 +165,6 @@ Features: * add an option to make mounts private/shareable and so on, enable this for root by default -* internal restart counter for units (focus on auto-respawn) - -* finer-grained auto-respawn settings (rate-limit) - * be able to specify a forced restart of service A where service B depends on, in case B needs to be auto-respawned? @@ -127,15 +174,13 @@ Features: * something like ConditionExec= or ExecStartPre= without failure state -* service restart retry configuration - * tmpfiles: apply "x" on "D" too (see patch from William Douglas) * don't set $HOME in services unless requested * hide PAM/TCPWrap options in fragment parser when compile time disabled -* when we automatically restart a service, ensure we retsart its rdeps, too. +* when we automatically restart a service, ensure we restart its rdeps, too. * allow Type=simple with PIDFile= https://bugzilla.redhat.com/show_bug.cgi?id=723942 @@ -243,8 +288,6 @@ Features: * io priority during initialization -* if a service fails too often, make the service enter failed mode, and the socket, too. - * systemctl list-jobs - show dependencies * add systemctl switch to dump transaction without executing it @@ -265,13 +308,10 @@ External: * systemd --user PR_SET_CHILD_REAPER patch: https://lkml.org/lkml/2011/7/28/426 + (patch in linux-next, on the way to the next kernel) * 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 @@ -287,9 +327,6 @@ External: * patch kernel for cpu feature modalias for autoloading aes/kvm/... (patches in linux-next, on the way to the next kernel) -* kernel: add /proc/sys file exposing CAP_LAST_CAP? sysconf? - merged: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=73efc0394e148d0e15583e13712637831f926720 - * kernel: add device_type = "fb", "fbcon" to class "graphics" Regularly: @@ -305,3 +342,28 @@ Regularly: * pahole * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()! + +udev: + - find a way to tell udev to not cancel firmware + requests in initramfs + + - scsi_id -> sg3_utils? + + - make gtk-doc optional like kmod + + - move /usr/lib/udev/devices/ to tmpfiles + + - trigger --subsystem-match=usb/usb_device + + - kill rules_generator + + - have a $attrs{} ? + + - remove RUN+="socket:" + + - libudev.so.1 + - symbol versioning + - return object with *_unref() + - udev_monitor_from_socket() + - udev_queue_get_failed_list_entry() +