1
0
mirror of https://github.com/systemd/systemd synced 2024-07-09 04:26:06 +00:00
systemd/docs/RELEASE.md
Daan De Meyer 6d55e3a364 Use tilde for rc tag versioning
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.
2024-02-13 18:14:36 +01:00

2.4 KiB

title category layout SPDX-License-Identifier
Steps to a Successful Release Contributing default LGPL-2.1-or-later

Steps to a Successful Release

  1. Add all items to NEWS
  2. Update the contributors list in NEWS (ninja -C build git-contrib)
  3. Update the time and place in NEWS
  4. Update hwdb (ninja -C build update-hwdb, ninja -C build update-hwdb-autosuspend, commit separately).
  5. Update syscall numbers (ninja -C build update-syscall-tables update-syscall-header).
  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}". Note that this uses a tilde (~) instead of a hyphen (-) because tildes sort lower in version comparisons according to the 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)
  13. "Draft" a new release on github (https://github.com/systemd/systemd/releases/new), mark "This is a pre-release" if appropriate.
  14. Check that announcement to systemd-devel, with a copy&paste from NEWS, was sent. This should happen automatically.
  15. Update IRC topic (/msg chanserv TOPIC #systemd Version NNN released | Online resources https://systemd.io/)
  16. [FINAL] Push commits to stable, create an empty -stable branch: git push systemd-stable --atomic origin/main:main origin/main:refs/heads/${version}-stable.
  17. [FINAL] Build and upload the documentation (on the -stable branch): ninja -C build doc-sync
  18. [FINAL] Change the default branch to latest release (https://github.com/systemd/systemd-stable/settings/branches).
  19. [FINAL] Change the Github Pages branch in the stable repository to the newly created branch (https://github.com/systemd/systemd-stable/settings/pages) and set the 'Custom domain' to 'systemd.io'