From 4c5ea6af7385064575531b1572c9bebf999b005d Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Wed, 2 Aug 2017 17:03:03 -0400 Subject: reproducible: Add two new armhf builders (jtk1b, jtx1b). Temporarily disable two armhf build nodes (jtk1a down, ff64a too slow). Add an additional build job, as the new machines have more capacity than the old. Signed-off-by: Holger Levsen --- .../etc/pbuilder/rebuild-hooks/B01_cleanup | 17 +++++++ .../etc/pbuilder/rebuild-hooks/C01_cleanup | 21 ++++++++ .../pbuilder/rebuild-hooks/D01_modify_environment | 56 ++++++++++++++++++++++ 3 files changed, 94 insertions(+) create mode 100755 hosts/jtx1b-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup create mode 100755 hosts/jtx1b-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup create mode 100755 hosts/jtx1b-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment (limited to 'hosts/jtx1b-armhf-rb/etc/pbuilder') diff --git a/hosts/jtx1b-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup b/hosts/jtx1b-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup new file mode 100755 index 00000000..334e03a2 --- /dev/null +++ b/hosts/jtx1b-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup @@ -0,0 +1,17 @@ +#!/bin/sh + +set -e + +BUILDDIR="${BUILDDIR:-/tmp/buildd}" + +# exit if we are in the same UTS namespace as init ( != 2nd build ) +[ "$(readlink /proc/1/ns/uts)" = "$(readlink /proc/self/ns/uts)" ] && exit 0 + +# cease using disorderfs +if [ -d /tmp/disorderfs ] ; then + echo -n "Unmounting /tmp/disorderfs…" + fusermount -z -u "$BUILDDIR" + rmdir "$BUILDDIR" + mv /tmp/disorderfs "$BUILDDIR" + echo " done." +fi diff --git a/hosts/jtx1b-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup b/hosts/jtx1b-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup new file mode 100755 index 00000000..47719ae7 --- /dev/null +++ b/hosts/jtx1b-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +BUILDDIR="${BUILDDIR:-/tmp/buildd}" + +echo "debug output: disk usage on $(hostname) at $(date -u)" +df -h +echo + +# exit if we are in the same UTS namespace as init ( != 2nd build ) +[ "$(readlink /proc/1/ns/uts)" = "$(readlink /proc/self/ns/uts)" ] && exit 0 + +# cease using disorderfs +if [ -d /tmp/disorderfs ] ; then + echo -n "Unmounting /tmp/disorderfs…" + fusermount -z -u "$BUILDDIR" + rmdir "$BUILDDIR" + mv /tmp/disorderfs "$BUILDDIR" + echo " done." +fi diff --git a/hosts/jtx1b-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment b/hosts/jtx1b-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment new file mode 100755 index 00000000..4b4c9ab3 --- /dev/null +++ b/hosts/jtx1b-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment @@ -0,0 +1,56 @@ +#!/bin/sh + +set -e + +BUILDDIR="${BUILDDIR:-/tmp/buildd}" + +# exit if we are in the same UTS namespace as init ( != 2nd build ) +[ "$(readlink /proc/1/ns/uts)" = "$(readlink /proc/self/ns/uts)" ] && exit 0 + +# +# doing variations for the 2nd builds: +# +REAL_HOSTNAME=$(hostname) +echo "disorder-fs debug: Running on $REAL_HOSTNAME." + +echo "I: Changing host+domainname to test build reproducibility" >&2 +sed -e '/^127.0.0.1/s/$/ i-capture-the-hostname i-capture-the-hostname.i-capture-the-domain/' -i /etc/hosts +hostname i-capture-the-hostname +domainname i-capture-the-domain +echo "I: Adding a custom variable just for the fun of it..." >&2 +export CAPTURE_ENVIRONMENT="I capture the environment" + +echo "I: Changing /bin/sh to bash" >&2 +echo "dash dash/sh boolean false" | debconf-set-selections +DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash +if [ -n "$BUILDUSERNAME" ] ; then + echo "I: Setting $BUILDUSERNAME's login shell to /bin/bash" >&2 + usermod -s /bin/bash $BUILDUSERNAME + if [ -n "$BUILDUSERGECOS" ] ; then + echo "I: Setting $BUILDUSERNAME's GECOS to $BUILDUSERGECOS" >&2 + usermod -c "$BUILDUSERGECOS" $BUILDUSERNAME + fi +fi + +# disable disorderfs due to #844498 +#exit 0 +# use disorderfs on armhf only for now +if [ "$(dpkg --print-architecture)" != "armhf" ] ; then + exit 0 +elif [ "$REAL_HOSTNAME" != "bpi0" ] ; then + exit 0 +else + echo "disorder-fs debug: bpi0, yay, enabling disorderfs now…" +fi + +# use disorderfs +if [ -x /usr/bin/disorderfs ] ; then + echo -n "Moving $BUILDDIR to /tmp/disorderfs and mounting this as $BUILDDIR via the fuse disorderfs…" + mknod -m 666 /dev/fuse c 10 229 + mv "$BUILDDIR" /tmp/disorderfs + mkdir "$BUILDDIR" + disorderfs --multi-user=yes /tmp/disorderfs "$BUILDDIR" + echo " done." +else + echo "Warning: disorderfs not available." +fi -- cgit v1.2.3-70-g09d2