[projects/cleanbuild] Use package dir as container initial workdir

glen glen at pld-linux.org
Sun Aug 29 15:58:00 CEST 2021


commit eb07c8d6582cadef8a50e97c53963501c981f4e9
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Sun Aug 29 16:33:36 2021 +0300

    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
================================================================

---- gitweb:

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



More information about the pld-cvs-commit mailing list