From ca0d8a2ab391bf8dd1a40635d8755ab428bb1f4c Mon Sep 17 00:00:00 2001 From: Chizi123 <build@jsrv.com> Date: Thu, 15 Oct 2020 08:56:03 +0000 Subject: [PATCH] added dependency checking and automatic adding. not tested --- main.sh | 27 ++++++++++++++++++++++----- 1 files changed, 22 insertions(+), 5 deletions(-) diff --git a/main.sh b/main.sh index d0cb1fb..6d801b0 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 @@ -71,7 +71,7 @@ pkgs=() for i in ${pkgname[@]}; do #pkgs+=("$i-$pkgver-$pkgrel") - pkgs+=("$(find . -mindepth 1 -maxdepth 1 -type f -name "$1*.pkg.tar.*" -not -name "*.sig" | sed 's/^\.\///')") + 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 @@ -80,7 +80,7 @@ if [[ -f $REPODIR/$i ]]; then pkgs=${pkgs[@]/$i} else - rm $REPODIR/*$1*.pkg.tar.* + rm $REPODIR/*$1* cp $i $REPODIR/ [[ "$SIGN" == "Y" ]] && cp $i.sig $REPODIR/ fi @@ -106,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 + 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 @@ -173,13 +173,30 @@ } #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 + sudo pacman -Sy + + #Actually build wanted package build_pkg $i -f done return 0 -- Gitblit v1.9.3