mirror of https://github.com/Chizi123/Arch-autobuild-repo.git

Chizi123
2020-10-20 7aa5106e2bd22ce1ccdecd2d442c2a78bd8470d4
added function to check for packages in aur and in repos, also only print errors on add or build
1 files modified
30 ■■■■■ changed files
main.sh 30 ●●●●● patch | view | raw | blame | history
main.sh
@@ -241,6 +241,30 @@
    fi
}
#Check for packages moved to official repos or removed from the AUR
function check {
    rmlist=""
    rmlist="$rmlist $(comm -12 <(pacman -Slq $REPONAME | sort) <(pacman -Slq core | sort) | tr '\n' ' ')"
    rmlist="$rmlist $(comm -12 <(pacman -Slq $REPONAME | sort) <(pacman -Slq extra | sort) | tr '\n' ' ')"
    rmlist="$rmlist $(comm -12 <(pacman -Slq $REPONAME | sort) <(pacman -Slq community | sort) | tr '\n' ' ')"
    removed=()
    TMPFILE=$(mktemp)
    for i in $(find $BUILDDIR -mindepth 1 -maxdepth 1 -type d); do
        check_pkg $TMPFILE "$(echo $i | rev | cut -d'/' -f1 | rev)" &
    done
    wait
    echo "Merged into official repos: $rmlist"
    echo "Not in AUR: $(cat $TMPFILE | tr '\n' ' ')"
    rm -f $TMPFILE
}
function check_pkg {
    if [[ -z "$(curl -sI "https://aur.archlinux.org/packages/$2" | head -n1 | grep 200)" ]]; then
        echo "$2" >> $1
    fi
}
#Check config and create build folders
#Set variables before usage
# Usage: init
@@ -307,11 +331,14 @@
        build_all $([[ "$2" == "-f" ]] && echo "-f");;
    "remove")
        remove ${@:2};;
    "check")
        check;;
    *)
        printf "Invalid usage\nUsage: $0 init|add|build-all\n";;
        printf "Invalid usage\nUsage: $0 init|add|build-all|check\n";;
esac
# Error reporting, send email only for build-all as assuming an batch job for that
if [[ $1 == "build-all" || $1 == "add" ]]; then
if [[ -f $REPODIR/.errors ]]; then
    ERRORS=$(cat $REPODIR/.errors | tr '\n' ' ')
    rm $REPODIR/.errors
@@ -322,3 +349,4 @@
else
    echo "All packages built successfully"
fi
fi