]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - TODO
test-execute: Add tests for new PassEnvironment= directive
[thirdparty/systemd.git] / TODO
diff --git a/TODO b/TODO
index 04b8ff102b7594a4b3779f1f3564011d77e48adc..e0d849994cecf680a1e497aee856371358384e32 100644 (file)
--- a/TODO
+++ b/TODO
@@ -21,11 +21,47 @@ External:
 
 * wiki: update journal format documentation for lz4 additions
 
-* When lz4 gets an API for lz4 command output, make use of it to
-  compress coredumps in a way compatible with /usr/bin/lz4.
+Janitorial Clean-ups:
+
+* code cleanup: retire FOREACH_WORD_QUOTED, port to extract_first_word() loops instead
+
+* replace manual readdir() loops with FOREACH_DIRENT or FOREACH_DIRENT_ALL
+
+* Get rid of the last strerror() invocations in favour of %m and strerror_r()
+
+* Rearrange tests so that the various test-xyz.c match a specific src/basic/xyz.c again
 
 Features:
 
+* PID1: find a way how we can reload unit file configuration for
+  specific units only, without reloading the whole of systemd
+
+* For services: replace the default Requires=basic.target with After=basic.target + Requires=sysinit.target.
+
+* drop "Overridable" dependency types
+
+* document precise effect of DefaultDependencies=yes
+
+* add an explicit parser for LimitNICE= and LimitRTPRIO= that verifies
+  the specified range and generates sane error messages for incorrect
+  specifications. Also, for LimitNICE= maybe introduce a syntax such
+  as "+5" or "-7" in order to make the limits more readable as they
+  are otherwise shifted by 20.
+
+* do something about "/control" subcgroups in the unified cgroup hierarchy
+
+* 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)
+
+* add a concept of RemainAfterExit= to scope units
+
+* add a new command "systemctl revert" or so, that removes all dropin
+  snippets in /run and /etc, and all unit files with counterparts in
+  /usr, and thus undoes what "systemctl set-property" and "systemctl
+  edit" create. Maybe even add "systemctl revert -a" to do this for
+  all units.
+
 * sd-event: maybe add support for inotify events
 
 * PID 1 should send out sd_notify("WATCHDOG=1") messages (for usage in the --user mode, and when run via nspawn)
@@ -43,8 +79,6 @@ Features:
   prefixed with /sys generally special.
   http://lists.freedesktop.org/archives/systemd-devel/2015-June/032962.html
 
-* Add PassEnvironment= setting to service units, to import select env vars from PID 1 into the service env block
-
 * nspawn: fix logic always print a final newline on output.
   https://github.com/systemd/systemd/pull/272#issuecomment-113153176
 
@@ -53,8 +87,6 @@ Features:
 
 * man: document that unless you use StandardError=null the shell >/dev/stderr won't work in shell scripts in services
 
-* man: clarify that "machinectl show" shows different information than "machinectl status" (no cgroup tree, no IP addresses, ...)
-
 * "systemctl daemon-reload" should result in /etc/systemd/system.conf being reloaded by systemd
 
 * install: include generator dirs in unit file search paths
@@ -124,9 +156,6 @@ Features:
 
 * .timer units should optionally support CLOCK_BOOTTIME in addition to CLOCK_MONOTONIC
 
-* create a btrfs qgroup for /var/lib/machines, and add all container
-  subvolumes we create to it.
-
 * When logging about multiple units (stopping BoundTo units, conflicts, etc.),
   log both units as UNIT=, so that journalctl -u triggers on both.
 
@@ -149,15 +178,9 @@ Features:
   that are not supported...
   http://lists.freedesktop.org/archives/systemd-devel/2015-February/028076.html
 
-* Introduce $LISTEN_NAMES to complement $LISTEN_FDS, containing a
-  colon separated list of identifiers for the fds passed.
-
 * maybe introduce WantsMountsFor=? Usecase:
   http://lists.freedesktop.org/archives/systemd-devel/2015-January/027729.html
 
-* rework kexec logic to use new kexec_file_load() syscall, so that we
-  don't have to call kexec tool anymore.
-
 * The udev blkid built-in should expose a property that reflects
   whether media was sensed in USB CF/SD card readers. This should then
   be used to control SYSTEMD_READY=1/0 so that USB card readers aren't
