Rework sysupdate meson options (#34832)

systemd-sysupdated is still unstable and we'd like to make breaking
changes to it even after the v257 release, so we document it as such and
disable building it by default in release builds. The distro can still
opt-in, and we still build it in developer mode so it has CI coverage
This commit is contained in:
Luca Boccassi
2024-10-31 21:10:28 +00:00
committed by GitHub
8 changed files with 36 additions and 14 deletions
+4 -1
View File
@@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" >
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
<refentry id="org.freedesktop.sysupdate1" conditional='ENABLE_SYSUPDATE'
<refentry id="org.freedesktop.sysupdate1" conditional='ENABLE_SYSUPDATED'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>org.freedesktop.sysupdate1</title>
@@ -27,6 +27,9 @@
<citerefentry><refentrytitle>systemd-sysupdated.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
is a system service that allows unprivileged clients to update the system. This page describes the D-Bus
interface.</para>
<para><strong>WARNING!</strong> This API is currently <emphasis>unstable</emphasis> and is thus subject
to breaking changes between versions of systemd.</para>
</refsect1>
<refsect1>
+3 -3
View File
@@ -65,7 +65,7 @@ manpages = [
['org.freedesktop.portable1', '5', [], 'ENABLE_PORTABLED'],
['org.freedesktop.resolve1', '5', [], 'ENABLE_RESOLVE'],
['org.freedesktop.systemd1', '5', [], ''],
['org.freedesktop.sysupdate1', '5', [], 'ENABLE_SYSUPDATE'],
['org.freedesktop.sysupdate1', '5', [], 'ENABLE_SYSUPDATED'],
['org.freedesktop.timedate1', '5', [], 'ENABLE_TIMEDATED'],
['org.freedesktop.timesync1', '5', [], 'ENABLE_TIMESYNCD'],
['os-release', '5', ['extension-release', 'initrd-release'], ''],
@@ -1107,7 +1107,7 @@ manpages = [
['systemd-sysupdated.service',
'8',
['systemd-sysupdated'],
'ENABLE_SYSUPDATE'],
'ENABLE_SYSUPDATED'],
['systemd-sysusers', '8', ['systemd-sysusers.service'], ''],
['systemd-sysv-generator', '8', [], 'HAVE_SYSV_COMPAT'],
['systemd-time-wait-sync.service',
@@ -1286,7 +1286,7 @@ manpages = [
['udev_new', '3', ['udev_ref', 'udev_unref'], ''],
['udevadm', '8', [], ''],
['ukify', '1', [], 'ENABLE_UKIFY'],
['updatectl', '1', [], 'ENABLE_SYSUPDATE'],
['updatectl', '1', [], 'ENABLE_SYSUPDATED'],
['user@.service',
'5',
['systemd-user-runtime-dir', 'user-runtime-dir@.service'],
+1 -1
View File
@@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
<refentry id="systemd-sysupdated.service" conditional='ENABLE_SYSUPDATE'>
<refentry id="systemd-sysupdated.service" conditional='ENABLE_SYSUPDATED'>
<refentryinfo>
<title>systemd-sysupdated.service</title>
+1 -1
View File
@@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
<refentry id="updatectl" conditional='ENABLE_SYSUPDATE'
<refentry id="updatectl" conditional='ENABLE_SYSUPDATED'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
+15
View File
@@ -1609,6 +1609,20 @@ have = get_option('sysupdate').require(
error_message : 'fdisk and openssl required').allowed()
conf.set10('ENABLE_SYSUPDATE', have)
have2 = get_option('sysupdated')
if have2 == 'enabled'
if have
have2 = true
else
error('sysupdated requires sysupdate to be enabled')
endif
elif have2 == 'auto'
have2 = have and conf.get('BUILD_MODE_DEVELOPER') == 1
else
have2 = false
endif
conf.set10('ENABLE_SYSUPDATED', have2)
conf.set10('ENABLE_STORAGETM', get_option('storagetm'))
have = get_option('importd').require(
@@ -3071,6 +3085,7 @@ foreach tuple : [
['sysext'],
['systemd-analyze', conf.get('ENABLE_ANALYZE') == 1],
['sysupdate'],
['sysupdated'],
['sysusers'],
['storagetm'],
['timedated'],
+4
View File
@@ -108,6 +108,10 @@ option('repart', type : 'feature', deprecated : { 'true' : 'enabled', 'false' :
description : 'install the systemd-repart tool')
option('sysupdate', type : 'feature', deprecated : { 'true' : 'enabled', 'false' : 'disabled' },
description : 'install the systemd-sysupdate tool')
option('sysupdated', type: 'combo', value : 'auto',
choices : ['auto', 'enabled', 'disabled'],
description : 'install the systemd-sysupdated service')
option('coredump', type : 'boolean',
description : 'install the coredump handler')
option('pstore', type : 'boolean',
+3 -3
View File
@@ -40,7 +40,7 @@ executables += [
libexec_template + {
'name' : 'systemd-sysupdated',
'dbus' : true,
'conditions' : ['ENABLE_SYSUPDATE'],
'conditions' : ['ENABLE_SYSUPDATED'],
'sources' : files('sysupdated.c'),
'dependencies' : threads,
},
@@ -48,11 +48,11 @@ executables += [
'name' : 'updatectl',
'public' : true,
'sources' : systemd_updatectl_sources,
'conditions' : ['ENABLE_SYSUPDATE'],
'conditions' : ['ENABLE_SYSUPDATED'],
},
]
if conf.get('ENABLE_SYSUPDATE') == 1
if conf.get('ENABLE_SYSUPDATED') == 1
install_data('org.freedesktop.sysupdate1.conf',
install_dir : dbuspolicydir)
install_data('org.freedesktop.sysupdate1.service',
+5 -5
View File
@@ -640,15 +640,15 @@ units = [
'file' : 'systemd-sysupdate.service.in',
'conditions' : ['ENABLE_SYSUPDATE'],
},
{
'file' : 'systemd-sysupdated.service.in',
'conditions' : ['ENABLE_SYSUPDATE'],
'symlinks' : ['dbus-org.freedesktop.sysupdate1.service'],
},
{
'file' : 'systemd-sysupdate.timer',
'conditions' : ['ENABLE_SYSUPDATE'],
},
{
'file' : 'systemd-sysupdated.service.in',
'conditions' : ['ENABLE_SYSUPDATED'],
'symlinks' : ['dbus-org.freedesktop.sysupdate1.service'],
},
{
'file' : 'systemd-sysusers.service',
'conditions' : ['ENABLE_SYSUSERS'],