]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - TODO
network: tc: rename several settings which take size in bytes
[thirdparty/systemd.git] / TODO
diff --git a/TODO b/TODO
index 860e86f5afff5b032855b24aa97af9049fa2142b..6751bd96aa70d863bbb77b54f8039737e54d88d0 100644 (file)
--- a/TODO
+++ b/TODO
@@ -8,8 +8,6 @@ External:
 
 * Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
 
-* wiki: update journal format documentation for lz4 additions
-
 Janitorial Clean-ups:
 
 * Rearrange tests so that the various test-xyz.c match a specific src/basic/xyz.c again
@@ -22,16 +20,13 @@ Features:
 * add --copy-from and --copy-to command to systemd-dissect which copies stuff
   in and out of a disk image
 
-* add systemd.random_seed= on the kernel cmdline, taking some hex or base64
-  encoded data. During earliest boot, credit it to entropy. This is not useful
-  for general purpose systems, but certainly for testing environments in VMs
-  and such, as it allows us to boot up instantly with fully initialized entropy
-  pool even if RNG pass-thru is not available.
-
 * Support ProtectProc= or so, using: https://patchwork.kernel.org/cover/11310197/
 
 * if /usr/bin/swapoff fails due to OOM, log a friendly explanatory message about it
 
+* add loud warning to the logs (with catalog entry) if systemd-udev-settle is
+  pulled into the boot process
+
 * build short web pages out of each catalog entry, build them along with man
   pages, and include hyperlinks to them in the journal output
 
@@ -41,6 +36,10 @@ Features:
   so that the client side can remain entirely unprivileged, with SUID or
   anything like that.
 
+* journald: do journal file writing out-of-process, with one writer process per
+  client UID, so that synthetic hash table collisions can slow down a specific
+  user's journal stream down but not the others.
+
 * add "throttling" to sd-event event sources: optionally, when we wake up too
   often for one, let's turn it off entirely for a while. Use that for the
   /proc/self/mountinfo logic.
@@ -62,6 +61,23 @@ Features:
 * pid1: also remove PID files of a service when the service starts, not just
   when it exits
 
+* make us use dynamically fewer deps for containers in general purpose distros:
+  o turn into dlopen() deps:
+    - pcre2 (always)               — irrelevant on Fedora, since dep by
+                                     libselinux, but should benefit Debian
+    - libpwquality (always)        - only relevant for homed, and maybe soon
+                                     firstboot
+    - elfutils (always)
+    - p11-kit-trust (always)
+    - kmod-libs (only when called from PID 1)
+    - cryptsetup-libs (only in RootImage= handling in PID 1, but not in systemd-cryptsetup)
+    - similar: libblkid
+    - libpam (only when called from PID 1)
+    - bzip2, xz, lz4 (always — gzip and zstd should probably stay static deps the way they are,
+      since they are so basic and our defaults)
+  o move into separate libsystemd-shared-iptables.so .so
+    - iptables-libs (only used by nspawn + networkd)
+
 * seccomp: when SystemCallArchitectures=native is set then don't install any
   other seccomp filters for any of the other archs, in order to reduce the
   number of seccomp filters we install needlessly.
@@ -150,6 +166,10 @@ Features:
   - teach it to copy in unified kernel images and maybe type #1 boot loader spec entries from host
   - make it operate on loopback files, dissecting enough to find ESP to operate on
 
+* Maybe add a separate GPT partition type to the discoverable partition spec
+  for "hibernate" partitions, that are exactly like swap partitions but only
+  activated right before hibernation and thus never used for regular swapping.
+
 * by default, in systemd --user service bump the OOMAdjust to 100, as privs
   allow so that systemd survives
 
@@ -162,7 +182,8 @@ Features:
 * socket units: allow creating a udev monitor socket with ListenDevices= or so,
   with matches, then activate app through that passing socket over
 
-* unify on openssl:
+* unify on openssl (as soon as OpenSSL 3.0 is out, and the Debian license
+  confusion is gone)
   - port sd_id128_get_machine_app_specific() over from khash
   - port resolved over from libgcrypt (DNSSEC code)
   - port journald + fsprg over from libgcrypt
@@ -188,13 +209,6 @@ Features:
   end), in order to maximize dd'ability. Requires libfdisk work, see
   https://github.com/karelzak/util-linux/issues/907
 
-* systemd-repart: optionally, allow specifying a path to initialize new
-  partitions from, i.e. an fs image file or a source device node. This would
-  then turn systemd-repart into a simple installer: with a few .repart files
-  you could replicate the host system on another device. a full installer would
-  then be: "systemd-repart /dev/sda && bootctl install /dev/sda &&
-  systemd-firstboot --image= …"
-
 * systemd-repart: MBR partition table support. Care needs to be taken regarding
   Type=, so that partition definitions can sanely apply to both the GPT and the
   MBR case. Idea: accept syntax "Type=gpt:home mbr:0x83" for setting the types
@@ -210,18 +224,29 @@ Features:
 
 * systemd-repart: allow managing the gpt read-only partition flag + auto-mount flag
 
+* systemd-repart: allow boolean option that ensures that if existing partition
+  doesn't exist within the configured size bounds the whole command fails. This
+  is useful to implement ESP vs. XBOOTLDR schemes in installers: have one set
+  of repart files for the case where ESP is large enough and one where it isn't
+  and XBOOTLDR is added in instead.  Then apply the former first, and if it
+  fails to apply use the latter.
+
+* systemd-repart: add per-partition option to never reuse existing partition
+  and always create anew even if matching partition already exists.
+
+* systemd-repart: add per-partition option to fail if partition already exist,
+  i.e. is not added new. Similar, add option to fail if partition does not exist yet.
+
+* systemd-repart: add --size=auto for generating/resizing images of minimal
+  size, i.e. where the image file is sized exactly as large as necessary taking
+  SizeMin= into account, but not a single byte larger.
+
 * systemd-repart: allow disabling growing of specific partitions, or making
   them (think ESP: we don't ever want to grow it, since we cannot resize vfat)
 
-* systemd-repart: add specifier expansion, add especifier that refers to root
-  device node of current system, /usr device node, and matching verity, so that
-  an installer can be made a "copy" installer of the booted OS
-
 * systemd-repart: make it a static checker during early boot for existence and
   absence of other partitions for trusted boot environments
 
-* systemd-repart: allow config of partition uuid
-
 * userdb: allow username prefix searches in varlink API, allow realname and
   realname substr searches in varlink API