]> git.pld-linux.org Git - projects/cleanbuild.git/commitdiff
Add verbosity to build output what script is doing
authorElan Ruusamäe <glen@pld-linux.org>
Wed, 10 Mar 2021 22:51:59 +0000 (00:51 +0200)
committerElan Ruusamäe <glen@pld-linux.org>
Wed, 10 Mar 2021 23:10:58 +0000 (01:10 +0200)
bin/cleanbuild-docker.sh

index fffd8f98737c784511c1db1a6429f158056b0a31..eb6e6e78225c97d0378a0ae51c8266226290772d 100755 (executable)
@@ -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}"
 }
 
This page took 0.183829 seconds and 4 git commands to generate.