chiark / gitweb /
TODO: update
[elogind.git] / TODO
diff --git a/TODO b/TODO
index 34634fbbfb5e42b8dfc62a18a4f2d93ed761e9fe..5ac8d8164073db014573f59ee21ad0e0d2e506c4 100644 (file)
--- a/TODO
+++ b/TODO
@@ -19,7 +19,7 @@ Bugfixes:
     $ cat /proc/252/environ
     initrd=\6a9857a393724b7a981ebb5b8495b9ea\3.10.0-2.fc20.x86_64\initrd
 
     $ cat /proc/252/environ
     initrd=\6a9857a393724b7a981ebb5b8495b9ea\3.10.0-2.fc20.x86_64\initrd
 
-Fedora 19:
+Fedora 20:
 
 * external: maybe it is time to patch procps so that "ps" links to
   libsystemd-logind to print a pretty service name, seat name, session
 
 * external: maybe it is time to patch procps so that "ps" links to
   libsystemd-logind to print a pretty service name, seat name, session
@@ -33,11 +33,10 @@ Fedora 19:
   - localectl: support new converted x11→console keymaps
 
 * when installing fedora with yum --installroot /var/run is a directory, not a symlink
   - localectl: support new converted x11→console keymaps
 
 * when installing fedora with yum --installroot /var/run is a directory, not a symlink
+   https://bugzilla.redhat.com/show_bug.cgi?id=975864
 
 CGroup Rework Completion:
 
 
 CGroup Rework Completion:
 
-* systemctl user.slice doesn't show the full tree?
-
 * introduce "mainpid" for scopes
 
 * implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?)
 * introduce "mainpid" for scopes
 
 * implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?)
@@ -48,18 +47,40 @@ CGroup Rework Completion:
 
 * logind: implement session kill exceptions
 
 
 * logind: implement session kill exceptions
 
-* fix machine regstration to forward property array
-
 * make BlockIODeviceWeight=, BlockIODeviceBandwidth= runtime settable
 
 * make BlockIODeviceWeight=, BlockIODeviceBandwidth= runtime settable
 
-* split up BlockIOWeight= and BlockIODeviceWeight=
-
 * introduce high-level settings for RT budget, swappiness
 
 * man: document new bus apis
 
 * introduce high-level settings for RT budget, swappiness
 
 * man: document new bus apis
 
+* Send SIGHUP and SIGTERM in session scopes
+
 Features:
 
 Features:
 
