summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2012-11-15 10:33:16 -0500
committerAnthony G. Basile <blueness@gentoo.org>2012-11-15 10:33:16 -0500
commit7d4a62f8c1404ed426500b97af03d4ef8d034a71 (patch)
tree2436cd4f0460a3a3d589875d4ffba55556f3c582 /TODO
parent2944f347d087ff24ec808e4b70fe104a772a97a0 (diff)
Isolation of udev code from remaining systemd
This commit is a first attempt to isolate the udev code from the remaining code base. It intentionally does not modify any files but purely delete files which, on a first examination, appear to not be needed. This is a sweeping commit which may easily have missed needed code. Files can be retrieved by doing a checkout from the previous commit: git checkout 2944f347d0 -- <filename>
Diffstat (limited to 'TODO')
-rw-r--r--TODO609
1 files changed, 0 insertions, 609 deletions
diff --git a/TODO b/TODO
deleted file mode 100644
index 2488ee3b76..0000000000
--- a/TODO
+++ /dev/null
@@ -1,609 +0,0 @@
-Bugfixes:
-* check systemd-tmpfiles for selinux context hookup for mknod(), symlink() and similar
-
-* 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.
-
-* make polkit checks async
-
-* properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
-
-F18:
-
-* Retest multi-seat
-
-* add rpm macros for %rulesdir, %hwdbdir, update rules/hwdb call
-
-Features:
-
-* add API to close/reopen/get fd for journal client fd in libsystemd-journal.
-
-* maybe add API to send pairs of iovecs via sd_journal_send
-
-* 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
-
-* introduce ntp.service (or suchlike) as symlink that is used to arbitrate between various
- NTP implementations
-
-* sd-journal: don't return fields > a threshold by default
-* journal: reuse XZ context
-* sd-journal: speed up sd_journal_get_data() with transparent hash table in bg
-
-* 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
-
-* update the kernel's TZ (sys_tz) when DST changes
-
-* 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.
-
-* 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_*
- - find out what to do for blockdevs and skipping scsi modaliases
- - 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
-
-* 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.
-
-* 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
-
-* link up selected blog stories from man pages?
-
-* 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
-
-* don't show cgroup in "systemctl status" if empty/non-existent, especially for foreign .mount units
-
-* timedated: export boolean that clarifies whether NTP is even available
-
-* 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
-
-* 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
-
-* 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
-
-* nspawn: consider changing users for -u with su, so that NSS resolving works correctly
-
-* nspawn: implement personality changes a la linux32(8)
-
-* nspawn: reset all aux groups
-
-* 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
-
-* need to update LGPL2.1 text to newest version (with updated FSF address)
-
-* systemctl: when powering down/suspending check for inhibitors, and warn.
-
-* instantiated [Install] for target units
- https://bugs.freedesktop.org/show_bug.cgi?id=54377
-
-* 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
-
-* make nspawn work without terminal
-
-* hw watchdog: optionally try to use the preset watchdog timeout instead of always overriding it
- https://bugs.freedesktop.org/show_bug.cgi?id=54712
-
-* after deserializing sockets in socket.c we should reapply sockopts and things
-
-* make timer units go away after they elapsed
-
-* http://lists.freedesktop.org/archives/systemd-devel/2012-September/006502.html
-
-* 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
-
-* move keymaps to /usr/lib/... rather than /usr/lib/udev/...
-
-* 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
-
-* ability to pass fds into systemd
-
-* 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
-
-* 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.
-
-* 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
-
-* properly handle loop back mounts via fstab, especially regards to fsck/passno
-
-* 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
-
-* man: clarify that time-sync.target is not only sysv compat but also useful otherwise. Same for similar targets
-
-* .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.
-
-* Document:
- - PID 1 D-Bus API
-
-* 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
-
-* efi: honor language efi variables for default language selection
-
-* efi: honor timezone efi variables for default timezone selection
-
-* 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
-
-* 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)
-
-* 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 contrller 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
-
-* (attempt to) make Debianites happy:
- - implement .d/ auto includes for unit files
- - add syntax to reset ExecStart= lists (and similar)
-
-* 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
-
-* logind: auto-suspend, auto-shutdown:
- IdleAction=(none|suspend|opportunistic|hibernate|poweroff)
- IdleActionDelay=...
- SessionIdleMode=(explicit|ignore|login)
- ForceShutdown=(yes|no)
-
-* 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
-
-* vconsole: implement setterm -store -foreground xxx --background zzz
-
-* 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
-
-* Auke: merge Auke's bootchart
-
-* udev: move to LGPL
-
-* udev systemd unify:
- - strpcpy(), strpcpyl(), strscpy(), strscpyl()
- - utf8 validator code
-
-* udev: scsi_id -> sg3_utils -> kill scsi_id
-
-* udev: add trigger --subsystem-match=usb/usb_device device
-
-* allow configuration of console width/height in vconsole.conf
-
-* 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 the machine 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
-
-* 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
-
-* hide PAM/TCPWrap options in fragment parser when compile time disabled
-
-* when we automatically restart a service, ensure we restart its rdeps, too.
-
-* allow Type=simple with PIDFile=
- https://bugzilla.redhat.com/show_bug.cgi?id=723942
-
-* 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)
-
-* verify that the AF_UNIX sockets of a service in the fs still exist
- when we start a service in order to avoid confusion when a user
- assumes starting a service is enough to make it accessible
-
-* 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
-
-* 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
- - testing with Harald's awesome test kit
- - auto-restart
- - how to develop against journal browsing APIs
- - the journal HTTP iface
- - non-cgroup resource management
-
-* 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
-
-* investigate whether the gnome pty helper should be moved into systemd, to provide cgroup support.
-
-* 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
- - postfix, saslauthd
- - apache/samba
- - libvirtd (/var/run/libvirt/libvirt-sock-ro)
- - bluetoothd (/var/run/sdp! @/org/bluez/audio!)
- - distccd
-
-* fingerprint.target, wireless.target, gps.target, netdevice.target
-
-* 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
-
-External:
-
-* dbus:
- - dbus --user
- - natively watch for dbus-*.service symlinks (PENDING)
- - allow specification of socket mode/umask when allocating DBusServer
- - 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
-
-* 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?
-
-* 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
- to tell the kernel, to always do a full time sync when the RTC is in UTC and
- we are in 11-minutes-mode. When we trust the system time to NTP we also want
- the RTC to sync up.
-
-* kernel: add device_type = "fb", "fbcon" to class "graphics"
-
-Regularly:
-
-* look for close() vs. close_nointr() vs. close_nointr_nofail()
-
-* check for strerror(r) instead of strerror(-r)
-
-* Use PR_SET_PROCTITLE_AREA if it becomes available in the kernel
-
-* %m in printf() instead of strerror(errno);
-
-* pahole
-
-* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
-
-* use secure_getenv() instead of getenv() where appropriate
-
-Scheduled for removal or fixing:
-
-* xxxOverridable dependencies (probably: fix)
-
-* support for early-boot SysV services (definitely: remove)
-
-* insserv support (definitely: remove)