title | category | layout | SPDX-License-Identifier |
---|---|---|---|
Steps to a Successful Release |
Contributing |
default |
LGPL-2.1-or-later |
- Add all items to NEWS
- Update the contributors list in NEWS (
ninja -C build git-contrib
) - Update the time and place in NEWS
- Update hwdb (
ninja -C build update-hwdb
,ninja -C build update-hwdb-autosuspend
, commit separately). - Update syscall numbers (
ninja -C build update-syscall-tables update-syscall-header
). - [RC1] Update version and library numbers in
meson.build
- Check dbus docs with
ninja -C build update-dbus-docs
- Update translation strings (
cd build
,meson compile systemd-pot
,meson compile systemd-update-po
) - drop the header comments fromsystemd.pot
+ re-add SPDX before committing. If the only change in a file is the 'POT-Creation-Date' field, then ignore that file. - Tag the release:
version=vXXX-rcY && git tag -s "${version}" -m "systemd ${version}"
- Do
ninja -C build
- Make sure that the version string and package string match:
build/systemctl --version
- Upload the documentation:
ninja -C build doc-sync
- [FINAL] Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones)
- "Draft" a new release on github (https://github.com/systemd/systemd/releases/new), mark "This is a pre-release" if appropriate.
- Check that announcement to systemd-devel, with a copy&paste from NEWS, was sent. This should happen automatically.
- Update IRC topic (
/msg chanserv TOPIC #systemd Version NNN released
) - [FINAL] Push commits to stable, create an empty -stable branch:
git push systemd-stable --atomic origin/main:main origin/main:refs/heads/${version}-stable
, and change the default branch to latest release (https://github.com/systemd/systemd-stable/settings/branches).