summaryrefslogtreecommitdiff
path: root/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh47
1 files changed, 47 insertions, 0 deletions
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000..d111ea3
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,47 @@
+#!/usr/bin/env bash
+
+set -e
+
+BUILD_DIR=$(pwd)/.dist/build
+SRC_DIR=$(pwd)/.dist/src
+LONGKEY="4A0E47583568E4B11B5C2559BBA33017E29E74FB"
+export GNUPGHOME=~/.gnupg
+
+mkdir -p "$BUILD_DIR" "$SRC_DIR"
+
+mkdir -p $GNUPGHOME
+chmod -R 700 $GNUPGHOME
+echo "allow-loopback-pinentry" >>$GNUPGHOME/gpg-agent.conf
+gpg-connect-agent reloadagent /bye
+gpg --batch --yes --pinentry-mode loopback --passphrase-file ~/gpgpasswd --import ~/private.asc
+
+rsync -az root@toufy.me:/var/www/aur.toufy.me/builds/ "$BUILD_DIR/"
+
+jq -c '.[]' pkgbuilds.json | while IFS= read -r src; do
+ base=$(jq -r '.base' <<<"$src")
+ jq -r '.rm[]' <<<"$src" | while IFS= read -r rmv; do
+ find "$BUILD_DIR" -name "$rmv*.pkg.tar.zst" -exec \
+ repo-remove -Rsvk $LONGKEY \
+ "$BUILD_DIR"/taur.db.tar.zst "$rmv" \;
+
+ done
+ jq -c '.pkgs[]' <<<"$src" | while IFS= read -r pkg; do
+ name=$(jq -r '.name' <<<"$pkg")
+ git clone "$base/$name" "$SRC_DIR"/"$name" &&
+ cd "$SRC_DIR/$name" &&
+ makepkg -cCd --noconfirm --skippgpcheck --sign \
+ --key $LONGKEY
+
+ jq -r '.nick[]' <<<"$pkg" | while IFS= read -r nick; do
+ repo-add -Rpsvk $LONGKEY \
+ "$BUILD_DIR"/taur.db.tar.zst \
+ "$SRC_DIR"/"$name"/"$nick"*.pkg.tar.zst &&
+ cp -rfv \
+ "$SRC_DIR"/"$name"/"$nick"*.pkg.tar.zst "$SRC_DIR"/"$name"/"$nick"*.pkg.tar.zst.sig \
+ "$BUILD_DIR"
+ done
+
+ done
+done
+
+rsync -az --delete "$BUILD_DIR/" root@toufy.me:/var/www/aur.toufy.me/builds/