summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Neidel2024-03-12 09:09:46 +0100
committerJonathan Neidel2024-03-12 09:09:46 +0100
commit5eeb24a757b4054b8af5abebf8c4c134226331fe (patch)
treeb85c99916dfb1881001f3baeab8549cc2d750279
parent081dcaed14cde091af920419d906464362826e91 (diff)
downloadaur-5eeb24a757b4054b8af5abebf8c4c134226331fe.tar.gz
Create release script
-rw-r--r--.gitignore2
-rwxr-xr-xrelease58
2 files changed, 59 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index cbeed90fc38b..be7e9a9513cf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,4 +4,4 @@ src
*.pkg.tar.zst
*.tar.gz
-checksums.txt
+checksums*.txt
diff --git a/release b/release
new file mode 100755
index 000000000000..b6eb717684cc
--- /dev/null
+++ b/release
@@ -0,0 +1,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