]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - TODO
Merge pull request #14592 from keszybz/simplifications
[thirdparty/systemd.git] / TODO
diff --git a/TODO b/TODO
index c3cc999ac4620256d0464bbb24f5e814aa3f526a..ce37869ce17de40805a1f8ea5838573fb158d284 100644 (file)
--- a/TODO
+++ b/TODO
@@ -17,17 +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:
+Features:
 
-* 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.
+* when dissecting images, warn about unrecognized partition flags
 
-Features:
+* honour specifiers in unit files that resolve to some very basic
+  /etc/os-release data, such as ID, VERSION_ID, BUILD_ID, VARIANT_ID.
 
 * socket units: allow creating a udev monitor socket with ListenDevices= or so,
   with matches, then actviate app thorugh that passing socket oveer
 
+* kill zenata, all hail weblate?
+
+* move discoverable partitions spec into markdown and our tree
+
+* sd-event: add native support for P_ALL waitid() watching, then move PID 1 to
+  it fo reaping assigned but unknown children. This needs to some special care
+  to operate somewhat sensibly in light of priorities: P_ALL will return
+  arbitrary processes, regardless of the priority we want to watch them with,
+  hence on each event loop iteration check all processes which we shall watch
+  with higher prio explicitly, and then watch the entire rest with P_ALL.
+
+* tweak sd-event's child watching: keep a prioq of children to watch and use
+  waitid() only on the children with the highest priority until one is waitable
+  and ignore all lower-prio ones from that point on
+
+* maybe introduce xattrs that can be set on the root dir of the root fs
+  partition that declare the volatility mode to use the image in. Previously I
+  thought marking this via GPT partition flags but that's not ideal since
+  that's outside of the LUKS encryption/verity verification, and we probably
+  shouldn't operate in a volatile mode unless we got told so from a trusted
+  source.
+
+* figure out automatic partition discovery when combining writable root dir
+  with immutable /usr
+
 * 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
@@ -211,7 +235,7 @@ Features:
   1. add resume_offset support to the resume code (i.e. support swap files
      properly)
   2. check if swap is on weird storage and refuse if so
-  3. add autodetection of hibernation images
+  3. add auto-detection of hibernation images
 
 * cgroups: use inotify to get notified when somebody else modifies cgroups
   owned by us, then log a friendly warning.
@@ -355,8 +379,6 @@ Features:
 * show whether a service has out-of-date configuration in "systemctl status" by
   using mtime data of ConfigurationDirectory=.
 
-* replace all remaining uses of fgets() + LINE_MAX by read_line()
-
 * Add AddUser= setting to unit files, similar to DynamicUser=1 which however
   creates a static, persistent user rather than a dynamic, transient user. We
   can leverage code from sysusers.d for this.
@@ -397,8 +419,6 @@ Features:
   "systemd-gdb" for attaching to the start-up of any system service in its
   natural habitat.
 
-* maybe introduce gpt auto discovery for /var/tmp?
-
 * maybe add gpt-partition-based user management: each user gets his own
   LUKS-encrypted GPT partition with a new GPT type. A small nss module
   enumerates users via udev partition enumeration. UIDs are assigned in a fixed
@@ -408,13 +428,6 @@ Features:
   with stateless/read-only/verity-enabled root. (other idea: do this based on
   loopback files in /home, without GPT involvement)
 
-* gpt-auto logic: introduce support for discovering /var matching an image. For
-  that, use a partition type UUID that is hashed from the OS name (as encoded
-  in /etc/os-release), the architecture, and 4 new bits from the gpt flags
-  field of the root partition. This way can easily support multiple OS
-  installations on the same GPT partition table, without problems with
-  unmatched /var partitions.
-
 * gpt-auto logic: related to the above, maybe support a "secondary" root
   partition, that is mounted to / and is writable, and where the actual root's
   /usr is mounted into.
@@ -437,8 +450,6 @@ Features:
 
 * define gpt header bits to select volatility mode
 
-* ProtectKernelLogs= (drops CAP_SYSLOG, add seccomp for syslog() syscall, and DeviceAllow to /dev/kmsg) in service files
-
 * ProtectClock= (drops CAP_SYS_TIMES, adds seecomp filters for settimeofday, adjtimex), sets DeviceAllow o /dev/rtc
 
 * ProtectTracing= (drops CAP_SYS_PTRACE, blocks ptrace syscall, makes /sys/kernel/tracing go away)
@@ -496,7 +507,7 @@ Features:
 
 * when we detect that there are waiting jobs but no running jobs, do something
 
-* push CPUAffinity= also into the "cpuset" cgroup controller (only after the cpuset controller got ported to the unified hierarchy)
+* push CPUAffinity= also into the "cpuset" cgroup controller
 
 * PID 1 should send out sd_notify("WATCHDOG=1") messages (for usage in the --user mode, and when run via nspawn)
 
@@ -539,8 +550,6 @@ Features:
 * as soon as we have sender timestamps, revisit coalescing multiple parallel daemon reloads:
   http://lists.freedesktop.org/archives/systemd-devel/2014-December/025862.html
 
-* in systemctl list-unit-files: show the install value the presets would suggest for a service in a third column
-
 * figure out when we can use the coarse timers
 
 * add "systemctl start -v foobar.service" that shows logs of a service
@@ -557,8 +566,6 @@ Features:
 
 * what to do about udev db binary stability for apps? (raw access is not an option)
 
-* man: maybe use the word "inspect" rather than "introspect"?
-
 * systemctl: if some operation fails, show log output?
 
 * systemctl edit: use equivalent of cat() to insert existing config as a comment, prepended with #.
@@ -678,7 +685,6 @@ Features:
   - allow multiple signal handlers per signal?
   - document chaining of signal handler for SIGCHLD and child handlers
   - define more intervals where we will shift wakeup intervals around in, 1h, 6h, 24h, ...
-  - generate a failure of a default event loop is executed out-of-thread
 
 * investigate endianness issues of UUID vs. GUID
 
@@ -1017,12 +1023,11 @@ Features:
   - allow Type=simple with PIDFile=
     https://bugzilla.redhat.com/show_bug.cgi?id=723942
   - allow writing multiple conditions in unit files on one line
-  - load-fragment: when loading a unit file via a chain of symlinks
-    verify that it is not masked via any of the names traversed.
   - introduce Type=pid-file
   - introduce mix of BindTo and Requisite
   - add a concept of RemainAfterExit= to scope units
   - Allow multiple ExecStart= for all Type= settings, so that we can cover rescue.service nicely
+  - add verification of [Install] section to systemd-analyze verify
 
 * udev-link-config:
    - Make sure ID_PATH is always exported and complete for
@@ -1126,4 +1131,3 @@ Regularly:
 
 * link up selected blog stories from man pages and unit files Documentation= fields
 String is not UTF-8 clean, ignoring assignment
- timedatex.service: Consumed 26ms CPU time.