| | |
| | | # Usage: build_pkg [package name] [-f force] |
| | | function build_pkg { |
| | | #check if PKGBUILD has updated, don't rebuild if hasn't changed |
| | | if [[ -n "$(git pull | grep 'Already up to date.')" && -z "$(grep 'pkgver() {' PKGBUILD)" && -z "$2" ]]; then |
| | | if [[ -n $(git pull | grep 'Already up to date.') && -z $(grep 'pkgver() {' PKGBUILD) && -z "$2" ]]; then |
| | | return 2 |
| | | fi |
| | | |
| | | #remove old versions before build |
| | | rm -f *$1*.tar.* |
| | | # rm -f *$1*.tar.* |
| | | |
| | | #make and force rebuild if is git package |
| | | # Mictosoft fonts have problems with checksums and need a seperate argument |
| | |
| | | "$1" == "ttf-office-2007-fonts" || |
| | | "$1" == "ttf-ms-win8" || |
| | | "$1" == "ttf-win7-fonts" ]]; then |
| | | makepkg -s --noconfirm $([[ $CLEAN == "Y" ]] && echo "-c") $([[ $SIGN == "Y" ]] && echo "--sign --key $KEY") $([[ "$2" == "-f" ]] && echo -f) --skipchecksums |
| | | makepkg -s --noconfirm $([[ $CLEAN == "Y" ]] && echo "-c") $([[ $SIGN == "Y" ]] && echo "--sign --key $KEY") $([[ "$2" == "-f" ]] && echo -f) --skipchecksums 2>&1 |
| | | else |
| | | makepkg -s --noconfirm $([[ $CLEAN == "Y" ]] && echo "-c") $([[ $SIGN == "Y" ]] && echo "--sign --key $KEY") $([[ "$2" == "-f" ]] && echo -f) 2>&1 |
| | | fi |
| | | if [[ $? != 0 ]]; then |
| | | if [[ $? != 0 && $? != 13 ]]; then |
| | | #Register error |
| | | echo $1 >> $ERRORFILE |
| | | return 1 |
| | |
| | | #Get build artifact names from PKGBUILD and build artifacts |
| | | #Remove duplicates from the list |
| | | source PKGBUILD |
| | | pkgs=() |
| | | srcdir="$(pwd)/src" |
| | | ver=$(pkgver) |
| | | find . -mindepth 1 -maxdepth 1 -type f \( -name "*.pkg.tar.*" -o -name "*.src.tar.*" \) -not -name "*$ver-$pkgrel*" -delete |
| | | ipkgs=() |
| | | for i in ${pkgname[@]}; do |
| | | #pkgs+=("$i-$pkgver-$pkgrel") |
| | | ipkgs+=($(find . -mindepth 1 -maxdepth 1 -type f \( -name "$i*.pkg.tar.*" -o -name "$i*.src.tar.*" \) -not -name "*.sig" | sed 's/^\.\///')) |
| | | done |
| | | while read -r -d '' x; do pkgs+=("$x"); done < <(printf "%s\0" "${ipkgs[@]}" | sort -uz) |
| | | |
| | | # Weird exceptions |
| | | if [[ "$1" == "zoom" ]]; then |
| | | rm zoom*_orig* |
| | | for i in ${pkgs[@]}; do |
| | | if [ -z "${i##*_orig*}" ]; then |
| | | pkgs=(${pkgs[@]/$i}) |
| | | fi |
| | | done |
| | | fi |
| | | |
| | | #Move package to repodir and add to repo db |
| | | #Dont change the database if rebuilt the same package at same release and version |
| | |
| | | done |
| | | else |
| | | return; |
| | | fi |
| | | |
| | | # Weird exceptions |
| | | if [[ "$1" == "zoom" ]]; then |
| | | rm zoom*_orig*.pkg.tar.xz |
| | | for i in ${pkgs[@]}; do |
| | | if [ -z "${i##*orig*}" ]; then |
| | | pkgs=${pkgs[@]/$i} |
| | | fi |
| | | done |
| | | fi |
| | | |
| | | # Add package to waiting list to be added to repo db |
| | |
| | | sleep 1 |
| | | else |
| | | # Remove self from top of queue |
| | | echo 1 > $WAITLST_LCK |
| | | echo 1 > $WAITLIST_LCK |
| | | TEMP=$(mktemp) |
| | | tail -n +2 $WAITLIST > $TEMP |
| | | cp $TEMP $WAITLIST |
| | |
| | | rmlist="$rmlist $(comm -12 <(pacman -Slq $REPONAME | sort) <(pacman -Slq core | sort) | tr '\n' ' ')" |
| | | rmlist="$rmlist $(comm -12 <(pacman -Slq $REPONAME | sort) <(pacman -Slq extra | sort) | tr '\n' ' ')" |
| | | rmlist="$rmlist $(comm -12 <(pacman -Slq $REPONAME | sort) <(pacman -Slq community | sort) | tr '\n' ' ')" |
| | | removed=() |
| | | TMPFILE=$(mktemp) |
| | | for i in $(find $BUILDDIR -mindepth 1 -maxdepth 1 -type d); do |
| | | check_pkg $TMPFILE "$(echo $i | rev | cut -d'/' -f1 | rev)" & |