pmbootstrap release
Checklist
Checklist for creating a pmbootstrap
release:
- bump pmbootstrap version (
__version__
inpmb/__init__.py
) - update
apk_tools_min_version
to the current one in Alpine Linux (inpmb/config/__init__.py
) - commit with the message "Prepare x.x.x release"
- create a new tag with
git tag -s -a x.x.x
- look at the previous commits and copy paste the commit message titles, including the MR ID, like done in the previous tags). Sort by features, fixes and other.
- push your changes:
git push
git push --tag origin x.x.x
- update the pmbootstrap aport in Alpine's aports (change the pkgrel, update the checksum, build; see script below)
- if future changes in pmaports will require the new pmbootstrap version, increase it in pmaports.git's pmaports.cfg file
Script to partially automatize the upgrade in Alpine's aports (one still needs to copy over relevant changes to Alpine's aport, but pkgver and checksums are updated automatically):
#!/bin/sh -ex
cd ~/code/pmbootstrap
pkgver_new=$(cat pmb/__init__.py | grep "^__version__ =" | cut -d\" -f 2)
# remove old pkgs so 'apk search' works as expected
pmbootstrap -y zap -p
# make sure chroot is set up
pmbootstrap chroot -- true
# e.g. "pmbootstrap-1.15.0-r1"
current="$(pmbootstrap -q chroot -- apk search pmbootstrap)"
pkgver_old="$(echo "$current" | head -n1 | cut -d- -f 2)"
pmbootstrap pull
pmbootstrap -y aportgen --fork-alpine pmbootstrap
cd /home/user/code/pmbootstrap/aports/temp/pmbootstrap
sed -i "s/pkgver=$pkgver_old/pkgver=$pkgver_new/g" APKBUILD
pmbootstrap checksum pmbootstrap
pmbootstrap build pmbootstrap