These notes are mostly for myself (J.L. Blanco), but hopefully they'll be useful to someone else maintaining MRPT in the future... ;-)
- Go to MRPT git cloned repository.
- Make sure of being in branch develop.
- Edit
doc/source/doxygen-docs/changelog.md
and set the release date. - Do the final
git commit
before the release. - When all CI tests pass:
git checkout master
git merge develop
git tag --sign X.Y.Z # release new version
bash packaging/make_release.sh
# If everything seems OK, push it:
# **WARNING**: This command makes the release public!
git push master --tags
- The source tarballs are now in
$(HOME)/mrpt_release
. - Windows binaries will be automatically generated from AppVeyor CI, wait for them.
- Create a new GitHub release from the tag.
- Attach the tarball, pgp signature, and Windows installer.
- Release done! :-)
As of MRPT 2.4.0 (Oct/2021), we switched to gbp with:
- Upstream repository (source code): https://github.com/mrpt/mrpt
- gbp repository: https://salsa.debian.org/robotics-team/mrpt
Instructions:
- Make sure of having generated and uploaded to the GitHub release the xxx.tar.gz and its PGP signature (part "1" above).
- Go to the directory where the mrpt gbp repo is cloned and integrate the new release with:
cd /PATH/TO/MRPT_GBP_REPO
git checkout master
# Download new release from GitHub releases:
gbp import-orig --uscan --pristine-tar
# **Or** from a local copy (for dry-runs before actual releases):
#gbp import-orig --pristine-tar /PATH/TO/MRPT.X.Y.Z.tar.gz
# update the files in debian/ (copyright, *.install) as needed, commit them and run:
gbp dch -R -c --git-author --distribution=unstable
# Test build (if changes are significant):
# (Create cowbuilder image upon first usage first, then run the command below
# inside of:
# DIST=sid BINDMOUNTS=/home/xxx/xxx/ sudo pbuilder login --save-after-login
# )
gbp buildpackage
# or from the host:
# gbp buildpackage --git-pbuilder --git-postbuild='lintian $GBP_CHANGES_FILE'
# Push:
gbp push
If at some point a new PGP signature is used to sign upstream (MRPT GitHub repo, not Debian) source packages, remember updating the PGP public key within the gbp repository with:
# Export signing pub key:
git checkout master
mkdir debian/upstream/ || true
gpg --export --export-options export-minimal --armor > debian/upstream/signing-key.asc