chiark / gitweb /
verbs: when invoking the default verb, pass a faked argv array, with just the verb...
[elogind.git] / TODO
diff --git a/TODO b/TODO
index a26f3e27553f27337cfb076c7e1d9d6cb60437e0..c49d1795668e0c1ff38a551c15c547a9dc984ffd 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,9 +31,71 @@ External:
 
 Features:
 
 
 Features:
 
-* figure out what to do with libmount and utab?
+* Port various tools to make use of verbs.[ch], where applicable
+
+* Check all invocations of access() and consider turning them into laccess()
+
+* "machinectl run" that works like systemd-run, but allocates a pty in the container and attached the service to it
+
+* "machinectl start/enable/disable foo" as aliases for "systemctl start/enable/disable systemd-nspawn@foo.service"
+
+* "machinectl list-images" for showing a list of container trees collected from /var/lib/containers
+
+* "machinectl snapshot" to make a snapshot of a tree or container into /var/lib/containers
+
+* "machinectl rm" to remove a container tree from /var/lib/containers
+
+* "machinectl history"
+
+* "machinectl diff"
+
+* machined: open up certain commands to unprivileged clients via polkit
+
+* 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
+
+* bash completion for busctl, to make it truly useful
+
+* journald: broken file systems are real (btrfs), we need to handle
+  SIGBUS in some way if we cannot write or read from the disk.
+  https://bugzilla.redhat.com/show_bug.cgi?id=1151848
+
+* "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,
+  continously. 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
 
 
-* We really should have a FOREACH macro to iterate through inotify events we read, similar to KDBUS_FOREACH_ITEM
+* timedated should compensate on SetTime for the time spent in polkit
 
 * figure out when we can use the coarse timers
 
 
 * figure out when we can use the coarse timers
 
@@ -89,7 +147,10 @@ Features:
 
 * systemctl: if some operation fails, show log output?
 
 
 * systemctl: if some operation fails, show log output?
 
-* systemctl edit: add commented help text to the end, like git commit
+* 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
 
@@ -261,19 +322,17 @@ Features:
   ReadOnlyDirectories=... for whitelisting files for a service.
 
 * sd-bus:
   ReadOnlyDirectories=... for whitelisting files for a service.
 
 * sd-bus:
-  - xml policy inforcement and bus activated services is broken?
-  - rework errno registration logic
-  - how can we make the xml enforcement for native clients unnecessary?
+  - 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
@@ -525,7 +584,6 @@ Features:
 * 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).
 * 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).
-  - 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
   - 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
@@ -770,7 +828,7 @@ External:
 
 * zsh shell completion:
   - <command> <verb> -<TAB> should complete options, but currently does not
 
 * zsh shell completion:
   - <command> <verb> -<TAB> should complete options, but currently does not
-  - systemctl add-wants,add-requires, edit
+  - systemctl add-wants,add-requires
 
 
 Regularly:
 
 
 Regularly: