From 735bae3e0d17676430c6484bb1fc482e0cfd87ca Mon Sep 17 00:00:00 2001 From: Chizi123 <build@jsrv.com> Date: Thu, 15 Oct 2020 07:25:25 +0000 Subject: [PATCH] added compression option for packages and repos --- main.sh | 32 +++++++++++++++++++++++++------- 1 files changed, 25 insertions(+), 7 deletions(-) diff --git a/main.sh b/main.sh index ce058ff..66cc216 100755 --- a/main.sh +++ b/main.sh @@ -48,7 +48,7 @@ fi #remove old versions before build - rm *$1*.pkg.tar.* + rm *$1* #make and force rebuild if is git package # Mictosoft fonts have problems with checksums and need a seperate argument @@ -58,7 +58,7 @@ "$1" == "ttf-win7-fonts" ]]; then makepkg -s --noconfirm $([[ $CLEAN == "Y" ]] && echo "-c") $([[ $SIGN == "Y" ]] && echo "--sign --key $KEY") $([[ "$2" == "-f" ]] && echo -f) --skipchecksums else - makepkg -s --noconfirm $([[ $CLEAN == "Y" ]] && echo "-c") $([[ $SIGN == "Y" ]] && echo "--sign --key $KEY") $([[ "$2" == "-f" ]] && echo -f) + makepkg -s --noconfirm $([[ $CLEAN == "Y" ]] && echo "-c") $([[ $SIGN == "Y" ]] && echo "--sign --key $KEY") $([[ "$2" == "-f" ]] && echo -f) 2>&1 fi if [[ $? != 0 ]]; then #Register error @@ -70,14 +70,20 @@ source PKGBUILD pkgs=() for i in ${pkgname[@]}; do - pkgs+=("$i-$pkgver-$pkgrel") + #pkgs+=("$i-$pkgver-$pkgrel") + pkgs+=("$(find . -mindepth 1 -maxdepth 1 -type f -name "$1*.tar.*" -not -name "*.sig" | sed 's/^\.\///')") done #Move package to repodir and add to repo db + #Dont change the database if rebuilt the same package at same release and version for i in ${pkgs[@]}; do - rm $REPODIR/$i*.pkg.tar.??* - cp $i*.pkg.tar.?? $REPODIR/ - [[ "$SIGN" == "Y" ]] && cp $i*.pkg.tar.??.sig $REPODIR/ + if [[ -f $REPODIR/$i ]]; then + pkgs=${pkgs[@]/$i} + else + rm $REPODIR/*$1* + cp $i $REPODIR/ + [[ "$SIGN" == "Y" ]] && cp $i.sig $REPODIR/ + fi done # Weird exceptions @@ -100,7 +106,7 @@ # Wait until package is at the top of the queue and add to db if [[ "$(head -n1 $REPODIR/.waitlist)" == "$1" ]]; then for i in ${pkgs[@]}; do - repo-add $([[ "$SIGN" == "Y" ]] && echo "--sign --key $KEY") $REPODIR/$REPONAME.db.tar.xz $REPODIR/$i*.pkg.tar.?? + repo-add $([[ "$SIGN" == "Y" ]] && echo "--sign --key $KEY") $REPODIR/$REPONAME.db.tar.$([ -n COMPRESSION ] || echo $COMPRESSION && echo zst) $REPODIR/$i done while true; do if [[ $(cat $REPODIR/.waitlist.lck) == 1 ]]; then @@ -116,6 +122,16 @@ done break else + if [[ -z "$(grep $1 $REPODIR/.waitlist)" ]]; then + # Not on waitlist for some reason, need to readd + if [[ $(cat $REPODIR/.waitlist.lck) == 1 ]]; then + sleep 1 + else + echo 1 > $REPODIR/.waitlist.lck + echo $1 >> $REPODIR/.waitlist + echo 0 > $REPODIR/.waitlist.lck + fi + fi sleep 10 fi done @@ -139,6 +155,8 @@ sudo pacman -Syu --noconfirm fi + #Remove waitlist and errors from old builds + rm -f $REPODIR/{.waitlist,.errors} #update every package currently stored for d in $(find $BUILDDIR -maxdepth 1 -mindepth 1 -type d) do -- Gitblit v1.9.3