| | |
| | | #Remove old packages from build directory |
| | | source PKGBUILD |
| | | srcdir="$(pwd)/src" |
| | | ver=$(pkgver) |
| | | if grep -q 'pkgver() {' PKGBUILD; then |
| | | ver=$(pkgver) |
| | | else |
| | | ver=$pkgver |
| | | fi |
| | | find . -mindepth 1 -maxdepth 1 -type f \( -name "*.pkg.tar.*" -o -name "*.src.tar.*" \) -not -name "*$ver-$pkgrel*" -delete |
| | | |
| | | |
| | | #Get build artifact names from PKGBUILD and build artifacts |
| | | #Remove duplicates from the list |
| | | pkgs=() |
| | | ipkgs=() |
| | | for i in ${pkgname[@]}; do |
| | | #pkgs+=("$i-$pkgver-$pkgrel") |
| | |
| | | cp $i $REPODIR/ |
| | | [[ "$SIGN" == "Y" ]] && cp $i.sig $REPODIR/ |
| | | done |
| | | else |
| | | else |
| | | return; |
| | | fi |
| | | |
| | |
| | | while true; do |
| | | # Wait until package is at the top of the queue and add to db |
| | | if [[ "$(head -n1 $WAITLIST)" == "$1" ]]; then |
| | | # for i in ${pkgs[@]}; do |
| | | repo-add $([[ "$SIGN" == "Y" ]] && echo "--sign --key $KEY") $REPODIR/$REPONAME.db.tar.$([ -n "$COMPRESSION" ] || echo $COMPRESSION && echo zst) ${pkgs[@]} |
| | | # done |
| | | repo-add $([[ "$SIGN" == "Y" ]] && echo "--sign --key $KEY") $REPODIR/$REPONAME.db.tar.$([ -n "$COMPRESSION" ] || echo $COMPRESSION && echo zst) ${pkgs[@]} |
| | | while true; do |
| | | if [[ $(cat $WAITLIST_LCK) == 1 ]]; then |
| | | sleep 1 |
| | |
| | | #Adding build dependencies is |
| | | # Usage: add [package name] |
| | | function add { |
| | | local i j k |
| | | for i in $@; do |
| | | cd $BUILDDIR |
| | | if [[ -z $(git ls-remote https://aur.archlinux.org/$i.git) ]]; then |
| | |
| | | fi |
| | | git clone https://aur.archlinux.org/$i.git |
| | | cd $i |
| | | unset depends |
| | | unset makedepends |
| | | local makedeps |
| | | source PKGBUILD |
| | | |
| | | #check for all build dependencies |
| | | for i in ${makedepends[@]}; do |
| | | if pacman -Si $i; then |
| | | makedepends=${makedepends[@]/$delete} |
| | | #Check for all build dependencies |
| | | for j in ${makedepends[@]}; do |
| | | k=$(echo $j | sed 's/[>]=.*//g') |
| | | if ! pacman -Si $k; then |
| | | makedeps+=($k) |
| | | fi &>/dev/null |
| | | done |
| | | for i in ${makedepends[@]}; do |
| | | add $i |
| | | for j in ${depends[@]}; do |
| | | k=$(echo $j | sed 's/[>]=.*//g') |
| | | if ! pacman -Si $k; then |
| | | makedeps+=($k) |
| | | fi &>/dev/null |
| | | done |
| | | if [[ -n "${makedepends[@]}" ]]; then |
| | | |
| | | #Add dependencies and update so overall build can work |
| | | for j in ${makedeps[@]}; do |
| | | add $j |
| | | done |
| | | if [[ -n "${makedeps[@]}" ]]; then |
| | | sudo pacman -Sy |
| | | fi |
| | | |
| | | #Actually build wanted package |
| | | cd $BUILDDIR/$i |
| | | build_pkg $i -f |
| | | done |
| | | return 0 |
| | |
| | | rm -f $TMPFILE |
| | | } |
| | | |
| | | #Check helper function |
| | | function check_pkg { |
| | | if [[ -z "$(curl -sI "https://aur.archlinux.org/packages/$2" | head -n1 | grep 200)" ]]; then |
| | | echo "$2" >> $1 |