chiark / gitweb /
Update TODO
[elogind.git] / TODO
diff --git a/TODO b/TODO
index 5baf81296ed59cc6d2420147f95042fa4cc3f048..a237e0cc024227dec63e86f6a146a07679dbc440 100644 (file)
--- a/TODO
+++ b/TODO
@@ -6,8 +6,6 @@ Bugfixes:
   automount points even when the original .automount file did not exist
   anymore. Only the .mount unit was still around.
 
   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.
-
 * ExecStart with unicode characters fails in strv_split_quoted:
 
           [Service]
 * ExecStart with unicode characters fails in strv_split_quoted:
 
           [Service]
@@ -22,8 +20,6 @@ External:
 
 * Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
 
 
 * Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
 
-* Fedora: post FPC ticket to move add %tmpfiles_create to the packaging guidelines
-
 * Fedora: move kernel image to /usr/lib/modules/, kernel-install will take care of populating /boot
 
 * Fedora: remove /etc/resolv.conf tmpfiles hack
 * Fedora: move kernel image to /usr/lib/modules/, kernel-install will take care of populating /boot
 
 * Fedora: remove /etc/resolv.conf tmpfiles hack
@@ -35,6 +31,74 @@ External:
 
 Features:
 
 
 Features:
 
+* support mbr raw disk images in systemd-nspawn, so that we can boot fedora cloud images unmodified
+
+* rework sigbus stuff to use mutex
+
+* create importd daemon, move "systemd-import" tool into machinectl
+
+* change default container location from /var/lib/container to /var/lib/machines
+
+* nspawn: when start a container "foobar" look for its configuration in a file "foobar.nspawn" in /etc/systemd/nspawn/ as well as next to the actualy directory or image to boot
+
+* Port various tools to make use of verbs.[ch], where applicable
+
+* Check all invocations of access() and consider turning them into laccess()
+
+* "machinectl history"
+
+* "machinectl diff"
+
+* "machinectl commit" that takes a writable snapshot of a tree, invokes a shell in it, and marks it read-only after use
+
+* "machinectl status" should show 10 most recent log lines of both the host logs of the unit of the machine, plus the logs generated in the machine
+
+* add transparent btrfs pool in a loopback file in /var if btrfs operations (such as systemd-import pull-dkr) are used and /var is not a btrfs file system
+
+* systemd-nspawn -x should support ephemeral instances of gpt images
+
+* move machinectl's mount and copy commands into machined
+
+* hostnamectl: show root image uuid
+
+* sysfs set api in libudev is not const
+
+* Find a solution for SMACK capabilities stuff:
+  http://lists.freedesktop.org/archives/systemd-devel/2014-December/026188.html
+
+* port libmount hookup to use API's own inotify interface, as soon as that is table in libmount
+
+* "systemctl preset-all" should probably order the unit files it
+  operates on lexicographically before starting to work, in order to
+  ensure deterministic behaviour if two unit files conflict (like DMs
+  do, for example)
+
+* resolved should optionally register additional per-interface LLMNR
+  names, so that for the container case we can establish the same name
+  (maybe "host") for referencing the server, everywhere.
+
+* systemd-journal-upload (or a new, related tool): allow pushing out
+  journal messages onto the network in BSD syslog protocol,
+  continuously. Default to some link-local IP mcast group, to make this
+  useful as a one-stop debugging tool.
+
+* synchronize console access with BSD locks:
+  http://lists.freedesktop.org/archives/systemd-devel/2014-October/024582.html
+
+* as soon as we have kdbus, and sender timestamps, revisit coalescing multiple parallel daemon reloads:
+  http://lists.freedesktop.org/archives/systemd-devel/2014-December/025862.html
+
+* set $REMOTE_IP (or $REMOTE_ADDR/$REMOTE_PORT) environment variable when doing per-connection socket activation. use format introduced by xinetd or CGI for this
+
+* the install state probably shouldn't get confused by generated units, think dbus1/kdbus compat!
+
+* in systemctl list-unit-files: show the install value the presets would suggest for a service in a third column
+
+* we should try harder to collapse start jobs for swaps that end up being the same:
+  http://lists.freedesktop.org/archives/systemd-devel/2014-November/025359.html
+
+* timedated should compensate on SetTime for the time spent in polkit
+
 * figure out when we can use the coarse timers
 
 * sd-resolve: drop res_query wrapping, people should call via the bus to resolved instead
 * figure out when we can use the coarse timers
 
 * sd-resolve: drop res_query wrapping, people should call via the bus to resolved instead
