]> git.pld-linux.org Git - projects/cleanbuild.git/commitdiff
Use package dir as container initial workdir
authorElan Ruusamäe <glen@delfi.ee>
Sun, 29 Aug 2021 13:33:36 +0000 (16:33 +0300)
committerElan Ruusamäe <glen@delfi.ee>
Sun, 29 Aug 2021 13:42:30 +0000 (16:42 +0300)
bin/cleanbuild-docker.sh

index 35fd77365a8b7d4b8a8ad7056b56b95a28c3f496..a30d81238d8b301a339b4439ceac1c6800522272 100755 (executable)
@@ -76,6 +76,7 @@ create_container() {
                PACKAGE_NAME=$PACKAGE_NAME \
                docker-compose run --rm -d \
                        --name=$name \
+                       --workdir=$home/rpm/packages/$PACKAGE_NAME \
                        --label=cleanbuild=$PACKAGE_NAME \
                        cleanbuild
        fi
@@ -88,7 +89,7 @@ create_container() {
 
        if [ ! -d $topdir/rpm-build-tools ]; then
                notice "Initialize rpm-build-tools"
-               docker exec $name builder --init-rpm-dir
+               docker exec $name -w / builder --init-rpm-dir
        fi
 }
 
@@ -102,7 +103,7 @@ package_prepare() {
 
        notice "Fetch package sources"
        docker exec --user=root -w / $name setfacl -x u:builder /etc/resolv.conf
-       docker exec $name builder -g $PACKAGE_NAME
+       docker exec -w / $name builder -g $PACKAGE_NAME
 
        if ! $NETWORKING; then
                notice "Disable networking: Prevent network access for user builder like PLD Linux builders"
@@ -110,7 +111,7 @@ package_prepare() {
        fi
 
        notice "Find latest tag on the branch"
-       git_tag=$(docker exec -e GIT_DIR=$home/rpm/packages/$PACKAGE_NAME/.git $name git describe --tags --always)
+       git_tag=$(docker exec -w / -e GIT_DIR=$home/rpm/packages/$PACKAGE_NAME/.git $name git describe --tags --always)
        buildlog=rpm/logs/${git_tag#auto/*/}.log
        notice "Build log: $buildlog"
 }
@@ -121,22 +122,22 @@ package_build() {
 
        while true; do
                notice "Install dependencies"
-               docker exec -t $name builder -g -R "$@"
+               docker exec -w / -t $name builder -g -R "$@"
                notice "Remove .la dependencies"
                docker exec --user=root -w / $name $home/cleanbuild/bin/cleanup-la
                notice "Reset findunusedbr state after deps install"
                docker exec --user=root -w / $name $home/cleanbuild/bin/findunusedbr -c / $home/rpm/packages/$PACKAGE_NAME/$PACKAGE_NAME.spec
 
                notice "Build package"
-               docker exec $name cleanbuild/bin/teeboth $buildlog builder -bb --define '__spec_clean_body %{nil}' "$@" && rc=$? || rc=$?
+               docker exec -w $home $name cleanbuild/bin/teeboth $buildlog builder -bb --define '__spec_clean_body %{nil}' "$@" && rc=$? || rc=$?
                # Kill processes on Ctrl+C
                if [ "$rc" = 255 ]; then
-                       docker exec $name pkill -e -u builder
+                       docker exec -w / $name pkill -e -u builder
                        die "Aborted" $rc
                fi
 
                findbr=$PACKAGE_NAME.findbr.log
-               builddir=$(docker exec $name sh -c 'test ! -d rpm/BUILD/* || echo rpm/BUILD/*')
+               builddir=$(docker exec -w $home $name sh -c 'test ! -d rpm/BUILD/* || echo rpm/BUILD/*')
                if [ -z "$builddir" ]; then
                        die "No build dir. Build failed?" 6
                fi
This page took 0.377126 seconds and 4 git commands to generate.