Difference between revisions of "Pmbootstrap release"

From postmarketOS
Jump to navigation Jump to search
(it's a good idea to increase the minimum apk version with every release)
(update URL to tag a release)
 
(7 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
* <code>pmb/config/__init__.py</code>:
 
* <code>pmb/config/__init__.py</code>:
 
** bump pmbootstrap version
 
** bump pmbootstrap version
** update the apk version to the current one in Alpine Linux
+
** update <code>apk_tools_static_min_version</code> to the [https://pkgs.alpinelinux.org/packages?name=apk-tools&branch=edge current one in Alpine Linux]
* [https://gitlab.com/postmarketOS/pmbootstrap/tags/new tag a release in gitlab]
+
** commit with the message "Prepare x.x.x release"
 +
* [https://gitlab.com/postmarketOS/pmbootstrap/-/tags/new tag a release in gitlab]
 
** fill out "release notes" (we can use markdown there), leave "message" empty
 
** fill out "release notes" (we can use markdown there), leave "message" empty
** look at the [https://gitlab.com/postmarketOS/pmbootstrap/commits/master previous commits] to write a good description of what changed
+
** look at the [https://gitlab.com/postmarketOS/pmbootstrap/commits/master previous commits] and copy paste the commit message titles, including the MR ID, like done in the [https://gitlab.com/postmarketOS/pmbootstrap/tags previous tags]). Sort by features, fixes and other.
 
* update the pypi release (see the script in {{issue|1679}})
 
* update the pypi release (see the script in {{issue|1679}})
* update the pmbootstrap aport in pmaports (change the pkgrel, update the checksum, build)
+
* 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
 
* 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):
 +
 +
<source lang="bash">
 +
#!/bin/sh -ex
 +
 +
cd ~/code/pmbootstrap
 +
pkgver_new=$(cat pmb/config/__init__.py | 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
 +
</source>
 +
 +
[[Category:Guide]]

Latest revision as of 16:42, 10 May 2020

Checklist for creating a pmbootstrap release:

  • pmb/config/__init__.py:
    • 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"
  • tag a release in gitlab
    • fill out "release notes" (we can use markdown there), leave "message" empty
    • 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.
  • 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/__init__.py | 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