diff --git a/NEWS b/NEWS
index b690625a0b..84998aa28a 100644
--- a/NEWS
+++ b/NEWS
@@ -104,6 +104,12 @@ CHANGES WITH 262:
so the filters were silently ignored. Scripts relying on filtered
field lists should be adjusted to query entries explicitly.
+ * The systemd-sysupdate binary has been moved back from bindir to
+ libexecdir, as more breaking changes are forthcoming and it is thus
+ again marked as experimental. It will be stabilized in a future
+ release. The libexecdir path is the backwards compatible way to call
+ it.
+
Changes in the system and service manager:
* The manager now embeds a basic set of unit files (basic.target,
diff --git a/man/experimental.xml b/man/experimental.xml
new file mode 100644
index 0000000000..b2f412f6ca
--- /dev/null
+++ b/man/experimental.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+ This option is experimental and subject to change at any given moment without notice.
+ It will be stabilized and given a backward-compatibility guarantee in a future release.
+
+ These options are experimental and subject to change at any given moment without notice.
+ They will be stabilized and given a backward-compatibility guarantee in a future release.
+
+
+ Experimental
+ This component is experimental and subject to change at any given moment without notice.
+ It will be stabilized and given a backward-compatibility guarantee in a future release.
+
+
diff --git a/man/org.freedesktop.sysupdate1.xml b/man/org.freedesktop.sysupdate1.xml
index fea301167e..2063bda26b 100644
--- a/man/org.freedesktop.sysupdate1.xml
+++ b/man/org.freedesktop.sysupdate1.xml
@@ -20,6 +20,8 @@
The D-Bus interface of systemd-sysupdated
+
+
Introduction
diff --git a/man/systemd-sysupdate.xml b/man/systemd-sysupdate.xml
index 49080f1e36..8a0e9d7e24 100644
--- a/man/systemd-sysupdate.xml
+++ b/man/systemd-sysupdate.xml
@@ -40,6 +40,8 @@
systemd-sysupdate-update.service
+
+
Description
diff --git a/man/systemd-sysupdated.service.xml b/man/systemd-sysupdated.service.xml
index 768b19ef8d..0010afddbe 100644
--- a/man/systemd-sysupdated.service.xml
+++ b/man/systemd-sysupdated.service.xml
@@ -3,7 +3,8 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
+
systemd-sysupdated.service
@@ -26,6 +27,8 @@
/usr/lib/systemd/systemd-sysupdated
+
+
Description
diff --git a/mkosi/mkosi.images/build/mkosi.conf.d/opensuse/mkosi.build.chroot b/mkosi/mkosi.images/build/mkosi.conf.d/opensuse/mkosi.build.chroot
index f3e8841e54..bbebf96e03 100755
--- a/mkosi/mkosi.images/build/mkosi.conf.d/opensuse/mkosi.build.chroot
+++ b/mkosi/mkosi.images/build/mkosi.conf.d/opensuse/mkosi.build.chroot
@@ -20,11 +20,13 @@ TS="${SOURCE_DATE_EPOCH:-$(date +%s)}"
# extension.
# TODO: remove autovt@ removal when the upstream spec is updated
# TODO: remove systemd-udevd-control.socket removal when the upstream spec is updated
+# TODO: remove systemd-sysupdate removal when the upstream spec is updated
while read -r filelist; do
sed -E \
-e '/autovt@/d' \
-e '/sockets\.target\.wants\/systemd-udevd-control\.socket/d' \
-e '/systemd-udevd-control\.socket\.8/d' \
+ -e '/^%\{_bindir\}\/systemd-sysupdate$/d' \
-e 's/\.gz$//' \
"$filelist" >"/tmp/$(basename "$filelist")"
mount --bind "/tmp/$(basename "$filelist")" "$filelist"
diff --git a/mkosi/mkosi.pkgenv/mkosi.conf.d/debian-ubuntu.conf b/mkosi/mkosi.pkgenv/mkosi.conf.d/debian-ubuntu.conf
index aa60579c4d..9cb78e36bb 100644
--- a/mkosi/mkosi.pkgenv/mkosi.conf.d/debian-ubuntu.conf
+++ b/mkosi/mkosi.pkgenv/mkosi.conf.d/debian-ubuntu.conf
@@ -9,5 +9,5 @@ Environment=
GIT_URL=https://salsa.debian.org/systemd-team/systemd.git
GIT_SUBDIR=debian
GIT_BRANCH=debian/master
- GIT_COMMIT=9badaae1c4c08db447b4e409784688f32d3f04f3
+ GIT_COMMIT=b12500baf3363288c692d47814c53b55f13e424e
PKG_SUBDIR=debian
diff --git a/src/sysupdate/meson.build b/src/sysupdate/meson.build
index c4f569096f..1d7cc3871a 100644
--- a/src/sysupdate/meson.build
+++ b/src/sysupdate/meson.build
@@ -24,7 +24,7 @@ systemd_updatectl_sources = files(
)
executables += [
- executable_template + {
+ libexec_template + {
'name' : 'systemd-sysupdate',
'public' : true,
'conditions' : ['ENABLE_SYSUPDATE'],
@@ -63,10 +63,3 @@ if conf.get('ENABLE_SYSUPDATED') == 1
install_data('org.freedesktop.sysupdate1.policy',
install_dir : polkitpolicydir)
endif
-
-if conf.get('ENABLE_SYSUPDATE') == 1
- # symlink for backwards compatibility after rename
- install_symlink('systemd-sysupdate',
- pointing_to : libexecdir_to_bin / 'systemd-sysupdate',
- install_dir : libexecdir)
-endif
diff --git a/test/units/TEST-72-SYSUPDATE.sh b/test/units/TEST-72-SYSUPDATE.sh
index 5224071ddb..b5fd26f3a7 100755
--- a/test/units/TEST-72-SYSUPDATE.sh
+++ b/test/units/TEST-72-SYSUPDATE.sh
@@ -5,7 +5,7 @@
set -eux
set -o pipefail
-SYSUPDATE=/usr/bin/systemd-sysupdate
+SYSUPDATE=/usr/lib/systemd/systemd-sysupdate
SYSUPDATED=/lib/systemd/systemd-sysupdated
UPDATECTL=""
VARLINK_SOCKET=/run/systemd/io.systemd.SysUpdate
diff --git a/units/meson.build b/units/meson.build
index 7e2dee392f..0d60b4e006 100644
--- a/units/meson.build
+++ b/units/meson.build
@@ -890,11 +890,11 @@ units = [
'conditions' : ['ENABLE_SYSINSTALL'],
},
{
- 'file' : 'systemd-sysupdate-auto-enable.service',
+ 'file' : 'systemd-sysupdate-auto-enable.service.in',
'conditions' : ['ENABLE_SYSUPDATE'],
},
{
- 'file' : 'systemd-sysupdate-reboot.service',
+ 'file' : 'systemd-sysupdate-reboot.service.in',
'conditions' : ['ENABLE_SYSUPDATE'],
},
{
@@ -902,12 +902,12 @@ units = [
'conditions' : ['ENABLE_SYSUPDATE'],
},
{
- 'file' : 'systemd-sysupdate-update.service',
+ 'file' : 'systemd-sysupdate-update.service.in',
'conditions' : ['ENABLE_SYSUPDATE'],
'symlinks' : ['systemd-sysupdate.service'], # compatibility after rename
},
{
- 'file' : 'systemd-sysupdate@.service',
+ 'file' : 'systemd-sysupdate@.service.in',
'conditions' : ['ENABLE_SYSUPDATE'],
},
{
diff --git a/units/systemd-sysupdate-auto-enable.service b/units/systemd-sysupdate-auto-enable.service.in
similarity index 77%
rename from units/systemd-sysupdate-auto-enable.service
rename to units/systemd-sysupdate-auto-enable.service.in
index 2fee785f87..34cf0cae35 100644
--- a/units/systemd-sysupdate-auto-enable.service
+++ b/units/systemd-sysupdate-auto-enable.service.in
@@ -14,8 +14,8 @@ Before=systemd-sysupdate-update.service
[Service]
Type=oneshot
-ExecStart=systemd-sysupdate enable-component --component-suggested
-ExecStart=systemd-sysupdate enable-feature --component-all --feature-suggested
+ExecStart={{LIBEXECDIR}}/systemd-sysupdate enable-component --component-suggested
+ExecStart={{LIBEXECDIR}}/systemd-sysupdate enable-feature --component-all --feature-suggested
[Install]
WantedBy=systemd-sysupdate-update.service
diff --git a/units/systemd-sysupdate-reboot.service b/units/systemd-sysupdate-reboot.service.in
similarity index 91%
rename from units/systemd-sysupdate-reboot.service
rename to units/systemd-sysupdate-reboot.service.in
index 6750fc431e..5d4011a213 100644
--- a/units/systemd-sysupdate-reboot.service
+++ b/units/systemd-sysupdate-reboot.service.in
@@ -14,7 +14,7 @@ ConditionVirtualization=!container
[Service]
Type=oneshot
-ExecStart=systemd-sysupdate reboot
+ExecStart={{LIBEXECDIR}}/systemd-sysupdate reboot
[Install]
Also=systemd-sysupdate-reboot.timer
diff --git a/units/systemd-sysupdate-update.service b/units/systemd-sysupdate-update.service.in
similarity index 93%
rename from units/systemd-sysupdate-update.service
rename to units/systemd-sysupdate-update.service.in
index 839c7fb06d..894d17034c 100644
--- a/units/systemd-sysupdate-update.service
+++ b/units/systemd-sysupdate-update.service.in
@@ -17,7 +17,7 @@ ConditionVirtualization=!container
[Service]
Type=simple
NotifyAccess=main
-ExecStart=systemd-sysupdate update --component-all --cleanup=yes
+ExecStart={{LIBEXECDIR}}/systemd-sysupdate update --component-all --cleanup=yes
# Keep this sandboxing synchronised with systemd-sysupdate@.service
CapabilityBoundingSet=CAP_CHOWN CAP_FOWNER CAP_FSETID CAP_MKNOD CAP_SETFCAP CAP_SYS_ADMIN CAP_SETPCAP CAP_DAC_OVERRIDE CAP_LINUX_IMMUTABLE
diff --git a/units/systemd-sysupdate@.service b/units/systemd-sysupdate@.service.in
similarity index 95%
rename from units/systemd-sysupdate@.service
rename to units/systemd-sysupdate@.service.in
index f8e86dd2c4..c54d469597 100644
--- a/units/systemd-sysupdate@.service
+++ b/units/systemd-sysupdate@.service.in
@@ -15,7 +15,7 @@ Conflicts=shutdown.target
Before=shutdown.target
[Service]
-ExecStart=-systemd-sysupdate
+ExecStart=-{{LIBEXECDIR}}/systemd-sysupdate
# Keep this sandboxing synchronised with systemd-sysupdate-update.service
CapabilityBoundingSet=CAP_CHOWN CAP_FOWNER CAP_FSETID CAP_MKNOD CAP_SETFCAP CAP_SYS_ADMIN CAP_SETPCAP CAP_DAC_OVERRIDE CAP_LINUX_IMMUTABLE