From 5ac3269f001693ab8314fc6c2f234afe3d0c791c Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Tue, 20 Apr 2021 05:49:16 +0000
Subject: [PATCH] added check for already added when adding

---
 main.sh |   30 ++++++++++++++++--------------
 1 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/main.sh b/main.sh
index f2a4f4a..7af5092 100755
--- a/main.sh
+++ b/main.sh
@@ -46,11 +46,23 @@
 #Build latest version of a package
 # Usage: build_pkg [package name] [-f force]
 function build_pkg {
+	#first need to reset repo, revert any changes so update can happen
+	git reset --hard
 	#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
 		return 2
 	fi
 
+	#Remove old packages from build directory
+	source PKGBUILD
+	srcdir="$(pwd)/src"
+	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
+
 	#make and force rebuild if is git package
 	# Mictosoft fonts have problems with checksums and need a seperate argument
 	if [[ "$1" == "ttf-ms-win10" ||
@@ -67,16 +79,6 @@
 		return 1
 	fi
 
-	#Remove old packages from build directory
-	source PKGBUILD
-	srcdir="$(pwd)/src"
-	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=()
@@ -202,8 +204,8 @@
 	local i j k
 	for i in $@; do
 		cd $BUILDDIR
-		if [[ -z $(git ls-remote https://aur.archlinux.org/$i.git) ]]; then
-			echo "Not a package"
+		if [ ! -d $i ] && [[ -z $(git ls-remote https://aur.archlinux.org/$i.git) ]]; then
+			echo "Not a package: $i"
 			exit 2
 		fi
 		git clone https://aur.archlinux.org/$i.git
@@ -216,13 +218,13 @@
 		#Check for all build dependencies
 		for j in ${makedepends[@]}; do
 			k=$(echo $j | sed 's/[>]=.*//g')
-			if ! pacman -Si $k; then
+			if ! (pacman -Si $k || pacman -Qi $k); then
 				makedeps+=($k)
 			fi &>/dev/null
 		done
 		for j in ${depends[@]}; do
 			k=$(echo $j | sed 's/[>]=.*//g')
-			if ! pacman -Si $k; then
+			if ! (pacman -Si $k || pacman -Qi $k); then
 				makedeps+=($k)
 			fi &>/dev/null
 		done

--
Gitblit v1.10.0