]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - TODO
test: Disable LUKS devices from initramfs in QEMU tests
[thirdparty/systemd.git] / TODO
diff --git a/TODO b/TODO
index ae52d9fc3bed5879b296637ca1c05c4cba34cfec..8e2e502c466dfb6ed3ee4175eb83fa58689b2f60 100644 (file)
--- a/TODO
+++ b/TODO
@@ -17,8 +17,46 @@ 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:
 
+* socket units: allow creating a udev monitor socket with ListenDevices= or so,
+  with matches, then actviate app thorugh that passing socket oveer
+
+* 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
+
+* teach parse_timestamp() timezones like the calendar spec already knows it
+
+* 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 +106,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 +137,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 +172,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 +273,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 +469,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 +496,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 +649,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 +769,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 +954,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 +1037,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 +1117,9 @@ External:
   - <command> <verb> -<TAB> 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: