Skip to content

Commit

Permalink
meson: add separate option for sysupdated, disable in release builds
Browse files Browse the repository at this point in the history
This commit introduces a build-time option to enable/disable sysupdated
separately from sysupdate. 'auto' translated to enabled by default in
developer builds.
  • Loading branch information
keszybz authored and bluca committed Oct 31, 2024
1 parent 8969652 commit 243b63d
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 13 deletions.
2 changes: 1 addition & 1 deletion man/org.freedesktop.sysupdate1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
6 changes: 3 additions & 3 deletions man/rules/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -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'], ''],
Expand Down Expand Up @@ -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',
Expand Down Expand Up @@ -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'],
Expand Down
2 changes: 1 addition & 1 deletion man/systemd-sysupdated.service.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
2 changes: 1 addition & 1 deletion man/updatectl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
15 changes: 15 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down Expand Up @@ -3071,6 +3085,7 @@ foreach tuple : [
['sysext'],
['systemd-analyze', conf.get('ENABLE_ANALYZE') == 1],
['sysupdate'],
['sysupdated'],
['sysusers'],
['storagetm'],
['timedated'],
Expand Down
4 changes: 4 additions & 0 deletions meson_options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
6 changes: 3 additions & 3 deletions src/sysupdate/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,19 @@ executables += [
libexec_template + {
'name' : 'systemd-sysupdated',
'dbus' : true,
'conditions' : ['ENABLE_SYSUPDATE'],
'conditions' : ['ENABLE_SYSUPDATED'],
'sources' : files('sysupdated.c'),
'dependencies' : threads,
},
executable_template + {
'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',
Expand Down
8 changes: 4 additions & 4 deletions units/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -641,13 +641,13 @@ units = [
'conditions' : ['ENABLE_SYSUPDATE'],
},
{
'file' : 'systemd-sysupdated.service.in',
'file' : 'systemd-sysupdate.timer',
'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',
Expand Down

0 comments on commit 243b63d

Please sign in to comment.