summaryrefslogtreecommitdiffstats
path: root/hosts/profitbricks-build12-i386/etc/pbuilder
diff options
context:
space:
mode:
authorHolger Levsen <holger@layer-acht.org>2016-11-16 15:58:09 +0100
committerHolger Levsen <holger@layer-acht.org>2016-11-16 15:58:09 +0100
commit7e5ea35ef55fd1a939a6671c91125af4b41c0a29 (patch)
tree90f20d03c513f49ebe397858328bca8c1bdf222b /hosts/profitbricks-build12-i386/etc/pbuilder
parent4b08e361797c96e9729e3e2561eaa14124bae357 (diff)
downloadjenkins.debian.net-7e5ea35ef55fd1a939a6671c91125af4b41c0a29.tar.xz
reproducible Debian: add two new i386 build nodes, pb12+16, thanks Profitbricks for the ressources
Signed-off-by: Holger Levsen <holger@layer-acht.org>
Diffstat (limited to 'hosts/profitbricks-build12-i386/etc/pbuilder')
-rwxr-xr-xhosts/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/A01_modfiy_src_dir18
-rwxr-xr-xhosts/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/B01_cleanup17
-rwxr-xr-xhosts/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/C01_cleanup21
-rwxr-xr-xhosts/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/D01_modify_environment50
4 files changed, 106 insertions, 0 deletions
diff --git a/hosts/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/A01_modfiy_src_dir b/hosts/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/A01_modfiy_src_dir
new file mode 100755
index 00000000..9225116b
--- /dev/null
+++ b/hosts/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/A01_modfiy_src_dir
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+set -e
+
+# 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
+
+cd $BUILDDIR
+
+if [ "$PWD" == "/build" ]; then
+ # build path variation disabled, so do nothing
+ exit 0
+fi
+
+# There should be only one file, the source directory.
+src_dir=$(ls | head -n 1)
+
+mv $src_dir 2nd
diff --git a/hosts/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/B01_cleanup b/hosts/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/B01_cleanup
new file mode 100755
index 00000000..334e03a2
--- /dev/null
+++ b/hosts/profitbricks-build12-i386/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/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/C01_cleanup b/hosts/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/C01_cleanup
new file mode 100755
index 00000000..47719ae7
--- /dev/null
+++ b/hosts/profitbricks-build12-i386/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/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/D01_modify_environment b/hosts/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/D01_modify_environment
new file mode 100755
index 00000000..ba9ed4fa
--- /dev/null
+++ b/hosts/profitbricks-build12-i386/etc/pbuilder/rebuild-hooks/D01_modify_environment
@@ -0,0 +1,50 @@
+#!/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:
+#
+
+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 i386 only for now
+if [ "$(dpkg --print-architecture)" != "i386" ] ; then
+ exit 0
+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