#!/bin/sh set -u set -e set -v sudo pacman-key --init # Pull Repo ## Needed so pacman doesnt complain. repo-add "/repo/${AUR_REPO_NAME}.db.tar.xz" sudo pacman -Syu --noconfirm minio-client pacman-contrib mcli alias set s3 https://s3.tobiasmanske.de $REPO_ACCESS_KEY $REPO_SECRET_KEY mcli cp s3/repo/x86_64/rad4day.db.tar.xz /repo/rad4day.db.tar.xz mcli cp s3/repo/x86_64/rad4day.files.tar.xz /repo/rad4day.files.tar.xz mcli cp s3/repo/x86_64/rad4day.db.tar.xz.sig /repo/rad4day.db.tar.xz.sig mcli cp s3/repo/x86_64/rad4day.files.tar.xz.sig /repo/rad4day.files.tar.xz.sig if ! (aur repo > /dev/null 2>&1); then printf "Aur repo not initialized, initializing /repo...\n" repo-add "/repo/${AUR_REPO_NAME}.db.tar.xz" fi # Keyring Signing Key sudo pacman-key --add trustroot.asc gpg --import --batch trustroot.asc sudo pacman-key --lsign 10BE06BC275CE0E17373B368F67996C486D1B56B # repoctl conf new "$(readlink -f \"/repo/${AUR_REPO_NAME}.db.tar.xz\")" # Setup signing echo "$BUILD_GPG_KEY" | base64 -d | gpg --import --batch echo "C3FE87CFB8F8D503AE03EC1C033E7F3DC71FE89E:6:" | gpg --import-ownertrust --batch sudo pacman --noconfirm -Sy archlinux-keyring sudo pacman --noconfirm -Syu git clone --recursive https://git.tobiasmanske.de/archlinux-repo/package_sources.git packages cd packages touch buildqueue ## OBTAIN PACKAGES TO BUILD git submodule update --remote --merge # Make sure we are up to date if something is linked as a submodule # # Rebuild all git packages aur repo --list aur repo --list | awk '{print $1}' | grep -e "-git$" | aur fetch - find . -name PKGBUILD -execdir sh -c 'makepkg --printsrcinfo > .SRCINFO' \; find . -iname PKGBUILD -exec dirname {} \; | aur srcver - > vcs aur repo --list | aur vercmp -q -p vcs | tee -a buildqueue aur repo --list | aur vercmp -q | tee -a buildqueue | aur fetch - # pull outdated packages # Build all packages defined in buildqueue while read -r i; do cat "$i"/.SRCINFO done < buildqueue | aur graph | tsort | tac > queue echo echo QUEUE echo cat queue ## BUILD aur build -S --noconfirm -a queue --no-sync --margs -s # build all packages defined in our repo #paclist custom | awk '{print $1}' | xargs -r aur sync --noconfirm aur sync -u -S --noview --noconfirm ## Upload to repo mcli mirror --overwrite /repo s3/repo/x86_64 exec "$@"