systemd/tools
Zbigniew Jędrzejewski-Szmek aa314c87c5 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.)
2022-10-25 13:23:57 +02:00
..
chromiumos licensing: add spdx header to chromiumos helper, move license file 2021-10-01 14:45:00 +02:00
add-git-hook.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
analyze-dump-sort.py tools/analyze-dump-sort: a helper to compare two 'systemd-analyze dump' outputs 2021-06-04 12:09:58 +02:00
catalog-report.py tree-wide: drop header for emacs from python scripts 2018-12-10 03:17:33 +09:00
check-api-docs.sh Change all fixed-path bash shebangs to /u/b/env bash outside test/ 2021-12-12 21:13:50 +01:00
check-directives.sh Merge pull request #23264 from keszybz/shorten-test-names 2022-05-04 23:25:47 +09:00
check-help.sh test/check-help: check that --help and -h are identical 2022-04-05 22:18:31 +02:00
check-includes.pl Drop "Copyright abandonded" header 2018-07-24 11:14:44 +02:00
check-version.sh tests: add a smoke test for --version option in binaries 2022-04-05 22:18:31 +02:00
coverity.sh ci: simplify the Coverity script a bit 2022-08-11 10:57:25 +02:00
dbus_exporter.py tools/dbus_exporter: deblackify and shorten code a bit 2022-03-22 14:07:53 +01:00
debug-sd-boot.sh meson: Use same name format for efi binary intermediates 2022-01-26 14:40:55 +01:00
find-build-dir.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
find-double-newline.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
find-tabs.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
gdb-sd_dump_hashmaps.py license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
generate-gperfs.py license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
git-contrib.sh tools/git-contrib: list contributions not only from Weblate 2022-03-29 19:42:01 +02:00
list-discoverable-partitions.py docs/DPS: use the SD_GPT_* constants here too 2022-09-21 15:30:31 +02:00
make-autosuspend-rules.py license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
make-directive-index.py man: add "DNS resource record types" section 2021-06-29 10:44:18 +02:00
make-man-index.py license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
meson-build.sh Fix which(1) in meson-build.sh 2022-05-23 12:52:56 +02:00
meson-make-symlink.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
meson-render-jinja2.py meson: also allow setting GIT_VERSION via templates 2022-04-05 22:18:31 +02:00
meson-vcs-tag.sh Report version string as in the Boot Loader Spec, fix boot loader upgrades 2022-10-25 13:23:57 +02:00
oss-fuzz.sh oss-fuzz: support i386 2022-05-29 09:32:00 +00:00
update-dbus-docs.py man: also add anotations for methods 2021-12-24 10:18:11 +00:00
update-hwdb-autosuspend.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
update-hwdb.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
update-man-rules.py meson: replace sh+find with an internal glob in the python helper 2022-03-23 11:37:35 +09:00
update-syscall-tables.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
xml_helper.py license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00