Pmbootstrap release

From postmarketOS
Revision as of 21:44, 27 January 2021 by MartijnBraam (talk | contribs) (Adjust release docs to make an annotated signed git tag)
Jump to navigation Jump to search
Let's switch back to dl-cdn as default mirror after the next release (revert this patch).

Checklist for creating a pmbootstrap release:

  • pmb/config/
    • bump pmbootstrap version
    • update apk_tools_static_min_version to the current one in Alpine Linux
    • 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 the new tags with git push --tags
  • update the pypi release (see the script in #1679)
  • 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/config/ | grep "^version =" | cut -d\" -f 2)

# 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" | 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