* 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.
-F18:
+* add 'set -e' to scripts in test/
+* make test in test/ work with separate output dir
-* Retest multi-seat
+* suppress log output on shutdown when "quiet" is used
-Features:
+Fedora 19:
-* drop --follow from systemctl
+* make anaconda write timeout=0 for encrypted devices
-* don't show cgroup in "systemctl status" if empty/non-existant, especially for foreign .mount units
+* 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.
-* timedated: export boolean that clarifies whether NTP is even available
+* cgroup attrs:
+ - update dbus interface docs in wiki
-* timedated: refuse time changes when NTP is on
+* journal is not closed properly at shutdown when run in a container?
-* journald: don't make SystemMinFileSize= configurable
+* localed:
+ - localectl: add listing support for X11 keymaps, by parsing /usr/share/X11/xkb/rules/xorg.lst
+ - localectl: support new converted x11→console keymaps
-* clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed
+* logind: Class property should probably know "background" or so as value for cron jobs, and the inhibition checks should filter those out too.
-* introduce hybrid-sleep.target
+* timer logic is confused by units which are skipped due to failing condition
+ http://lists.freedesktop.org/archives/systemd-devel/2013-February/008816.html
-* _SOURCE_MONOTONIC_TIMESTAMP entries from the kernel seem to be off by 1000000
+* timer logic is also confused if a service it triggers hasn't finished when the next timer elapses:
+ http://lists.freedesktop.org/archives/systemd-devel/2013-February/009021.html
-* document unit_name_mangle()
+Features:
-* add new command to systemctl: "systemctl system-reexec" which reexecs as many daemons as virtually possible
+* remove duplicate default deps logic from fstab-generator vs. mount.c
-* introduce generic AUGMENT_PID=, AUGMENT_DEVICE= fields
+* when isolating, try to figure out a way how we implicitly can order
+ all units we stop before the isolating unit...
-* deal with sendmail/postfix exclusivity
+* 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.
-* systemctl enable: improve the success messages (i.e. more human readable, less shell-like)
+* matching against units is currently broken in journalctl. We really
+ need another AND level in the expressions,
+ i.e. sd_journal_add_conjunction().
-* systemctl enable: fail if target to alias into doesn't exist? maybe show how many units are enabled afterwards?
+* add ConditionArchitecture= or so
-* on shutdown: move utmp, wall, audit logic all into PID 1 itself, get rid of systemd-update-utmp-runlevel
+* teach ConditionKernelCommandLine= globs or regexes (in order to match foobar={no,0,off})
-* add "provisioning" instructions to setup an empty /etc + /var
- - used to setup a new container from a shared /usr
- - superset of tmpfiles model
- - instructions shipped by packages and stored in /usr/lib/
- - compose /etc/passwd and /etc/group, copy files
- - able to create uid + gid used by packages, for file ownership
-
-* make repeated alt-ctrl-del presses printing a dump, or even force a reboot without
- waiting for the timeout
-
-* high level net_prio setting in execution context
+* hostnamectl: when a passed pretty hostname also qualifies as low-level name, then only set low-level name, and unset the pretty hostname
-* Introduce journalctl -b <nr> to show journal messages of a previous boot
+* we should log capabilities too
-* hostnamed: before returning information from /etc/machine-info.conf check the modification data and reread. Similar for localed, ...
+* 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.
-* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab isn't
+* after all byte-wise realloc() is slow, even on glibc, so i guess we
+ need manual exponential loops after all
-* WorkingDirectory: support env var replacements like in ExecStart= so that people can use $HOME
+* 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.
-* refuse boot if /etc/machine-id is not useful
+* man: remove .include documentation, and instead push people to use .d/*.conf
-* nspawn: consider changing users for -u with su, so that NSS resolving works correctly
+* disallow .include from included files
-* nspawn: implement personality changes a la linux32(8)
+* safe_atod() is too naive, as it is vulnerable to locale parameters, should be locale independent.
-* nspawn: reset all aux groups
+* 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.
-* cryptsetup-generator: warn if the password files are world-readable
+* neither pkexec nor sudo initialize environ[] from the PAM environment?
-* cryptsetup-generator: add RequiresMountsFor= to cryptseup service files referencing a file, similar for devices
+* rework specifier logic so that we can distuingish OOM errors from other errors
-* cryptsetup-generator: allow specification of passwords in crypttab itself
+* systemd-inhibit: refuse taking delay locks
-* document that deps in [Unit] sections ignore Alias= fileds in
- [Install] units of other units, unless those units are disabled
+* journal-or-kmsg is currently broken? See reverted commit 4a01181e460686d8b4a543b1dfa7f77c9e3c5ab8.
-* need to update LGPL2.1 text to newest version (with updated FSF address)
+* remove any syslog support from log.c -- we probably can't do this before split-off udev is gone for good
-* allow users from "wheel" to start/stop services
+* fedora: connect the timer units of a service to the service via Also= in [Install], and maybe introduce timers.target
-* systemctl: when powering down/suspending check for inhibitors, and warn.
+* fedora: F20: go timer units all the way, leave cron.daily for cron
-* instantiated [Install] for target units
- https://bugs.freedesktop.org/show_bug.cgi?id=54377
+* add a tool that lists active timer units plus their next elapstion and the time the units ran last
-* support *static* (/run) hibernate inhibitors. All rpm -i actions should completely prevent any
- sort of hibernate action until the next reboot. If the kernel or any other base tool is replaced
- by rpm, the resume path might fail, the for resume needed kernel might even be uninstalled, and
- the whole situation leads directly to data loss.
+* man: document the very specific env the shutdown drop-in tools live in
-* move debug shell to tty6 and make sure this doesn't break the gettys on tty6
+* shutdown logging: store to EFI var, and store to USB stick?
-* move cryptsetup key caching into kernel keyctl?
- https://bugs.freedesktop.org/show_bug.cgi?id=54982
+* man: extend runlevel(8) to mention that runlevels suck, and are dead. Maybe add runlevel(7) with a note about that too
-* make nspawn work without terminal
+* systemctl: maybe add "systemctl add-wants" or so...
-* hw watchdog: optionally try to use the preset watchdog timeout instead of always overriding it
- https://bugs.freedesktop.org/show_bug.cgi?id=54712
+* man: add a link to socket activation blog from systemd.socket(5)
-* after deserializing sockets in socket.c we should reapply sockopts and things
+* systemctl status: show drop-in snippets for service files in addition to service file path themesevles.
-* make timer units go away after they elapsed
+* man: add more examples to man pages
-* http://lists.freedesktop.org/archives/systemd-devel/2012-September/006502.html
+* man: maybe sort directives in man pages, and take sections from --help and apply them to man too
-* come up with a nice way to write queue/read_ahead_kb for a block device without interfering with readahead
+* add "# export SYSTEMD_PAGER=" to bash login
-* journald: add kernel cmdline option to disable ratelimiting for debug purposes
+* /usr/bin/service should actually show the new command line
-* move PID 1 segfaults to /var/lib/systemd/coredump?
+* fedora: suggest auto-restart on failure, but not on sucess and not on coredump. also, ask people to think about changing the start limit logic. Also point people to RestartPreventExitStatus=, SuccessExitStatus=
-* Document word splitting syntax for ExecStart= and friends
+* write UI tool that pops up emergency messages from the journal as notification
-* create /sbin/init symlinks from the build system
+* think about window-manager-run-as-user-service problem: exit 0 → activate shutdown.target; exit != 0 → restart service
-* Query Paul Moore about relabelling socket fds while they are open
+* 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.
-* move keymaps to /usr/lib/... rather than /usr/lib/udev/...
+* figure out what we do about hostnames/fqdn in hostnamectl/hostnamed
-* journald: check whether it is OK if the client can still modify delivered journal entries
+* use "log level" rather than "log priority" everywhere
-* json: properly serialize multiple fields with the same name per entry
+* ensure sd_journal_seek_monotonic actually works properly.
-* journal live copy, based on libneon (client) and libmicrohttpd
+* timedate: have global on/off switches for auto-time (NTP), and auto-timezone that connman can subscribe to.
-* document in wiki json serialization
+* support --root= in msgcatalog compiler
-* system-wide seccomp filter
+* Honour "-" prefix for InaccessibleDirectories= and ReadOnlyDirectories= to
+ suppress errors of the specified path doesn't exist
-* ability to pass fds into systemd
+* 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.
-* system.conf should have controls for cgroups
+* merge unit_kill_common() and unit_kill_context()
-* bind mount read-only the cgroup tree higher than than nspawn
+* introduce ExecCondition= in services
-* currently system services appear not to generate core dumps...
+* 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
-* allow writing multiple conditions in unit files on one line
+* maybe do not install getty@tty1.service symlink in /etc but in /usr?
-* cleanup ellipsation for log output in journalctl and systemctl status: have a sane way to disable ellipsation, and disable it by default when invoked in less/more
+* re-enable "make check" for gtk-doc (broken for unknown reason)
-* explore multiple service instances per listening socket idea
+* 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
-* 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.
+* print a nicer explanation if people use variable/specifier expansion in ExecStart= for the first word
-* shutdown: don't read-only mount anything when running in container
+* mount: turn dependency information from /proc/self/mountinfo into dependency information between systemd units.
-* nspawn: --read-only is not applied recursively to submounts
+* 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
-* MountFlags=shared acts as MountFlags=slave right now.
+* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
-* ReadOnlyDirectories= is not applied recursively to submounts
+* DeviceAllow/DeviceDeny: disallow everything by default, but whitelist /dev/zero, /dev/null and friends
-* drop PID 1 reloading, only do reexecing (difficult: Reload()
- currently is properly synchronous, Reexec() is weird, because we
- can't delay the response properly until we are back, so instead of
- being properly synchronous we just keep open the fd and close it
- when done. That means clients don't get a succesful method reply,
- but much rather a disconnect on success.
+* service: watchdog logic: for testing purposes allow ping, but do not require pong
-* document that service reload may be implemented as service reexec
+* 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
+ - gatewayd: should run under its own UID
+ - 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
+ - journal: When used on NFS make sure wake up sd_journal_wait() every 2s, to handle missing inotify
+ - 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
+ - journalctl: make journalctl smarter, and actually check groups that have access to /var/log/journal before printing message about recomming group membership for journal access
+
+* 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"
+ - add configuration/switches to use
+ freeze (http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git) and
+ standby (https://bugs.freedesktop.org/show_bug.cgi?id=57793) as suspend modes
+
+* introduce ntp.service (or suchlike) as symlink that is used to arbitrate between various NTP implementations
-* remember which condition failed for services, not just the fact that something failed
+* deal with sendmail/postfix exclusivity
-* use opterr = 0 for all getopt tools
+* 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.
-* properly handle loop back mounts via fstab, especially regards to fsck/passno
+* update the kernel's TZ (sys_tz) when DST changes
-* allow services with no ExecStart= but with an ExecStop=
+* sync down the system time to the RTC when:
+ - CLOCK_REALTIME makes jumps (the user explicitely requested a time set)
+ - DST/timezone changes && ntp is active && RTC-in-localtime (never do it without ntp)
+ This takes care of syncing ntpdate updates to the RTC, and DST updates for localtime
+ mode, it will never touch the RTC if the no reliable time source is active or the
+ user did not request anything like it.
-* add proper journal support to "systemctl --user status ..."
+* hwdb:
+ - implement conditional properties (dmi matches)
+ - hwdb --filter=ID_DRIVE_*
-* add _SYSTEMD_USER_UNIT= field to journal entries
+* 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.
-* dracut-shutdown needs to be ordered before unmounting /boot
+* 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
+ we have nice support for multi-line messages on display in
+ logs-show.c. Alternatively: use libelfutil, which seems to be the
+ better supported alternative.
-* initialize the hostname from the fs label of /, if /etc/hostname does not exist?
+* figure out relation of --all and --full in the various tools
-* rename "userspace" to "core-os"
+* add libsystemd-password or so to query passwords during boot using the password agent logic
-* systemctl: "Journal has been rotated since unit was started." message is misleading
+* 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().
-* syscall filter: add knowledge about compat syscalls
+* fedup: add --unit to systemctl switch-root somehow
+* fedup: don't delete initrd on switch-root
+* fedup: generator
-* syscall filter: don't enforce no new privs?
+* timedated:
+ - timedated: refuse time changes when NTP is on
-* syscall filter: option to return EPERM rather than SIGSYS?
+* clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed
-* syscall filter: port to libseccomp
+* introduce generic AUGMENT_PID=, AUGMENT_DEVICE= fields
-* logind: wakelock/opportunistic suspend support
+* on shutdown: move utmp, wall, audit logic all into PID 1 (or logind?), get rid of systemd-update-utmp-runlevel
-* systemd-analyze post-boot is broken for initrd
+* add "provisioning" instructions to setup an empty /etc + /var
+ - used to setup a new container from a shared /usr
+ - superset of tmpfiles model
+ - instructions shipped by packages and stored in /usr/lib/
+ - compose /etc/passwd and /etc/group, copy files
+ - able to create uid + gid used by packages, for file ownership
-* man: clarify that time-sync.target is not only sysv compat but also useful otherwise. Same for similar targets
+* make repeated alt-ctrl-del presses printing a dump, or even force a reboot without
+ waiting for the timeout
-* .device aliases need to be implemented with the "following" logic, probably.
+* high level net_prio setting in execution context
-* refuse taking lower-case variable names in sd_journal_send() and friends.
+* hostnamed: before returning information from /etc/machine-info.conf check the modification data and reread. Similar for localed, ...
-* load-fragment: when loading a unit file via a chain of symlinks
- verify that it isn't masked via any of the names traversed.
+* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab isn't
-* journald: we currently rotate only after MaxUse+MaxFilesize has been reached.
+* WorkingDirectory: support env var replacements like in ExecStart= so that people can use $HOME
-* Document:
- - PID 1 D-Bus API
+* refuse boot if /etc/machine-id is not useful (or set taint?)
+
+* 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: move all containers to name=systemd:/containers/, and introduce externally visible names for containers
+ - nspawn: make it work for dwalsh and shared /usr containers -- tmpfs mounts as command line parameters, selinux exec context
+
+* cryptsetup:
+ - 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
+ - move cryptsetup key caching into kernel keyctl?
+ https://bugs.freedesktop.org/show_bug.cgi?id=54982
+ - when key file cannot be found, read it from kbd in cryptsetup
-* introduce Type=pid-file
+* move debug shell to tty6 and make sure this doesn't break the gettys on tty6
-* maybe allow services with ExecStop= set, but no ExecStart=?
+* hw watchdog: optionally try to use the preset watchdog timeout instead of always overriding it
+ https://bugs.freedesktop.org/show_bug.cgi?id=54712
-* efi: implement /forcefsck as uefi variables thus not requiring file system altering to trigger a file system check
+* after deserializing sockets in socket.c we should reapply sockopts and things
-* efi: honour language efi variables for default language selection
+* make timer units go away after they elapsed
-* efi: honour timezone efi variables for default timezone selection
+* http://lists.freedesktop.org/archives/systemd-devel/2012-September/006502.html
+ (network and remote-fs on shutdown)
-* efi: 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
+* come up with a nice way to write queue/read_ahead_kb for a block device without interfering with readahead
-* 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)
+* move PID 1 segfaults to /var/lib/systemd/coredump?
-* change Requires=basic.target to RequisiteOverride=basic.target
+* create /sbin/init symlinks from the build system
-* support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator
+* Query Paul Moore about relabelling socket fds while they are open
-* nspawn: make use of device cgroup contrller by default
+* system.conf should have controls for cgroups
-* drop accountsservice's StandardOutput=syslog and Type=dbus fields
+* allow writing multiple conditions in unit files on one line
-* when breaking cycles drop sysv services first, then services from /run, then from /etc, then from /usr
+* explore multiple service instances per listening socket idea
-* readahead: when bumping /sys readahead variable save mtime and compare later to detect changes
+* shutdown: don't read-only mount anything when running in container
-* (attempt to) make Debianites happy:
- - implement .d/ auto includes for unit files
- - add syntax to reset ExecStart= lists (and similar)
+* MountFlags=shared acts as MountFlags=slave right now.
-* move passno parsing to fstab generator
+* ReadOnlyDirectories= is not applied recursively to submounts
-* improve !/proc/*/loginuid situation: make /proc/*/loginuid less dependent on CONFIG_AUDIT,
- or use the users cgroup information when /proc/*/loginuid is not available.
+* drop PID 1 reloading, only do reexecing (difficult: Reload()
+ currently is properly synchronous, Reexec() is weird, because we
+ can't delay the response properly until we are back, so instead of
+ being properly synchronous we just keep open the fd and close it
+ when done. That means clients don't get a successful method reply,
+ but much rather a disconnect on success.
-* pam_systemd: try to get old session id from cgroup, if audit sessionid cannot be determined
+* remember which condition failed for services, not just the fact that something failed
-* pam: when leaving a session explicitly exclude the ReleaseSession() caller process from the killing spree
+* use opterr = 0 for all getopt tools
-* maybe introduce ~/.config/locale.conf and apply it within PAM
+* properly handle loop back mounts via fstab, especially regards to fsck/passno
-* readahead: make use of EXT4_IOC_MOVE_EXT, as used by http://e4rat.sourceforge.net/
+* allow services with no ExecStart= but with an ExecStop=
-* automount: implement expire
+* dracut-shutdown needs to be ordered before unmounting /boot
-* logind: auto-suspend, auto-shutdown:
- IdleAction=(none|suspend|opportunistic|hibernate|poweroff)
- IdleActionDelay=...
- SessionIdleMode=(explicit|ignore|login)
- ForceShutdown=(yes|no)
+* initialize the hostname from the fs label of /, if /etc/hostname does not exist?
-* services which create their own subcgroups break cgroup-empty notification (needs to be fixed in the kernel)
+* rename "userspace" to "core-os"
-* don't delete /tmp/systemd-namespace-* before a process is gone down
+* 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
-* vconsole: implement setterm -store -foreground xxx --background zzz
+* .device aliases need to be implemented with the "following" logic, probably.
-* ExecOnFailure=/usr/bin/foo
+* load-fragment: when loading a unit file via a chain of symlinks
+ verify that it isn't masked via any of the names traversed.
-* fedora: make sshd and pam_loginuid work in nspawn containers
+* introduce Type=pid-file
-* fix utmp for console logins in containers
+* maybe allow services with ExecStop= set, but no ExecStart=?
-* Add pretty name for seats in logind
+* change Requires=basic.target to RequisiteOverride=basic.target
-* ConditionSecurity= should learn about IMA
+* support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator
-* Auke: merge Auke's bootchart
+* drop accountsservice's StandardOutput=syslog and Type=dbus fields
-* udev: move to LGPL
+* when breaking cycles drop sysv services first, then services from /run, then from /etc, then from /usr
-* udev systemd unify:
- - strpcpy(), strpcpyl(), strscpy(), strscpyl()
- - utf8 validator code
- - now() vs. now_usec()
+* move passno parsing to fstab generator
-* udev: remove network interface renaming, sleep and retry logic, we do
- no support renaming of interfaces in the conflicting kernel
- namespace
+* automount: implement expire:
+ - set superblock timeout AUTOFS_DEV_IOCTL_TIMEOUT_CMD
+ - periodically run AUTOFS_DEV_IOCTL_EXPIRE_CMD
+ - every timeout/4 (original autofs logic)
+ - blocking, needs a thread
+ - run until -EAGAIN
+ - receive expire packet on pipe if kernel tells the timeout is over
+ - call umount
+ - answer expire packet on pipe with AUTOFS_DEV_IOCTL_{READY,FAIL}_CMD
+ - AUTOFS_DEV_IOCTL_EXPIRE_CMD returns
-* udev: find a way to tell udev to not cancel firmware requests when running in initramfs
+* services which create their own subcgroups break cgroup-empty notification (needs to be fixed in the kernel)
-* udev: scsi_id -> sg3_utils -> kill scsi_id
+* ExecOnFailure=/usr/bin/foo
-* udev: add trigger --subsystem-match=usb/usb_device device
+* ConditionSecurity= should learn about IMA and SMACK
-* allow configuration of console width/height in vconsole.conf
+* udev:
+ - 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
+ - add trigger --subsystem-match=usb/usb_device device
* cleanup syslog 'priority' vs. 'level' wording
* 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 componets 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 the machine a symlink to /etc/machine-id
+* dbus: in fedora, make /var/lib/dbus/machine-id a symlink to /etc/machine-id
* dbus: move dbus to early boot
-* journald: reuse XZ context
-
-* logind: add equivalent to sd_pid_get_owner_uid() to the D-Bus API
-
-* journal: API for looking for retrieving "all values of this field"
-
-* journal: deal nicely with byte-by-byte copied files, especially regards header
-
-* journal: local deserializer of export mode, http server
-
-* journal: message catalog
-
-* 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 ExecStartPre= 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
-
-* readahead: check whether a btrfs volume includes ssd by checking mount flag "ssd"
-
* 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)
* Make it possible to set the keymap independently from the font on
the kernel cmdline. Right now setting one resets also the other.
-* move nss-myhostname into systemd
-
* 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
* GC unreferenced jobs (such as .device jobs)
* write blog stories about:
+ - hwdb: what belongs into it, lsusb
- enabling dbus services
- status update
- how to make changes to sysctl and sysfs attributes
- remote access
- how to pass throw-away units to systemd, or dynamically change properties of existing units
- how to integrate cgconfig and suchlike with systemd
- - resource control in systemd
- testing with Harald's awesome test kit
- auto-restart
+ - how to develop against journal browsing APIs
+ - the journal HTTP iface
+ - non-cgroup resource management
+ - dynamic resource management with cgroups
+ - refreshed, longer missions statement
+ - 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
* maybe introduce ExecRestartPre=
-* configurable jitter for timer events
-
-* timer events with system resume
-
* dot output for --test showing the 'initial transaction'
-* calendar time support in timer:
- https://docs.google.com/document/pub?id=1bAMyFAjWLpzR3GTDYdgj5FWRMxoZiWw5zmUHEtvdHKA
-
-* 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
-
-* add systemctl switch to dump transaction without executing it
-
* drop cap bounding set in readahead and other services
+* systemd-python:
+ - figure out a simple way to wait for journal events in a way that
+ works with ^C
+ - add documentation to systemd.daemon
+
External:
* dbus:
- 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 and /sys/fs/cgroup?
+* patch kernel for xattr support in /dev, /proc/, /sys?
* NTP: the kernel's 11-minutes-mode syncs the system time to the RTC, but only
in an ~30 minutes window. It does not adjust larger differences. Find a way
* kernel: add device_type = "fb", "fbcon" to class "graphics"
+* bootchart:
+ - plot per-process IO utilization
+ - group processes based on service association (cgroups)
+ - document initcall_debug
+
Regularly:
* look for close() vs. close_nointr() vs. close_nointr_nofail()
* use secure_getenv() instead of getenv() where appropriate
+* link up selected blog stories from man pages and unit files Documentation= fields
+
Scheduled for removal or fixing:
* xxxOverridable dependencies (probably: fix)
-
-* support for early-boot SysV services (definitely: remove)