[projects/cleanbuild] Update to use UID/GID of running user if non-root

glen glen at pld-linux.org
Sun Dec 12 21:19:10 CET 2021


commit 6569f6a5ddbf050f5d6986ea60610a8202729b5e
Author: Elan Ruusamäe <glen at pld-linux.org>
Date:   Sun Dec 12 22:08:52 2021 +0200

    Update to use UID/GID of running user if non-root

 bin/cleanbuild-docker.sh | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/bin/cleanbuild-docker.sh b/bin/cleanbuild-docker.sh
index 5288f30..40ed415 100755
--- a/bin/cleanbuild-docker.sh
+++ b/bin/cleanbuild-docker.sh
@@ -72,7 +72,7 @@ create_container() {
 	install -d $topdir/logs
 
 	# start the container
-	if !  have_container "$PACKAGE_NAME"; then
+	if ! have_container "$PACKAGE_NAME"; then
 		TMPFS_SIZE=$TMPFS \
 		PACKAGE_NAME=$PACKAGE_NAME \
 		docker-compose run --rm -d \
@@ -82,11 +82,21 @@ create_container() {
 			cleanbuild
 	fi
 
-	notice "Setup the homedir"
+	UID=$(id -u)
+	GID=$(id -g)
+	notice "Setup builder user ($UID:$GID)"
+
 	docker exec --user=root -w / $name usermod -d $home builder
 
+	if [ "$UID" -gt 0 ]; then
+		docker exec --user=root -w / $name usermod -u $UID builder
+	fi
+	if [ "$GID" -gt 0 ]; then
+		docker exec --user=root -w / $name groupmod -g $GID builder
+	fi
+
 	notice "Setup permissions"
-	docker exec --user=root -w / $name sh -c "cd $home && chown builder:builder . rpm rpm/logs rpm/BUILD rpm/RPMS .ccache"
+	docker exec --user=root -w / $name sh -c "cd $home && chown builder:builder . rpm rpm/logs rpm/BUILD rpm/RPMS rpm/packages .ccache"
 
 	if [ ! -d $topdir/rpm-build-tools ]; then
 		notice "Initialize rpm-build-tools"
@@ -230,11 +240,11 @@ main() {
 
 	$TRACING && set -x
 	local name="cleanbuild-$PACKAGE_NAME"
-	create_container
 	if $EXEC; then
 		enter_container
 		return
 	fi
+	create_container
 	package_prepare
 	package_build
 }
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/projects/cleanbuild.git/commitdiff/b528412d87bbb5fbd7c4632e91c684296d81e397



More information about the pld-cvs-commit mailing list