Skip to content

Commit

Permalink
Release 1.7.1
Browse files Browse the repository at this point in the history
  • Loading branch information
project-repo committed May 6, 2021
1 parent 0b95047 commit d21968f
Show file tree
Hide file tree
Showing 8 changed files with 190 additions and 99 deletions.
61 changes: 19 additions & 42 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
.PHONY: PKGBUILDs PKGBUILD-cagebreak PKGBUILD-cagebreak-bin upstream signatures
.PHONY: PKGBUILDs PKGBUILD-cagebreak PKGBUILD-cagebreak-bin signatures

all: output/manifest signatures
all: signatures

output/manifest: release_bin_$(version).tar.gz release_$(version).tar.gz
touch output/manifest
echo "version=$(version)" >> output/manifest
sha512sum output/release_$(version).tar.gz >> output/manifest
sha512sum output/release_bin_$(version).tar.gz >> output/manifest

signatures: release_bin_$(version).tar.gz.sig release_$(version).tar.gz.sig
signatures: release_$(version).tar.gz.sig

release_$(version).tar.gz: PKGBUILDs output upstream
mkdir upstream/cagebreak-pkgbuild
Expand All @@ -20,13 +14,8 @@ release_$(version).tar.gz: PKGBUILDs output upstream
cp cagebreak-bin/.SRCINFO upstream/cagebreak-pkgbuild/cagebreak-bin
export SOURCE_DATE_EPOCH=$$(git -C upstream/cagebreak-git log -1 --pretty=%ct) ; cd upstream ; tar --sort=name --mtime= --owner=0 --group=0 --numeric-owner -czf ../output/release_$(version).tar.gz cagebreak-pkgbuild

release_bin_$(version).tar.gz: output upstream
mkdir upstream/cagebreak-bin
cp upstream/cagebreak/build/cagebreak upstream/cagebreak-bin
cp upstream/cagebreak/build/cagebreak.1 upstream/cagebreak-bin
cp upstream/cagebreak/build/cagebreak-config.5 upstream/cagebreak-bin
cp upstream/cagebreak/LICENSE upstream/cagebreak-bin
export SOURCE_DATE_EPOCH=$$(git -C upstream/cagebreak-git log -1 --pretty=%ct) ; cd upstream ; tar --sort=name --mtime= --owner=0 --group=0 --numeric-owner -czf ../output/release_bin_$(version).tar.gz cagebreak-bin
release_$(version).tar.gz.sig: release_$(version).tar.gz
gpg --detach-sig -u $(gpgid) output/release_$(version).tar.gz

PKGBUILDs: PKGBUILD-cagebreak PKGBUILD-cagebreak-bin

Expand All @@ -42,39 +31,41 @@ cagebreak/PKGBUILD: upstream
cagebreak/.SRCINFO: cagebreak/PKGBUILD
cd cagebreak ; makepkg --printsrcinfo > .SRCINFO

cagebreak-bin/PKGBUILD: release_bin_$(version).tar.gz
cagebreak-bin/PKGBUILD: upstream
cd cagebreak-bin ; sed -i "s/pkgver=.*/pkgver=$(version)/g" PKGBUILD
cd cagebreak-bin ; sed -i "s/pkgrel=.*/pkgrel=$(release)/g" PKGBUILD
hash=$$(sha512sum output/release_bin_$(version).tar.gz | cut -d " " -f1) ; cd cagebreak-bin ; sed -i "s/sha512sums=.*/sha512sums=\(\'$$hash\'\)/g" PKGBUILD
hash=$$(sha512sum upstream/release-artefacts_$(version).tar.gz | cut -d " " -f1) ; cd cagebreak-bin ; sed -i "s/sha512sums=.*/sha512sums=\(\'$$hash\'\)/g" PKGBUILD

cagebreak-bin/.SRCINFO: cagebreak-bin/PKGBUILD
cd cagebreak-bin ; makepkg --printsrcinfo > .SRCINFO

release_$(version).tar.gz.sig: release_$(version).tar.gz
gpg --detach-sig -u $(gpgid) output/release_$(version).tar.gz

release_bin_$(version).tar.gz.sig: release_bin_$(version).tar.gz
gpg --detach-sig -u $(gpgid) output/release_bin_$(version).tar.gz

output:
mkdir -p output

