From 18c1dde2def1fe2b928a69c00ff0d6616fb0be45 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Thu, 6 May 2010 08:20:59 +0000
Subject: [PATCH] abuild: only update abuildrepo index if needed

speeds up abuild -R a bit
---
 abuild.in | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/abuild.in b/abuild.in
index ec3b9d4cb6b7..5e345f9ff635 100755
--- a/abuild.in
+++ b/abuild.in
@@ -535,7 +535,7 @@ create_apks() {
 	done
 }
 
-abuildrepo() {
+update_abuildrepo() {
 	if ! apk_up2date || [ -n "$force" ]; then
 		sanitycheck && builddeps && clean && fetch && unpack \
 			&& prepare && mkusers && rootpkg || return 1
@@ -707,7 +707,7 @@ apk_up2date() {
 	return 0
 }
 
-cache_up2date() {
+abuildindex_up2date() {
 	local i apk
 	getpkgver || return 1
 	for i in $pkgname $subpackages; do
@@ -718,7 +718,13 @@ cache_up2date() {
 }
 
 up2date() {
-	apk_up2date && cache_up2date
+	apk_up2date && abuildindex_up2date
+}
+
+# rebuild package and abuildrepo index if needed
+abuildindex() {
+	up2date && return 0
+	update_abuildrepo
 }
 
 # source all APKBUILDs and output:
@@ -854,7 +860,7 @@ builddeps() {
 		local pkg=${i%:*}
 		if [ -d "$dir" ]; then
 			msg "Entering $dir"
-			cd "$dir" && $0 -k -r abuildrepo || return 1
+			cd "$dir" && $0 -k -r abuildindex || return 1
 		fi
 	done
 	$SUDO $APK add -u --repository "$abuildrepo" \
@@ -988,7 +994,7 @@ all() {
 	if up2date && [ -z "$force" ]; then
 		msg "Package is up to date"
 	else
-		abuildrepo
+		update_abuildrepo
 	fi
 }
 
-- 
GitLab