Kai Lüke
347f35cf42
sysext: Allow to (re)start units from extension-release metadata file
...
Up to now we recommended to use TARGET.upholds/ symlinks to start units
when an extension is loaded. However, this has some drawbacks. First,
for services that should not be tried to be started all the time we have
to resort to hiding them through a target that gets uphold and then
uses regular .wants/ for the actual service. Second, we actually leak
services on extension unload even if the unit has disappeared with the
extension. Third, to affect a service through a drop-in or a config
change from a confext/sysext and that service is already running, we
need a way to restart/reload it instead of just starting it.
Similar to EXTENSION_RELOAD_MANAGER=1, add a EXTENSION_RESTART_UNITS=
and a EXTENSION_RELOAD_OR_RESTART_UNITS= setting to the
extension-release metadata file, carrying a whitespace-separated list
of units to restart/reload on merge/refresh/unmerge after the daemon
reload. Also detect when the unit has vanished which is normally the
case when the unit was part of the unmerged extension, and stop it
explicitly to prevent it leaking. When the extension itself ships the
binary it should use EXTENSION_RESTART_UNITS= to make sure the new
binary is picked up. Since starting through this setting does not work
when the extension is mounted from the initrd, extensions should still
ship at least a .wants/ symlink to start at boot but can also continue
to ship a .upholds/ symlink for backwards compatibility without any
drawback and still benefit from the unit stopping triggered by the new
setting. While there are cases where one could want to set
EXTENSION_RESTART_UNITS= without requiring a daemon reload (e.g., an
env var file change instead of a unit drop-in), we now do an implicit
daemon reload when we have to restart units so that we know we work on
the right state and we spare users remembering to set this setting in
addition to prevent running into this issue.
2026-06-19 22:15:43 +02:00
..
2025-12-07 09:09:03 +09:00
2025-11-04 15:53:23 +00:00
2025-07-13 05:49:00 +09:00
2026-04-02 18:08:25 +02:00
2025-12-07 09:09:03 +09:00
2026-04-20 09:37:13 +02:00
2025-12-10 12:09:10 +01:00
2025-11-07 21:35:45 +00:00
2025-08-01 05:42:51 +09:00
2025-07-10 13:37:07 +09:00
2026-06-07 21:49:43 +02:00
2026-01-30 09:30:20 -05:00
2026-05-08 12:01:06 +01:00
2025-07-28 16:29:31 +09:00
2026-05-04 14:30:03 +01:00
2026-04-09 22:39:11 +02:00
2026-05-05 10:45:04 +02:00
2026-05-12 23:38:52 +01:00
2026-04-02 22:58:19 +09:00
2026-02-22 15:13:02 +01:00
2025-04-25 06:13:43 +09:00
2026-05-05 10:37:13 +02:00
2026-02-19 15:08:20 +01:00
2026-04-14 20:35:24 +02:00
2025-09-23 15:48:53 +01:00
2025-12-07 09:09:03 +09:00
2025-12-07 09:09:03 +09:00
2025-12-18 00:19:09 +01:00
2025-12-07 09:09:03 +09:00
2025-12-07 09:09:03 +09:00
2025-12-07 09:09:03 +09:00
2025-11-17 16:50:50 +01:00
2025-11-17 16:50:50 +01:00
2025-07-24 16:35:45 +02:00
2026-03-11 18:09:27 +01:00
2025-09-23 15:48:53 +01:00
2025-09-04 10:58:33 +09:00
2025-06-21 02:22:28 +09:00
2025-11-17 16:50:50 +01:00
2026-06-05 04:56:34 +09:00
2025-09-26 07:20:04 +09:00
2025-07-24 20:55:10 +09:00
2025-12-10 12:09:10 +01:00
2025-09-23 15:48:53 +01:00
2025-12-09 14:41:59 +09:00
2026-01-23 19:29:48 +01:00
2025-12-07 09:09:03 +09:00
2025-07-03 19:35:33 +02:00
2025-09-26 07:20:04 +09:00
2026-05-05 11:53:01 +01:00
2026-05-11 10:59:00 +02:00
2026-05-19 22:53:59 +01:00
2025-10-28 13:26:15 +00:00
2025-05-16 22:24:54 +09:00
2026-04-14 20:35:24 +02:00
2026-01-06 03:26:15 -08:00
2025-12-07 09:09:03 +09:00
2025-09-23 15:48:53 +01:00
2026-06-05 04:39:00 +09:00
2026-05-21 18:06:07 +02:00
2025-12-10 12:09:10 +01:00
2025-09-26 07:20:04 +09:00
2026-05-16 15:59:15 +02:00
2026-04-14 20:35:24 +02:00
2026-06-05 04:56:34 +09:00
2025-12-07 09:10:29 +09:00
2026-06-05 04:56:34 +09:00
2026-05-21 10:14:08 +01:00
2026-01-18 14:14:24 +09:00
2025-12-07 09:09:03 +09:00
2025-11-17 16:50:50 +01:00
2026-01-14 16:32:38 +01:00
2026-02-15 12:51:00 +00:00
2026-01-14 16:32:38 +01:00
2026-02-15 12:51:00 +00:00
2025-12-10 12:09:10 +01:00
2026-05-20 11:39:11 +02:00
2026-01-14 16:32:38 +01:00
2026-01-14 16:32:38 +01:00
2026-01-14 16:32:38 +01:00
2026-01-14 16:32:38 +01:00
2026-01-14 16:32:38 +01:00
2026-05-28 02:08:24 +09:00
2026-02-06 18:19:33 +01:00
2025-12-10 12:09:10 +01:00
2025-12-10 12:09:10 +01:00
2026-02-11 11:24:37 +01:00
2026-01-14 16:32:38 +01:00
2025-09-26 09:28:12 +09:00
2025-09-26 07:20:04 +09:00
2025-09-23 15:48:53 +01:00
2026-03-11 03:36:21 +09:00
2025-09-05 08:29:52 +02:00
2026-03-18 14:58:43 +01:00
2025-11-17 16:50:50 +01:00
2025-09-23 15:48:53 +01:00
2025-09-23 15:48:53 +01:00
2025-09-23 15:48:53 +01:00
2025-09-23 15:48:53 +01:00
2025-09-23 15:48:53 +01:00
2025-09-23 15:48:53 +01:00
2025-12-10 12:09:10 +01:00
2025-09-23 15:48:53 +01:00
2025-09-23 15:48:53 +01:00
2025-09-23 15:48:53 +01:00
2025-09-23 15:48:53 +01:00
2025-09-23 15:48:53 +01:00
2025-09-23 15:48:53 +01:00
2025-09-23 15:48:53 +01:00
2026-05-09 11:36:55 +02:00
2025-09-26 07:20:04 +09:00
2025-09-26 07:20:04 +09:00
2025-12-07 09:09:03 +09:00
2025-11-17 16:50:50 +01:00
2025-09-26 07:20:04 +09:00
2025-09-26 07:20:04 +09:00
2025-09-26 07:20:04 +09:00
2025-12-07 09:09:03 +09:00
2025-05-29 05:41:29 +09:00
2025-12-07 09:09:03 +09:00
2025-09-26 07:20:04 +09:00
2025-09-26 07:20:04 +09:00
2025-09-26 07:20:04 +09:00
2026-01-16 22:56:28 +09:00
2026-05-22 14:09:16 +01:00
2026-05-20 16:11:45 +02:00
2026-02-12 23:20:47 +00:00
2026-03-03 09:38:36 +01:00
2026-01-14 16:32:38 +01:00
2026-01-21 15:09:46 +01:00
2025-09-26 07:20:04 +09:00
2025-09-26 07:20:04 +09:00
2025-12-07 09:09:03 +09:00
2026-05-22 02:56:24 +00:00
2026-05-05 17:22:26 +02:00
2025-09-26 07:20:04 +09:00
2025-12-10 12:09:10 +01:00
2025-09-26 07:20:04 +09:00
2025-09-02 09:38:51 +01:00
2026-06-05 07:23:34 +09:00
2025-09-23 15:48:53 +01:00
2026-06-16 00:16:05 +01:00
2025-12-18 09:12:54 +01:00
2026-06-05 04:56:34 +09:00
2026-06-16 00:16:05 +01:00
2026-06-19 22:15:43 +02:00
2025-09-26 07:20:04 +09:00
2026-01-30 09:30:20 -05:00
2026-05-05 17:22:26 +02:00
2026-01-30 09:30:20 -05:00
2026-05-11 10:57:46 +02:00
2025-09-24 09:52:36 +02:00
2026-06-04 14:44:55 +01:00
2026-05-26 21:49:10 +01:00
2026-06-19 20:39:29 +02:00
2025-12-10 12:09:10 +01:00
2026-06-01 11:48:19 +02:00
2025-12-10 12:09:10 +01:00
2025-11-17 16:50:50 +01:00
2026-06-16 19:34:27 +01:00
2026-06-01 18:24:15 +01:00
2025-09-26 07:20:04 +09:00
2026-05-11 14:37:08 +01:00
2025-09-26 07:20:04 +09:00
2026-05-18 02:44:46 +09:00
2026-05-03 18:08:33 +01:00
2026-05-03 18:08:33 +01:00
2026-05-05 11:10:25 +02:00
2026-05-03 18:08:33 +01:00
2026-05-22 12:15:15 +02:00
2026-05-03 18:08:33 +01:00
2026-05-03 18:08:33 +01:00
2025-12-16 21:10:12 +00:00
2026-06-01 10:56:16 +02:00
2026-06-19 19:52:24 +01:00
2025-06-23 15:32:11 +02:00
2026-06-13 09:39:28 +01:00
2026-06-03 14:02:44 +01:00
2026-04-04 18:18:30 +01:00
2025-09-23 15:48:53 +01:00
2025-12-10 12:09:10 +01:00
2026-03-26 16:13:11 +01:00
2025-12-18 13:57:32 +01:00
2026-05-21 18:30:16 +02:00
2025-09-26 09:42:13 +02:00
2025-11-17 16:50:50 +01:00
2025-07-23 22:11:42 +09:00
2026-04-20 15:01:17 +01:00
2025-09-23 15:48:53 +01:00
2026-06-19 20:37:57 +02:00
2025-11-05 02:53:05 +09:00
2025-10-23 11:56:26 +01:00
2026-03-20 09:37:24 +01:00
2025-10-04 23:00:31 +02:00
2026-06-05 04:56:34 +09:00
2026-06-05 04:56:34 +09:00
2026-05-19 11:05:55 +02:00
2026-05-19 11:05:55 +02:00
2026-05-19 11:05:55 +02:00
2026-05-25 17:33:16 +01:00
2026-06-05 04:56:34 +09:00
2025-09-23 15:48:53 +01:00
2026-05-25 12:37:36 +02:00
2025-09-26 07:20:04 +09:00
2026-04-09 22:47:10 +02:00
2025-12-10 12:09:10 +01:00
2025-09-18 20:22:42 +02:00
2025-07-23 08:35:51 +09:00
2025-09-23 15:48:53 +01:00
2026-05-21 16:02:43 +01:00
2025-05-29 01:15:56 +01:00
2026-05-03 18:08:33 +01:00
2026-05-06 10:30:17 +02:00
2026-05-22 12:26:25 +02:00
2026-05-19 08:28:53 +00:00
2025-11-07 14:12:56 +01:00
2026-02-06 18:19:33 +01:00
2026-05-05 17:22:26 +02:00
2026-05-12 22:54:07 +02:00
2025-09-04 02:05:09 +09:00
2026-04-29 12:26:52 +02:00
2025-10-06 04:55:25 +09:00
2026-05-05 15:09:47 +02:00
2025-12-10 12:09:10 +01:00
2026-04-15 10:14:48 +02:00
2026-05-25 12:58:04 +01:00
2026-03-12 13:40:05 +00:00
2026-02-23 02:55:38 +01:00
2026-05-13 10:36:12 +02:00
2026-05-13 10:36:12 +02:00
2026-05-13 10:36:12 +02:00
2026-05-13 10:36:12 +02:00
2026-06-19 19:36:01 +01:00
2026-04-15 10:14:48 +02:00