]> git.pld-linux.org Git - projects/cleanbuild.git/commitdiff
Update to use UID/GID of running user if non-root
authorElan Ruusamäe <glen@pld-linux.org>
Sun, 12 Dec 2021 20:08:52 +0000 (22:08 +0200)
committerElan Ruusamäe <glen@pld-linux.org>
Sun, 12 Dec 2021 20:18:49 +0000 (22:18 +0200)
bin/cleanbuild-docker.sh

index 5288f307dbfefac14face4d153b0c29ce061cb2f..40ed415813cfa99aacab7758b6e2e7a5851bb1fe 100755 (executable)
@@ -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
 }
This page took 0.1413 seconds and 4 git commands to generate.