upstream:
# Download and verify sources (and verify tag)
## Prepare directories
mkdir -p upstream
rm -rf upstream/*
## Download source
wget "https://github.com/project-repo/cagebreak/releases/download/$(version)/release_$(version).tar.gz"
mv "release_$(version).tar.gz" upstream
wget "https://github.com/project-repo/cagebreak/releases/download/$(version)/release_$(version).tar.gz.sig"
mv "release_$(version).tar.gz.sig" upstream
gpg --verify "upstream/release_$(version).tar.gz.sig" "upstream/release_$(version).tar.gz"
cd upstream ; tar -xf release_$(version).tar.gz
cd upstream/cagebreak ; meson build -Dxwayland=true -Dman-pages=true --buildtype=release
ninja -C upstream/cagebreak/build
gpg --verify upstream/cagebreak/signatures/cagebreak.sig upstream/cagebreak/build/cagebreak
## Download artefacts
wget "https://github.com/project-repo/cagebreak/releases/download/$(version)/release-artefacts_$(version).tar.gz"
mv "release-artefacts_$(version).tar.gz" upstream
wget "https://github.com/project-repo/cagebreak/releases/download/$(version)/release-artefacts_$(version).tar.gz.sig"
mv "release-artefacts_$(version).tar.gz.sig" upstream
gpg --verify "upstream/release-artefacts_$(version).tar.gz.sig" "upstream/release-artefacts_$(version).tar.gz"
## Verify tag
git clone --depth=1 https://github.com/project-repo/cagebreak upstream/cagebreak-git
git -C upstream/cagebreak-git tag -v $(version)

check: all
# Perform sanity checks on output
## Check version continuity
[[ $$(vercmp $(version) $$(git tag | tail -1)) -eq 1 ]]
grep -Fxq "pkgver=$(version)" cagebreak/PKGBUILD
grep -Fxq "pkgrel=$(release)" cagebreak/PKGBUILD
Expand All @@ -86,7 +77,6 @@ check: all
[[ cagebreak-bin/.SRCINFO -nt cagebreak-bin/PKGBUILD ]]
grep -Fqx " pkgver = $(version)" cagebreak-bin/.SRCINFO
grep -Fqx " pkgrel = $(release)" cagebreak-bin/.SRCINFO
[[ $$(wc -l output/manifest) = "3 output/manifest" ]]
gpg --verify output/release_$(version).tar.gz.sig output/release_$(version).tar.gz
gpg --verify output/release_$(version).tar.gz.sig output/release_$(version).tar.gz 2>&1 >/dev/null | grep -Fxq "gpg: using RSA key $(gpgid)"
gpg --verify output/release_$(version).tar.gz.sig output/release_$(version).tar.gz 2>&1 >/dev/null | grep -Fxq "gpg: Good signature from \"project-repo <archlinux-aur@project-repo.co>\" [ultimate]"
Expand All @@ -102,19 +92,6 @@ check: all
[[ $$(tar -xOf output/release_$(version).tar.gz cagebreak-pkgbuild/cagebreak/.SRCINFO | sha512sum) = $$(cat cagebreak/.SRCINFO | sha512sum) ]]
[[ $$(tar -xOf output/release_$(version).tar.gz cagebreak-pkgbuild/cagebreak-bin/PKGBUILD | sha512sum) = $$(cat cagebreak-bin/PKGBUILD | sha512sum) ]]
[[ $$(tar -xOf output/release_$(version).tar.gz cagebreak-pkgbuild/cagebreak-bin/.SRCINFO | sha512sum) = $$(cat cagebreak-bin/.SRCINFO | sha512sum) ]]
gpg --verify output/release_bin_$(version).tar.gz.sig output/release_bin_$(version).tar.gz
gpg --verify output/release_bin_$(version).tar.gz.sig output/release_bin_$(version).tar.gz 2>&1 >/dev/null | grep -Fxq "gpg: using RSA key $(gpgid)"
gpg --verify output/release_bin_$(version).tar.gz.sig output/release_bin_$(version).tar.gz 2>&1 >/dev/null | grep -Fxq "gpg: Good signature from \"project-repo <archlinux-aur@project-repo.co>\" [ultimate]"
[[ $$(tar --list -f output/release_bin_$(version).tar.gz | wc -l) = "5" ]]
[[ $$(tar --list -f output/release_bin_$(version).tar.gz | head -1) = "cagebreak-bin/" ]]
[[ $$(tar --list -f output/release_bin_$(version).tar.gz | head -2 | tail -1) = "cagebreak-bin/LICENSE" ]]
[[ $$(tar --list -f output/release_bin_$(version).tar.gz | head -3 | tail -1) = "cagebreak-bin/cagebreak" ]]
[[ $$(tar --list -f output/release_bin_$(version).tar.gz | head -4 | tail -1) = "cagebreak-bin/cagebreak-config.5" ]]
[[ $$(tar --list -f output/release_bin_$(version).tar.gz | head -5 | tail -1) = "cagebreak-bin/cagebreak.1" ]]
[[ $$(tar -xOf output/release_bin_$(version).tar.gz cagebreak-bin/LICENSE | sha512sum) = $$(cat upstream/cagebreak/LICENSE | sha512sum) ]]
[[ $$(tar -xOf output/release_bin_$(version).tar.gz cagebreak-bin/cagebreak | sha512sum) = $$(cat upstream/cagebreak/build/cagebreak | sha512sum) ]]
[[ $$(tar -xOf output/release_bin_$(version).tar.gz cagebreak-bin/cagebreak-config.5 | sha512sum) = $$(cat upstream/cagebreak/build/cagebreak-config.5 | sha512sum) ]]
[[ $$(tar -xOf output/release_bin_$(version).tar.gz cagebreak-bin/cagebreak.1 | sha512sum) = $$(cat upstream/cagebreak/build/cagebreak.1 | sha512sum) ]]

clean:
rm -rf upstream
Expand Down
33 changes: 18 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,26 +23,29 @@ requires no build dependencies (runtime dependencies are still required).
The following keys are valid:

* A9C386EFBEB0819C5523E6AB2AD89C95DEA1AE85
* FC9B267D2C4AE25E139BADF5B093C3C73E9053A1

Note that the key is signed by at least one signing key of the cagebreak project.
Note that the keys are signed by at least one signing key of the cagebreak project.

## Release Automation

These are the minimally required commands for creating a release and generating
the PKGBUILDs for the [AUR](aur.archlinux.org).

* [ ] git checkout development
* [ ] git pull origin development
* [ ] make clean
* [ ] make version=release_tag release=pkgbuild_release gpgid=valid_gpg_id all
* [ ] git commit
* [ ] git push origin development
* [ ] git checkout master
* [ ] git merge --squash development
* [ ] git tag -u valid_gpg_id release_tag HEAD
* [ ] git tag -v release_tag
* [ ] git push --tags origin master
* [ ] git checkout development
* [ ] git merge master
* [ ] git push --tags origin development
* [ ] `git checkout development`
* [ ] `git pull origin development`
* [ ] `make clean`
* [ ] `make version=release_tag release=pkgbuild_release gpgid=valid_gpg_id check`
* [ ] `git commit`
* [ ] `git push origin development`
* [ ] `git checkout master`
* [ ] `git merge --squash development`
* [ ] `git commit` and insert "Release version"
* [ ] `git tag -u valid_gpg_id release_tag HEAD`
* [ ] `git tag -v release_tag`
* [ ] `git push --tags origin master`
* [ ] `git checkout development`
* [ ] `git merge master`
* [ ] `git push --tags origin development`
* [ ] upload artefacts
* [ ] `make clean`
8 changes: 4 additions & 4 deletions cagebreak-bin/.SRCINFO
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
pkgbase = cagebreak-bin
pkgdesc = Tiling wayland compositor based on cage inspired by ratpoison
pkgver = 1.7.0
pkgver = 1.7.1
pkgrel = 1
url = https://github.com/project-repo/cagebreak
arch = x86_64
license = MIT
depends = wayland
depends = libxkbcommon
depends = wlroots
depends = wlroots<0.14.0
depends = pango
optdepends = wl-clipboard: clipboard support
optdepends = xorg-xwayland: x application support
conflicts = cagebreak
options = !buildflags
options = !strip
source = cagebreak-bin-1.7.0.tar.gz::https://github.com/project-repo/cagebreak-pkgbuild/releases/download/1.7.0/release_bin_1.7.0.tar.gz
sha512sums = 8fcbf0989b1380575d22386fa1432169e8280977b10c878b65b551350fdd6f2c6e99e4c1b4a9941daf33db533c1bd35e49593ce0e3a493f5211d0d1af7739c19
source = cagebreak-bin-1.7.1.tar.gz::https://github.com/project-repo/cagebreak/releases/download/1.7.1/release-artefacts_1.7.1.tar.gz
sha512sums = b926401f21662f23fccba12edb51f509a2131e39b6e349a32ee468a64a8f9bf2937b9402c5f0056116266779216a481e6f72b414b3dd1ad55f198084b6fc1cd6

pkgname = cagebreak-bin

10 changes: 5 additions & 5 deletions cagebreak-bin/PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
# Maintainer: project-repo <archlinux-aur@project-repo.co>
pkgname=cagebreak-bin
pkgver=1.7.0
pkgver=1.7.1
pkgrel=1
pkgdesc='Tiling wayland compositor based on cage inspired by ratpoison'
arch=('x86_64')
url='https://github.com/project-repo/cagebreak'
license=('MIT')
depends=('wayland' 'libxkbcommon' 'wlroots' 'pango')
depends=('wayland' 'libxkbcommon' 'wlroots<0.14.0' 'pango')
optdepends=('wl-clipboard: clipboard support'
'xorg-xwayland: x application support')
source=("$pkgname-$pkgver.tar.gz::https://github.com/project-repo/cagebreak-pkgbuild/releases/download/$pkgver/release_bin_$pkgver.tar.gz")
source=("$pkgname-$pkgver.tar.gz::https://github.com/project-repo/cagebreak/releases/download/$pkgver/release-artefacts_$pkgver.tar.gz")
options=('!buildflags' '!strip')
conflicts=('cagebreak')
sha512sums=('8fcbf0989b1380575d22386fa1432169e8280977b10c878b65b551350fdd6f2c6e99e4c1b4a9941daf33db533c1bd35e49593ce0e3a493f5211d0d1af7739c19')
sha512sums=('b926401f21662f23fccba12edb51f509a2131e39b6e349a32ee468a64a8f9bf2937b9402c5f0056116266779216a481e6f72b414b3dd1ad55f198084b6fc1cd6')
package() {
cd "$pkgname"
cd release-artefacts_$pkgver
mkdir -p "$pkgdir/usr/bin/"
cp 'cagebreak' "$pkgdir/usr/bin/"
mkdir -p "$pkgdir/usr/share/licenses/$pkgname/"
Expand Down
10 changes: 5 additions & 5 deletions cagebreak/.SRCINFO
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
pkgbase = cagebreak
pkgdesc = Tiling wayland compositor based on cage inspired by ratpoison
pkgver = 1.7.0
pkgver = 1.7.1
pkgrel = 1
url = https://github.com/project-repo/cagebreak
arch = x86_64
license = MIT
makedepends = meson
makedepends = ninja
makedepends = pandoc
makedepends = scdoc
makedepends = wayland-protocols
depends = wayland
depends = libxkbcommon
depends = wlroots
depends = wlroots<0.14.0
depends = pango
optdepends = wl-clipboard: clipboard support
optdepends = xorg-xwayland: x application support
conflicts = cagebreak-bin
options = !buildflags
options = !strip
source = cagebreak-1.7.0.tar.gz::https://github.com/project-repo/cagebreak/releases/download/1.7.0/release_1.7.0.tar.gz
sha512sums = ad0d72317368e495d948781972c63f22d9eac9b23550f33c1035072ff4ddddae5193fdda9690deec029dba3a58b82229875ce865e7e746eeb6433d26e57e53e9
source = cagebreak-1.7.1.tar.gz::https://github.com/project-repo/cagebreak/releases/download/1.7.1/release_1.7.1.tar.gz
sha512sums = 0424ac8060c24118f7f8ccd4262ab0bc1e85f0236b2308db0f9cf109b0dae960898a7f84ef1cc2e82760b9e80a3141f865bb2d8ca8f0c5089ec485063289bd08

pkgname = cagebreak

8 changes: 4 additions & 4 deletions cagebreak/PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# Maintainer: project-repo <archlinux-aur@project-repo.co>
pkgname=cagebreak
pkgver=1.7.0
pkgver=1.7.1
pkgrel=1
pkgdesc='Tiling wayland compositor based on cage inspired by ratpoison'
arch=('x86_64')
url='https://github.com/project-repo/cagebreak'
license=('MIT')
depends=('wayland' 'libxkbcommon' 'wlroots' 'pango')
makedepends=('meson' 'ninja' 'pandoc' 'wayland-protocols')
depends=('wayland' 'libxkbcommon' 'wlroots<0.14.0' 'pango')
makedepends=('meson' 'ninja' 'scdoc' 'wayland-protocols')
optdepends=('wl-clipboard: clipboard support'
'xorg-xwayland: x application support')
options=('!buildflags' '!strip')
conflicts=('cagebreak-bin')
source=("$pkgname-$pkgver.tar.gz::https://github.com/project-repo/cagebreak/releases/download/$pkgver/release_$pkgver.tar.gz")
sha512sums=('ad0d72317368e495d948781972c63f22d9eac9b23550f33c1035072ff4ddddae5193fdda9690deec029dba3a58b82229875ce865e7e746eeb6433d26e57e53e9')
sha512sums=('0424ac8060c24118f7f8ccd4262ab0bc1e85f0236b2308db0f9cf109b0dae960898a7f84ef1cc2e82760b9e80a3141f865bb2d8ca8f0c5089ec485063289bd08')
build() {
cd "$pkgname"
meson build --buildtype=release -Dman-pages=true -Dxwayland=true
Expand Down
84 changes: 60 additions & 24 deletions keys/archlinux-aur@project-repo.co.pub
Original file line number Diff line number Diff line change
Expand Up @@ -48,28 +48,64 @@ gJd8yjSnhJjl2+BHSsA+t3HcqOY/FFby53A0OpajAfG2qLxEMVTRXZoY3l7ojL7O
tGQPyxbeLwBirEk5PWeO2srxOd/nlH5sqYCrQ7xIvQGo/a4kYEKEW3NLPDnxNBtd
zEWNBuJZ6A6DeG3WcnxpZYkcK8KaOL3GaM9KOnGgdBFTDM/X46u5cyIB8pEEVWzN
9VJgI2U5N8r0i8FzcMvDMjj0xR2kXnfDVbhEjnxTUwc5eSYq9CBuQZwgQ8U5Odgx
kLkCDQRe1NsoARAAxRsew+t8d6TMH/551/FQDDdEgjEPCNm2L3+H5gYuAdPy2gGh
3fXuz11TkcBGeSj4pT7xS+2oQajplDQiYl7a2ULXP6ypKw4n8ISZUONOa4BCHlo3
HYXS4RtLymgR4D+UXNknbPKU9XzGW3A+SkjzLnFqSNOIb7WdyldQM3obJFn3CPCd
5uFa45T9NQ/bgAxZYSY6tqGoD4EMVLpydm1wclVcxLu/at2e/kDZTcGtMKYnt/I7
SdPCOsS6m3I6PUbP/aSiC9mPGdVVcTcV6uO7kkJY0rFXReZ7+wbSSft1iszD4HtS
Cjg9coExYx8CdUYSHplLLTEkHf0ChYLogDpZvnYPNStqHh0I4RhJXD+8CCoJnMGn
bW9s+t6A0SIL4/vNASJvBqYlvOys5NMw71DriVRJFHRDsBlFJUpw35CU1xIV5Tfw
pvybFCmbBhrsM9mXixagGYqXcEFLRtXmuOJ2VtELwVRyO2ubsb4pPyviEmLS6J3w
Krm2IBAnDre8nHnNy7Apx1n3IECeSfA8GbYSCdpuaV4S9583zr9j1soAD1ewteRn
vHYzwuPgs/2DNEPrTEaq0roGeh8AbZ2+PrTm15B0+jLbl679nWuqAVHTrLM1+Czt
Z5ewUh28HLUJDLsYVzENoCVPGRZppkmTI6ezAwSCV5WDn6x5wgbTUUNknVcAEQEA
AYkCPAQYAQgAJhYhBKnDhu++sIGcVSPmqyrYnJXeoa6FBQJe1NsoAhsMBQkB4TOA
AAoJECrYnJXeoa6FWTgP/j54atLgXT206DH555/ca+YkZ+2AAx3ysK5Ro6cyAPRq
vKWfd/DnSGqOIjyP+ZtjYDht28VKTc0Xc30DOrOHdHfuzxjzDDUOYRiOPcFgv289
ooPyPA38Rq/Yt9vnRc2s/9gkfn49CYCrA7QWhvYkbjE+XmDKtxmrBLXkv/rLlX5l
HDQBajGlZWmLT/e6eQoK38NL4movuXYnjDUdmyedMndFrBVjGckydoEC4/iKVQXB
Ss7gVGsTMUauefZBNkbHPIwd7hnALUL9963DmWw1pCxSd9pVuu7QHmBWI2kFjL7H
J0wxjLfEOgrunwUTsDGmnj0glo1XE0qWV93+q5u1pFYzvFELK9t7O9ZNvk8VgjQA
KZI18ihsaImo6trOtvqlwhN8hEtfThoxkAJQ7nPD1X+KalwNuRg1TgRisOREYkQp
UjoNcSutpnISG3AG7rxnn513hOjk1htMIUXHGHGzCVFi5lIYlKUvw3TRpy6pZjmJ
TN7bT1KdzFypuvG1zTkp6Xx2r9B76tY7Bg6N0Osih8689zYSpaTv1kIEWU2IYdPd
3ULY9ImTq9YM9lH+Jbs5RqN7tGOS7K0M8xclpnIA+wcCEe/P4Lu+r9TiM0T35OiA
BMMzsOggbAeL38J6qGpDlhS9g3GsxwdHU+488oo7NEbAnLgD0dCixT4Gt0dI54/h
=hpyt
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
NEbAnLgD0dCixT4Gt0dI54/h
=7ne3
-----END PGP PUBLIC KEY BLOCK-----
Loading

0 comments on commit d21968f

Please sign in to comment.