From 542b9cf486271a9b9637ac422ded2f89a63edea7 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Fri, 23 Oct 2009 09:57:04 +0000
Subject: [PATCH] abuild: dont run build() in fakeroot if package() exist

fakeroot seems do some kind of locking which kills performance on
multicores processors. We can run "make" and "make install" in 2 steps
with only hte latter in fakeroot.
---
 abuild.in | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/abuild.in b/abuild.in
index 0e1a8685d075..843fd0657a43 100755
--- a/abuild.in
+++ b/abuild.in
@@ -619,11 +619,22 @@ dev() {
 	default_dev
 }
 
+is_function() {
+	type "$1" 2>&1 | head -n 1 | egrep -q "is a (shell )?function"
+}
+
 # build and package in fakeroot
 rootpkg() {
+	local do_build=build
+	cd "$startdir"
+	if is_function package; then
+		msg "Building without fakeroot"
+		build || return 1
+		do_build=
+	fi
 	cd "$startdir"
 	msg "Entering fakeroot..."
-	fakeroot $0 build prepare_subpackages prepare_package create_apks
+	fakeroot $0 $do_build prepare_subpackages prepare_package create_apks
 }
 
 srcpkg() {
-- 
GitLab