From bb48ec4bbeddbd6bdc125789335867f4dae82870 Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 16:22:50 -0400 Subject: [PATCH 01/16] Clean out arch-ppa files --- arch-chroot-helper | 48 ------- arch-ppa | 304 --------------------------------------------- broke.txt | 11 -- ppa | 205 ------------------------------ push.sh | 10 -- rebuild_changed.sh | 7 -- 6 files changed, 585 deletions(-) delete mode 100755 arch-chroot-helper delete mode 100755 arch-ppa delete mode 100644 broke.txt delete mode 100755 ppa delete mode 100755 push.sh delete mode 100755 rebuild_changed.sh diff --git a/arch-chroot-helper b/arch-chroot-helper deleted file mode 100755 index f9d4de3..0000000 --- a/arch-chroot-helper +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -# this is meant to be put in /usr/bin and allowed to use for for a user -# cp /home/ppa/arch-ppa/arch-chroot-helper /usr/bin/; chown root.root /usr/bin/arch-chroot-helper; chmod 555 /usr/bin/arch-chroot-helper -# then add this using visudo: -# ppa ALL= NOPASSWD: /usr/bin/arch-chroot-helper - -ccm_root='/scratch/.chroot64' - -prepare() { - if [ -d "${ccm_root}/root" ]; then - # this exists, so just update it - arch-nspawn "${ccm_root}/root" pacman -Syu --noconfirm - #yes | arch-nspawn "${ccm_root}/root" pacman -Scc - else - # does not exist, create it... - mkdir -p "${ccm_root}" - mkarchroot -C /etc/pacman.conf -M /etc/makepkg.conf "${ccm_root}/root" base-devel - fi -} - -nuke() { - rm -rf "${ccm_root}" -} - -make() { - set -e - prepare - makechrootpkg -c -u -r "${ccm_root}" -} - -case $1 in - prepare) - prepare - exit $? - ;; - nuke) - nuke - exit $? - ;; - make) - make - exit $? - ;; - *) - echo "Must specify command: prepare, nuke, make" - exit 1 -esac diff --git a/arch-ppa b/arch-ppa deleted file mode 100755 index 63f331c..0000000 --- a/arch-ppa +++ /dev/null @@ -1,304 +0,0 @@ -#!/bin/bash -basedir=$(cd $(dirname $0); pwd) -chroot=$basedir/chroot - -if [ `whoami` == 'root' ]; then - echo "Must not be run as root." - exit 1; -fi - -exe() { echo "\$ $@" ; "$@" ; } - -create_chroot() { - ( - set -e - if [ ! -d $chroot ]; then - echo "## Creating arch chroot ..." - exe mkdir $chroot - exe mkarchroot $chroot/root base-devel - # install cower: - gpg --recv-keys --keyserver hkp://pgp.mit.edu 1EB2638FF56C0C53 - TMP_BUILD=`mktemp -d` - exe cd $TMP_BUILD - curl https://aur.archlinux.org/cgit/aur.git/snapshot/cower.tar.gz | tar xz - exe cd cower - exe makechrootpkg -r $chroot -l root -- -i - exe rm -rf $TMP_BUILD - echo "## Root chroot build complete." - fi - ) -} - -install_system_deps() { - ( - set -e - pkg_dep() { - if !(pacman -Q $1 > /dev/null 2>&1); then - echo "Installing $1..." - exe sudo pacman -S --noconfirm $1 - fi - } - pkg_dep devtools - pkg_dep git - pkg_dep findutils - ) -} - -package_build() { - # Build a package in a container. $1=container $2=package - # PKGBUILD must already exist in src/ - # If package has dependencies we also maintain in src/, recursively build those first. - ( - set -e - if [ "$#" -ne 2 ]; then - echo "package_build takes two args: repo_name and package_name" - return 1 - fi - repo_name=$1 - package_name=$2 - setup - pkgdir=$basedir/src/$package_name - if [ ! -d $pkgdir ]; then - echo "Package $package_name not found in $pkgdir" - echo "Try running: package_add $package_name" - return 1 - fi - if [ ! -f $pkgdir/PKGBUILD ]; then - echo "Cannot find PKGBUILD in $pkgdir" - return 1 - fi - if (arch-nspawn $chroot/$repo_name pacman -Q $package_name > /dev/null 2>&1); then - echo "Package $package_name already built" - return - fi - # Find and build dependencies: - find_deps $package_name | while read dep; do - # Build the dep if we haven't already yet: - if !(arch-nspawn $chroot/$repo_name pacman -Q $dep > /dev/null 2>&1); then - package_build $repo_name $dep - fi - done - # Build package: - cd $pkgdir - rm -f *.pkg.tar.xz - mkdir -p $basedir/$repo_name - exe makechrootpkg -r $chroot -l $repo_name -- -i - exe mv *.pkg.tar.xz $basedir/$repo_name - ) -} - -sign_packages() { - if [ "$#" -lt 1 ]; then - echo "sign_packages requires specifying the list of packages to sign" - return 1 - fi - ( - set -e - cd $(dirname $1) - for pkg in "$@"; do - gpg -v "${pkg}.sig" 2>/dev/null || (rm -f "${pkg}.sig"; gpg -u 'ECB9B8CBAAC68C03!' --detach-sign --use-agent "$pkg") - done - ) -} - -find_deps() { - # Inspect package srcinfo and pull out the dependencies that we maintain in src - ( - set -e - setup - cat $basedir/src/$1/.SRCINFO | sed -nr 's/^\W*depends = ([-a-zA-Z0-9]+).*$/\1/p' | while read dep; do - if [ -d $basedir/src/$dep ]; then - echo $dep - fi - done - ) -} - -add() { - # Add packages and their AUR dependencies to src - ( - set -e - if [ "$#" -lt 1 ]; then - echo "Must specify package(s) to add" - return 1 - fi - setup - if [ ! -d $basedir/src ]; then - mkdir $basedir/src - fi - for pkg in "$@"; do - arch-nspawn $chroot/root --bind=$basedir/src:/src cower -q -t /src -f -d -d $pkg - done - sudo chown $USER -R $basedir/src - echo "## All requested packages added" - ) -} - -update() { - # Update a package and it's dependencies from the AUR - ( - #set -e # breaks updating all if one fails, ignore errors - if [ "$#" -eq 0 ]; then - cd $basedir/src - update * - return - fi - for pkg in "$@"; do - if [ ! -d $basedir/src/$pkg ]; then - echo "No package called $pkg found in src" - return 1 - fi - done - for pkg in "$@"; do - check_in_git() { - ( - cd $basedir - if (! git ls-files $1 --error-unmatch >/dev/null 2>&1); then - echo "$1 is not under git control yet. Add and commit it before updating." - return 1 - fi - ) - } - check_in_git $basedir/src - check_in_git $basedir/src/$pkg - find_deps $pkg | while read dep; do - check_in_git $basedir/src/$dep - done - # Check if package has uncommited changes - if [ $(git -C $basedir diff HEAD $basedir/src/$pkg | wc -l) -gt 0 ]; then - echo "warning: Package $pkg has uncommited changes. Commit or discard those changes first." - #return 1 - fi - # Use a temporary dir to download all PKGBUILDS atomically - [ -z "$tmp_dl" ] && tmp_dl=`mktemp -d` - cd $tmp_dl - arch-nspawn $chroot/root --bind=$tmp_dl:/src cower -q -t /src -d -d $pkg >/dev/null 2>&1 - cp -a * $basedir/src - done - git -C $basedir diff --name-status $basedir/src/ - ) -} - - -list() { - if [ "$#" -ne 1 ]; then - echo "Must specify repository name to list" - return 1 - fi - setup - arch-nspawn $chroot/$1 pacman -Qm -} - -setup() { - mkdir -p $basedir/src - install_system_deps - create_chroot -} - -clean() { - ( - set -e - if [ "$#" -lt 1 ]; then - echo "Must specify repository names to clean" - return 1 - fi - for repo in "$@"; do - # Clean repository and chroot - if [ -d $basedir/chroot/$repo ]; then - # Test if chroot uses BTRFS and remove using btrfs subvolume delete - if [ `stat --format=%i $basedir/chroot/$repo` -eq 256 ] && [ `stat -f --format=%T $basedir/chroot/$repo` ] ; then - exe sudo btrfs subvolume delete $basedir/chroot/$repo - exe sudo rm $basedir/chroot/$repo.lock - # Otherwise delete using rm - else - exe sudo rm -rf $basedir/chroot/$repo $basedir/chroot/$repo.lock - fi - fi - if [ -d $basedir/$repo ]; then - exe rm -rf $basedir/$repo - fi - done - ) -} - -build() { - ( - set -e - if [ "$#" -lt 1 ]; then - echo "Must specify repository name to build (and optional package list to include)" - return 1 - fi - setup - repo_name=$1 - mkdir -p $basedir/$repo_name - shift - if [ "$#" -gt 0 ]; then - # Build only requested packages - for pkg in "$@"; do - package_build $repo_name $pkg - done - echo "## All requested packages built" - else - # Build all packages: - cd $basedir/src - find -type d | sed 's/\.\///' | tail -n +2 | while read pkg; do - package_build $repo_name $pkg - done - echo "## All packages built" - fi - echo "## Updating repository database" - cd $basedir/$repo_name - if [ `ls *.pkg.tar.xz 2> /dev/null | wc -l` -lt 1 ]; then - echo "No packages found in $basedir/$repo_name" - return 1; - fi - sign_packages *.pkg.tar.xz - repose -f -z $repo_name - sign_packages $repo_name.db $repo_name.files - ) -} - -rebuild() { - ( - set -e - if [ "$#" -lt 1 ]; then - echo "Must specify repository name to build (and optional package list to include)" - return 1 - fi - setup - repo_name=$1 - mkdir -p $basedir/$repo_name - shift - arch-nspawn $chroot/$repo_name pacman -Rscn --noconfirm "$@" || true - build "$repo_name" "$@" - ) -} - -build_changed() { - ( - # git diff-tree --no-commit-id --name-status -r "$commit" | grep -v ^D | grep PKGBUILD$ | sed -e 's@/PKGBUILD$@@' -e 's@.*/@@' | xargs -n1 arch-nspawn chroot/aur pacman -Rscn --noconfirm - # git diff-tree --no-commit-id --name-status -r "$commit" | grep -v ^D | grep PKGBUILD$ | sed -e 's@/PKGBUILD$@@' -e 's@.*/@@' | xargs -n1 ./arch-ppa build aur - set -e - if [ "$#" -lt 1 ]; then - echo "Must specify repository name to build (and optional package list to include)" - return 1 - fi - setup - repo_name=$1 - mkdir -p $basedir/$repo_name - shift - commit="$1" - [ "$commit" == "" ] && commit=HEAD - changed_pkgbuilds="$(git diff-tree --no-commit-id --name-status -r "$commit" | grep -v ^D | grep PKGBUILD$ | sed -e 's@/PKGBUILD$@@' -e 's@.*/@@' | tr '\n' ' ')" - # remove them - arch-nspawn $chroot/$repo_name pacman -Rscn --noconfirm $changed_pkgbuilds || true - build "$repo_name" $changed_pkgbuilds - ) -} - -if [ "$#" -gt 0 ]; then - $* -else - echo "Must specify a command, eg: add, build, list, clean" - exit 1 -fi diff --git a/broke.txt b/broke.txt deleted file mode 100644 index 011bb6c..0000000 --- a/broke.txt +++ /dev/null @@ -1,11 +0,0 @@ -libgcj17-bin -emulationstation-autoscraper - -pdftk-bin - -cloog mingw-w64-gcc-base mingw-w64-crt mingw-w64-winpthreads zpaq zelda-roth wireguard-module-arch truecraft-git rusty-keys-git rusty-keys pdftk-bin openconnect-git mingw-w64-gcc kodi-standalone-socket-activation filebot emulationstation-themes - -zelda-roth wireguard-module-arch truecraft-git rusty-keys-git rusty-keys openconnect-git filebot emulationstation-themes - -zelda-roth wireguard-module-arch truecraft-git rusty-keys-git rusty-keys filebot emulationstation-themes - diff --git a/ppa b/ppa deleted file mode 100755 index 7cb508c..0000000 --- a/ppa +++ /dev/null @@ -1,205 +0,0 @@ -#!/bin/bash - -# requires: -# https://aur.archlinux.org/packages/clean-chroot-manager -# https://aur.archlinux.org/packages/aurutils - -basedir="$(pwd)" -src_dir="${basedir}/src" -repo_name=aur -pkg_dir="${basedir}/$repo_name" -aurweb='https://aur.archlinux.org' - -if [ `whoami` == 'root' ]; then - echo "Must not be run as root." - exit 1; -fi - -[ -e ppa.cfg ] && source ppa.cfg - -clone_update_aur() { - declare -r startdir=$PWD - - while IFS= read -r; do - if [[ -d $REPLY ]] - then - - if [[ ! -d $REPLY/.git-nosub ]] - then - rm -rf tmp - git clone "$aurweb/$REPLY".git tmp - mv tmp/.git "$REPLY"/.git-nosub - rm -rf tmp - fi - - cd "$REPLY" - mv .git-nosub .git - - git fetch -v # returns 0 even if nothing was fetched - git reset --hard HEAD - git merge - - cd "$startdir" - else - git clone "$aurweb/$REPLY".git - fi - # .git folders make it a git submodule, we don't want that, need to gitignore .git-nosub - mv "$REPLY"/.git "$REPLY"/.git-nosub - # we don't ever want to track these - rm -f "$REPLY"/.SRCINFO - done -} - -add() { - cd "$src_dir" - aurchain "$@" | clone_update_aur -} - -update() { - cd "$src_dir" - if [ "$#" -gt 0 ]; then - aurchain "$@" | clone_update_aur - else - aurchain * | clone_update_aur - fi -} - -sign_packages() { - cd "$pkg_dir" - for pkg in "$@"; do - gpg -v "${pkg}.sig" 2>/dev/null || (rm -f "${pkg}.sig"; gpg --detach-sign --use-agent "$pkg") - done -} - -build() { - cd "$src_dir" - if [ "$#" -gt 0 ]; then - failed='' - # create .SRCINFO, so aurqueue can use it next - for dir in "$@" - do - cd $dir - makepkg --printsrcinfo > .SRCINFO - cd "$src_dir" - done - for dir in $(aurqueue "$@") - do - cd $dir - # delete any existing packages - grep '^pkgname = ' .SRCINFO | sed 's/^pkgname = //' | xargs -I {} sh -c 'rm -f {}*pkg.tar*' - sudo arch-chroot-helper make - if [ $? -ne 0 ]; then - # failed, append to failed string - failed="$failed $dir" - else - #list_of_packages="$(grep '^pkgname = ' .SRCINFO | sed 's/^pkgname = //' | sort -u | tr '\n' ' ')" - list_of_package_files="$(grep '^pkgname = ' .SRCINFO | sed 's/^pkgname = //' | xargs -I {} sh -c 'ls {}*pkg.tar*' 2>/dev/null | sort -u | tr '\n' ' ')" - mv $list_of_package_files "$pkg_dir" - cd "$pkg_dir" - sign_packages $list_of_package_files - # repose appears to work the same with both $list_of_packages and $list_of_package_files - repose -f -z $repo_name $list_of_package_files - sign_packages $repo_name.db $repo_name.files - fi - cd "$src_dir" - done - - if [ "$failed" == "" ] - then - # success!, nuke the chroot - echo sudo arch-chroot-helper nuke - else - # some failures - echo "failed packages:$failed" - fi - - else - build * - fi -} - -rebuild_db() { - cd "$pkg_dir" - repose -v -f -z $repo_name - sign_packages $repo_name.db $repo_name.files -} - -echo_deps() { - cd "$src_dir" - aurchain "$@" -} - -build_deps() { - cd "$src_dir" - if [ "$#" -gt 0 ]; then - build $(aurchain "$@") - else - # regular build? if we are building all no use looking up deps... - build - fi -} - -build_changed() { - commit="$1" - [ "$commit" == "" ] && commit=HEAD - build $(git diff-tree --no-commit-id --name-status -r "$commit" | grep -v ^D | grep PKGBUILD$ | sed -e 's@/PKGBUILD$@@' -e 's@.*/@@' | tr '\n' ' ') -} - -build_changed_deps() { - commit="$1" - [ "$commit" == "" ] && commit=HEAD - build_deps $(git diff-tree --no-commit-id --name-status -r "$commit" | grep -v ^D | grep PKGBUILD$ | sed -e 's@/PKGBUILD$@@' -e 's@.*/@@' | tr '\n' ' ') -} - -echo_changed() { - commit="$1" - [ "$commit" == "" ] && commit=HEAD - git diff-tree --no-commit-id --name-status -r "$commit" | grep -v ^D | grep PKGBUILD$ | sed -e 's@/PKGBUILD$@@' -e 's@.*/@@' | tr '\n' ' ' -} - -list_official_packages() { - cd "$src_dir" - ls | xargs -n1 -I {} pacman -Ss '^{}$' | egrep -v "^($repo_name| )" -} - -list_installed_paclist() { - paclist $repo_name | cut -d' ' -f1 -} - -list_installed() { - comm -12 <(pacman -Qq | sort) <(pacman -Slq $repo_name | sort) -} - -reinstall() { - list_installed | xargs sudo pacman -S --noconfirm -} - -update_installed() { - update $(list_installed | xargs aurchain) -} - -clean() { - # git clean -e 'aur/*' -dxn | grep -v .git - git clean -e '*.git*' -e 'aur/*' -dxf -} - -undo() { - patch -p1 -R < undo.diff -} - -grep_deps() { - grep "$1" src/*/PKGBUILD -} - -git_add_changes() { - git add -f $(git status | grep -E '^.+(modified|deleted):' | sed 's/.* //' | tr '\n' ' ') -} - -if [ "$#" -gt 0 ]; then - [ -d "$src_dir" ] || mkdir -p "$src_dir" - [ -d "$pkg_dir" ] || mkdir -p "$pkg_dir" - $* -else - echo "Must specify a command, eg: add, build, list, clean" - exit 1 -fi diff --git a/push.sh b/push.sh deleted file mode 100755 index 1b8f6d2..0000000 --- a/push.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -set -e -cd aur -cp -a /etc/pacman.conf /etc/pacman.d/mirrorlist ./ - -# sign everything -gpg -v pacman.conf.sig 2>/dev/null || (rm -f pacman.conf.sig; gpg -u 'ECB9B8CBAAC68C03!' -b pacman.conf) -gpg -v mirrorlist.sig 2>/dev/null || (rm -f mirrorlist.sig; gpg -u 'ECB9B8CBAAC68C03!' -b mirrorlist) - -rsync -av --stats --progress --delete ./ root@mytorrentflux:/pacman/aur/ "$@" diff --git a/rebuild_changed.sh b/rebuild_changed.sh deleted file mode 100755 index 3b59e06..0000000 --- a/rebuild_changed.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -script="./arch-ppa" - -[ "$1" == '-d' ] && script="echo $script" && shift - -$script rebuild aur $(comm -23 <(git status | grep -o 'src/[^/]*/PKGBUILD' | sed -e 's@^src/@@' -e 's@/PKGBUILD$@@' | sort | uniq) <(echo "$@" | tr ' ' '\n' | sort | uniq) | tr '\n' ' ') -- 2.54.0 From a44ac86eb33045e9b5b7db0a70194df1a53ad649 Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 17:20:40 -0400 Subject: [PATCH 02/16] Syntax fix --- .gitea/workflows/validation.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index d9fb750..7cd9111 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -4,7 +4,7 @@ on: pull_request: branches: - master - types: [opened, synchronized, reopened] + types: [opened, synchronize, reopened] jobs: resolve-dependencies: -- 2.54.0 From 12b92bd3c23172a48d0f1f489f20e556dc10d0a3 Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 17:25:19 -0400 Subject: [PATCH 03/16] Test archlinux container --- .gitea/workflows/validation.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index 7cd9111..4eb66ee 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -9,10 +9,13 @@ on: jobs: resolve-dependencies: runs-on: ubuntu-latest + container: + image: archlinux-latest + steps: - - name: Echo Test + - name: Install aurutils dependencies shell: bash - run: echo "Actions runner working" + run: pacman -Syu --noconfirm base-devel git -- 2.54.0 From 92d86246cd0680619d55b4a1a3363f33dd62a194 Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 17:27:17 -0400 Subject: [PATCH 04/16] Switch to archlinux:base-devel --- .gitea/workflows/validation.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index 4eb66ee..627c84d 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -10,7 +10,7 @@ jobs: resolve-dependencies: runs-on: ubuntu-latest container: - image: archlinux-latest + image: archlinux:base-devel steps: - name: Install aurutils dependencies -- 2.54.0 From 198833f1546cca726dba30f2dd7666bdbfa0a4e3 Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 17:29:25 -0400 Subject: [PATCH 05/16] test installing aurutils --- .gitea/workflows/validation.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index 627c84d..75640c1 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -15,7 +15,15 @@ jobs: steps: - name: Install aurutils dependencies shell: bash - run: pacman -Syu --noconfirm base-devel git + run: pacman -Syu --noconfirm git + + # This is only temporary, for bootstrapping, until this repo itself contains aurutils and can be installed via the repo + - name: Install aurutils + shell: bash + run: | + git clone https://aur.archlinux.org/aurutils.git + cd aurutils + makepkg -sirc -- 2.54.0 From b80ad9b4190d4f33f62edf5d08e57844c2698f20 Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 17:36:57 -0400 Subject: [PATCH 06/16] test --- .gitea/workflows/validation.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index 75640c1..306e241 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -23,8 +23,10 @@ jobs: run: | git clone https://aur.archlinux.org/aurutils.git cd aurutils + pwd makepkg -sirc - - - + - name: Create build user + run: | + useradd --create-home builder + chown -R builder:builder "$GITHUB_WORKSPACE" -- 2.54.0 From 2f9e66bf4a093fca7cabf250e7590e58126d4d38 Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 17:38:57 -0400 Subject: [PATCH 07/16] test --- .gitea/workflows/validation.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index 306e241..3dee68c 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -17,16 +17,18 @@ jobs: shell: bash run: pacman -Syu --noconfirm git + - name: Create and become build user + run: | + useradd --create-home builder + su builder + # This is only temporary, for bootstrapping, until this repo itself contains aurutils and can be installed via the repo - name: Install aurutils shell: bash run: | + pwd git clone https://aur.archlinux.org/aurutils.git cd aurutils pwd makepkg -sirc - - name: Create build user - run: | - useradd --create-home builder - chown -R builder:builder "$GITHUB_WORKSPACE" -- 2.54.0 From 9624359a7ed2ed72846bdba627c2c05d02f3927a Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 17:51:14 -0400 Subject: [PATCH 08/16] test --- .gitea/workflows/validation.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index 3dee68c..01a9a6c 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -19,8 +19,11 @@ jobs: - name: Create and become build user run: | - useradd --create-home builder - su builder + useradd builduser -m # Create the builduser + passwd -d builduser # Delete the buildusers password + printf 'builduser ALL=(ALL) ALL\n' | tee -a /etc/sudoers # Allow the builduser passwordless sudo + su builduser && cd + # This is only temporary, for bootstrapping, until this repo itself contains aurutils and can be installed via the repo - name: Install aurutils @@ -30,5 +33,5 @@ jobs: git clone https://aur.archlinux.org/aurutils.git cd aurutils pwd - makepkg -sirc + makepkg -si -- 2.54.0 From 2859a996d60e5c41ff76f479b0df6e710a857763 Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 17:52:57 -0400 Subject: [PATCH 09/16] test --- .gitea/workflows/validation.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index 01a9a6c..ca3b453 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -15,20 +15,19 @@ jobs: steps: - name: Install aurutils dependencies shell: bash - run: pacman -Syu --noconfirm git + run: pacman -Syu --noconfirm git sudo - name: Create and become build user run: | useradd builduser -m # Create the builduser passwd -d builduser # Delete the buildusers password printf 'builduser ALL=(ALL) ALL\n' | tee -a /etc/sudoers # Allow the builduser passwordless sudo - su builduser && cd - # This is only temporary, for bootstrapping, until this repo itself contains aurutils and can be installed via the repo - name: Install aurutils shell: bash run: | + su builduser && su pwd git clone https://aur.archlinux.org/aurutils.git cd aurutils -- 2.54.0 From 89fcdf6f0b76b1644b51a8eabdafe766412d0a44 Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 17:53:35 -0400 Subject: [PATCH 10/16] test --- .gitea/workflows/validation.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index ca3b453..56d06af 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -22,12 +22,12 @@ jobs: useradd builduser -m # Create the builduser passwd -d builduser # Delete the buildusers password printf 'builduser ALL=(ALL) ALL\n' | tee -a /etc/sudoers # Allow the builduser passwordless sudo + su builduser && cd # This is only temporary, for bootstrapping, until this repo itself contains aurutils and can be installed via the repo - name: Install aurutils shell: bash run: | - su builduser && su pwd git clone https://aur.archlinux.org/aurutils.git cd aurutils -- 2.54.0 From 439f7c82e2e087502744fb28872594889b9cf05b Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 17:54:26 -0400 Subject: [PATCH 11/16] test --- .gitea/workflows/validation.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index 56d06af..6f9a47f 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -22,12 +22,12 @@ jobs: useradd builduser -m # Create the builduser passwd -d builduser # Delete the buildusers password printf 'builduser ALL=(ALL) ALL\n' | tee -a /etc/sudoers # Allow the builduser passwordless sudo - su builduser && cd # This is only temporary, for bootstrapping, until this repo itself contains aurutils and can be installed via the repo - name: Install aurutils shell: bash run: | + su builduser && cd pwd git clone https://aur.archlinux.org/aurutils.git cd aurutils -- 2.54.0 From 8c6568e85d0e463ed4b1882317ac61fce8f902d9 Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 17:55:36 -0400 Subject: [PATCH 12/16] test --- .gitea/workflows/validation.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index 6f9a47f..a3b9bf8 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -27,7 +27,7 @@ jobs: - name: Install aurutils shell: bash run: | - su builduser && cd + su builduser && cd /home/builduser pwd git clone https://aur.archlinux.org/aurutils.git cd aurutils -- 2.54.0 From 06021b4858a5a83b87779d667eefd32ce13de05a Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 18:02:48 -0400 Subject: [PATCH 13/16] test --- .gitea/workflows/validation.yaml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index a3b9bf8..9237ecf 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -27,10 +27,9 @@ jobs: - name: Install aurutils shell: bash run: | - su builduser && cd /home/builduser - pwd + su - builduser -c " + set -e + cd git clone https://aur.archlinux.org/aurutils.git - cd aurutils - pwd - makepkg -si - + makepkg -si --noconfirm + " -- 2.54.0 From 69a82e209430bbbe9f0ad52385133f2a97a5717b Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 18:05:27 -0400 Subject: [PATCH 14/16] test --- .gitea/workflows/validation.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index 9237ecf..899b122 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -27,9 +27,9 @@ jobs: - name: Install aurutils shell: bash run: | - su - builduser -c " + su - builduser -c ' set -e cd git clone https://aur.archlinux.org/aurutils.git makepkg -si --noconfirm - " + ' -- 2.54.0 From 8af1aeda05e6ec36cd15ffc5a34ccecfa6755f03 Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 18:06:04 -0400 Subject: [PATCH 15/16] test --- .gitea/workflows/validation.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index 899b122..956a082 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -28,8 +28,8 @@ jobs: shell: bash run: | su - builduser -c ' - set -e - cd - git clone https://aur.archlinux.org/aurutils.git - makepkg -si --noconfirm - ' + set -e + cd + git clone https://aur.archlinux.org/aurutils.git + makepkg -si --noconfirm + ' -- 2.54.0 From 548efe62e978fd7b16c82db3e1998a03ba571cfe Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Tue, 29 Sep 2026 18:06:31 -0400 Subject: [PATCH 16/16] test --- .gitea/workflows/validation.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/validation.yaml b/.gitea/workflows/validation.yaml index 956a082..0d9e661 100644 --- a/.gitea/workflows/validation.yaml +++ b/.gitea/workflows/validation.yaml @@ -31,5 +31,6 @@ jobs: set -e cd git clone https://aur.archlinux.org/aurutils.git + cd aurutils makepkg -si --noconfirm ' -- 2.54.0