X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=TODO;h=0bb9bc620565d9abb6db1c835fd1c17e354135d9;hb=3602ca6f0c6c7b79458ab80184b4af5334f3a843;hp=ae52d9fc3bed5879b296637ca1c05c4cba34cfec;hpb=2e2ed88062fcd4fbe138a5198a979ccdea4fb11c;p=thirdparty%2Fsystemd.git diff --git a/TODO b/TODO index ae52d9fc3be..0bb9bc62056 100644 --- a/TODO +++ b/TODO @@ -17,8 +17,41 @@ Janitorial Clean-ups: * rework mount.c and swap.c to follow proper state enumeration/deserialization semantics, like we do for device.c now +Before v244: + +* revisit SystemdOptions EFI variable. Find a better, systematic name and use + it for the env var, the bootctl verb and the EFI variable itself, clear up + semantics. + +* Figure out a better name for the global per-unit-type drop-in dirs, it's + confusing when it comes to -.mount.d/ (is it a drop-in-dir for all mount + units, or one for the root mount?). Also, OOM handling in + service_unit_name_is_valid() is borked. + Features: +* coredump: maybe when coredumping read a new xattr from /proc/$PID/exe that + may be used to mark a whole binary as non-coredumpable. Would fix: + https://bugs.freedesktop.org/show_bug.cgi?id=69447 + +* beef up hibernation to optionally do swapon/swapoff immediately before/after + the hibernation + +* beef up s2h to implement a battery watch loop: instead of entering + hibernation unconditionally after coming back from resume make a decision + based on the battery load level: if battery level is above a specific + threshold, go to suspend again, only hibernate if below it. This means we'd + stick to suspend usually, but fall back to hibernation only when battery runs + empty (well, subject to our sampling interval). Related to this, check if we + can make ACPI _BTP (i.e. /sys/class/power_supply/*/alarm) work for us too, + i.e. see if it can wake up machines from suspend, so that we could resume + automatically when the system is low on power and move automatically to + hibernation mode. (see + https://uefi.org/sites/default/files/resources/ACPI%206_2_A_Sept29.pdf + section 10.2.2.8 and + https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby-wake-sources + at the end). + * add an explicit "vertical" mode to format-table, so that "systemctl status"-like outputs (i.e. with a series of field names left and values right) become genuine first class citizens, and we gain automatic, sane JSON @@ -68,8 +101,6 @@ Features: * make rfkill uaccess controllable by default, i.e. steal rule from gnome-bluetooth and friends -* warn if udev rules files are marked executable (docker?) - * tweak journald context caching. In addition to caching per-process attributes keyed by PID, cache per-cgroup attributes (i.e. the various xattrs we read) keyed by cgroup path, and guarded by ctime changes. This should provide us @@ -101,9 +132,6 @@ Features: * when no locale is configured, default to UEFI's PlatformLang variable -* When logind.conf contains HandleLidSwitch=suspend-then-hibernate and we can't - hibernate because the swap partition isn't large enough, still suspend - * bootctl,sd-boot: actually honour the "architecture" key * add a new syscall group "@esoteric" for more esoteric stuff such as bpf() and @@ -139,7 +167,8 @@ Features: non-zero "tries done" count * maybe set a special xattr on cgroups that have delegate=yes set, to make it - easy to mark cut points + easy to mark cut points, then use this information in "systemd-cgls" to show + them (e.g. color delegated subtrees in a different color) * introduce an option (or replacement) for "systemctl show" that outputs all properties as JSON, similar to busctl's new JSON output. In contrast to that @@ -239,9 +268,6 @@ Features: * bypass SIGTERM state in unit files if KillSignal is SIGKILL -* tree-wide: ensure we always block the signals we hook into with - sd_event_add_signal() first - * add proper dbus APIs for the various sd_notify() commands, such as MAINPID=1 and so on, which would mean we could report errors and such. @@ -438,9 +464,6 @@ Features: * mount: automatically search for "main" partition of an image has multiple partitions -* expose the "privileged" flag of ExecCommand on the bus, and open it up to - transient units - * in nss-systemd, if we run inside of RootDirectory= with PrivateUsers= set, find a way to map the User=/Group= of the service to the right name. This way a user/group for a service only has to exist on the host for the right @@ -468,8 +491,6 @@ Features: * cache sd_event_now() result from before the first iteration... -* add systemctl stop --job-mode=triggering that follows TRIGGERED_BY deps and adds them to the same transaction - * PID1: find a way how we can reload unit file configuration for specific units only, without reloading the whole of systemd @@ -623,8 +644,6 @@ Features: * transient units: - add field to transient units that indicate whether systemd or somebody else saves/restores its settings, for integration with libvirt -* Automatically configure swap partition to use for hibernation by looking for largest swap partition on the root disk? - * when we detect low battery and no AC on boot, show pretty splash and refuse boot * libsystemd-journal, libsystemd-login, libudev: add calls to easily attach these objects to sd-event event loops @@ -745,7 +764,6 @@ Features: * journal: - consider introducing implicit _TTY= + _PPID= + _EUID= + _EGID= + _FSUID= + _FSGID= fields - - import and delete pstore filesystem content at startup - journald: also get thread ID from client, plus thread name - journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups - add API to close/reopen/get fd for journal client fd in libsystemd-journal. @@ -931,7 +949,6 @@ Features: * tmpfiles: - apply "x" on "D" too (see patch from William Douglas) - - replace F with f+. - instead of ignoring unknown fields, reject them. - creating new directories/subvolumes/fifos/device nodes should not follow symlinks. None of the other adjustment or creation @@ -1015,7 +1032,6 @@ Features: - Make sure ID_PATH is always exported and complete for network devices where possible, so we can safely rely on Path= matching - - check MTUBytes parsing (expecting size_t but we are using unsigned) * sd-rtnl: - add support for more attribute types @@ -1096,6 +1112,9 @@ External: - - should complete options, but currently does not - systemctl add-wants,add-requires +* systemctl status should know about 'systemd-analyze calendar ... --iterations=' +* If timer has just OnInactiveSec=..., it should fire after a specified time + after being started. Regularly: