summaryrefslogtreecommitdiffstats
path: root/man/org.freedesktop.sysupdate1.xml
diff options
context:
space:
mode:
authorAdrian Vovk <adrianvovk@gmail.com>2024-07-02 18:13:45 +0200
committerAdrian Vovk <adrianvovk@gmail.com>2024-08-22 22:00:45 +0200
commit57ada07e7aa2232eeedd75367ac55ef5bcf65f75 (patch)
treecde1dcdf38aff1062c250c50141bb0b713fe4cc0 /man/org.freedesktop.sysupdate1.xml
parentsysupdate: Check that --instances-max is in bounds (diff)
downloadsystemd-57ada07e7aa2232eeedd75367ac55ef5bcf65f75.tar.xz
systemd-57ada07e7aa2232eeedd75367ac55ef5bcf65f75.zip
sysupdate: Track incompletely-installed versions
When enumerating what versions exist for a given target, sysupdate would completely throw out any version that's incomplete (where some of the transfers in the target have that version installed or available, and other transfers do not). If we're trying to find what versions we can offer for download, this is great behavior. If the server side is advertising a partial update to download, we shouldn't present it to the user. On the other hand, if we're enumerating what versions we have currently installed, this is a bad behavior. It makes sysupdate fragile. For example, if a sysext introduces a new .conf file into /usr/lib/sysupdate.d, suddenly the currently-installed OS stops being a version that we've enumerated. Since it's not enumerated, it's not protected, and so sysupdate will wipe the booted OS. So if we're looking for installed versions, we now loosen the restrictions and enumerate incomplete installations. Partial fix for https://github.com/systemd/systemd/issues/33339
Diffstat (limited to 'man/org.freedesktop.sysupdate1.xml')
-rw-r--r--man/org.freedesktop.sysupdate1.xml7
1 files changed, 7 insertions, 0 deletions
diff --git a/man/org.freedesktop.sysupdate1.xml b/man/org.freedesktop.sysupdate1.xml
index 66c21fab3d..3acae3d701 100644
--- a/man/org.freedesktop.sysupdate1.xml
+++ b/man/org.freedesktop.sysupdate1.xml
@@ -223,6 +223,13 @@ node /org/freedesktop/sysupdate1/target/host {
</varlistentry>
<varlistentry>
+ <term><literal>incomplete</literal></term>
+ <listitem><para>A boolean indicating whether this version is incomplete, which means that it is
+ missing some file. Note that only installed incomplete versions will be offered by the service;
+ versions that are incomplete on the server-side are completely ignored.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><literal>changelog_urls</literal></term>
<listitem><para>A list of strings that contain user-presentable URLs to ChangeLogs associated with
this version.</para></listitem>