From 6d55e3a3641b35dd2bb4306711b4db4004bf6817 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Tue, 13 Feb 2024 14:00:50 +0100 Subject: [PATCH] Use tilde for rc tag versioning MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit tilde sorts lower in the version comparison spec: https://uapi-group.org/specifications/specs/version_format_specification/ ➜ systemd git:(strip) systemd-analyze compare-versions 249\~rc1 249 249\~rc1 < 249 ➜ systemd git:(strip) systemd-analyze compare-versions 249-rc1 249 249-rc1 > 249 Also update tools/meson-vcs-tag.sh to use carets instead of hyphens for the git part of the version as carets are allowed to be part of a version by pacman while hyphens are not and both sort higher than a version without the git part. --- docs/RELEASE.md | 2 +- tools/meson-vcs-tag.sh | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/RELEASE.md b/docs/RELEASE.md index d98fe0a2f9..4ba29a87a9 100644 --- a/docs/RELEASE.md +++ b/docs/RELEASE.md @@ -15,7 +15,7 @@ SPDX-License-Identifier: LGPL-2.1-or-later 6. [RC1] Update version and library numbers in `meson.build` 7. Check dbus docs with `ninja -C build update-dbus-docs` 8. Update translation strings (`cd build`, `meson compile systemd-pot`, `meson compile systemd-update-po`) - drop the header comments from `systemd.pot` + re-add SPDX before committing. If the only change in a file is the 'POT-Creation-Date' field, then ignore that file. -9. Tag the release: `version=vXXX-rcY && git tag -s "${version}" -m "systemd ${version}"` +9. Tag the release: `version=vXXX~rcY && git tag -s "${version}" -m "systemd ${version}"`. Note that this uses a tilde (\~) instead of a hyphen (-) because tildes sort lower in version comparisons according to the [version format specification](https://uapi-group.org/specifications/specs/version_format_specification/), and we want `v255-rc1` to sort lower than `v255`. 10. Do `ninja -C build` 11. Make sure that the version string and package string match: `build/systemctl --version` 12. [FINAL] Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones) diff --git a/tools/meson-vcs-tag.sh b/tools/meson-vcs-tag.sh index 4a8dc89ab2..6bac603929 100755 --- a/tools/meson-vcs-tag.sh +++ b/tools/meson-vcs-tag.sh @@ -29,5 +29,8 @@ else fi fi [ -z "$c" ] && c="${fallback}" - echo "$c" | sed 's/^v//; s/-rc/~rc/' + # Replace any hyphens with carets which are allowed in versions by pacman whereas hyphens are not. Git + # versions with carets will also sort higher than their non-git version counterpart both in pacman + # versioning and in version comparision spec versioning. + echo "$c" | sed 's/^v//; s/-/^/g' fi -- 2.25.1