]> git.ipfire.org Git - thirdparty/systemd.git/commit
updatectl: Show a helpful error if an update is partially downloaded 41775/head
authorPhilip Withnall <pwithnall@gnome.org>
Wed, 22 Apr 2026 16:31:27 +0000 (17:31 +0100)
committerPhilip Withnall <pwithnall@gnome.org>
Fri, 24 Apr 2026 14:29:54 +0000 (15:29 +0100)
commit66b950cd3f47f49087ddd4a2f4812e82b209f2b7
tree027ced6f70964504cb28e1e9177ab05849c21a61
parente1146fe710d0d1bbe0fdca974f66edd7f6c573cc
updatectl: Show a helpful error if an update is partially downloaded

If an update is partially downloaded and the user tries to update again,
`updatectl` can’t currently do anything (it doesn’t yet support resuming
downloads). At the moment, though, it’ll return success as if the system
was up to date, even though it isn’t up to date.

Instead, print a more helpful error message telling the user to try
vacuuming the partial version and trying again.

I decided not to make it automatically vacuum the partial version, as
that seems like a way to get into a nasty retry loop if, for example,
the checksum provided by the server doesn’t match that of the downloaded
file (which is one way to trigger this code path).

Add an integration test which simulates this failure by corrupting the
`SHA256SUMS` file, trying to download an update, and then working
through the recovery steps.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Fixes: https://github.com/systemd/systemd/issues/41502
src/sysupdate/sysupdate.c
src/sysupdate/updatectl.c
test/units/TEST-72-SYSUPDATE.sh