From 3b9f12201c323d52f9121fb2512953db4cc48567 Mon Sep 17 00:00:00 2001 From: Chizi123 <build@jsrv.com> Date: Thu, 15 Oct 2020 11:20:05 +0000 Subject: [PATCH] only remove archives to try and keep install files and the like --- main.sh | 42 +++++++++++++++++++++++++++++++++--------- 1 files changed, 33 insertions(+), 9 deletions(-) diff --git a/main.sh b/main.sh index 83e9c4a..7e7f635 100755 --- a/main.sh +++ b/main.sh @@ -48,7 +48,7 @@ fi #remove old versions before build - rm *$1*.pkg.tar.* + rm -f *$1*.tar.* #make and force rebuild if is git package # Mictosoft fonts have problems with checksums and need a seperate argument @@ -71,14 +71,19 @@ pkgs=() for i in ${pkgname[@]}; do #pkgs+=("$i-$pkgver-$pkgrel") - pkgs+=("$i") + 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 -f $REPODIR/*$1*.tar.* + cp $i $REPODIR/ + [[ "$SIGN" == "Y" ]] && cp $i.sig $REPODIR/ + fi done # Weird exceptions @@ -101,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 @@ -168,13 +173,32 @@ } #Add a new package to be built -#There is no name checking so be sure to put in the name correctly +#Adding build dependencies is # Usage: add [package name] function add { for i in $@; do cd $BUILDDIR + if [[ -z $(git ls-remote https://aur.archlinux.org/$i.git) ]]; then + echo "Not a package" + exit 2 + fi git clone https://aur.archlinux.org/$i.git cd $i + + #check for all build dependencies + for i in ${makedepends[@]}; do + if pacman -Si $i; then + makedepends=${makedepends[@]/$delete} + fi &>/dev/null + done + for i in ${makedepends[@]}; do + add $i + done + if [[ -n "${makedepends[@]}" ]]; then + sudo pacman -Sy + fi + + #Actually build wanted package build_pkg $i -f done return 0 @@ -184,9 +208,9 @@ # Usage remove [package name] function remove { for i in $@; do - rm -rf $BUILDDIR/$i* + rm -rf $BUILDDIR/$i repo-remove $REPODIR/$REPONAME.db.tar.xz $i - rm $REPODIR/$i* + rm -f $REPODIR/*$i* done } -- Gitblit v1.9.3