TODO revision 92b5814007dc5c9c44e94e717be6f53e24c356c0
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* check systemd-tmpfiles for selinux context hookup for mknod(), symlink() and similar
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* swap units that are activated by one name but shown in the kernel under another are semi-broken
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* make anaconda write timeout=0 for encrypted devices
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* Dangling symlinks of .automount unit files in .wants/ directories, set up
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync automount points even when the original .automount file did not exist
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync anymore. Only the .mount unit was still around.
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* make polkit checks async
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* Retest multi-seat
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* man page for catalog APIs
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* When shutdown.target is queued begin with an asynchronous sync()?
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* Add ConditionBatteryPower= or ConditionACPower=? (but definitely not both)
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* add API to close/reopen/get fd for journal client fd in libsystemd-journal.
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* maybe add API to send pairs of iovecs via sd_journal_send
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* fallback to /dev/log based logging in libsystemd-journal, if we can't log natively?
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* declare the local journal protocol stable in the wiki interface chart
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* sd-journal: don't return fields > a threshold by default
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* journal: reuse XZ context
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* sd-journal: speed up sd_journal_get_data() with transparent hash table in bg
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* introduce ntp.service (or suchlike) as symlink that is used to arbitrate between various NTP implementations
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* timer units should get the ability to trigger when:
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync - CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET)
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync - DST changes
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* update the kernel's TZ (sys_tz) when DST changes
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* sync down the system time to the RTC when:
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync - CLOCK_REALTIME makes jumps (the user explicitely requested a time set)
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync - DST/timezone changes && ntp is active && RTC-in-localtime (never do it without ntp)
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync This takes care of syncing ntpdate updates to the RTC, and DST updates for localtime
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync mode, it will never touch the RTC if the no reliable time source is active or the
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync user did not request anything like it.
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* When we begin with system shutdown all kind of suspend/hibernation should be prohibited until shutdown/reboot
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync* When we update the kernel all kind of hibernation should be prohibited until shutdown/reboot
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync - implement conditional properties (dmi matches)
61cb83a8ccd1dd7f671f31fa93c9d8b7be09b4ccvboxsync - hwdb --filter=ID_DRIVE_*
- move writing code to src/libudev/libudev-hwdb-private.c
* if booted in "quiet" mode, and an error happens, turn on status output again, so that the emergency mode isn't totally surprising
* localectl: add listing support for X11 keymaps, by parsing /usr/share/X11/xkb/rules/xorg.lst
we have nice support for multi-line messages on display in logs-show.c.
* 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",
* print nice message from systemctl --failed if there are no entries shown, and hook that into ExecStartPre of rescue.service/emergency.service
* 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().
* don't show cgroup in "systemctl status" if empty/non-existent, especially for foreign .mount units
* clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed
* add new command to systemctl: "systemctl system-reexec" which reexecs as many daemons as virtually possible
* 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
- instructions shipped by packages and stored in /usr/lib/
* 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
* refuse boot if /etc/machine-id is not useful
* cryptsetup-generator: add RequiresMountsFor= to cryptseup service files referencing a file, similar for devices
* systemctl: when powering down/suspending check for inhibitors, and warn.
* after deserializing sockets in socket.c we should reapply sockopts and things
* come up with a nice way to write queue/read_ahead_kb for a block device without interfering with readahead
* move PID 1 segfaults to /var/lib/systemd/coredump?
* create /sbin/init symlinks from the build system
* system.conf should have controls for cgroups
* 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.
* properly handle loop back mounts via fstab, especially regards to fsck/passno
* initialize the hostname from the fs label of /, if /etc/hostname does not exist?
* logind: wakelock/opportunistic suspend support
* man: clarify that time-sync.target is not only sysv compat but also useful otherwise. Same for similar targets
* efi: implement /forcefsck as uefi variables thus not requiring file system altering to trigger a file system check
* efi: automatically mount EFI partition to /boot if no such entry exists in /etc/fstab and /boot is empty
* support rd.luks.allow-discards= kernel cmdline params in cryptsetup generator
* when breaking cycles drop sysv services first, then services from /run, then from /etc, then from /usr
* 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/
* 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
* udev: add trigger --subsystem-match=usb/usb_device device
* 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
* journal: sanely deal with entries which are larger than the individual file size, but where the components would fit
* add option to sockets to avoid activation. Instead just drop packets/connections, see http://cyberelk.net/tim/2012/02/15/portreserve-systemd-solution/
* dbus: in fedora, make the machine a symlink to /etc/machine-id
* save coredump in Windows/Mozilla minidump format
* support crash reporting operation modes (https://live.gnome.org/GnomeOS/Design/Whiteboards/ProblemReporting)
* default to actual 32bit PIDs, via /proc/sys/kernel/pid_max
* when a bus name of a service disappears from the bus make sure to queue further activation requests
* hide PAM/TCPWrap options in fragment parser when compile time disabled
* 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)
* add support for /bin/mount -s
* teach dbus to activate all services it finds in /etc/systemd/services/org-*.service
* support systemd.mask= on the kernel command line.
* port over to LISTEN_FDS/LISTEN_PID:
- rpcbind (/var/run/rpcbind.sock!) HAVEPATCH
- libvirtd (/var/run/libvirt/libvirt-sock-ro)
- allow specification of socket mode/umask when allocating DBusServer
* gnome-shell python script/glxinfo/is-accelerated must die
* patch kernel for xattr support in /dev, /proc/, /sys and /sys/fs/cgroup?
* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!