summaryrefslogtreecommitdiffstats
path: root/hosts/profitbricks-build2-amd64
diff options
context:
space:
mode:
authorHolger Levsen <holger@layer-acht.org>2015-09-23 00:27:29 +0200
committerHolger Levsen <holger@layer-acht.org>2015-09-23 00:27:29 +0200
commitb2af898af134153bb1b6a9da96693a4092a896ca (patch)
tree6c97b90592628468623b850e5d33ed31f89c75a0 /hosts/profitbricks-build2-amd64
parenteb4df47512bd74b06686f841edded7cf23b16d70 (diff)
downloadjenkins.debian.net-b2af898af134153bb1b6a9da96693a4092a896ca.tar.xz
reproducible: use disorderfs on every 2nd build
Diffstat (limited to 'hosts/profitbricks-build2-amd64')
-rwxr-xr-xhosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/B01_cleanup15
-rwxr-xr-xhosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/C01_cleanup15
-rwxr-xr-xhosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/D01_modify_environment17
3 files changed, 45 insertions, 2 deletions
diff --git a/hosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/B01_cleanup b/hosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/B01_cleanup
new file mode 100755
index 00000000..c60a991c
--- /dev/null
+++ b/hosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/B01_cleanup
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+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
+
+# cease using disorderfs
+if [ -d /tmp/disorderfs ] ; then
+ echo -n "Unmounting /tmp/disorderfs…"
+ fusermount -u /tmp/buildd
+ rmdir /tmp/buildd
+ mv /tmp/disorderfs /tmp/buildd
+ echo " done."
+fi
diff --git a/hosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/C01_cleanup b/hosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/C01_cleanup
new file mode 100755
index 00000000..c60a991c
--- /dev/null
+++ b/hosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/C01_cleanup
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+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
+
+# cease using disorderfs
+if [ -d /tmp/disorderfs ] ; then
+ echo -n "Unmounting /tmp/disorderfs…"
+ fusermount -u /tmp/buildd
+ rmdir /tmp/buildd
+ mv /tmp/disorderfs /tmp/buildd
+ echo " done."
+fi
diff --git a/hosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/D01_modify_environment b/hosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/D01_modify_environment
index d9550045..06979737 100755
--- a/hosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/D01_modify_environment
+++ b/hosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/D01_modify_environment
@@ -2,11 +2,24 @@
set -e
-# exit if we are in the same UTS namespace than init
+# 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
-echo "I: Changing hostname to test build reproducibility" >&2
+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"
+
+# use disorderfs
+if [ -x /usr/bin/disorderfs ] ; then
+ echo -n "Moving /tmp/buildd to /tmp/disorderfs and mounting this as /tmp/buildd via the fuse disorderfs…"
+ mknod -m 666 /dev/fuse c 10 229
+ mv /tmp/buildd /tmp/disorderfs
+ mkdir /tmp/buildd
+ disorderfs --multi-user=yes /tmp/disorderfs /tmp/buildd
+ echo " done."
+else
+ echo "Warning: disorderfs not available."
+fi