+* btfs raid assembly: some .device jobs stay stuck in the queue
+
+* Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
+
+* Fedora: post FPC ticket to move add %tmpfiles_create to the packaging guidelines
+
+* add rpm macros for applying tmpfiles --create after package installation
+
+* when parsing calendar timestamps support the UTC timezone (even if we won't support arbitrary timezone specs, support UTC itself certainly makes sense), also support syntaxes such as +0200
+
+* when a kernel driver logs in a tight loop we should ratelimit that too.
+
+* "systemctl disable" of a unit instance removes all symlinks, should
+  only remove the instance symlink (systemctl disable of a template
+  unit however should remove them all).
+
+* journald: optionally, log debug messages to /run but everything else to /var
+
+* journald: optionally, when messages with a high log priority are logged, sync() immediately.
+
+* introduce %v resolving to the string returned by "uname -r"
+
+* systemctl list-unit-files should list generated files (and probably with a new state "generated" for them, or so)
+
 * do we really need both hasprefix() and startswith()?
 
 * when a kernel driver logs in a tight loop we should ratelimit that too.
 * do we really need both hasprefix() and startswith()?
 
 * when a kernel driver logs in a tight loop we should ratelimit that too.
@@ -94,8 +115,10 @@ Features:
   validity of session name before appending it to a path
 
 * gparted needs to disable auto-activation of mount units somehow, or
   validity of session name before appending it to a path
 
 * gparted needs to disable auto-activation of mount units somehow, or
-  maybe we should stop doing auto-activiation of this after boot
+  maybe we should stop doing auto-activation of this after boot
   entirely. https://bugzilla.gnome.org/show_bug.cgi?id=701676
   entirely. https://bugzilla.gnome.org/show_bug.cgi?id=701676
+  Maybe take a BSD lock at the disk device node and teach udev to
+  check for that and suppress event handling.
 
 * when a service changes state make reflect that in the
   RUNNING/LISTENING states of its socket
 
 * when a service changes state make reflect that in the
   RUNNING/LISTENING states of its socket
@@ -113,7 +136,7 @@ Features:
 
 * document systemd-journal-flush.service properly
 
 
 * document systemd-journal-flush.service properly
 
-* chane systemd-journal-flush into a service that stays around during
+* change systemd-journal-flush into a service that stays around during
   boot, and causes the journal to be moved back to /run on shutdown,
   so that we don't keep /var busy. This needs to happen synchronously,
   hence doing this via signals is not going to work.
   boot, and causes the journal to be moved back to /run on shutdown,
   so that we don't keep /var busy. This needs to happen synchronously,
   hence doing this via signals is not going to work.
@@ -121,9 +144,6 @@ Features:
 * allow implementation of InaccessibleDirectories=/ plus
   ReadOnlyDirectories=... for whitelisting files for a service.
 
 * allow implementation of InaccessibleDirectories=/ plus
   ReadOnlyDirectories=... for whitelisting files for a service.
 
-* libsystemd-journal:
-  - return ECHILD as soon as somebody tries to reuse a journal object across a fork()
-
 * libsystemd-bus:
   - default policy (allow uid == 0 and our own uid)
   - enforce alignment of pointers passed in
 * libsystemd-bus:
   - default policy (allow uid == 0 and our own uid)
   - enforce alignment of pointers passed in
@@ -154,9 +174,9 @@ Features:
 * Introduce a way how we can kill the main process of a service with KillSignal, but all processes with SIGKILL later on
   https://bugzilla.redhat.com/show_bug.cgi?id=952634
 
 * Introduce a way how we can kill the main process of a service with KillSignal, but all processes with SIGKILL later on
   https://bugzilla.redhat.com/show_bug.cgi?id=952634
 
-* maybe add a warning to the unit file parses whern the acces mode of unit files is non-sensical.
+* maybe add a warning to the unit file parses where the access mode of unit files is nonsensical.
 
 
-* investigate endianess issues of UUID vs. GUID
+* investigate endianness issues of UUID vs. GUID
 
 * dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we
   should be able to safely try another attempt when the bus call LoadUnit() is invoked.
 
 * dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we
   should be able to safely try another attempt when the bus call LoadUnit() is invoked.
@@ -185,8 +205,6 @@ Features:
   - make stuff in test/ work with separate output dir
   - remove all the duplicated code in test/
 
   - make stuff in test/ work with separate output dir
   - remove all the duplicated code in test/
 
-* suppress log output on shutdown when "quiet" is used
-
 * systemctl delete x.snapshot leaves no trace in logs (at least at default level).
 
 * make the coredump collector tool move itself into the user's cgroup
 * systemctl delete x.snapshot leaves no trace in logs (at least at default level).
 
 * make the coredump collector tool move itself into the user's cgroup
@@ -203,16 +221,10 @@ Features:
 * when isolating, try to figure out a way how we implicitly can order
   all units we stop before the isolating unit...
 
 * when isolating, try to figure out a way how we implicitly can order
   all units we stop before the isolating unit...
 
-* teach udev + logind's uaccess to somehow handle the "dead" device nodes from:
-     /lib/modules/$(uname -r)/modules.devname
-  and apply ACLs to them if they have TAG=="uaccess" in udev rules.
-
 * add ConditionArchitecture= or so
 
 * teach ConditionKernelCommandLine= globs or regexes (in order to match foobar={no,0,off})
 
 * add ConditionArchitecture= or so
 
 * teach ConditionKernelCommandLine= globs or regexes (in order to match foobar={no,0,off})
 
-* we should log capabilities too
-
 * Support SO_REUSEPORT with socket activation:
   - Let systemd maintain a pool of servers.
   - Use for seamless upgrades, by running the new server before stopping the
 * Support SO_REUSEPORT with socket activation:
   - Let systemd maintain a pool of servers.
   - Use for seamless upgrades, by running the new server before stopping the
@@ -233,7 +245,7 @@ Features:
   and we might want to requeue the mounts local-fs acquired through
   that automatically.
 
   and we might want to requeue the mounts local-fs acquired through
   that automatically.
 
-* rework specifier logic so that we can distuingish OOM errors from other errors
+* rework specifier logic so that we can distinguish OOM errors from other errors
 
 * systemd-inhibit: make taking delay locks useful: support sending SIGINT or SIGTERM on PrepareForSleep()
 
 
 * systemd-inhibit: make taking delay locks useful: support sending SIGINT or SIGTERM on PrepareForSleep()
 
@@ -243,13 +255,13 @@ Features:
 
 * documentation: recommend to connect the timer units of a service to the service via Also= in [Install]
 
 
 * documentation: recommend to connect the timer units of a service to the service via Also= in [Install]
 
-* add a tool that lists active timer units plus their next elapstion and the time the units ran last
+* add a tool that lists active timer units plus their next elapse and the time the units ran last
 
 * man: document the very specific env the shutdown drop-in tools live in
 
 * shutdown logging: store to EFI var, and store to USB stick?
 
 
 * man: document the very specific env the shutdown drop-in tools live in
 
 * shutdown logging: store to EFI var, and store to USB stick?
 
-* man: extend runlevel(8) to mention that runlevels suck, and are dead. Maybe  add runlevel(7) with a note about that too
+* man: extend runlevel(8) to mention that runlevels suck, and are dead. Maybe add runlevel(7) with a note about that too
 
 * systemctl: maybe add "systemctl add-wants" or so...
 
 
 * systemctl: maybe add "systemctl add-wants" or so...
 
@@ -287,7 +299,7 @@ Features:
   - write man page for efi boot generator
   - honor language efi variables for default language selection (if there are any?)
   - honor timezone efi variables for default timezone selection (if there are any?)
   - write man page for efi boot generator
   - honor language efi variables for default language selection (if there are any?)
   - honor timezone efi variables for default timezone selection (if there are any?)
-  - introduce bootctl (backed by systemd-bootd) to control temporary and persistent default boot goal plus efi variables
+  - change bootctl to be backed by systemd-bootd to control temporary and persistent default boot goal plus efi variables
 
 * maybe do not install getty@tty1.service symlink in /etc but in /usr?
 
 
 * maybe do not install getty@tty1.service symlink in /etc but in /usr?
 
@@ -345,14 +357,13 @@ Features:
   - journal-send.c, log.c: when the log socket is clogged, and we drop, count this and write a message about this when it gets unclogged again.
   - journal: find a way to allow dropping history early, based on priority, other rules
   - journal: When used on NFS, check payload hashes
   - journal-send.c, log.c: when the log socket is clogged, and we drop, count this and write a message about this when it gets unclogged again.
   - journal: find a way to allow dropping history early, based on priority, other rules
   - journal: When used on NFS, check payload hashes
-  - Introduce journalctl -b <nr> to show journal messages of a previous boot
   - journald: check whether it is OK if the client can still modify delivered journal entries
   - journal live copy, based on libneon (client) and libmicrohttpd (server)
   - journald: add kernel cmdline option to disable ratelimiting for debug purposes
   - refuse taking lower-case variable names in sd_journal_send() and friends.
   - journald: we currently rotate only after MaxUse+MaxFilesize has been reached.
   - journal: deal nicely with byte-by-byte copied files, especially regards header
   - journald: check whether it is OK if the client can still modify delivered journal entries
   - journal live copy, based on libneon (client) and libmicrohttpd (server)
   - journald: add kernel cmdline option to disable ratelimiting for debug purposes
   - refuse taking lower-case variable names in sd_journal_send() and friends.
   - journald: we currently rotate only after MaxUse+MaxFilesize has been reached.
   - journal: deal nicely with byte-by-byte copied files, especially regards header
-  - journalctl: show multiline log messages sanely, expand tabs, and show all valid utf8 messages
+  - journalctl: expand tabs
   - journal: store euid in journal if it differs from uid
   - journal: sanely deal with entries which are larger than the individual file size, but where the components would fit
   - Replace utmp, wtmp, btmp, and lastlog completely with journal
   - journal: store euid in journal if it differs from uid
   - journal: sanely deal with entries which are larger than the individual file size, but where the components would fit
   - Replace utmp, wtmp, btmp, and lastlog completely with journal
@@ -405,10 +416,6 @@ Features:
   mode, it will never touch the RTC if the no reliable time source is active or the
   user did not request anything like it.
 
   mode, it will never touch the RTC if the no reliable time source is active or the
   user did not request anything like it.
 
-* hwdb:
-  - implement conditional properties (dmi matches)
-  - hwdb --filter=ID_DRIVE_*
-
 * if booted in "quiet" mode, and an error happens, turn on status
   output again, so that the emergency mode isn't totally
   surprising. Also, terminate plymouth.
 * if booted in "quiet" mode, and an error happens, turn on status
   output again, so that the emergency mode isn't totally
   surprising. Also, terminate plymouth.
@@ -515,8 +522,6 @@ Features:
   when done. That means clients don't get a successful method reply,
   but much rather a disconnect on success.
 
   when done. That means clients don't get a successful method reply,
   but much rather a disconnect on success.
 
-* remember which condition failed for services, not just the fact that something failed
-
 * use opterr = 0 for all getopt tools
 
 * properly handle loop back mounts via fstab, especially regards to fsck/passno
 * use opterr = 0 for all getopt tools
 
 * properly handle loop back mounts via fstab, especially regards to fsck/passno