[projects/cleanbuild] Add verbosity to build output what script is doing

glen glen at pld-linux.org
Thu Apr 1 13:33:24 CEST 2021


commit 9ccc3554555a8af21644e6e316308fc89d6c4815
Author: Elan Ruusamäe <glen at pld-linux.org>
Date:   Thu Mar 11 00:51:59 2021 +0200

    Add verbosity to build output what script is doing

 bin/cleanbuild-docker.sh | 38 +++++++++++++++++++++++++-------------
 1 file changed, 25 insertions(+), 13 deletions(-)
---
diff --git a/bin/cleanbuild-docker.sh b/bin/cleanbuild-docker.sh
index fffd8f9..eb6e6e7 100755
--- a/bin/cleanbuild-docker.sh
+++ b/bin/cleanbuild-docker.sh
@@ -17,9 +17,13 @@ image=registry.gitlab.com/pld-linux/cleanbuild
 topdir=$dir/rpm
 home=/home/builder
 
+notice() {
+	echo >&2 "[cleanbuild:notice]: $*"
+}
+
 die() {
 	local rc=${2:-1}
-	echo >&2 "$0: $1"
+	echo >&2 "[cleanbuild:error]: $1"
 	exit $rc
 }
 
@@ -50,7 +54,7 @@ tmpfs() {
 }
 
 create_container() {
-	# cleanup first
+	notice "Clean up old container: $name"
 	docker kill $name >/dev/null 2>&1 || :
 	docker rm $name >/dev/null 2>&1 || :
 
@@ -64,26 +68,33 @@ create_container() {
 		--label=cleanbuild=$PACKAGE_NAME \
 		cleanbuild
 
+	notice "Setup the homedir"
 	docker exec --user=root -w / $name usermod -d $home builder
 
-	# these paths need to be accessible for builder
+	notice "Setup permissions"
 	docker exec --user=root -w / $name sh -c "cd $home && chown builder:builder rpm rpm/logs rpm/BUILD .ccache"
 
 	if [ ! -d $topdir/rpm-build-tools ]; then
+		notice "Initialize rpm-build-tools"
 		docker exec $name builder --init-rpm-dir
 	fi
 }
 
 package_prepare() {
-	# fetch sources and install deps
+	notice "Fetch sources and install dependencies"
 	if [ -d $topdir/packages/$PACKAGE_NAME ]; then
 		# chown, as it might be different owner (root) modified outside container
+		notice "Fix ownership of existing package directory"
 		docker exec --user=root -w / $name chown -R builder:builder $home/rpm/packages/$PACKAGE_NAME
 	fi
+
+	notice "Fetch package sources"
 	docker exec $name builder -g $PACKAGE_NAME
 
-	# prevent network access like pld builders do
-	$NETWORKING || docker exec --user=root -w / $name setfacl -m u:builder:--- /etc/resolv.conf
+	if ! $NETWORKING; then
+		notice "Disable networking: Prevent network access for user builder like PLD Linux builders"
+		docker exec --user=root -w / $name setfacl -m u:builder:--- /etc/resolv.conf
+	fi
 
 	git_tag=$(GIT_DIR=$topdir/packages/$PACKAGE_NAME/.git git describe --tags --always)
 	buildlog=rpm/logs/${git_tag#auto/*/}.log
@@ -94,14 +105,14 @@ package_build() {
 	set -- -nn ${WITH:+--with "${WITH# }"} ${WITHOUT:+--without "${WITHOUT# }"} "$PACKAGE_NAME"
 
 	while true; do
-		# install deps
+		notice "Install dependencies"
 		docker exec $name builder -g -R "$@"
-		# remove .la dependencies
+		notice "Remove .la dependencies"
 		docker exec --user=root -w / $name $home/cleanbuild/bin/cleanup-la
-		# reset findunusedbr state after deps install
+		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
 
-		# actual build
+		notice "Build package"
 		docker exec $name cleanbuild/bin/teeboth $buildlog builder -bb --define '__spec_clean_body %{nil}' "$@" && rc=$? || rc=$?
 
 		findbr=$PACKAGE_NAME.findbr.log
@@ -109,7 +120,7 @@ package_build() {
 		if [ -z "$builddir" ]; then
 			die "No build dir. Build failed?" 6
 		fi
-		# need root to run poldek
+		notice "Execute findbr"
 		docker exec --user=root -w / $name sh -c "cd $home && cleanbuild/bin/findbr $builddir $buildlog" > $findbr
 
 		installed_something=false
@@ -122,10 +133,11 @@ package_build() {
 		# go for another try
 		$installed_something && continue
 
+		notice "Execute findunusedbr"
 		docker exec --user=root -w / $name $home/cleanbuild/bin/findunusedbr -c / $home/rpm/packages/$PACKAGE_NAME/$PACKAGE_NAME.spec
 
 		if [ $rc -eq 0 ] && ! $KEEP_CONTAINER; then
-			# finished ok, cleanup
+			notice "Finished ok, cleanup container"
 			docker kill $name >/dev/null && docker rm $name >/dev/null || :
 		fi
 
@@ -177,7 +189,7 @@ parse_options() {
 		shift
 	done
 
-	test "$#" -eq 1 || die "package not specified or excess arguments"
+	test "$#" -eq 1 || die "Package not specified or excess arguments"
 	PACKAGE_NAME="${1%.spec}"
 }
 
================================================================

---- gitweb:

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



More information about the pld-cvs-commit mailing list