]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - TODO
oss-fuzz: Fallback to `ninja-build` when available (#8641)
[thirdparty/systemd.git] / TODO
diff --git a/TODO b/TODO
index 18acb9b36359801f87a11f9311314226bcc8b363..c64ec8013f5450b23ad9c380b15e99546cb901e2 100644 (file)
--- a/TODO
+++ b/TODO
@@ -24,12 +24,41 @@ Janitorial Clean-ups:
 
 Features:
 
+* list the exit codes from the BSD/glibc <sysexits.h> in our own
+  exit-codes.[ch] tables.
+
+* introduce Ephemeral= unit file switch, that creates an ephemeral copy of all
+  files and directories that are left writable for a unit, and which are
+  removed after the unit goes down again. A bit like --ephemeral for
+  systemd-nspawn but for system services. If used together with RootImage= this
+  should reflink the image file itself.
+
+  Related: add Ephemeral=<path1> <path2> … which would allow marking
+  specific paths only like this.
+
+* when RootImage= is used, mark the loopback device read-only if the other
+  settings permit it (i.e. if ProtectSystem=strict is set, and no directory if
+  the image is writable)
+
+* add CopyFile= or so as unit file setting that may be used to copy files or
+  directory trees from the host to te services RootImage= and RootDirectory=
+  environment. Which we can use for /etc/machine-id and in particular
+  /etc/resolv.conf. Should be smart and do something useful on read-only
+  images, for example fallback to read-only bind mounting the file instead.
+
+* nspawn's console TTY should be allocated from within the container, not
+  mounted in from the outside
+
+* show invocation ID in systemd-run output
+
+* 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.
 
-* nss-systemd: implement enumeration, that shows all dynamic users plus the
-  synthesized ones if necessary, so that "getent passwd" shows useful data.
-
 * teach tmpfiles.d q/Q logic something sensible in the context of XFS/ext4
   project quota
 
@@ -126,10 +155,6 @@ Features:
 * In DynamicUser= mode: before selecting a UID, use disk quota APIs on relevant
   disks to see if the UID is already in use.
 
-* add dissect_image_warn() as a wrapper around dissect_image() that prints
-  friendly log messages for the returned errors, so that we don't have to
-  duplicate that in nspawn, systemd-dissect and PID 1.
-
 * add "systemctl wait" or so, which does what "systemd-run --wait" does, but
   for all units. It should be both a way to pin units into memory as well as a
   wait to retrieve their exit data.
@@ -334,11 +359,6 @@ Features:
 * networkd/udev: implement SR_IOV configuration in .link files:
   http://lists.freedesktop.org/archives/systemd-devel/2015-January/027451.html
 
-* Rework systemctl's GetAll property parsing to use the generic bus_map_all_properties() API
-
-* Port various tools to make use of verbs.[ch], where applicable: busctl,
-  coredumpctl, hostnamectl, localectl, timedatectl
-
 * hostnamectl: show root image uuid
 
 * sysfs set api in libudev is not const
@@ -528,8 +548,7 @@ Features:
 * maybe add a generator that looks for "systemd.run=" on the kernel cmdline for container usercases...
 
 * test/:
-  - add 'set -e' to scripts in test/
-  - make stuff in test/ work with separate output dir
+  - add unit tests for config_parse_device_allow()
 
 * seems that when we follow symlinks to units we prefer the symlink
   destination path over /etc and /usr. We should not do that. Instead
@@ -774,8 +793,6 @@ Features:
 * hw watchdog: optionally try to use the preset watchdog timeout instead of always overriding it
   https://bugs.freedesktop.org/show_bug.cgi?id=54712
 
-* create /sbin/init symlinks from the build system
-
 * add a dependency on standard-conf.xml and other included files to man pages
 
 * MountFlags=shared acts as MountFlags=slave right now.