* swap units that are activated by one name but shown in the kernel under another are semi-broken
-* make anaconda write timeout=0 for encrypted devices
-
* Dangling symlinks of .automount unit files in .wants/ directories, set up
automount points even when the original .automount file did not exist
anymore. Only the .mount unit was still around.
* properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
Fedora 19:
-* Retest multi-seat
-* create /var/log/journal/
+* external: maybe it is time to patch procps so that "ps" links to
+ libsystemd-logind to print a pretty service name, seat name, session
+ name in its output. Currently it only shows cgroup membership, but
+ that's sometimes kinda hard to parse for a human.
+
+* cgroup attrs:
+ - update dbus interface docs in wiki
+
+* localed:
+ - localectl: support new converted x11→console keymaps
+
+* when installing fedora with yum --installroot /var/run is a directory, not a symlink
Features:
-* link runlevel targets on install only if sysv compat is enabled
+* make BlockIODeviceWeight=, BlockIODeviceBandwidth= runtime settable
-* logind: when executing sleep/shutdown job, keep track of its id, and
- as long as the job is running refuse any further operation.
+* split up BlockIOWeight= and BlockIODeviceWeight=
-* maybe not install getty@tty1.service symlink in /etc but in /usr?
+* how to reset dynamically changed attributes sanely?
-* re-enable "make check" for gtk-doc (broken for unknown reason)
+* when reloading configuration, apply new cgroup configuration
-* logind: make PrepareForSuspend(false) an official api for notification of resumes
+* implement system-wide DefaultCPUAccounting=1 switch (and similar for blockio, memory?)
-* "systemctl disable" on a static unit prints no message and does
- nothing. "systemctl enable" does nothing, and gives a bad message
- about it. Should fix both to print nice actionable messages.
+* implement per-slice CPUFairScheduling=1 switch
-* 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
+* handle jointly mounted controllers correctly
-* add "loginctl unlock-sessions" as counterpart for "loginctl lock-sessions"
+* split out CreateMachine into systemd-machined
-* cgroup attrs:
- - don't filter out duplicate settings
- - support high-level cgroup setting syntax in systemctl. Example: "systemctl set-cgroup-attr MemoryLimit 5K"
- - support writte string mapping even for non-high-level settings
- - add man page for systemctl commands
- - make sure we work fine with multi-line strings
+* "transient" units, i.e units that are not sourced from disk but
+ created only transiently via bus calls
-* print a nicer explanation if people use variable/specifier expansion in ExecStart= for the first word
+* introduce new Scope unit type then make logind's session and machine
+ registration use this to set up cgroups
-* kernel cmdline switch to turn off predictable network interface names
+* should Slice= be part of [Unit] or of [Service]?
-* mount: turn dependency information from /proc/self/mountinfo into dependency information between systemd units.
+* journald: make sure ratelimit is actually really per-service with the new cgroup changes
-* logind: optionally, ignore idle-hint logic for autosuspend, block suspend as long as a session is around
+* move systemctl dump to systemd-analyze
-* service: when killing a service with SIGKILL always kill all processes, even if for SIGTERM we only killed the main process
+* libsystemd-logind: sd_session_is_active() and friends: verify
+ validity of session name before appending it to a path
-* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
+* logind: when a PAM client calls ReleaseSession() start a timeout and
+ kill the session entirely after that is reached.
-* DeviceAllow/DeviceDeny: disallow everything by default, but whitelist /dev/zero, /dev/null and friends
+* 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
-* service: watchdog logic: for testing purposes allow ping, but do not require pong
+* when a service changes state make reflect that in the
+ RUNNING/LISTENING states of its socket
+
+* when recursively showing the cgroup hierarchy, optionally also show
+ the hierarchies of child processes
+
+* document logic of auto/noauto and fail/nofail in fstab in systemd.mount or systemd-fstab-generator man page
+
+* we should properly escape ssh hostnames we add into dbus server strings
+
+* something pulls in pcre as so dep into our daemons such as hostnamed.
+
+* cgroup-agent: downgrade error messages
+
+* document systemd-journal-flush.service properly
+
+* chane 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.
+
+* 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
+ - when kdbus doesn't take our message without memfds, try again with memfds
+ - implement translator service
+ - port systemd to new library
+ - implement busname unit type in systemd
+ - move to gvariant
+ - merge busctl into systemctl or so?
+ - synthesize sd_bus_message objects from kernel messages
+ - properly implement name registry ioctls for kdbus
+ - get rid of object hash table, use decision tree everyhwere instead?
+ - implement monitor logic
+ - object vtable logic
+ - longer term:
+ * priority queues
+ * priority inheritance
+
+* in the final killing spree, detect processes from the root directory, and
+ complain loudly if they have argv[0][0] == '@' set.
+ https://bugzilla.redhat.com/show_bug.cgi?id=961044
+
+* add an option to nspawn that uses seccomp to make socket(AF_NETLINK,
+ SOCK_RAW, NETLINK_AUDIT) fail the the appropriate error code that
+ makes the audit userspace to think auditing is not available in the
+ kernel.
+
+* 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.
+
+* investigate endianess 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.
+
+* if pam_systemd is invoked by su from a process that is outside of a
+ any session we should probably just become a NOP, since that's
+ usually not a real user session but just some system code that just
+ needs setuid().
+
+* add a pam module that passes the hdd passphrase into the PAM stack and then expires it, for usage by gdm auto-login.
+
+* add a pam module that on password changes updates any LUKS slot where the password matches
+
+* maybe add a generator that looks for "systemd.run=" on the kernel cmdline for container usercases...
+
+* timedatctl, localectl: possibly make some commands work without the daemon, for chroot situations...
+
+* logind: add Suspend() bus calls which take timestamps to fix double suspend issues when somebody hits suspend and closes laptop quickly.
+
+* we need dynamic units
+
+* cgtop: make cgtop useful in a container
+
+* test/:
+ - add 'set -e' to scripts 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
+ 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
+ destination.
+
+* remove duplicate default deps logic from fstab-generator vs. mount.c
+
+* 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})
+
+* we should log capabilities too
-* journald: when dropping msgs due to ratelimit make sure to write
- "dropped %u messages" not only when we are about to print the next
- message that works, but alraedy after a short tiemout
+* 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
+ old.
-* journald: also get thread ID from client, plus thread name
+* after all byte-wise realloc() is slow, even on glibc, so i guess we
+ need manual exponential loops after all
-* check if we can make journalctl by default use --follow mode inside of less if called without args?
+* BootLoaderSpec: drop allowing ext234 for $BOOT. Clarify that the
+ kernel has to be in $BOOT. Clarify that the boot loader should be
+ installed to the ESP. Define a way how an installer can figure out
+ whether a BLS compliant boot loader is installed.
-* Add a verbose mode to "systemctl start" and friends that explains what is being done or not done
+* man: remove .include documentation, and instead push people to use .d/*.conf
-* journal is not closed properly at shutdown when run in a container?
+* think about requeuing jobs when daemon-reload is issued? usecase:
+ the initrd issues a reload after fstab from the host is accessible
+ and we might want to requeue the mounts local-fs acquired through
+ that automatically.
-* journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups
+* rework specifier logic so that we can distuingish OOM errors from other errors
-* When shutdown.target is queued begin with an asynchronous sync()?
+* systemd-inhibit: make taking delay locks useful: support sending SIGINT or SIGTERM on PrepareForSleep()
-* add API to close/reopen/get fd for journal client fd in libsystemd-journal.
+* journal-or-kmsg is currently broken? See reverted commit 4a01181e460686d8b4a543b1dfa7f77c9e3c5ab8.
-* maybe add API to send pairs of iovecs via sd_journal_send
+* remove any syslog support from log.c -- we probably can't do this before split-off udev is gone for good
-* fallback to /dev/log based logging in libsystemd-journal, if we can't log natively?
+* documentation: recommend to connect the timer units of a service to the service via Also= in [Install]
-* declare the local journal protocol stable in the wiki interface chart
+* add a tool that lists active timer units plus their next elapstion and the time the units ran last
-* journal: reuse XZ context
+* man: document the very specific env the shutdown drop-in tools live in
-* sd-journal: speed up sd_journal_get_data() with transparent hash table in bg
+* 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
+
+* systemctl: maybe add "systemctl add-wants" or so...
+
+* 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
+
+* write UI tool that pops up emergency messages from the journal as notification
+
+* think about window-manager-run-as-user-service problem: exit 0 → activate shutdown.target; exit != 0 → restart service
+
+* msgcatalog determine default language of entries from the catalog
+ file name. i.e. foobar.de_DE.catalog would set the default entry
+ name for the entries to de_DE if they aren't explicitly suffixed
+ individually.
+
+* use "log level" rather than "log priority" everywhere
+
+* timedate: have global on/off switches for auto-time (NTP), and auto-timezone that connman can subscribe to.
+
+* Honour "-" prefix for InaccessibleDirectories= and ReadOnlyDirectories= to
+ suppress errors of the specified path doesn't exist
+
+* dev-setup.c: when running in a container, create a tiny stub udev
+ database with the systemd tag set for all network interfaces found,
+ so that libudev reports them as present, and systemd's .device units
+ will be activated.
+
+* merge unit_kill_common() and unit_kill_context()
+
+* introduce ExecCondition= in services
+
+* EFI:
+ - fsck hookup for the ESP mount is missing
+ - 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
+
+* maybe do not install getty@tty1.service symlink in /etc but in /usr?
+
+* re-enable "make check" for gtk-doc (broken for unknown reason)
+
+* 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.
+
+* logind:
+ - logind: optionally, ignore idle-hint logic for autosuspend, block suspend as long as a session is around
+ - When we update the kernel all kind of hibernation should be prohibited until shutdown/reboot
+ - logind: wakelock/opportunistic suspend support
+ - Add pretty name for seats in logind
+ - logind: allow showing logout dialog from system?
+ - logind: spawn user@..service on login
+ - logind: non-local X11 server handling
+ - logind: add equivalent to sd_pid_get_owner_uid() to the D-Bus API
+ - pam: when leaving a session explicitly exclude the ReleaseSession() caller process from the killing spree
+ - logind: GetSessionByPID() should accept 0 as PID value
+ - we should probably handle SIGTERM/SIGINT to not leave dot files around, just in case
+
+* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
+
+* DeviceAllow/DeviceDeny: disallow everything by default, but whitelist /dev/zero, /dev/null and friends
+
+* service: watchdog logic: for testing purposes allow ping, but do not require pong
+
+* journal:
+ - do not use magic msync() in src/journal/journal-file.c, just call fsync()
+ <alxchk> poettering: looks like msync just calls vfs_fsync
+ http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/mm/msync.c#n18
+ - import and delete pstore filesystem content at startup
+ - journald: also get thread ID from client, plus thread name
+ - journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups
+ - 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 can't 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
+ message that works, but alraedy after a short tiemout
+ - check if we can make journalctl by default use --follow mode inside of less if called without args?
+ - maybe add API to send pairs of iovecs via sd_journal_send
+ - journal: when writing journal auto-rotate if time jumps backwards
+ - journal: add a setgid "systemd-journal" utility to invoke from libsystemd-journal, which passes fds via STDOUT and does PK access
+ - journactl: support negative filtering, i.e. FOOBAR!="waldo",
+ and !FOOBAR for events without FOOBAR.
+ - journal: when rotating, copy over old acls/access mode
+ - journal: send out marker messages every now and then, and immediately sync with fdatasync() afterwards, in order to have hourly guaranteed syncs.
+ - 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
+ - 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
+ - Port upower to use the journal for historical power information used in future calculations
+
+* document:
+ - document unit_name_mangle()
+ - document that deps in [Unit] sections ignore Alias= fileds in
+ [Install] units of other units, unless those units are disabled
+ - man: clarify that time-sync.target is not only sysv compat but also useful otherwise. Same for similar targets
+ - Document word splitting syntax for ExecStart= and friends
+ - document that units from /etc override those from /usr and /run
+ - document the exit codes when services fail before they are exec()ed
+ - document that service reload may be implemented as service reexec
+ - document in wiki how to map ical recurrence events to systemd timer unit calendar specifications
+
+* systemctl:
+ - systemctl list-jobs - show dependencies
+ - add systemctl switch to dump transaction without executing it
+ - Add a verbose mode to "systemctl start" and friends that explains what is being done or not done
+ - "systemctl disable" on a static unit prints no message and does
+ nothing. "systemctl enable" does nothing, and gives a bad message
+ about it. Should fix both to print nice actionable messages.
+ - print nice message from systemctl --failed if there are no entries shown, and hook that into ExecStartPre of rescue.service/emergency.service
+ - add new command to systemctl: "systemctl system-reexec" which reexecs as many daemons as virtually possible
+ - systemctl enable: improve the success messages (i.e. more human readable, less shell-like)
+ - systemctl enable: fail if target to alias into doesn't exist? maybe show how many units are enabled afterwards?
+ - systemctl: "Journal has been rotated since unit was started." message is misleading
+ - support "systemctl stop foobar@.service" to stop all units matching a certain template
+ - Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files"
* introduce ntp.service (or suchlike) as symlink that is used to arbitrate between various NTP implementations
-* timer units should get the ability to trigger when:
- - CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET)
- - DST changes
+* deal with sendmail/postfix exclusivity
+
+* timer units:
+ - configurable jitter for timer events
+ - timer events with system resume
+ - timer units should get the ability to trigger when:
+ o CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET)
+ o DST changes
+ - Support 2012-02~4 as syntax for specifying the fourth to last day of the month.
* update the kernel's TZ (sys_tz) when DST changes
mode, it will never touch the RTC if the no reliable time source is active or the
user did not request anything like it.
-* When we begin with system shutdown all kind of suspend/hibernation should be prohibited until shutdown/reboot
-
-* When we update the kernel all kind of hibernation should be prohibited until shutdown/reboot
-
* hwdb:
- implement conditional properties (dmi matches)
- hwdb --filter=ID_DRIVE_*
output again, so that the emergency mode isn't totally
surprising. Also, terminate plymouth.
-* localectl: add listing support for X11 keymaps, by parsing /usr/share/X11/xkb/rules/xorg.lst
-
* libunwind support for coredump pattern hook, and includes this in
the message for coredumps. After all, libunwind is now capable to
unwind coredumps since a few weeks ago. This probably requires that
* figure out relation of --all and --full in the various tools
-* journal: when writing journal auto-rotate if time jumps backwards
-
-* introduce new "journal" group in place of adm? introduce groups for the various mini daemons?
-
-* journal: add a setgid "adm" utility to invoke from libsystemd-journal, which passes fds via STDOUT and does PK access
-
-* journactl: support negative filtering, i.e. FOOBAR!="waldo",
- and !FOOBAR for events without FOOBAR.
-
-* print nice message from systemctl --failed if there are no entries shown, and hook that into ExecStartPre of rescue.service/emergency.service
-
* add libsystemd-password or so to query passwords during boot using the password agent logic
-* journal: when rotating, copy over old acls/access mode
-
-* journal: document why we do not give ownership to journal files to the user that created them but use FS ACLs for that
-
-* journal: send out marker messages every now and then, and immediately sync with fdatasync() afterwards, in order to have hourly guaranteed syncs.
-
-* journal: when we haven't written anything in a while, sync to disk and mark file as offline, in order to be more often than not in a clean state
-
-* 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.
-
* If we show an error about a unit (such as not showing up) and it has no Description string, then show a description string generated form the reverse of unit_name_mangle().
* fedup: add --unit to systemctl switch-root somehow
* fedup: don't delete initrd on switch-root
* fedup: generator
-* journal: find a way to allow dropping history early, based on priority, other rules
-
-* journal: When used on NFS, check payload hashes
-
-* journal: When used on NFS make sure wake up sd_journal_wait() every 2s, to handle missing inotify
-
-* document that people can use file system ACLs to manage access to journal files, with example
-
-* timedated: export boolean that clarifies whether NTP is even available
-
-* timedated: refuse time changes when NTP is on
+* timedated:
+ - timedated: refuse time changes when NTP is on
* clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed
-* document unit_name_mangle()
-
-* add new command to systemctl: "systemctl system-reexec" which reexecs as many daemons as virtually possible
-
* introduce generic AUGMENT_PID=, AUGMENT_DEVICE= fields
-* deal with sendmail/postfix exclusivity
-
-* systemctl enable: improve the success messages (i.e. more human readable, less shell-like)
-
-* systemctl enable: fail if target to alias into doesn't exist? maybe show how many units are enabled afterwards?
-
-* on shutdown: move utmp, wall, audit logic all into PID 1 itself, get rid of systemd-update-utmp-runlevel
+* on shutdown: move utmp, wall, audit logic all into PID 1 (or logind?), get rid of systemd-update-utmp-runlevel
* add "provisioning" instructions to setup an empty /etc + /var
- used to setup a new container from a shared /usr
* high level net_prio setting in execution context
-* Introduce journalctl -b <nr> to show journal messages of a previous boot
-
* hostnamed: before returning information from /etc/machine-info.conf check the modification data and reread. Similar for localed, ...
* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab isn't
-* WorkingDirectory: support env var replacements like in ExecStart= so that people can use $HOME
-
* refuse boot if /etc/machine-id is not useful (or set taint?)
-* nspawn: consider changing users for -u with su, so that NSS resolving works correctly
-
-* nspawn: implement personality changes a la linux32(8)
-
-* cryptsetup-generator: warn if the password files are world-readable
-
-* cryptsetup-generator: add RequiresMountsFor= to cryptseup service files referencing a file, similar for devices
-
-* cryptsetup-generator: allow specification of passwords in crypttab itself
-
-* document that deps in [Unit] sections ignore Alias= fileds in
- [Install] units of other units, unless those units are disabled
-
-* instantiated [Install] for target units
- https://bugs.freedesktop.org/show_bug.cgi?id=54377
+* nspawn:
+ - nspawn: consider changing users for -u with su, so that NSS resolving works correctly
+ - nspawn: implement personality changes a la linux32(8)
+ - nspawn: --read-only is not applied recursively to submounts
+ - nspawn: make use of device cgroup controller by default
+ - bind mount read-only the cgroup tree higher than nspawn
+ - nspawn: investigate whether we can support the same as LXC's
+ lxc.network.type=phys mode, and pass through entire network
+ interfaces to the container
+ - nspawn: maybe add a way to drop additional caps, in addition to add additional caps
+ - nspawn: maybe explicitly reset loginuid?
+ - nspawn: make it work for dwalsh and shared /usr containers -- tmpfs mounts as command line parameters, selinux exec context
+
+* cryptsetup:
+ - cryptsetup-generator: allow specification of passwords in crypttab itself
+ - move cryptsetup key caching into kernel keyctl?
+ https://bugs.freedesktop.org/show_bug.cgi?id=54982
+ - support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator
* move debug shell to tty6 and make sure this doesn't break the gettys on tty6
-* move cryptsetup key caching into kernel keyctl?
- https://bugs.freedesktop.org/show_bug.cgi?id=54982
-
* hw watchdog: optionally try to use the preset watchdog timeout instead of always overriding it
https://bugs.freedesktop.org/show_bug.cgi?id=54712
* come up with a nice way to write queue/read_ahead_kb for a block device without interfering with readahead
-* journald: add kernel cmdline option to disable ratelimiting for debug purposes
-
* move PID 1 segfaults to /var/lib/systemd/coredump?
-* Document word splitting syntax for ExecStart= and friends
-
* create /sbin/init symlinks from the build system
* Query Paul Moore about relabelling socket fds while they are open
-* journald: check whether it is OK if the client can still modify delivered journal entries
-
-* journal live copy, based on libneon (client) and libmicrohttpd
-
-* system-wide seccomp filter
-
* system.conf should have controls for cgroups
-* bind mount read-only the cgroup tree higher than nspawn
-
* allow writing multiple conditions in unit files on one line
* explore multiple service instances per listening socket idea
-* testing tool for socket activation: some binary that listens on a socket and passes it on using the usual socket activation protocol to some server.
-
* shutdown: don't read-only mount anything when running in container
-* nspawn: --read-only is not applied recursively to submounts
-
* MountFlags=shared acts as MountFlags=slave right now.
* ReadOnlyDirectories= is not applied recursively to submounts
when done. That means clients don't get a successful method reply,
but much rather a disconnect on success.
-* document that service reload may be implemented as service reexec
-
* remember which condition failed for services, not just the fact that something failed
* use opterr = 0 for all getopt tools
* allow services with no ExecStart= but with an ExecStop=
-* add proper journal support to "systemctl --user status ..."
-
-* add _SYSTEMD_USER_UNIT= field to journal entries
-
* dracut-shutdown needs to be ordered before unmounting /boot
* initialize the hostname from the fs label of /, if /etc/hostname does not exist?
* rename "userspace" to "core-os"
-* systemctl: "Journal has been rotated since unit was started." message is misleading
-
-* syscall filter: add knowledge about compat syscalls
-
-* syscall filter: don't enforce no new privs?
-
-* syscall filter: option to return EPERM rather than SIGSYS?
-
-* syscall filter: port to libseccomp
-
-* logind: wakelock/opportunistic suspend support
-
-* systemd-analyze post-boot is broken for initrd
-
-* systemd-analyze: data collection tools should be lightweight (few dependencies); data analysis tools can be heavyweight
-
-* man: clarify that time-sync.target is not only sysv compat but also useful otherwise. Same for similar targets
+* syscall filter:
+ - syscall filter: add knowledge about compat syscalls
+ - syscall filter: don't enforce no new privs?
+ - syscall filter: option to return EPERM rather than SIGSYS?
+ - syscall filter: port to libseccomp
+ - system-wide seccomp filter
* .device aliases need to be implemented with the "following" logic, probably.
-* refuse taking lower-case variable names in sd_journal_send() and friends.
-
* load-fragment: when loading a unit file via a chain of symlinks
verify that it isn't masked via any of the names traversed.
-* journald: we currently rotate only after MaxUse+MaxFilesize has been reached.
-
* introduce Type=pid-file
-* maybe allow services with ExecStop= set, but no ExecStart=?
-
-* efi:
- - implement /forcefsck as uefi variables thus not requiring file system altering to trigger a file system check
- - honor language efi variables for default language selection
- - honor timezone efi variables for default timezone selection
- - automatically mount EFI partition to /boot if no such entry exists in /etc/fstab and /boot is empty
- gummiboot exports the EFI system partion (ESP) device:
- /sys/firmware/efi/vars/LoaderDeviceIdentifier-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f/data
- Acpi(PNP0A03,0)/Pci(1F|2)/?/HD(Part1,Sig1FCBC57F-4BFC-4C2B-91A3-9C84FBCD9AF1)
- /' is the separator for the device path list
- HD(Part1,Sig1FCBC57F-4BFC-4C2B-91A3-9C84FBCD9AF1) contains the GPT UUID of the ESP
- - read the bootloader performance data (raw TSC) in systemd-analyze
- /sys/firmware/efi/vars/LoaderTicksExec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f/data
- 19066159288
- /sys/firmware/efi/vars/LoaderTicksInit-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f/data
- 17442940316
- /sys/firmware/efi/vars/LoaderTicksStartMenu-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f/data
- (only set if the menu was active)
- - introduce bootctl (backed by systemd-bootd) to control temporary and persistent default boot goal plus efi variables
-
* change Requires=basic.target to RequisiteOverride=basic.target
-* support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator
-
-* nspawn: make use of device cgroup controller by default
-
-* drop accountsservice's StandardOutput=syslog and Type=dbus fields
-
* when breaking cycles drop sysv services first, then services from /run, then from /etc, then from /usr
-* readahead: when bumping /sys readahead variable save mtime and compare later to detect changes
-
* move passno parsing to fstab generator
-* improve !/proc/*/loginuid situation: make /proc/*/loginuid less dependent on CONFIG_AUDIT,
- or use the users cgroup information when /proc/*/loginuid is not available.
-
-* pam_systemd: try to get old session id from cgroup, if audit sessionid cannot be determined
-
-* pam: when leaving a session explicitly exclude the ReleaseSession() caller process from the killing spree
-
-* maybe introduce ~/.config/locale.conf and apply it within PAM
-
-* readahead: make use of EXT4_IOC_MOVE_EXT, as used by http://e4rat.sourceforge.net/
-
* automount: implement expire:
- set superblock timeout AUTOFS_DEV_IOCTL_TIMEOUT_CMD
- periodically run AUTOFS_DEV_IOCTL_EXPIRE_CMD
* services which create their own subcgroups break cgroup-empty notification (needs to be fixed in the kernel)
-* don't delete /tmp/systemd-namespace-* before a process is gone down
-
* ExecOnFailure=/usr/bin/foo
-* fedora: make sshd and pam_loginuid work in nspawn containers
-
-* fix utmp for console logins in containers
-
-* Add pretty name for seats in logind
-
-* ConditionSecurity= should learn about IMA and SMACK
-
* udev:
- - remove all (misguided from day 1) userspace firmware_class handling
+ - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n)
- move to LGPL
- unify utf8 validator code with shared/
- kill scsi_id
* cleanup syslog 'priority' vs. 'level' wording
-* dbus upstream still refers to dbus.target and shouldn't
-
* when a service has the same env var set twice we actually store it twice and return that in systemctl show -p... We should only show the last setting
* support container_ttys=
* introduce mix of BindTo and Requisite
-* journalctl: show multiline log messages sanely, expand tabs, and show all valid utf8 messages
-
* add DeleteSocketsOnStop=yes|no option to socket units
-* journal: store euid in journal if it differs from uid
-
* There's currently no way to cancel fsck (used to be possible via C-c or c on the console)
-* journal: sanely deal with entries which are larger than the individual file size, but where the components would fit
-
-* add command to systemctl to plot dependency graph as tree (see rhbz 795365)
-
* add option to sockets to avoid activation. Instead just drop packets/connections, see http://cyberelk.net/tim/2012/02/15/portreserve-systemd-solution/
* default unix qlen is too small (10). bump sysctl? add sockopt?
-* figure out whether we should leave dbus around during shutdown
-
-* dbus: in fedora, make /var/lib/dbus/machine-id a symlink to /etc/machine-id
-
-* dbus: move dbus to early boot
-
-* logind: add equivalent to sd_pid_get_owner_uid() to the D-Bus API
-
-* journal: deal nicely with byte-by-byte copied files, especially regards header
-
-* journal: local deserializer of export mode, http server
-
-* document the exit codes when services fail before they are exec()ed
-
* save coredump in Windows/Mozilla minidump format
* support crash reporting operation modes (https://live.gnome.org/GnomeOS/Design/Whiteboards/ProblemReporting)
* clean up session cgroups that remain after logout (think sshd), but eventually run empty
-* support "systemctl stop foobar@.service" to stop all units matching a certain template
-
-* logind: allow showing logout dialog from system
-
-* document that %% can be used to write % in a string that is specifier extended
-
* when an instanced service exits, remove its parent cgroup too if possible.
* default to actual 32bit PIDs, via /proc/sys/kernel/pid_max
* be able to specify a forced restart of service A where service B depends on, in case B
needs to be auto-respawned?
-* Something is wrong with symlink handling of "autovt@.service" in "systemctl list-unit-files"
-
* when a bus name of a service disappears from the bus make sure to queue further activation requests
-* something like ConditionExec= or ExecCondition= without failure state
-
* tmpfiles: apply "x" on "D" too (see patch from William Douglas)
-* don't set $HOME in services unless requested
+* for services: don't set $HOME in services unless requested
* hide PAM/TCPWrap options in fragment parser when compile time disabled
* move PAM code into its own binary
-* logind: spawn user@..service on login
-
-* logind: non-local X11 server handling
-
* implement Register= switch in .socket units to enable registration
in Avahi, RPC and other socket registration services.
* make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
-* readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
-
* support sd_notify() style notification when reload begins (RELOADING=1), reload is finished (READY=1), and add ReloadSignal= then to use in combination
* support sd_notify() style notification when shutting down, to make auto-exit bus services work (STOPPING=1)
* and a dbus call to generate target from current state
-* drop /.readahead on bigger upgrades with yum
+* readahead:
+ - drop /.readahead on bigger upgrades with yum
+ - move readahead files into /var (look for them with .path units?)
+ - readahead: use BTRFS_IOC_DEFRAG_RANGE instead of BTRFS_IOC_DEFRAG ioctl, with START_IO
+ - readahead: when bumping /sys readahead variable save mtime and compare later to detect changes
+ - readahead: make use of EXT4_IOC_MOVE_EXT, as used by http://e4rat.sourceforge.net/
* add support for /bin/mount -s
- non-cgroup resource management
- dynamic resource management with cgroups
- refreshed, longer missions statement
- - celendar time events
+ - calendar time events
+ - init=/bin/sh vs. "emergency" mode, vs. "rescue" mode, vs. "multi-user" mode, vs. "graphical" mode, and the debug shell
+ - how to create your own target
+ - instantiated apache, dovecot and so on
+ - hooking a script into various stages of shutdown/rearly booot
* allow port=0 in .socket units
-* move readahead files into /var (look for them with .path units?)
-
-* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
-
* support systemd.mask= on the kernel command line.
-* when key file cannot be found, read it from kbd in cryptsetup
-
-* reuse mkdtemp namespace dirs in /tmp?
-
* recreate systemd's D-Bus private socket file on SIGUSR2
* Support --test based on current system state
* maybe introduce ExecRestartPre=
-* configurable jitter for timer events
-
-* timer events with system resume
-
* dot output for --test showing the 'initial transaction'
-* writable cgroups dbus properties for live changes
-
* port over to LISTEN_FDS/LISTEN_PID:
- rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
- cups HAVEPATCH
* io priority during initialization
-* systemctl list-jobs - show dependencies
+* drop cap bounding set in readahead and other services
-* add systemctl switch to dump transaction without executing it
+* systemd-python:
+ - figure out a simple way to wait for journal events in a way that
+ works with ^C
+ - add documentation to systemd.daemon
-* drop cap bounding set in readahead and other services
+* bootchart:
+ - plot per-process IO utilization
+ - group processes based on service association (cgroups)
+ - document initcall_debug
+ - kernel cmdline "bootchart" option for simplicity?
External:
- allow disabling of fd passing when connecting a AF_UNIX connection
- allow disabling of UID passing for AUTH EXTERNAL
- always pass cred data along each message
+ - teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
* fix alsa mixer restore to not print error when no config is stored
-* gnome-shell python script/glxinfo/is-accelerated must die
-
* make cryptsetup lower --iter-time
* patch kernel for xattr support in /dev, /proc/, /sys?
* kernel: add device_type = "fb", "fbcon" to class "graphics"
+* drop accountsservice's StandardOutput=syslog and Type=dbus fields
+
+* dbus upstream still refers to dbus.target and shouldn't
+
+* 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=
+
+* fedora: F20: go timer units all the way, leave cron.daily for cron
+
+* neither pkexec nor sudo initialize environ[] from the PAM environment?
+
+* fedora: update policy to declare access mode and ownership of unit files to root:root 0644, and add an rpmlint check for it
+
Regularly:
* look for close() vs. close_nointr() vs. close_nointr_nofail()