]> git.ipfire.org Git - thirdparty/systemd.git/commit
Report version string as in the Boot Loader Spec, fix boot loader upgrades
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 25 Oct 2022 07:53:49 +0000 (09:53 +0200)
committerLuca Boccassi <luca.boccassi@gmail.com>
Tue, 25 Oct 2022 11:23:57 +0000 (13:23 +0200)
commitaa314c87c570e2716168a850e5392ca44135fbf2
tree6473529bed588310f215181600c8a5c2ebbe3f3b
parent4117366a283657295264723e559d7ead79a7cfd3
Report version string as in the Boot Loader Spec, fix boot loader upgrades

We generate a "version string" that is reported by various tools. This patch
changes this version string to use the characters specified for the version
string in the Boot Loader Specification. We start using the special characters
we have in the spec for this exact purpose and thus fix version comparisons.
We also stop using '+' which is not part of the allowed charset and is used for
boot attempt counting and should not be part of the version string.

The version string is (among other places) used in sd-boot and the comparison
result is used by 'bootctl update' to decide whether to install a new binary.
Before, because 'nn-rc1' compares higher than 'nn', we would refuse to upgrade
pre-release versions.

The boot loader is the primary motivation. I'm not aware of programatic version
comparisons in other places, but it makes sense to use the same versions string
everywhere.

(This patch effectively only matters for non-distro builds, because distro
builds presumably use -Dversion-tag to set something meaningful. Ideally, those
version strings are compatible with our version strings, but this is outside of
our control.)
tools/meson-vcs-tag.sh