From d43174a98c41bc6a91028f574a51acc6a2ea46e9 Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Tue, 21 Nov 2017 21:08:54 +0000 Subject: reproducible Arch Linux: also do one build 398 days in the future Signed-off-by: Holger Levsen --- 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 bf75579b..9b31de98 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 89ca4e98..ed082dd1 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 fa6324bd..490c00af 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 "CPU type$(cat /proc/cpuinfo|grep 'model name'|head -1|cut -d ":" -f2-)same for both builds" write_page "/bin/sh is not yet varied between rebuilds of $1." - if [ "$1" != "FreeBSD" ] ; then + if [ "$1" != "FreeBSD" ] && [ "$1" != "Arch Linux" ] ; then write_page "year, month, datetoday ($DATE)same for both builds (currently, work in progress)" else write_page "year, month, datetoday ($DATE)398 days in the future ($FUTURE)" -- cgit v1.2.3-70-g09d2