#!/usr/bin/env bash set -e WD=$(cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd) PKGNAME=$(basename $WD) export _PKGNAME="${PKGNAME%-bin}" ROOT=${WD%/.github/aur/$PKGNAME} LOCKFILE=/tmp/aur-$PKGNAME.lock exec 100>$LOCKFILE || exit 0 flock -n 100 || exit 0 trap "rm -f $LOCKFILE" EXIT export VERSION=$1 echo "Publishing to AUR as version ${VERSION}" cd $WD export GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" if [ -z "$AUR_SSH_PRIVATE_KEY" ] then echo "\$AUR_SSH_PRIVATE_KEY is not set" else eval $(ssh-agent -s) ssh-add <(echo "$AUR_SSH_PRIVATE_KEY") fi GITDIR=$(mktemp -d /tmp/aur-$PKGNAME-XXX) trap "rm -rf $GITDIR" EXIT git clone aur@aur.archlinux.org:$PKGNAME $GITDIR 2>&1 CURRENT_PKGVER=$(cat $GITDIR/.SRCINFO | grep pkgver | awk '{ print $3 }') CURRENT_PKGREL=$(cat $GITDIR/.SRCINFO | grep pkgrel | awk '{ print $3 }') export PKGVER=${VERSION/-/} if [[ "${CURRENT_PKGVER}" == "${PKGVER}" ]]; then export PKGREL=$((CURRENT_PKGREL+1)) else export PKGREL=1 fi export SHA256SUM_X86=$(curl -sL https://github.com/kha7iq/${_PKGNAME}/releases/download/v${PKGVER}/${_PKGNAME}_linux_x86_64.tar.gz | sha256sum | awk '{ print $1 }') export SHA256SUM_i686=$(curl -sL https://github.com/kha7iq/${_PKGNAME}/releases/download/v${PKGVER}/${_PKGNAME}_linux_i386.tar.gz | sha256sum | awk '{ print $1 }') export SHA256SUM_AARCH64=$(curl -sL https://github.com/kha7iq/$_PKGNAME/releases/download/v${PKGVER}/${_PKGNAME}_linux_arm64.tar.gz | sha256sum | awk '{ print $1 }') envsubst '$PKGVER $PKGREL $_PKGNAME $SHA256SUM_X86 $SHA256SUM_i686 $SHA256SUM_AARCH64' < .SRCINFO.template > $GITDIR/.SRCINFO envsubst '$PKGVER $PKGREL $SHA256SUM_X86 $SHA256SUM_i686 $SHA256SUM_AARCH64' < PKGBUILD.template > $GITDIR/PKGBUILD cd $GITDIR git config user.name "kha7iq" git config user.email "a.khaliq@outlook.my" git add -A if [ -z "$(git status --porcelain)" ]; then echo "No changes." else git commit -m "Updated to version v${PKGVER} release ${PKGREL}" git push origin master fi