mirror of
https://github.com/systemd/systemd
synced 2024-10-06 16:21:34 +00:00
reorder TODO a bit
This commit is contained in:
parent
80877656a5
commit
279f036675
97
TODO
97
TODO
|
@ -37,10 +37,6 @@ Features:
|
||||||
|
|
||||||
* sd-resolve: drop res_query wrapping, people should call via the bus to resolved instead
|
* sd-resolve: drop res_query wrapping, people should call via the bus to resolved instead
|
||||||
|
|
||||||
* kdbus: peeking is subject to a race when we look at a message while the message is being migrated to the implementor's connection. Needs kernel fix, and then we need to invoke the FREE ioctl in busname_peek_message()
|
|
||||||
|
|
||||||
* kdbus: for some reason "busctl monitor" only shows metadata for signal msgs, never method call or method reply msgs
|
|
||||||
|
|
||||||
* add "systemctl start -v foobar.service" that shows logs of a service
|
* add "systemctl start -v foobar.service" that shows logs of a service
|
||||||
while the start command runs. This is non-trivial to do without
|
while the start command runs. This is non-trivial to do without
|
||||||
races though, since we should flush out all journal messages before
|
races though, since we should flush out all journal messages before
|
||||||
|
@ -52,28 +48,14 @@ Features:
|
||||||
|
|
||||||
* networkd-wait-online really should have a timeout by default
|
* networkd-wait-online really should have a timeout by default
|
||||||
|
|
||||||
* expose orientation sensors through logind
|
|
||||||
|
|
||||||
* add infrastructure to allocate dynamic/transient users and UID ranges, for use in user-namespaced containers, per-seat gdm login screens and gdm guest sessions
|
* add infrastructure to allocate dynamic/transient users and UID ranges, for use in user-namespaced containers, per-seat gdm login screens and gdm guest sessions
|
||||||
|
|
||||||
* resolved: maybe randomize DNS UDP source ports
|
|
||||||
|
|
||||||
* resolved: maybe compare query section of DNS replies
|
|
||||||
|
|
||||||
* machined: add an API so that libvirt-lxc can inform us about network interfaces being removed or added to an existing machine
|
* machined: add an API so that libvirt-lxc can inform us about network interfaces being removed or added to an existing machine
|
||||||
|
|
||||||
* maybe add support for specifier expansion in user.conf, specifically DefaultEnvironment=
|
* maybe add support for specifier expansion in user.conf, specifically DefaultEnvironment=
|
||||||
|
|
||||||
* kdbus: busnames.target should get pulled in by basic.target
|
|
||||||
|
|
||||||
* code cleanup: retire FOREACH_WORD_QUOTED, port to unquote_first_word() loops instead
|
* code cleanup: retire FOREACH_WORD_QUOTED, port to unquote_first_word() loops instead
|
||||||
|
|
||||||
* logind: when the power button is pressed short, just popup a logout dialog. If it is pressed for 1s, do the usual shutdown. Inspiration are Macs here.
|
|
||||||
|
|
||||||
* optionally support running journald from the command line for testing purposes in external projects
|
|
||||||
|
|
||||||
* journald: allow per-priority and per-service retention times when rotating/vacuuming
|
|
||||||
|
|
||||||
* introduce systemd-timesync-wait.service or so to sync on an NTP fix?
|
* introduce systemd-timesync-wait.service or so to sync on an NTP fix?
|
||||||
|
|
||||||
* systemd --user should issue sd_notify() upon reaching basic.target, not on becoming idle
|
* systemd --user should issue sd_notify() upon reaching basic.target, not on becoming idle
|
||||||
|
@ -91,26 +73,15 @@ Features:
|
||||||
|
|
||||||
* maybe provide an API to allow migration of foreign PIDs into existing scopes.
|
* maybe provide an API to allow migration of foreign PIDs into existing scopes.
|
||||||
|
|
||||||
* PID 1 doesn't apply nspawns devices cgroup policy
|
|
||||||
|
|
||||||
* maybe support a new very "soft" reboot mode, that simply kills all processes, disassembles everything, flushes /run and sysvipc, and then reexecs systemd again
|
* maybe support a new very "soft" reboot mode, that simply kills all processes, disassembles everything, flushes /run and sysvipc, and then reexecs systemd again
|
||||||
|
|
||||||
* man: document that corrupted journal files is nothing to act on
|
* man: document that corrupted journal files is nothing to act on
|
||||||
|
|
||||||
* bus-proxy: when passing messages from kdbus, make sure we properly
|
|
||||||
handle the case where a large number of fds is appended that we
|
|
||||||
cannot pass into sendmsg() of the AF_UNIX sokcet (which only accepts
|
|
||||||
253 messages)
|
|
||||||
|
|
||||||
* man: maybe use the word "inspect" rather than "introspect"?
|
* man: maybe use the word "inspect" rather than "introspect"?
|
||||||
|
|
||||||
* introduce machines.target to order after all nspawn instances
|
|
||||||
|
|
||||||
* systemd-nspawn@.service should fail if some nspawn arg is invalid, with Type=notify
|
|
||||||
|
|
||||||
* "machinectl list" should probably show columns for OS version and IP addresses
|
* "machinectl list" should probably show columns for OS version and IP addresses
|
||||||
|
|
||||||
* systemctl: if it fails, show log output?
|
* systemctl: if some operation fails, show log output?
|
||||||
|
|
||||||
* maybe add "systemctl edit" that copies unit files from /usr/lib/systemd/system to /etc/systemd/system and invokes vim on them
|
* maybe add "systemctl edit" that copies unit files from /usr/lib/systemd/system to /etc/systemd/system and invokes vim on them
|
||||||
|
|
||||||
|
@ -118,24 +89,14 @@ Features:
|
||||||
|
|
||||||
* exponential backoff in timesyncd and resolved when we cannot reach a server
|
* exponential backoff in timesyncd and resolved when we cannot reach a server
|
||||||
|
|
||||||
* journald: make use of uid-range.h to managed uid ranges to split
|
|
||||||
journals in.
|
|
||||||
|
|
||||||
* tmpfiles: port to unquote_many_words(), similar to sysusers
|
* tmpfiles: port to unquote_many_words(), similar to sysusers
|
||||||
|
|
||||||
* unquote_many_words() should probably be used by a lot of code that
|
* unquote_many_words() should probably be used by a lot of code that
|
||||||
currently uses FOREACH_WORD and friends. For example, most conf
|
currently uses FOREACH_WORD and friends. For example, most conf
|
||||||
parsing callbacks should use it.
|
parsing callbacks should use it.
|
||||||
|
|
||||||
* logind: make the Suspend()/Hibernate() bus calls wait for the for
|
|
||||||
the job to be completed. before returning, so that clients can wait
|
|
||||||
for "systemctl suspend" to finish to know when the suspending is
|
|
||||||
complete.
|
|
||||||
|
|
||||||
* merge ~/.local/share and ~/.local/lib into one similar /usr/lib and /usr/share....
|
* merge ~/.local/share and ~/.local/lib into one similar /usr/lib and /usr/share....
|
||||||
|
|
||||||
* journald: allows specification of UID range for splitting up journal files
|
|
||||||
|
|
||||||
* systemd.show_status= should probably have a mode where only failed
|
* systemd.show_status= should probably have a mode where only failed
|
||||||
units are shown.
|
units are shown.
|
||||||
|
|
||||||
|
@ -174,17 +135,13 @@ Features:
|
||||||
- edns0
|
- edns0
|
||||||
- dname
|
- dname
|
||||||
- cname on PTR (?)
|
- cname on PTR (?)
|
||||||
|
- maybe randomize DNS UDP source ports
|
||||||
* Ignore .busname units on classic D-Bus boots, systemd-resolved cannot be started on kdbus
|
- maybe compare query section of DNS replies
|
||||||
without the active policy and should get a Wants=org.freedesktop.resolve1.busname to
|
|
||||||
pull-in the policy.
|
|
||||||
|
|
||||||
* Allow multiple ExecStart= for all Type= settings, so that we can cover rescue.service nicely
|
* Allow multiple ExecStart= for all Type= settings, so that we can cover rescue.service nicely
|
||||||
|
|
||||||
* Add a new verb "systemctl top"
|
* Add a new verb "systemctl top"
|
||||||
|
|
||||||
* logind: allow users to kill or lock their own sessions
|
|
||||||
|
|
||||||
* add new gpt type for btrfs volumes
|
* add new gpt type for btrfs volumes
|
||||||
|
|
||||||
* support empty /etc boots nicely:
|
* support empty /etc boots nicely:
|
||||||
|
@ -199,8 +156,6 @@ Features:
|
||||||
|
|
||||||
* figure out a nice way how we can let the admin know what child/sibling unit causes cgroup membership for a specific unit
|
* figure out a nice way how we can let the admin know what child/sibling unit causes cgroup membership for a specific unit
|
||||||
|
|
||||||
* journalctl: add the ability to look for the most recent process of a binary. journalctl /usr/bin/X11 --pid=-1 or so...
|
|
||||||
|
|
||||||
* mount_cgroup_controllers(): symlinks need to get the label applied
|
* mount_cgroup_controllers(): symlinks need to get the label applied
|
||||||
|
|
||||||
* For timer units: add some mechanisms so that timer units that trigger immediately on boot do not have the services
|
* For timer units: add some mechanisms so that timer units that trigger immediately on boot do not have the services
|
||||||
|
@ -210,8 +165,6 @@ Features:
|
||||||
|
|
||||||
* sd-event: generate a failure of a default event loop is executed out-of-thread
|
* sd-event: generate a failure of a default event loop is executed out-of-thread
|
||||||
|
|
||||||
* expose "Locked" property on logind sesison objects
|
|
||||||
|
|
||||||
* add bus api to query unit file's X fields.
|
* add bus api to query unit file's X fields.
|
||||||
|
|
||||||
* consider adding RuntimeDirectoryUser= + RuntimeDirectoryGroup=
|
* consider adding RuntimeDirectoryUser= + RuntimeDirectoryGroup=
|
||||||
|
@ -223,11 +176,6 @@ Features:
|
||||||
- Define new partition type for encrypted swap? Support probed LUKS for encrypted swap?
|
- Define new partition type for encrypted swap? Support probed LUKS for encrypted swap?
|
||||||
- Make /home automount rather than mount?
|
- Make /home automount rather than mount?
|
||||||
|
|
||||||
* improve journalctl performance by loading journal files
|
|
||||||
lazily. Encode just enough information in the file name, so that we
|
|
||||||
do not have to open it to know that it is not interesting for us, for
|
|
||||||
the most common operations.
|
|
||||||
|
|
||||||
* add generator that pulls in systemd-network from containers when
|
* add generator that pulls in systemd-network from containers when
|
||||||
CAP_NET_ADMIN is set, more than the loopback device is defined, even
|
CAP_NET_ADMIN is set, more than the loopback device is defined, even
|
||||||
when it is otherwise off
|
when it is otherwise off
|
||||||
|
@ -295,10 +243,6 @@ Features:
|
||||||
|
|
||||||
* refuse boot if /etc/os-release is missing or /etc/machine-id cannot be set up
|
* refuse boot if /etc/os-release is missing or /etc/machine-id cannot be set up
|
||||||
|
|
||||||
* given that logind now lets PID 1 do all nasty work, we can
|
|
||||||
probably reduce the capability set it retains substantially.
|
|
||||||
(we need CAP_SYS_ADMIN for drmSetMaster(), so maybe not worth it)
|
|
||||||
|
|
||||||
* btrfs raid assembly: some .device jobs stay stuck in the queue
|
* btrfs raid assembly: some .device jobs stay stuck in the queue
|
||||||
|
|
||||||
* make sure gdm does not use multi-user-x but the new default X configuration file, and then remove multi-user-x from systemd
|
* make sure gdm does not use multi-user-x but the new default X configuration file, and then remove multi-user-x from systemd
|
||||||
|
@ -329,6 +273,16 @@ Features:
|
||||||
- path escaping
|
- path escaping
|
||||||
- update systemd.special(7) to mention that dbus.socket is only about the compatibility socket now
|
- update systemd.special(7) to mention that dbus.socket is only about the compatibility socket now
|
||||||
- test bloom filter generation indexes
|
- test bloom filter generation indexes
|
||||||
|
- kdbus: peeking is subject to a race when we look at a message while the message is being migrated to the implementor's connection. Needs kernel fix, and then we need to invoke the FREE ioctl in busname_peek_message()
|
||||||
|
- kdbus: for some reason "busctl monitor" only shows metadata for signal msgs, never method call or method reply msgs
|
||||||
|
- kdbus: busnames.target should get pulled in by basic.target
|
||||||
|
- Ignore .busname units on classic D-Bus boots, systemd-resolved cannot be started on kdbus
|
||||||
|
without the active policy and should get a Wants=org.freedesktop.resolve1.busname to
|
||||||
|
pull-in the policy.
|
||||||
|
- bus-proxy: when passing messages from kdbus, make sure we properly
|
||||||
|
handle the case where a large number of fds is appended that we
|
||||||
|
cannot pass into sendmsg() of the AF_UNIX sokcet (which only accepts
|
||||||
|
253 messages)
|
||||||
|
|
||||||
* sd-event
|
* sd-event
|
||||||
- allow multiple signal handlers per signal?
|
- allow multiple signal handlers per signal?
|
||||||
|
@ -423,6 +377,19 @@ Features:
|
||||||
any session we should probably just become a NOP, since that's
|
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
|
usually not a real user session but just some system code that just
|
||||||
needs setuid().
|
needs setuid().
|
||||||
|
- logind: make the Suspend()/Hibernate() bus calls wait for the for
|
||||||
|
the job to be completed. before returning, so that clients can wait
|
||||||
|
for "systemctl suspend" to finish to know when the suspending is
|
||||||
|
complete.
|
||||||
|
- logind: when the power button is pressed short, just popup a
|
||||||
|
logout dialog. If it is pressed for 1s, do the usual
|
||||||
|
shutdown. Inspiration are Macs here.
|
||||||
|
- logind: allow users to kill or lock their own sessions
|
||||||
|
- expose "Locked" property on logind sesison objects
|
||||||
|
- given that logind now lets PID 1 do all nasty work, we can
|
||||||
|
probably reduce the capability set it retains substantially.
|
||||||
|
(we need CAP_SYS_ADMIN for drmSetMaster(), so maybe not worth it)
|
||||||
|
- expose orientation sensors through logind
|
||||||
|
|
||||||
* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
|
* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
|
||||||
|
|
||||||
|
@ -469,6 +436,15 @@ Features:
|
||||||
boot, and causes the journal to be moved back to /run on shutdown,
|
boot, and causes the journal to be moved back to /run on shutdown,
|
||||||
so that we do not keep /var busy. This needs to happen synchronously,
|
so that we do not keep /var busy. This needs to happen synchronously,
|
||||||
hence doing this via signals is not going to work.
|
hence doing this via signals is not going to work.
|
||||||
|
- optionally support running journald from the command line for testing purposes in external projects
|
||||||
|
- journald: allow per-priority and per-service retention times when rotating/vacuuming
|
||||||
|
- journald: make use of uid-range.h to managed uid ranges to split
|
||||||
|
journals in.
|
||||||
|
- journalctl: add the ability to look for the most recent process of a binary. journalctl /usr/bin/X11 --pid=-1 or so...
|
||||||
|
- improve journalctl performance by loading journal files
|
||||||
|
lazily. Encode just enough information in the file name, so that we
|
||||||
|
do not have to open it to know that it is not interesting for us, for
|
||||||
|
the most common operations.
|
||||||
|
|
||||||
* document:
|
* document:
|
||||||
- document that deps in [Unit] sections ignore Alias= fields in
|
- document that deps in [Unit] sections ignore Alias= fields in
|
||||||
|
@ -538,6 +514,9 @@ Features:
|
||||||
- bind mount read-only the cgroup tree higher than nspawn
|
- bind mount read-only the cgroup tree higher than nspawn
|
||||||
- refuses to boot containers without /etc/machine-id (OK?), and with empty /etc/machine-id (not OK).
|
- refuses to boot containers without /etc/machine-id (OK?), and with empty /etc/machine-id (not OK).
|
||||||
- support taking a btrfs snapshot at startup and dropping it afterwards
|
- support taking a btrfs snapshot at startup and dropping it afterwards
|
||||||
|
- introduce machines.target to order after all nspawn instances
|
||||||
|
- systemd-nspawn@.service should fail if some nspawn arg is invalid, with Type=notify
|
||||||
|
- PID 1 doesn't apply nspawns devices cgroup policy
|
||||||
|
|
||||||
* cryptsetup:
|
* cryptsetup:
|
||||||
- cryptsetup-generator: allow specification of passwords in crypttab itself
|
- cryptsetup-generator: allow specification of passwords in crypttab itself
|
||||||
|
|
Loading…
Reference in a new issue