From b2af898af134153bb1b6a9da96693a4092a896ca Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Wed, 23 Sep 2015 00:27:29 +0200 Subject: reproducible: use disorderfs on every 2nd build --- .../etc/pbuilder/rebuild-hooks/B01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/C01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/D01_modify_environment | 17 +++++++++++++++-- 3 files changed, 45 insertions(+), 2 deletions(-) create mode 100755 hosts/profitbricks-build1-amd64/etc/pbuilder/rebuild-hooks/B01_cleanup create mode 100755 hosts/profitbricks-build1-amd64/etc/pbuilder/rebuild-hooks/C01_cleanup (limited to 'hosts/profitbricks-build1-amd64') diff --git a/hosts/profitbricks-build1-amd64/etc/pbuilder/rebuild-hooks/B01_cleanup b/hosts/profitbricks-build1-amd64/etc/pbuilder/rebuild-hooks/B01_cleanup new file mode 100755 index 00000000..c60a991c --- /dev/null +++ b/hosts/profitbricks-build1-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-build1-amd64/etc/pbuilder/rebuild-hooks/C01_cleanup b/hosts/profitbricks-build1-amd64/etc/pbuilder/rebuild-hooks/C01_cleanup new file mode 100755 index 00000000..c60a991c --- /dev/null +++ b/hosts/profitbricks-build1-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-build1-amd64/etc/pbuilder/rebuild-hooks/D01_modify_environment b/hosts/profitbricks-build1-amd64/etc/pbuilder/rebuild-hooks/D01_modify_environment index d9550045..06979737 100755 --- a/hosts/profitbricks-build1-amd64/etc/pbuilder/rebuild-hooks/D01_modify_environment +++ b/hosts/profitbricks-build1-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 -- cgit v1.2.3-70-g09d2