[projects/cleanbuild] move ccache to cache dir; fix permission issues and logging

glen glen at pld-linux.org
Wed Jun 14 22:50:31 CEST 2017


commit d7525b8624ae21fb83e3f696532b5bf4a1377842
Author: Elan Ruusamäe <glen at pld-linux.org>
Date:   Wed Jun 14 22:51:59 2017 +0300

    move ccache to cache dir; fix permission issues and logging

 .dockerignore     |  3 +--
 .gitignore        |  4 ++++
 docker-builder.sh | 23 +++++++++--------------
 3 files changed, 14 insertions(+), 16 deletions(-)
---
diff --git a/.dockerignore b/.dockerignore
index 9d85f5d..154cf01 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,5 +1,4 @@
-cache/
-ccache/
 poldekconf/
 rpm/
 docker/
+cache/
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a8d188c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*~
+*.sw[o-p]
+/cache/
+/rpm/
diff --git a/docker-builder.sh b/docker-builder.sh
index 798f1f0..f7d1ec1 100755
--- a/docker-builder.sh
+++ b/docker-builder.sh
@@ -9,7 +9,6 @@ dir=$(pwd)
 image=pld/cleanbuild
 name=cleanbuild-$package
 topdir=$dir/rpm
-cache=$dir/cache
 home=/home/services/builder
 buildsize="4G"
 
@@ -17,39 +16,35 @@ buildsize="4G"
 docker kill $name || :
 docker rm $name || :
 
-install -d $topdir/bin $cache/poldek
+install -d $topdir/logs
 
 # start the container
 docker run --name=$name -d \
 	-v $topdir:$home/rpm \
 	-v $dir:$home/cleanbuild \
-	-v $cache/poldek:/var/cache/poldek \
-	-v $dir/ccache/$package:/home/services/builder/.ccache \
+	-v $dir/cache/poldek:/var/cache/poldek \
+	-v $dir/cache/ccache/$package:/home/services/builder/.ccache \
 	--tmpfs $home/rpm/BUILD:rw,exec,nosuid,size=$buildsize \
 	$image
 
-if [ ! -d $topdir/packages ]; then
-	uid=$(docker exec $name id -u builder)
-	gid=$(docker exec $name getgid builder)
-	sudo chown $uid:$gid $topdir
-	docker exec $name builder --init-rpm-dir
-fi
+# these paths need to be accessible for builder
+docker exec --user root $name chown builder:builder rpm/logs rpm/BUILD .ccache
 
 # fetch sources
 docker exec $name builder -g $package
 
 git_tag=$(GIT_DIR=$topdir/packages/$package/.git git describe --tags --always)
-buildlog=${git_tag#auto/*/}.log
+buildlog=rpm/logs/${git_tag#auto/*/}.log
 
 # remove .la dependencies
 docker exec $name cleanbuild/cleanup-la
 
 while true; do
-	docker exec $name cleanbuild/teeboth cleanbuild/$buildlog builder -nn -bb -R $package && rc=$? || rc=$?
+	docker exec $name cleanbuild/teeboth $buildlog builder -nn -bb -R $package --define 'clean exit 0' && rc=$? || rc=$?
 
 	findbr=$package.findbr.log
-
-	docker exec $name cleanbuild/findbr 'rpm/BUILD/*' cleanbuild/$buildlog > $findbr
+	builddir=$(docker exec $name sh -c 'test -d rpm/BUILD/* && echo rpm/BUILD/*')
+	docker exec $name cleanbuild/findbr $builddir $buildlog > $findbr
 
 	installed_something=false
 	while read pkg msg; do
================================================================

---- gitweb:

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



More information about the pld-cvs-commit mailing list