From eb07c8d6582cadef8a50e97c53963501c981f4e9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Sun, 29 Aug 2021 16:33:36 +0300 Subject: [PATCH] Use package dir as container initial workdir --- bin/cleanbuild-docker.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/bin/cleanbuild-docker.sh b/bin/cleanbuild-docker.sh index 35fd773..a30d812 100755 --- a/bin/cleanbuild-docker.sh +++ b/bin/cleanbuild-docker.sh @@ -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 -- 2.44.0