[Qa-jenkins-scm] [jenkins.debian.net] 01/01: reproducible freebsd: follow the docs and build in /usr/src

Holger Levsen holger at moszumanska.debian.org
Wed Aug 12 10:54:41 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 c1325100358ee12ea765d47c1df304320848c432
Author: Holger Levsen <holger at layer-acht.org>
Date:   Wed Aug 12 12:53:17 2015 +0200

    reproducible freebsd: follow the docs and build in /usr/src
---
 bin/reproducible_freebsd.sh                 | 21 +++++++++++----------
 hosts/freebsd-jenkins/usr/local/etc/sudoers |  5 ++++-
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/bin/reproducible_freebsd.sh b/bin/reproducible_freebsd.sh
index 9e31cb8..54ff13d 100755
--- a/bin/reproducible_freebsd.sh
+++ b/bin/reproducible_freebsd.sh
@@ -35,7 +35,8 @@ save_freebsd_results(){
 #
 FREEBSD_TARGET="release/10.1.0"
 RSSH="ssh freebsd-jenkins.debian.net"
-TMPBUILDDIR=$($RSSH 'TMPDIR=/srv/workspace/chroots/ mktemp -d -t freebsd')  # this is tmpfs on linux, we should move this to tmpfs on freebsd too
+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
 DATE=$(date -u +'%Y-%m-%d')
 START=$(date +'%s')
@@ -48,12 +49,12 @@ $RSSH freebsd-version
 echo "============================================================================="
 echo "$(date -u) - Cloning the freebsd git repository (which is autosynced with their CVS repository)"
 echo "============================================================================="
-$RSSH git clone --depth 1 --branch $FREEBSD_TARGET https://github.com/freebsd/freebsd.git $TMPBUILDDIR/freebsd
-FREEBSD=$($RSSH "cd $TMPBUILDDIR/freebsd ; git log -1")
-FREEBSD_VERSION=$($RSSH "cd $TMPBUILDDIR/freebsd ; git describe --always")
+$RSSH git clone --depth 1 --branch $FREEBSD_TARGET https://github.com/freebsd/freebsd.git $TMPBUILDDIR
+FREEBSD=$($RSSH "cd $TMPBUILDDIR ; git log -1")
+FREEBSD_VERSION=$($RSSH "cd $TMPBUILDDIR ; git describe --always")
 echo "This is freebsd $FREEBSD_VERSION."
 echo
-$RSSH "cd $TMPBUILDDIR/freebsd ; git log -1"
+$RSSH "cd $TMPBUILDDIR ; git log -1"
 
 
 echo "============================================================================="
@@ -61,9 +62,9 @@ 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/freebsd ; TZ=$TZ sudo make buildworld" || true
-# try again, to work around failure in cleanup (stage 2.1)
-$RSSH "cd $TMPBUILDDIR/freebsd ; TZ=$TZ sudo make buildworld"
+$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"
 # save results in b1
 save_freebsd_results b1
 # cleanup ...
@@ -76,8 +77,8 @@ exit 1
 echo "============================================================================="
 echo "$(date -u) - Building freebsd ${FREEBSD_VERSION} - cleaning up between builds."
 echo "============================================================================="
-rm obj/releasedir -r
-rm obj/destdir.* -r
+###rm obj/releasedir -r
+###rm obj/destdir.* -r
 # we keep the toolchain(s)
 
 echo "============================================================================="
diff --git a/hosts/freebsd-jenkins/usr/local/etc/sudoers b/hosts/freebsd-jenkins/usr/local/etc/sudoers
index 3999cde..6cbddda 100644
--- a/hosts/freebsd-jenkins/usr/local/etc/sudoers
+++ b/hosts/freebsd-jenkins/usr/local/etc/sudoers
@@ -92,7 +92,10 @@ root ALL=(ALL) ALL
 # %sudo	ALL=(ALL) ALL
 
 # for reproducible builds:
-jenkins ALL= NOPASSWD: /usr/bin/make buildworld
+jenkins ALL= NOPASSWD: /usr/bin/make buildworld, \
+	rm -r /usr/src /usr/obj, \
+	mkdir /usr/src /usr/obj, \
+	chown jenkins /usr/src /usr/obj
 
 ## Uncomment to allow any user to run sudo if they know the password
 ## of the user they are running the command as (root by default).

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