@@ -172,14 +195,12 @@ Features:
 * networkd/udev: implement SR_IOV configuration in .link files:
   http://lists.freedesktop.org/archives/systemd-devel/2015-January/027451.html
 
-* When RLIMIT_NPROC is set from a unit file it currently always is set
-  for root, not for the user set in User=, which makes it
-  useless. After fixing this, set RLIMIT_NPROC for
-  systemd-journal-xyz, and all other of our services that run under
-  their own user ids, and use User= (but only in a world where userns
-  is ubiquitous since otherwise we cannot invoke those daemons on the
-  host AND in a container anymore). Also, if LimitNPROC= is used
-  without User= we should warn and refuse operation.
+* Set RLIMIT_NPROC for systemd-journal-xyz, and all other of our
+  services that run under their own user ids, and use User= (but only
+  in a world where userns is ubiquitous since otherwise we cannot
+  invoke those daemons on the host AND in a container anymore). Also,
+  if LimitNPROC= is used without User= we should warn and refuse
+  operation.
 
 * logind: maybe allow configuration of the StopTimeout for session scopes
 
@@ -218,8 +239,6 @@ Features:
 * Find a solution for SMACK capabilities stuff:
   http://lists.freedesktop.org/archives/systemd-devel/2014-December/026188.html
 
-* port libmount hookup to use API's own inotify interface, as soon as that is table in libmount
-
 * "systemctl preset-all" should probably order the unit files it
   operates on lexicographically before starting to work, in order to
   ensure deterministic behaviour if two unit files conflict (like DMs
@@ -261,8 +280,6 @@ Features:
 
 * maybe add support for specifier expansion in user.conf, specifically DefaultEnvironment=
 
-* code cleanup: retire FOREACH_WORD_QUOTED, port to extract_first_word() loops instead
-
 * introduce systemd-timesync-wait.service or so to sync on an NTP fix?
 
 * systemd --user should issue sd_notify() upon reaching basic.target, not on becoming idle
@@ -550,9 +567,6 @@ Features:
 
 * maybe do not install getty@tty1.service symlink in /etc but in /usr?
 
-* fstab: add new mount option x-systemd-after=/foobar/waldo to allow manual dependencies to other mount points
-  https://bugzilla.redhat.com/show_bug.cgi?id=812826
-
 * print a nicer explanation if people use variable/specifier expansion in ExecStart= for the first word
 
 * mount: turn dependency information from /proc/self/mountinfo into dependency information between systemd units.
@@ -595,7 +609,6 @@ Features:
   - add API to close/reopen/get fd for journal client fd in libsystemd-journal.
   - fallback to /dev/log based logging in libsystemd-journal, if we cannot log natively?
   - declare the local journal protocol stable in the wiki interface chart
-  - journal: reuse XZ context
   - sd-journal: speed up sd_journal_get_data() with transparent hash table in bg
   - journald: when dropping msgs due to ratelimit make sure to write
     "dropped %u messages" not only when we are about to print the next
@@ -649,7 +662,6 @@ Features:
   - document systemd-journal-flush.service properly
   - documentation: recommend to connect the timer units of a service to the service via Also= in [Install]
   - man: document the very specific env the shutdown drop-in tools live in
-  - man: extend runlevel(8) to mention that runlevels suck, and are dead. Maybe add runlevel(7) with a note about that too
   - man: add more examples to man pages
   - man: maybe sort directives in man pages, and take sections from --help and apply them to man too
 
@@ -870,7 +882,7 @@ Features:
    - add Scope= parsing option for [Network]
    - properly handle routerless dhcp leases
    - add more attribute support for SIT tunnel
-   - work with non-ethernet devices
+   - work with non-Ethernet devices
    - add support for more bond options
 
 * networkd-wait-online:
@@ -913,8 +925,6 @@ External:
 
 * dbus: in fedora, make /var/lib/dbus/machine-id a symlink to /etc/machine-id
 
-* add "# export SYSTEMD_PAGER=" to bash login
-
 * /usr/bin/service should actually show the new command line
 
 * fedora: suggest auto-restart on failure, but not on success and not on coredump. also, ask people to think about changing the start limit logic. Also point people to RestartPreventExitStatus=, SuccessExitStatus=