[Qa-jenkins-scm] [jenkins.debian.net] 01/01: reproducible Arch Linux: also do one build 398 days in the future

Holger Levsen holger at layer-acht.org
Tue Nov 21 21:09:01 UTC 2017


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 d43174a98c41bc6a91028f574a51acc6a2ea46e9
Author: Holger Levsen <holger at layer-acht.org>
Date:   Tue Nov 21 21:08:54 2017 +0000

    reproducible Arch Linux: also do one build 398 days in the future
    
    Signed-off-by: Holger Levsen <holger at layer-acht.org>
---
 TODO                                    |  7 +++++++
 bin/reproducible_build_archlinux_pkg.sh | 17 ++++++++++++++---
 bin/reproducible_common.sh              |  3 +--
 3 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/TODO b/TODO
index bf75579..9b31de9 100644
--- a/TODO
+++ b/TODO
@@ -322,6 +322,13 @@ See link:https://jenkins.debian.net/userContent/about.html["about jenkins.debian
 
 ==== reproducible Arch Linux
 
+* cleanup below…
+* build in /srv/workspace instead of /tmp
+* do 2nd build on pb4
+* < Foxboron> the multilib builds are failing because multilib-devel isn't installed. Thats the base-devel for multilib packages.
+** -> disable multilib for now?
+* extract .BUILDINFO files and submit them to buildinfo.debian.net^wbuildinfo.reproducible-builds.org
+
 * https://bugs.archlinux.org/task/50086 - pacman doesnt create reproducible packages yet
 * describe archlinux setup…!
 * maintenance job:
diff --git a/bin/reproducible_build_archlinux_pkg.sh b/bin/reproducible_build_archlinux_pkg.sh
index 89ca4e9..ed082dd 100755
--- a/bin/reproducible_build_archlinux_pkg.sh
+++ b/bin/reproducible_build_archlinux_pkg.sh
@@ -222,7 +222,7 @@ second_build() {
 
 remote_build() {
 	local BUILDNR=$1
-	local NODE=$ARCHLINUX_BUILD_NODE
+	local NODE=$2
 	local FQDN=$NODE.debian.net
 	local PORT=22
 	set +e
@@ -322,10 +322,21 @@ SRCPACKAGE=""
 choose_package
 # build package twice
 mkdir b1 b2
-remote_build 1
+# currently there are two Arch Linux build nodes… let's keep things simple
+N1="profitbricks-build3-amd64"
+N2="profitbricks-build4-amd64"
+# if random number between 0 and 1 is greater than 1…
+if [ $(( ( $RANDOM % 2 ) )) -gt 0 ] ; then
+	NODE1=$N1
+	NODE2=$N2
+else
+	NODE1=$N2
+	NODE2=$N1
+fi
+remote_build $NODE1
 # only do the 2nd build if the 1st produced results
 if [ ! -z "$(ls $TMPDIR/b1/$SRCPACKAGE/*.pkg.tar.xz 2>/dev/null|| true)" ] ; then
-	remote_build 2
+	remote_build $NODE2
 	cd $TMPDIR/b1/$SRCPACKAGE
 	for ARTIFACT in *.pkg.tar.xz ; do
 		[ -f $ARTIFACT ] || continue
diff --git a/bin/reproducible_common.sh b/bin/reproducible_common.sh
index fa6324b..490c00a 100755
--- a/bin/reproducible_common.sh
+++ b/bin/reproducible_common.sh
@@ -47,7 +47,6 @@ BUILD_ENV_VARS="ARCH NUM_CPU CPU_MODEL DATETIME KERNEL" # these also needs to be
 USERTAGS="toolchain infrastructure timestamps fileordering buildpath username hostname uname randomness buildinfo cpu signatures environment umask ftbfs locale"
 
 # common settings for testing Arch Linux
-ARCHLINUX_BUILD_NODE=profitbricks-build3-amd64
 ARCHLINUX_REPOS="core extra multilib community"
 ARCHLINUX_PKGS=/srv/reproducible-results/archlinux_pkgs
 
@@ -464,7 +463,7 @@ write_variation_table() {
 	else
 		write_page "<tr><td>CPU type</td><td>$(cat /proc/cpuinfo|grep 'model name'|head -1|cut -d ":" -f2-)</td><td>same for both builds</td></tr>"
 		write_page "<tr><td>/bin/sh</td><td colspan=\"2\"> is not yet varied between rebuilds of $1.</td></tr>"
-		if [ "$1" != "FreeBSD" ] ; then
+		if [ "$1" != "FreeBSD" ] && [ "$1" != "Arch Linux" ] ; then
 			write_page "<tr><td>year, month, date</td><td>today ($DATE)</td><td>same for both builds (currently, work in progress)</td></tr>"
 		else
 			write_page "<tr><td>year, month, date</td><td>today ($DATE)</td><td>398 days in the future ($FUTURE)</td></tr>"

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