chiark / gitweb /
update TODO
[elogind.git] / TODO
diff --git a/TODO b/TODO
index d428fda5f742c4455fd9d5648089762db4afaa58..902fbc695e2d10e3294b55e2feabeb0e607933c4 100644 (file)
--- a/TODO
+++ b/TODO
@@ -34,58 +34,90 @@ Fedora 19:
 
 * when installing fedora with yum --installroot /var/run is a directory, not a symlink
 
+CGroup Rework Completion:
+
+* introduce "mainpid" for scopes
+
+* implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?)
+
+* implement per-slice CPUFairScheduling=1 switch
+
+* handle jointly mounted controllers correctly
+
+* logind: implement session kill exceptions
+
+* make BlockIODeviceWeight=, BlockIODeviceBandwidth= runtime settable
+
+* introduce high-level settings for RT budget, swappiness
+
+* man: document new bus apis
+
+* Send SIGHUP and SIGTERM in session scopes
+
 Features:
 
+* 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
+
+* journalctl: add an output mode that looks like classic /var/log/messages, but also outputs the cursor of the last entry so that people can write scripts that can run iteratively and always process data that has been added since the last time.
+
 * when a kernel driver logs in a tight loop we should ratelimit that too.
 
-* move systemctl set-log-level to systemd-analyze?
+* man: document in the journalctl man page what the colors mean
 
-* fix killing spree logic in systemd-user-sessions
+* "systemctl disable" of a unit instance removes all symlinks, should
+  only remove the instance symlink (systemct disable of a template
+  unit however should remove them all).
 
-* logind: implement session kill exceptions
+* journald: optionally, log debug messages to /run but everything else to /var
 
-* fix machine regstration to forward property array
+* journald: optionally, when messages with a high log prioerity are logged, sync() immeidately.
 
-* fix loginctl cgroup enumeration
+* introduce %v resolving to the string returned by "uname -r"
 
-* move "systemctl dump" to systemd-analyze
+* systemctl list-unit-files should list generated files (and probably with a new state "generated" for them, or so)
 
-* introduce "mainpid" for scopes
+* Get rid of systemd-sysv:
+  https://fedoraproject.org/wiki/User:Toshio/Systemd_Convert_draft
 
-* add a fixed dbus path for "my own unit", "my own session", ... to PID1, logind, ...
+* do we really need both hasprefix() and startswith()?
 
-* add implicit slice for instantiated services
+* when a kernel driver logs in a tight loop we should ratelimit that too.
 
-* service_coldplug() appears to reinstall the wrong stop timeout watch?
+* journald: when we drop syslog messages because the syslog socket is
+  full, make sure to write how many messages are lost as first thing
+  to syslog when it works again.
 
-* transient units: allow creating auxiliary units with the same call
+* prohibit Restart= set with Type=oneshot
 
-* make BlockIODeviceWeight=, BlockIODeviceBandwidth= runtime settable
+* man: the documentation of Restart= currently is very misleading and suggests the tools from ExecStartPre= might get restarted.
 
-* split up BlockIOWeight= and BlockIODeviceWeight=
+* load .d/*.conf dropins for device units
 
-* introduce high-level settings for RT budget, swapiness
+* move systemctl set-log-level to systemd-analyze?
 
-* how to reset dynamically changed attributes sanely?
+* move "systemctl dump" to systemd-analyze
 
-* when reloading configuration, apply new cgroup configuration
+* add a fixed dbus path for "my own unit", "my own session", ... to PID1, logind, ...
 
-* implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?)
+* service_coldplug() appears to reinstall the wrong stop timeout watch?
 
-* implement per-slice CPUFairScheduling=1 switch
+* transient units: allow creating auxiliary units with the same call
 
-* handle jointly mounted controllers correctly
+* how to reset dynamically changed attributes sanely?
 
-* journald: make sure ratelimit is actually really per-service with the new cgroup changes
+* when reloading configuration, apply new cgroup configuration
 
-* move systemctl dump to systemd-analyze
+* journald: make sure ratelimit is actually really per-service with the new cgroup changes
 
 * libsystemd-logind: sd_session_is_active() and friends: verify
   validity of session name before appending it to a path
 
-* logind: when a PAM client calls ReleaseSession() start a timeout and
-  kill the session entirely after that is reached.
-
 * gparted needs to disable auto-activation of mount units somehow, or
   maybe we should stop doing auto-activiation of this after boot
   entirely. https://bugzilla.gnome.org/show_bug.cgi?id=701676
@@ -106,7 +138,7 @@ Features:
 
 * 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.
@@ -114,9 +146,6 @@ Features:
 * 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
@@ -186,10 +215,6 @@ Features:
   so that the coredump is properly written to the user's own journal
   file.
 
-* move /usr/lib/modules/$(uname -r)/modules.devname parsing from udevd to
-   kmod static-nodes
-  call kmod as an early service, and drop CAP_MKNOD from udevd.service
-
 * seems that when we follow symlinks to units we prefer the symlink
   destination path over /etc and /usr. We shouldn't do that. Instead
   /etc should always override /run+/usr and also any symlink
@@ -208,8 +233,6 @@ Features:
 
 * 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
@@ -342,14 +365,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
-  - 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
-  - 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