From f92618e5435ed772474a672c5fd19d19483d9626 Mon Sep 17 00:00:00 2001 From: Recolic Keghart <root@recolic.net> Date: Fri, 23 Sep 2022 20:33:27 -0700 Subject: [PATCH] u --- aur-sync.sh | 29 ++++++++++++++++++++++++----- docker-pikaur/Dockerfile | 8 +++++--- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/aur-sync.sh b/aur-sync.sh index 552ce36..dd2a28e 100755 --- a/aur-sync.sh +++ b/aur-sync.sh @@ -18,8 +18,24 @@ repo_upstreams=( ) # Please place simple, important, SMALL packages first. Place error-prone packages last. -aur_upstreams='pikaur frpc frps azure-cli unzip-iconv create_ap snakesocks teamviewer remarkable goland goland-jre clion gnome-terminal-transparency' -# intellij-idea-ce rider graftcp # gractcp failure +aur_upstreams=( + pikaur + frpc + frps + azure-cli + create_ap + asix-ax88179-dkms + snakesocks + teamviewer + remarkable + goland + goland-jre + clion + clion-jre + gnome-terminal-transparency + shared-bootdir-helper + chrome-gnome-shell +) build_outdir="mirrors/recolic-aur" repo_name=recolic-aur @@ -27,9 +43,12 @@ repo_name=recolic-aur function sync_aur () { echo "Running aur autobuild..." - # pikaur would skip if the package is already up-to-date. - sudo docker run -i --cpus 1.2 --rm -v "$(pwd)/$build_outdir":/home/builder/.cache/pikaur/pkg recolic/pikaur bash -c "chown builder -R /home/builder/.cache/pikaur/pkg && sudo -u builder pikaur -Syw --noconfirm $aur_upstreams" - return $? + # Use the external loop to force pikaur to skip failed packages. + for ele in "${aur_upstreams[@]}"; do + # pikaur would skip if the package is already up-to-date. + sudo docker run -i --cpus 1.2 --rm -v "$(pwd)/mirrors/recolic-aur":/home/builder/.cache/pikaur/pkg recolic/pikaur bash -c "chown builder -R /home/builder/.cache/pikaur/pkg && sudo -u builder pikaur -Syw --noconfirm $ele" + [[ $? != 0 ]] && echo "WARNING: Failed to build $ele" + done } function sync_http () { diff --git a/docker-pikaur/Dockerfile b/docker-pikaur/Dockerfile index b83783b..8a69250 100644 --- a/docker-pikaur/Dockerfile +++ b/docker-pikaur/Dockerfile @@ -1,5 +1,5 @@ # docker run -ti -v (pwd)/recolic-aur:/home/builder/.cache/pikaur/pkg recolic/pikaur bash -c 'chown builder -R /home/builder/.cache/pikaur/pkg && sudo -u builder pikaur -Sw --noconfirm $pkgs' -# You must reuse the container (commit it as new image) after running first build. There may be tons of dependencies to be downloaded. +# You can reuse the container (commit it as new image) after running first build. There may be tons of dependencies to be downloaded. FROM archlinux:base-devel @@ -9,7 +9,9 @@ RUN pacman -S --noconfirm go RUN useradd -m builder && echo 'builder ALL=(ALL) NOPASSWD: ALL' | EDITOR='tee -a' visudo # To prevent docker from creating a root-only dir RUN sudo -u builder mkdir -p /home/builder/.cache/pikaur/build && \ - sed -i 's/check_pgpsigs() {/check_pgpsigs() { return 0/g' /usr/share/makepkg/integrity/verify_signature.sh -# auto-key-retrieve is not working. This is my only solution. + sed -i 's/check_pgpsigs() {/check_pgpsigs() { return 0/g' /usr/share/makepkg/integrity/verify_signature.sh && \ + sed -i 's/SigLevel.*$/SigLevel = Never/' /etc/pacman.conf +# makepkg auto-key-retrieve is not working. This is my only solution. +# pacman will complain about expired GPG keys if the image is not updated. Disable the SigLevel verify to avoid these error. -- GitLab