aboutsummaryrefslogtreecommitdiff
path: root/pkgbuild.sh
diff options
context:
space:
mode:
authorKunoi Sayami <[email protected]>2021-11-02 00:31:27 +0800
committerGitHub <[email protected]>2021-11-02 00:31:27 +0800
commitfbcb4352c57d0ee9e4cccabbf62a1c215590be63 (patch)
tree218efbd09b043ad18100b7bff151b7c460a7c96b /pkgbuild.sh
parent9a3255c44047fcea27f6922639585aa5ddae32e6 (diff)
feat(add-pkg): Add glib2-static and qemu-user-static (#12)
* feat(script): Support detect repository external file change Signed-off-by: KunoiSayami <[email protected]>
Diffstat (limited to 'pkgbuild.sh')
-rwxr-xr-xpkgbuild.sh19
1 files changed, 15 insertions, 4 deletions
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"