From e6670fce608c250efe2b320ef72a1454267a88e0 Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Fri, 16 Oct 2020 00:16:10 +0000
Subject: [PATCH] added remove option to remove official packages

---
 main.sh |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/main.sh b/main.sh
index 37d4ad7..1317507 100755
--- a/main.sh
+++ b/main.sh
@@ -205,13 +205,26 @@
 }
 
 #Remove a package from the build list and repository
-# Usage remove [package name]
+#Usage of -a removes all packages moved to official repos
+# Usage remove [-a|package name]
 function remove {
-	for i in $@; do
-		rm -rf $BUILDDIR/$i
-		repo-remove $([[ "$SIGN" == "Y" ]] && echo "--sign --key $KEY") $REPODIR/$REPONAME.db.tar.$([ -n "$COMPRESSION" ] || echo $COMPRESSION && echo zst) $i
-		rm -f $REPODIR/*$i*
-	done
+	if [[ "$1" == "-a" ]]; then
+		rmlist=""
+		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' ' ')"
+		for i in $rmlist; do
+			rm -rf $BUILDDIR/$i
+			repo-remove $([[ "$SIGN" == "Y" ]] && echo "--sign --key $KEY") $REPODIR/$REPONAME.db.tar.$([ -n "$COMPRESSION" ] || echo $COMPRESSION && echo zst) $i
+			rm -f $REPODIR/*$i*
+		done
+	else
+		for i in $@; do
+			rm -rf $BUILDDIR/$i
+			repo-remove $([[ "$SIGN" == "Y" ]] && echo "--sign --key $KEY") $REPODIR/$REPONAME.db.tar.$([ -n "$COMPRESSION" ] || echo $COMPRESSION && echo zst) $i
+			rm -f $REPODIR/*$i*
+		done
+	fi
 }
 
 #Check config and create build folders

--
Gitblit v1.9.3