units: add unit that can auto-enables all suggested component/features

if enabled it will plug itself before systemd-sysupdate-update.service
and enable every component + feature that is suggested.
This commit is contained in:
Lennart Poettering
2026-07-15 13:27:48 +02:00
parent ca5ddf8cc0
commit 559f52ee3f
4 changed files with 34 additions and 1 deletions
+2 -1
View File
@@ -1277,7 +1277,8 @@ manpages = [
''],
['systemd-sysupdate',
'8',
['systemd-sysupdate-reboot.service',
['systemd-sysupdate-auto-enable.service',
'systemd-sysupdate-reboot.service',
'systemd-sysupdate-reboot.timer',
'systemd-sysupdate-update.service',
'systemd-sysupdate-update.timer',
+7
View File
@@ -22,6 +22,7 @@
<refname>systemd-sysupdate-update.timer</refname>
<refname>systemd-sysupdate-reboot.service</refname>
<refname>systemd-sysupdate-reboot.timer</refname>
<refname>systemd-sysupdate-auto-enable.service</refname>
<!-- Compatibility symlinks for old names of systemd-sysupdate-update.{service,timer} -->
<refname>systemd-sysupdate.service</refname>
@@ -87,6 +88,12 @@
appropriate time (i.e. typically at night). The two sets of service/timer units may be enabled
separately.</para>
<para>The <filename>systemd-sysupdate-auto-enable.service</filename> system service automatically enables all
suggested components and all features of the enabled components before each update. It is ordered before and
pulled in by <filename>systemd-sysupdate-update.service</filename>, and is not enabled by default. Enable it
if newly suggested components and features shall be picked up automatically as they become available, rather
than requiring manual <command>enable-component</command>/<command>enable-feature</command> invocations.</para>
<para>For details about transfer files and examples see
<citerefentry><refentrytitle>sysupdate.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
</refsect1>
+4
View File
@@ -872,6 +872,10 @@ units = [
'file' : 'systemd-sysinstall@.service',
'conditions' : ['ENABLE_SYSINSTALL'],
},
{
'file' : 'systemd-sysupdate-auto-enable.service',
'conditions' : ['ENABLE_SYSUPDATE'],
},
{
'file' : 'systemd-sysupdate-reboot.service',
'conditions' : ['ENABLE_SYSUPDATE'],
@@ -0,0 +1,21 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Automatically Enable All Suggested Components & Features for System Updates
Documentation=man:systemd-sysupdate-auto-enable.service(8)
Before=systemd-sysupdate-update.service
[Service]
Type=oneshot
ExecStart=systemd-sysupdate enable-component --component-suggested
ExecStart=systemd-sysupdate enable-feature --component-all --feature-all
[Install]
WantedBy=systemd-sysupdate-update.service