From 32f3fce837569e2a3fb2545d8e09c95ae793ea47 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Fri, 21 Aug 2009 07:54:53 +0000
Subject: [PATCH] abuild: implement pkgusers/pkggroups

---
 abuild.in | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/abuild.in b/abuild.in
index faa569e92b1e..8862a565e6ef 100755
--- a/abuild.in
+++ b/abuild.in
@@ -26,7 +26,7 @@ BUILD_BASE="build-base"
 
 SUDO=${SUDO:-"sudo"}
 
-default_cmds="sanitycheck builddeps clean fetch unpack rootpkg apkcache"
+default_cmds="sanitycheck builddeps clean fetch unpack mkusers rootpkg apkcache"
 
 # read config
 ABUILD_CONF=${ABUILD_CONF:-"$sysconfdir/abuild.conf"}
@@ -264,7 +264,24 @@ cleanoldpkg() {
 	done
 	return 0
 }
-	
+
+mkusers() {
+	local i
+	for i in $pkgusers; do
+		if ! getent passwd $i >/dev/null; then
+			msg "Creating user $i"
+			$SUDO adduser -D -H $i || return 1
+		fi
+	done
+	for i in $pkggroups; do
+		if ! getent group $i >/dev/null; then
+			msg "Creating group $i"
+			$SUDO addgroup $i || return 1
+		fi
+	done
+}
+
+
 runpart() {
 	local part=$1
 	[ -n "$DEBUG" ] && msg "$part"
@@ -488,7 +505,8 @@ create_apks() {
 
 apkcache() {
 	if ! apk_up2date || [ -n "$force" ]; then
-		sanitycheck && builddeps && clean && fetch && unpack && rootpkg || return 1
+		sanitycheck && builddeps && clean && fetch && unpack \
+			&& mkusers && rootpkg || return 1
 	fi
 
 	local apk
-- 
GitLab