2022-07-23 11:19:28 +01:00
|
|
|
# dbus release checklist
|
|
|
|
|
|
|
|
|
|
To make a release of D-Bus, do the following:
|
|
|
|
|
|
|
|
|
|
- check out a fresh copy from Git
|
|
|
|
|
|
2024-09-25 14:18:24 +01:00
|
|
|
- verify that the libtool versioning/library soname in `meson.build` is
|
2022-07-23 11:19:28 +01:00
|
|
|
changed if it needs to be, or not changed if not
|
2023-08-14 16:18:58 +01:00
|
|
|
- CMake takes the version number from `meson.build` and so should not
|
2022-07-23 11:21:39 +01:00
|
|
|
need updating
|
2022-07-23 11:19:28 +01:00
|
|
|
|
|
|
|
|
- update the file NEWS based on the git history
|
|
|
|
|
|
|
|
|
|
- verify that the version number of dbus-specification.xml is
|
|
|
|
|
changed if it needs to be; if changes have been made, update the
|
|
|
|
|
release date in that file
|
|
|
|
|
|
2023-08-21 18:18:22 +01:00
|
|
|
- update the AUTHORS file with
|
|
|
|
|
`ninja -C ${builddir} maintainer-update-authors`
|
|
|
|
|
if necessary
|
2022-07-23 11:19:28 +01:00
|
|
|
|
2024-09-25 14:18:24 +01:00
|
|
|
- the version number in `meson.build` should have major.minor.micro, even
|
2022-07-23 11:19:28 +01:00
|
|
|
if micro is 0, i.e. "1.0.0" and "1.2.0" not "1.0"/"1.2"; the micro
|
|
|
|
|
version should be even for releases, and odd for intermediate snapshots
|
2023-08-14 16:18:58 +01:00
|
|
|
- CMake takes the version number from `meson.build` and so should not
|
2022-07-23 11:21:39 +01:00
|
|
|
need updating
|
2022-07-23 11:19:28 +01:00
|
|
|
|
2024-12-09 17:04:39 +00:00
|
|
|
- When ready to release, `git commit -a`. This is the version
|
|
|
|
|
of the tree that corresponds exactly to the released tarball.
|
|
|
|
|
|
2023-08-14 16:18:58 +01:00
|
|
|
- `meson dist -C ${builddir)`
|
|
|
|
|
(this is the equivalent of Autotools `make distcheck`)
|
2022-07-23 11:19:28 +01:00
|
|
|
|
2024-12-09 17:04:39 +00:00
|
|
|
- if `meson dist` failed, fix it, commit, retry until successful
|
2022-07-23 11:19:28 +01:00
|
|
|
|
2023-08-14 16:18:58 +01:00
|
|
|
- tag the tree with `git tag -s -m 'Released X.Y.Z' dbus-X.Y.Z`
|
2022-07-23 11:19:28 +01:00
|
|
|
where X.Y.Z is the version of the release. If you can't sign
|
|
|
|
|
then simply created an unsigned annotated tag:
|
2023-08-14 16:18:58 +01:00
|
|
|
`git tag -a -m 'Released X.Y.Z' dbus-X.Y.Z`.
|
2022-07-23 11:19:28 +01:00
|
|
|
|
2024-09-25 14:18:24 +01:00
|
|
|
- bump the version number up in `meson.build`
|
2022-07-23 11:21:39 +01:00
|
|
|
again (so the micro version is odd),
|
2022-07-23 11:19:28 +01:00
|
|
|
and commit it. Make sure you do this *after* tagging the previous
|
|
|
|
|
release! The idea is that git has a newer version number
|
|
|
|
|
than anything released. Similarly, bump the version number of
|
|
|
|
|
dbus-specification.xml and set the release date to "(not finalized)".
|
|
|
|
|
|
|
|
|
|
- push your changes and the tag to the central repository with
|
2025-02-18 14:31:28 +00:00
|
|
|
`git push --atomic origin main dbus-X.Y dbus-X.Y.Z`
|
2022-07-23 11:19:28 +01:00
|
|
|
|
|
|
|
|
- scp your tarball to freedesktop.org server and copy it to
|
2024-12-09 17:06:29 +00:00
|
|
|
`dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/releases/dbus/`.
|
2022-07-23 11:19:28 +01:00
|
|
|
This should be possible if you're in group "dbus"
|
|
|
|
|
|
2023-08-14 16:18:58 +01:00
|
|
|
- Update the online documentation with
|
|
|
|
|
`ninja -C ${builddir} maintainer-upload-docs`.
|
2022-07-23 11:19:28 +01:00
|
|
|
|
2024-11-04 15:49:39 +00:00
|
|
|
- If `doc/busconfig.dtd` and/or `doc/introspect.dtd` have changed, send
|
|
|
|
|
a merge request to `xdg-specs` similar to
|
|
|
|
|
<https://gitlab.freedesktop.org/xdg/xdg-specs/90> to get the new
|
|
|
|
|
version published
|
|
|
|
|
|
2022-07-23 11:19:28 +01:00
|
|
|
- post to dbus@lists.freedesktop.org announcing the release.
|
|
|
|
|
|
|
|
|
|
## Making a ".0" stable release
|
|
|
|
|
|
|
|
|
|
We create a branch for each stable release. The branch name should be
|
|
|
|
|
dbus-X.Y which is a branch that has releases versioned X.Y.Z;
|
|
|
|
|
changes on a stable branch should be limited to significant bug fixes.
|
|
|
|
|
|
|
|
|
|
Because we won't make minor changes like keeping up with the latest
|
|
|
|
|
deprecations on a stable branch, stable branches should turn off the
|
2024-12-09 17:06:06 +00:00
|
|
|
gcc warning for deprecated declarations (e.g. see commit 76a68867).
|
2022-07-23 11:19:28 +01:00
|
|
|
|
2025-02-18 14:31:28 +00:00
|
|
|
Be extra-careful not to merge main (or any branch based on main) into a
|
2022-07-23 11:19:28 +01:00
|
|
|
stable branch.
|
|
|
|
|
|
|
|
|
|
To branch:
|
|
|
|
|
|
|
|
|
|
git branch dbus-X.Y
|
|
|
|
|
|
|
|
|
|
and upload the branch tag to the server:
|
|
|
|
|
|
|
|
|
|
git push origin dbus-X.Y
|
|
|
|
|
|
|
|
|
|
To develop in this branch:
|
|
|
|
|
|
|
|
|
|
git checkout dbus-X.Y
|
2024-11-04 15:47:53 +00:00
|
|
|
|
|
|
|
|
After starting a new stable branch:
|
|
|
|
|
|
|
|
|
|
- update the wiki page <https://www.freedesktop.org/wiki/Software/dbus> by
|
|
|
|
|
adding the new release under the Download heading
|