#!/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 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 echo "I: Setting user's login shell to /bin/bash" >&2 usermod -s /bin/bash $BUILDUSERNAME # temporarily disable disorderfs as we have problems properly unmounting it exit 0 # 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