summarylogtreecommitdiffstats
path: root/release
blob: b6eb717684cc850d4409d90c40fd45adf83d71ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#! /bin/sh

if [ "$1" = "--help" ] || [ "$1" = "-h" ] || [ "$1" = "help" ] || [ -z "$1" ]; then
  cat <<EOF
$ release VERSION
Prepare a new version for release

Parameters:
  \$1: version number of new release

Example:
  $ release 1337
EOF
  exit
fi

command -v wget >/dev/null || { echo "wget is not installed" 1>&2; exit 127; }
command -v makepkg >/dev/null || { echo "makepkg was not found" 1>&2; exit 127; }
command -v git >/dev/null || { echo "git is not installed" 1>&2; exit 127; }

VERSION="$1"
CHECKSUMS_FILE="checksums-$VERSION.txt"

# update version nr
sed -r "s/^pkgver=.*$/pkgver=\"$VERSION\"/g" PKGBUILD -i

# get checksums
wget -q -nc "https://github.com/jonaslu/ain/releases/download/v$VERSION/checksums.txt" -O $CHECKSUMS_FILE
SUM_x86="$(grep 'linux_x86_64.tar.gz$' $CHECKSUMS_FILE | cut -d\  -f1)"
SUM_arm="$(grep 'linux_arm64.tar.gz$' $CHECKSUMS_FILE | cut -d\  -f1)"
SUM_i386="$(grep 'linux_i386.tar.gz$' $CHECKSUMS_FILE | cut -d\  -f1)"

# upate shasums
sed -r "s/sha256sums_x86_64=\([\"'][^\"']+[\"']\)$/sha256sums_x86_64=(\"$SUM_x86\")/" PKGBUILD -i
sed -r "s/sha256sums_aarch64=\([\"'][^\"']+[\"']\)$/sha256sums_aarch64=(\"$SUM_arm\")/" PKGBUILD -i
sed -r "s/sha256sums_i386=\([\"'][^\"']+[\"']\)$/sha256sums_i386=(\"$SUM_i386\")/" PKGBUILD -i

# regenerate .SRCINFO
makepkg -f && makepkg --printsrcinfo > .SRCINFO

# sanity check
namcap PKGBUILD
namcap *.pkg.tar.zst

# check changes
git --no-pager diff PKGBUILD

# cleanup temp
rm -r src pkg *.tar*

git status
printf "Commit and push changes? (Y/n): "
read ans
if [ "$ans" != "n" ] && [ "$ans" != "N" ]; then
  git add -A
  git commit -m "Release $VERSION"
  git push origin master
fi