From fbcb4352c57d0ee9e4cccabbf62a1c215590be63 Mon Sep 17 00:00:00 2001 From: Kunoi Sayami Date: Tue, 2 Nov 2021 00:31:27 +0800 Subject: feat(add-pkg): Add glib2-static and qemu-user-static (#12) * feat(script): Support detect repository external file change Signed-off-by: KunoiSayami --- pkgbuild.sh | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'pkgbuild.sh') diff --git a/pkgbuild.sh b/pkgbuild.sh index 3779a57..cbb280b 100755 --- a/pkgbuild.sh +++ b/pkgbuild.sh @@ -22,13 +22,20 @@ cleanup() { unset ARCH } +function hook { + if [ -r ../.hook/"$1" ]; then + echo "Running $1 Hook script" + . ../.hook/"$1" + fi +} + ARCH=$(uname -m) PKGBUILD_DIRECTORY_BASE="repo" PKGDEST="${PWD}/packages/$ARCH" SRCDEST="${PWD}/build" CONFDEST="${PWD}/makepkg.d/makepkg.$ARCH.conf" REPO_DIFF="${PWD}/packages/$ARCH/DIFF" -SKIP_VERIFIED=0 +SKIP_VERIFIED=1 TMPCONF=$(mktemp -t makepkg.$ARCH.conf.XXXXXXXXXX) || exit 1 cat "${PWD}/makepkg.d/makepkg.base.conf" > "$TMPCONF" @@ -38,7 +45,9 @@ touch "$REPO_DIFF" function get_diff_list { git diff --name-only HEAD^ | while read line; do - if [[ $line =~ $PKGBUILD_DIRECTORY_BASE ]]; then + if [[ $line =~ $PKG/\..* ]] && [ $line != "$PKG/.verified_repos" ]; then + echo "$line" | cut -d'/' -f3 >> "$REPO_DIFF" + elif [[ $line =~ $PKGBUILD_DIRECTORY_BASE ]]; then echo "$line" | cut -d'/' -f2 >> "$REPO_DIFF" fi done @@ -53,8 +62,8 @@ if [ $# -gt 0 ] && [ "$1" = "--diff" ]; then fi if [ $# -gt 0 ] && [ "$1" = "--all" ] || [ -n "$CI_COMMIT_TITLE" ] && [[ $CI_COMMIT_TITLE =~ fix\(repo\)|REBUILD ]]; then - if [ -z "${SKIP_SOME+x}" ] || [ -n "$CI_COMMIT_MESSAGE" ] && [[ $CI_COMMIT_MESSAGE =~ \[SKIP\ SOME\] ]]; then - SKIP_VERIFIED=1 + if [ -z "${FORCE_ALL+x}" ] || [ -n "$CI_COMMIT_TITLE" ] && [[ $CI_COMMIT_TITLE =~ REBUILD(\ |_)ALL ]]; then + SKIP_VERIFIED=0 fi ls $PKGBUILD_DIRECTORY_BASE > "$REPO_DIFF" else @@ -83,6 +92,7 @@ while read FOLDER_NAME ; do while read YAYDEP ; do if [ -d "../$YAYDEP" ]; then pushd "../$YAYDEP" + hook "$YAYDEP" SRCPKGDEST=$SRCDEST SRCDEST=$SRCDEST PKGDEST=$PKGDEST MAKEPKG_CONF="$TMPCONF" makepkg --clean -si --asdeps --noconfirm --needed --noprogressbar popd else @@ -95,6 +105,7 @@ while read FOLDER_NAME ; do . ../.gpg_keys/"$FOLDER_NAME" fi + hook "$FOLDER_NAME" SRCPKGDEST=$SRCDEST SRCDEST=$SRCDEST PKGDEST=$PKGDEST MAKEPKG_CONF="$TMPCONF" makepkg --clean -s --asdeps --noconfirm --needed --noprogressbar || echo "Skip $FOLDER_NAME" popd done < "$REPO_DIFF" -- cgit v1.3.1