[Reproducible-commits] [misc] 01/01: prebuilder: add variations for hostname, user and group

Jérémy Bobbio lunar at moszumanska.debian.org
Sat Jan 17 15:34:32 UTC 2015


This is an automated email from the git hooks/post-receive script.

lunar pushed a commit to branch master
in repository misc.

commit 674ff1b27c77697255c68b7ce3ab87a4b8ef229a
Author: Jérémy Bobbio <lunar at debian.org>
Date:   Sat Jan 17 16:24:36 2015 +0100

    prebuilder: add variations for hostname, user and group
---
 prebuilder/pbuilderhooks/A02_user     | 23 +++++++++++++++++++++++
 prebuilder/pbuilderhooks/D01_hostname | 10 ++++++++++
 prebuilder/rebuild.sh                 |  4 ++--
 3 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/prebuilder/pbuilderhooks/A02_user b/prebuilder/pbuilderhooks/A02_user
new file mode 100755
index 0000000..7827ac4
--- /dev/null
+++ b/prebuilder/pbuilderhooks/A02_user
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -e
+
+echo "I: adding another test user for reproducibility"
+
+NEWUID=$(($(id -u pbuilder) + 1))
+NEWGID=$(($(id -g pbuilder) + 1))
+
+groupadd -g "$NEWUID" -o another-group
+useradd -g another-group -u "$NEWGID" -d /tmp/buildd -o another-user
+chown -R "$NEWUID:$NEWGID" /tmp/buildd
+
+apt-get install sudo
+cat >/etc/sudoers.d/pbuser <<EOF
+pbuilder ALL=(another-user:another-group) NOPASSWD: ALL
+EOF
+
+mv /usr/bin/dpkg-buildpackage /usr/bin/dpkg-buildpackage.real
+cat >/usr/bin/dpkg-buildpackage <<EOF
+sudo -E -u another-user -g another-group /usr/bin/dpkg-buildpackage.real "\$@"
+EOF
+chmod +x /usr/bin/dpkg-buildpackage
diff --git a/prebuilder/pbuilderhooks/D01_hostname b/prebuilder/pbuilderhooks/D01_hostname
new file mode 100755
index 0000000..1bf4c2d
--- /dev/null
+++ b/prebuilder/pbuilderhooks/D01_hostname
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+# exit if we are in the same UTS namespace than init
+[ "$(readlink /proc/1/ns/uts)" = "$(readlink /proc/self/ns/uts)" ] && exit 0
+
+echo "I: Changing hostname to test build reproducibility" >&2
+sed -e '/^127.0.0.1/s/$/ i-capture-the-hostname/' -i /etc/hosts
+hostname i-capture-the-hostname
diff --git a/prebuilder/rebuild.sh b/prebuilder/rebuild.sh
index 37b7bbe..c0af645 100755
--- a/prebuilder/rebuild.sh
+++ b/prebuilder/rebuild.sh
@@ -18,9 +18,9 @@ sudo_pbuilder() {
 	local cmd="$1"
 	shift
 	if $COWBUILDER; then
-		sudo $SUDO_ENV cowbuilder "$cmd" --basepath "$BASEPATH" "$@"
+		sudo $SUDO_ENV unshare --uts cowbuilder "$cmd" --basepath "$BASEPATH" "$@"
 	else
-		sudo $SUDO_ENV pbuilder "$cmd" --basetgz "$BASEPATH" "$@"
+		sudo $SUDO_ENV unshare --uts pbuilder "$cmd" --basetgz "$BASEPATH" "$@"
 	fi
 }
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/misc.git



More information about the Reproducible-commits mailing list