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 --- TODO | 3 +-- .../etc/pbuilder/rebuild-hooks/B01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/C01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/D01_modify_environment | 17 +++++++++++++++-- .../etc/pbuilder/rebuild-hooks/B01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/C01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/D01_modify_environment | 17 +++++++++++++++-- .../hb0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup | 2 ++ .../hb0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup | 2 ++ .../etc/pbuilder/rebuild-hooks/D01_modify_environment | 2 ++ .../etc/pbuilder/rebuild-hooks/B01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/C01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/D01_modify_environment | 17 +++++++++++++++-- .../etc/pbuilder/rebuild-hooks/B01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/C01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/D01_modify_environment | 17 +++++++++++++++-- .../etc/pbuilder/rebuild-hooks/B01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/C01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/D01_modify_environment | 17 +++++++++++++++-- .../etc/pbuilder/rebuild-hooks/B01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/C01_cleanup | 15 +++++++++++++++ .../etc/pbuilder/rebuild-hooks/D01_modify_environment | 17 +++++++++++++++-- 22 files changed, 277 insertions(+), 14 deletions(-) create mode 100755 hosts/bpi0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup create mode 100755 hosts/bpi0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup create mode 100755 hosts/cbxi4pro0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup create mode 100755 hosts/cbxi4pro0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup 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 create mode 100755 hosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/B01_cleanup create mode 100755 hosts/profitbricks-build2-amd64/etc/pbuilder/rebuild-hooks/C01_cleanup create mode 100755 hosts/profitbricks-build4-amd64/etc/pbuilder/rebuild-hooks/B01_cleanup create mode 100755 hosts/profitbricks-build4-amd64/etc/pbuilder/rebuild-hooks/C01_cleanup create mode 100755 hosts/wbq0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup create mode 100755 hosts/wbq0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup diff --git a/TODO b/TODO index 891aee90..eb39149d 100644 --- a/TODO +++ b/TODO @@ -198,8 +198,7 @@ properties: ** link source-data-epoch spec from rb.d.n ** link howto on each coreboot/openwrt/netbsd/freebsd page ** pkg sets are still amd64 only atm… -** use disorderfs: -*** code is there, but scripts are only in hosts/jenkins/ and hosts/hb0/ and need to be copied to hosts/*/ +** disorderfs: *** document usage in diff table... * lesser prio diff --git a/hosts/bpi0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup b/hosts/bpi0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup new file mode 100755 index 00000000..c60a991c --- /dev/null +++ b/hosts/bpi0-armhf-rb/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/bpi0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup b/hosts/bpi0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup new file mode 100755 index 00000000..c60a991c --- /dev/null +++ b/hosts/bpi0-armhf-rb/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/bpi0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment b/hosts/bpi0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment index d9550045..06979737 100755 --- a/hosts/bpi0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment +++ b/hosts/bpi0-armhf-rb/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 diff --git a/hosts/cbxi4pro0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup b/hosts/cbxi4pro0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup new file mode 100755 index 00000000..c60a991c --- /dev/null +++ b/hosts/cbxi4pro0-armhf-rb/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/cbxi4pro0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup b/hosts/cbxi4pro0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup new file mode 100755 index 00000000..c60a991c --- /dev/null +++ b/hosts/cbxi4pro0-armhf-rb/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/cbxi4pro0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment b/hosts/cbxi4pro0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment index d9550045..06979737 100755 --- a/hosts/cbxi4pro0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment +++ b/hosts/cbxi4pro0-armhf-rb/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 diff --git a/hosts/hb0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup b/hosts/hb0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup index 36a19bc9..c60a991c 100755 --- a/hosts/hb0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup +++ b/hosts/hb0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup @@ -7,7 +7,9 @@ set -e # 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/hb0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup b/hosts/hb0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup index 36a19bc9..c60a991c 100755 --- a/hosts/hb0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup +++ b/hosts/hb0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup @@ -7,7 +7,9 @@ set -e # 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/hb0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment b/hosts/hb0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment index aed8d9ab..06979737 100755 --- a/hosts/hb0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment +++ b/hosts/hb0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment @@ -14,10 +14,12 @@ 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 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 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 diff --git a/hosts/profitbricks-build4-amd64/etc/pbuilder/rebuild-hooks/B01_cleanup b/hosts/profitbricks-build4-amd64/etc/pbuilder/rebuild-hooks/B01_cleanup new file mode 100755 index 00000000..c60a991c --- /dev/null +++ b/hosts/profitbricks-build4-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-build4-amd64/etc/pbuilder/rebuild-hooks/C01_cleanup b/hosts/profitbricks-build4-amd64/etc/pbuilder/rebuild-hooks/C01_cleanup new file mode 100755 index 00000000..c60a991c --- /dev/null +++ b/hosts/profitbricks-build4-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-build4-amd64/etc/pbuilder/rebuild-hooks/D01_modify_environment b/hosts/profitbricks-build4-amd64/etc/pbuilder/rebuild-hooks/D01_modify_environment index d9550045..06979737 100755 --- a/hosts/profitbricks-build4-amd64/etc/pbuilder/rebuild-hooks/D01_modify_environment +++ b/hosts/profitbricks-build4-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 diff --git a/hosts/wbq0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup b/hosts/wbq0-armhf-rb/etc/pbuilder/rebuild-hooks/B01_cleanup new file mode 100755 index 00000000..c60a991c --- /dev/null +++ b/hosts/wbq0-armhf-rb/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/wbq0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup b/hosts/wbq0-armhf-rb/etc/pbuilder/rebuild-hooks/C01_cleanup new file mode 100755 index 00000000..c60a991c --- /dev/null +++ b/hosts/wbq0-armhf-rb/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/wbq0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment b/hosts/wbq0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment index d9550045..06979737 100755 --- a/hosts/wbq0-armhf-rb/etc/pbuilder/rebuild-hooks/D01_modify_environment +++ b/hosts/wbq0-armhf-rb/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