@@ -62,8 +126,6 @@ Features:
 
 * 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
 
-* configure.ac pretends dbus was optional but actually hardcodes use of dbus' pkg-config file to determine various dbus dirs such as policy and activation dirs
-
 * consider showing the unit names during boot up in the status output, not just the unit descriptions
 
 * dhcp: do we allow configuring dhcp routes on interfaces that are not the one we got the dhcp info from?
 * consider showing the unit names during boot up in the status output, not just the unit descriptions
 
 * dhcp: do we allow configuring dhcp routes on interfaces that are not the one we got the dhcp info from?
@@ -85,7 +147,10 @@ Features:
 
 * systemctl: if some operation 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
+* systemctl edit:
+- allow creation of units from scratch
+- use equvalent of cat() to insert existing config as a comment, prepended with #.
+  Upon editor exit, lines with one # are removed, lines with two # are left with one #, etc.
 
 * refcounting in sd-resolve is borked
 
 
 * refcounting in sd-resolve is borked
 
@@ -257,22 +322,17 @@ Features:
   ReadOnlyDirectories=... for whitelisting files for a service.
 
 * sd-bus:
   ReadOnlyDirectories=... for whitelisting files for a service.
 
 * sd-bus:
-  - add sd_bus_get_address() call
-  - s/owner_id/bus_id/?
-  - how can we make the xml enforcement for native clients unnecessary?
-  - replace "container" by "machine" in sd_bus_open_system_container()
-  - add "as" (array of strings) support to bloom filter
-  - bus-proxy: fix how we detect whether we are connected to a system bus
+  - kdbus: process fd=-1 for incoming msgs
+  - make dsrt happy, and change userspace header for kdbus to yyyyuta{tv}v
+  - kdbus: PID/TID goes missing for method calls from outside the PID namespace?
   - kdbus: the kernel should not allow messages to be delivered that have a reply serial != 0, reply-expect unset, but no appropriate window
   - kdbus: the kernel should not allow messages to be delivered that have a reply serial != 0, reply-expect unset, but no appropriate window
-  - kdbus: when we fake creds euid being (uint32_t) -1 is weirdly translated
   - kdbus: timestamps on kernel's NameOwnerChanged messages?
   - kdbus: timestamps on kernel's NameOwnerChanged messages?
-  - kdbus: busctl monitor message ordering is wildly out-of-order?
   - 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.
   - port to sd-resolve for connecting to TCP dbus servers
   - 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.
   - port to sd-resolve for connecting to TCP dbus servers
-  - kdbus: maybe add controlling tty and ppid metadata fields
+  - kdbus: maybe add controlling tty metadata fields
   - see if we can introduce a new sd_bus_get_owner_machine_id() call to retrieve the machine ID of the machine of the bus itself
   - when kdbus does not take our message without memfds, try again with memfds
   - introduce sd_bus_emit_object_added()/sd_bus_emit_object_removed() that automatically includes the build-in interfaces in the list
   - see if we can introduce a new sd_bus_get_owner_machine_id() call to retrieve the machine ID of the machine of the bus itself
   - when kdbus does not take our message without memfds, try again with memfds
   - introduce sd_bus_emit_object_added()/sd_bus_emit_object_removed() that automatically includes the build-in interfaces in the list
@@ -522,12 +582,7 @@ Features:
 * currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab is not
 
 * nspawn:
 * currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab is not
 
 * 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
-  - 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-generator: allow specification of passwords in crypttab itself
 
 * cryptsetup:
   - cryptsetup-generator: allow specification of passwords in crypttab itself