[Qa-jenkins-scm] [jenkins.debian.net] 01/01: reproducible freebsd: build a 2nd time, copy results over and run debbindiff on them

Holger Levsen holger at moszumanska.debian.org
Wed Aug 12 16:10:06 UTC 2015


This is an automated email from the git hooks/post-receive script.

holger pushed a commit to branch master
in repository jenkins.debian.net.

commit cdd698ba3a513538a846e6488fe29942280018f1
Author: Holger Levsen <holger at layer-acht.org>
Date:   Wed Aug 12 18:08:39 2015 +0200

    reproducible freebsd: build a 2nd time, copy results over and run debbindiff on them
---
 bin/reproducible_freebsd.sh                 | 48 +++++++++++++----------------
 hosts/freebsd-jenkins/usr/local/etc/sudoers |  1 +
 2 files changed, 22 insertions(+), 27 deletions(-)

diff --git a/bin/reproducible_freebsd.sh b/bin/reproducible_freebsd.sh
index 54ff13d..be73685 100755
--- a/bin/reproducible_freebsd.sh
+++ b/bin/reproducible_freebsd.sh
@@ -14,9 +14,8 @@ set -e
 
 cleanup_tmpdirs() {
 	cd
-	echo "cleanup disabled, please check $TMPDIR and $TMPBUILDDIR and cleanup manually"
-	#$RSSH "rm -r $TMPDIR"
-	#$RSSH "rm -r $TMPBUILDDIR"
+	$RSSH "rm -r $TMPDIR"
+	$RSSH 'sudo rm -r /usr/src /usr/obj'
 }
 
 create_results_dirs() {
@@ -26,7 +25,7 @@ create_results_dirs() {
 save_freebsd_results(){
 	local RUN=$1
 	mkdir -p $TMPDIR/$RUN/
-	cp -pr obj/releasedir/ $TMPDIR/$RUN/
+	cp -pr /usr/obj/releasedir/ $TMPDIR/$RUN/
 	find $TMPDIR/$RUN/ -name MD5 -o -name SHA512 -exec rm {} \;
 }
 
@@ -35,6 +34,7 @@ save_freebsd_results(){
 #
 FREEBSD_TARGET="release/10.1.0"
 RSSH="ssh freebsd-jenkins.debian.net"
+RSCP="scp -r freebsd-jenkins.debian.net"
 TMPBUILDDIR=/usr/src
 $RSSH 'sudo rm -r /usr/src /usr/obj ; sudo mkdir /usr/src /usr/obj ; sudo chown jenkins /usr/src /usr/obj'  ### this is tmpfs on linux, we should move this to tmpfs on freebsd too
 TMPDIR=$($RSSH 'TMPDIR=/srv/reproducible-results mktemp -d')  # used to compare results
@@ -62,39 +62,29 @@ echo "$(date -u) - Building freebsd ${FREEBSD_VERSION} - first build run."
 echo "============================================================================="
 export TZ="/usr/share/zoneinfo/Etc/GMT+12"
 # actually build everything
-$RSSH "cd $TMPBUILDDIR ; TZ=$TZ sudo make buildworld" || true
-### try again, to work around failure in cleanup (stage 2.1)
-###$RSSH "cd $TMPBUILDDIR ; TZ=$TZ sudo make buildworld"
+$RSSH "cd $TMPBUILDDIR ; TZ=$TZ sudo make buildworld"
 # save results in b1
 save_freebsd_results b1
-# cleanup ...
-
-echo "so far so good, to be continued..."
-echo
-exit 1
-
 
 echo "============================================================================="
 echo "$(date -u) - Building freebsd ${FREEBSD_VERSION} - cleaning up between builds."
 echo "============================================================================="
-###rm obj/releasedir -r
-###rm obj/destdir.* -r
+sudo rm -r /usr/obj/releasedir /usr/obj/destdir.*
 # we keep the toolchain(s)
 
 echo "============================================================================="
 echo "$(date -u) - Building freebsd - second build run."
 echo "============================================================================="
 export TZ="/usr/share/zoneinfo/Etc/GMT-14"
-export LANG="fr_CH.UTF-8"
-export LC_ALL="fr_CH.UTF-8"
-export PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path"
-export CAPTURE_ENVIRONMENT="I capture the environment"
-umask 0002
-# use allmost all cores for second build
-NEW_NUM_CPU=$(echo $NUM_CPU-1|bc)
-ionice -c 3 nice \
-	linux64 --uname-2.6 \
-	./build.sh -j $NEW_NUM_CPU -U -u -m ${MACHINE} release
+###export LANG="fr_CH.UTF-8"
+###export LC_ALL="fr_CH.UTF-8"
+###export PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path"
+###export CAPTURE_ENVIRONMENT="I capture the environment"
+###umask 0002
+#### use allmost all cores for second build
+###NEW_NUM_CPU=$(echo $NUM_CPU-1|bc)
+# actually build everything
+$RSSH "cd $TMPBUILDDIR ; TZ=$TZ sudo make buildworld"
 # save results in b2
 save_freebsd_results b2
 # cleanup... 
@@ -106,8 +96,12 @@ export TZ="/usr/share/zoneinfo/UTC"
 export PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:"
 umask 0022
 
-# clean up builddir to save space on tmpfs
-rm -r $TMPBUILDDIR/freebsd
+# cleanup on the node
+$RSSH 'sudo rm -r /usr/src /usr/obj'
+
+# copy results over
+$RSCP:$TMPDIR $TMPDIR
+$RSSH "rm -r $TMPDIR" 
 
 # run debbindiff on the results
 TIMEOUT="30m"
diff --git a/hosts/freebsd-jenkins/usr/local/etc/sudoers b/hosts/freebsd-jenkins/usr/local/etc/sudoers
index 0be3749..831f220 100644
--- a/hosts/freebsd-jenkins/usr/local/etc/sudoers
+++ b/hosts/freebsd-jenkins/usr/local/etc/sudoers
@@ -94,6 +94,7 @@ root ALL=(ALL) ALL
 # for reproducible builds:
 jenkins ALL= NOPASSWD: /usr/bin/make buildworld, \
 	/bin/rm -r /usr/src /usr/obj, \
+	/bin/rm -r /usr/obj/releasedir /usr/obj/destdir.*, \
 	/bin/mkdir /usr/src /usr/obj, \
 	/usr/sbin/chown jenkins /usr/src /usr/obj
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git



More information about the Qa-jenkins-scm mailing list