From 6569f6a5ddbf050f5d6986ea60610a8202729b5e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Sun, 12 Dec 2021 22:08:52 +0200 Subject: [PATCH 1/1] 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 } -- 2.44.0