[Qa-jenkins-scm] [jenkins.debian.net] 01/02: reproducible amd64: add new build host: profitbricks1

Holger Levsen holger at moszumanska.debian.org
Thu Aug 6 15:57:42 UTC 2015


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

holger pushed a commit to branch master
in repository jenkins.debian.net.

commit be2d53c0167c920d24ae0d614957883528e548b0
Author: Holger Levsen <holger at layer-acht.org>
Date:   Thu Aug 6 17:42:12 2015 +0200

    reproducible amd64: add new build host: profitbricks1
---
 TODO                                               | 10 ++--
 bin/common-functions.sh                            | 12 ++---
 bin/reproducible_master_wrapper.sh                 | 11 ++--
 bin/reproducible_node_wrapper.sh                   | 12 +++++
 .../etc/apt/apt.conf.d/80proxy                     |  2 +
 .../profitbricks-build1-amd64/etc/apt/sources.list | 11 ++++
 .../pbuilder/rebuild-hooks/D01_modify_environment  | 12 +++++
 hosts/profitbricks-build1-amd64/etc/pbuilderrc     | 30 +++++++++++
 .../etc/schroot/default/fstab                      | 24 +++++++++
 .../etc/schroot/default/nssdatabases               | 11 ++++
 .../etc/sudoers.d/jenkins                          | 44 ++++++++++++++++
 .../etc/sudoers.d/jenkins-adm                      |  4 ++
 job-cfg/reproducible.yaml                          | 60 ++++++++++++++++++++++
 update_jdn.sh                                      | 14 +++--
 14 files changed, 239 insertions(+), 18 deletions(-)

diff --git a/TODO b/TODO
index 29d7387..1c2eb07 100644
--- a/TODO
+++ b/TODO
@@ -216,13 +216,15 @@ properties:
 ** variation of $TERM and $COLUMN (and maybe $LINES), unset in the first run, set to "linux" and "77" (and maybe "42") in the 2nd run. maybe vary $SHELL too.
 *** actually TERM is set to "linux" by default already, COLUMN is unset
 
-* a test VM using this build-slave design has been setup:
-** 9 cores, 36gb ram, 80gb disk, 50gb /, 30gb /srv/kvm
+* remote building on amd64
+** profitbricks-build1-amd64 is setup
+*** squid needs proper configuration
+
+* a VM for running kvm on kvm (profitbricks-build2-amd64) has been set up too
 ** runs squid3 + kvm
 *** though squid is not configured yet
 ** kvm guest with different cpu, 32gb ram, 8 cores, 30gb /
-** date changed in /etc/rc.local to today plus two days, one month and one year and hoping that the apt-signing key is still valid
-** runs pbuilder inside the kvm guest
+** networking doesnt work yet...
 
 * enable people to upload test packages, to be built in jenkins:
 ----
diff --git a/bin/common-functions.sh b/bin/common-functions.sh
index bde8f25..c8ffa62 100755
--- a/bin/common-functions.sh
+++ b/bin/common-functions.sh
@@ -54,16 +54,16 @@ else
 	fi
 	if [ -z "$MIRROR" ]; then
 		case $HOSTNAME in
-			jenkins)			export MIRROR=http://ftp.de.debian.org/debian ;;
-			bpi0|cbxi4pro0|hb0|wbq0)	export MIRROR=http://ftp.de.debian.org/debian ;;
-			*)				echo "unsupported host, exiting." ; exit 1 ;;
+			jenkins|profitbricks-build?-amd64)	export MIRROR=http://ftp.de.debian.org/debian ;;
+			bpi0|cbxi4pro0|hb0|wbq0)		export MIRROR=http://ftp.de.debian.org/debian ;;
+			*)					echo "unsupported host, exiting." ; exit 1 ;;
 		esac
 	fi
 	if [ -z "$http_proxy" ]; then
 		case $HOSTNAME in
-			jenkins)			export http_proxy="http://localhost:3128" ;;
-			bpi0|cbxi4pro0|hb0|wbq0)	export http_proxy="http://10.0.0.15:8000/" ;;
-			*)				echo "unsupported host, exiting." ; exit 1 ;;
+			jenkins|profitbricks-build1-amd64)	export http_proxy="http://localhost:3128" ;;
+			bpi0|cbxi4pro0|hb0|wbq0)		export http_proxy="http://10.0.0.15:8000/" ;;
+			*)					echo "unsupported host, exiting." ; exit 1 ;;
 		esac
 	fi
 	if [ -z "$CHROOT_BASE" ]; then
diff --git a/bin/reproducible_master_wrapper.sh b/bin/reproducible_master_wrapper.sh
index c49fd34..ad1fa3f 100755
--- a/bin/reproducible_master_wrapper.sh
+++ b/bin/reproducible_master_wrapper.sh
@@ -5,16 +5,19 @@ set -e
 
 case "$NODE_NAME" in
   bpi0-armhf-rb.debian.net)
-    exec ssh -p 2222 jenkins@$NODE_NAME "$JOB_NAME"
+    exec ssh -p 2222 $NODE_NAME "$JOB_NAME"
     ;;
   hb0-armhf-rb.debian.net)
-    exec ssh -p 2224 jenkins@$NODE_NAME "$JOB_NAME"
+    exec ssh -p 2224 $NODE_NAME "$JOB_NAME"
     ;;
   wbq0-armhf-rb.debian.net)
-    exec ssh -p 2225 jenkins@$NODE_NAME "$JOB_NAME"
+    exec ssh -p 2225 $NODE_NAME "$JOB_NAME"
     ;;
   cbxi4pro0-armhf-rb.debian.net)
-    exec ssh -p 2226 jenkins@$NODE_NAME "$JOB_NAME"
+    exec ssh -p 2226 $NODE_NAME "$JOB_NAME"
+    ;;
+  profitbricks-build?-amd64)
+    exec ssh $NODE_NAME "$JOB_NAME"
     ;;
   *)
     echo >&2 "Unknown node $NODE_NAME."
diff --git a/bin/reproducible_node_wrapper.sh b/bin/reproducible_node_wrapper.sh
index e64fa32..1cd42a4 100755
--- a/bin/reproducible_node_wrapper.sh
+++ b/bin/reproducible_node_wrapper.sh
@@ -83,6 +83,18 @@ elif [ "$*" = "reproducible_maintenance_armhf_wbq0" ] ; then
 	exec /srv/jenkins/bin/reproducible_maintenance.sh ; croak "Exec failed";
 elif [ "$*" = "reproducible_setup_schroot_testing_debbindiff_armhf_wbq0" ] ; then
 	exec /srv/jenkins/bin/schroot-create.sh reproducible reproducible-testing-debbindiff testing debbindiff locales-all ; croak "Exec failed";
+elif   [ "$*" = "reproducible_setup_pbuilder_testing_amd64_profitbricks1" ] ; then
+	exec /srv/jenkins/bin/reproducible_setup_pbuilder.sh testing ; croak "Exec failed";
+elif   [ "$*" = "reproducible_setup_pbuilder_unstable_amd64_profitbricks1" ] ; then
+	exec /srv/jenkins/bin/reproducible_setup_pbuilder.sh unstable ; croak "Exec failed";
+elif   [ "$*" = "reproducible_setup_pbuilder_experimental_amd64_profitbricks1" ] ; then
+	exec /srv/jenkins/bin/reproducible_setup_pbuilder.sh experimental ; croak "Exec failed";
+elif [ "$*" = "reproducible_maintenance_amd64_profitbricks1" ] ; then
+	exec /srv/jenkins/bin/reproducible_maintenance.sh ; croak "Exec failed";
+elif [ "$*" = "reproducible_setup_schroot_testing_debbindiff_amd64_profitbricks1" ] ; then
+	exec /srv/jenkins/bin/schroot-create.sh reproducible reproducible-testing-debbindiff testing debbindiff locales-all ; croak "Exec failed";
+elif [ "$*" = "reproducible_setup_schroot_unstable_debbindiff_amd64_profitbricks1" ] ; then
+	exec /srv/jenkins/bin/schroot-create.sh reproducible reproducible-unstable-debbindiff unstable debbindiff locales-all ; croak "Exec failed";
 fi
 
 croak "Command '$*' not found in allowed commands."
diff --git a/hosts/profitbricks-build1-amd64/etc/apt/apt.conf.d/80proxy b/hosts/profitbricks-build1-amd64/etc/apt/apt.conf.d/80proxy
new file mode 100644
index 0000000..fe4b3b7
--- /dev/null
+++ b/hosts/profitbricks-build1-amd64/etc/apt/apt.conf.d/80proxy
@@ -0,0 +1,2 @@
+Acquire::http::Proxy "http://127.0.0.1:3128/";
+
diff --git a/hosts/profitbricks-build1-amd64/etc/apt/sources.list b/hosts/profitbricks-build1-amd64/etc/apt/sources.list
new file mode 100644
index 0000000..c9de537
--- /dev/null
+++ b/hosts/profitbricks-build1-amd64/etc/apt/sources.list
@@ -0,0 +1,11 @@
+deb http://ftp.de.debian.org/debian/ jessie main non-free
+#deb-src http://ftp.de.debian.org/debian/ jessie main non-free
+
+deb http://ftp.de.debian.org/debian/ jessie-updates main contrib non-free
+#deb-src http://ftp.de.debian.org/debian/ jessie-updates main contrib non-free
+
+deb http://security.debian.org/ jessie/updates main non-free
+#deb-src http://security.debian.org/ jessie/updates main non-free
+
+deb http://ftp.de.debian.org/debian/ jessie-backports main non-free
+#deb-src http://ftp.de.debian.org/debian/ jessie-backports main non-free
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
new file mode 100755
index 0000000..d955004
--- /dev/null
+++ b/hosts/profitbricks-build1-amd64/etc/pbuilder/rebuild-hooks/D01_modify_environment
@@ -0,0 +1,12 @@
+#!/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-capture-the-hostname.i-capture-the-domain/' -i /etc/hosts
+hostname i-capture-the-hostname
+domainname i-capture-the-domain
+export CAPTURE_ENVIRONMENT="I capture the environment"
diff --git a/hosts/profitbricks-build1-amd64/etc/pbuilderrc b/hosts/profitbricks-build1-amd64/etc/pbuilderrc
new file mode 100644
index 0000000..6c3e4a2
--- /dev/null
+++ b/hosts/profitbricks-build1-amd64/etc/pbuilderrc
@@ -0,0 +1,30 @@
+# this is your configuration file for pbuilder.
+# the file in /usr/share/pbuilder/pbuilderrc is the default template.
+# /etc/pbuilderrc is the one meant for overwriting defaults in
+# the default template
+#
+# read pbuilderrc.5 document for notes on specific options.
+case $HOSTNAME in 
+	jenkins|profitbricks-build?-amd64)	MIRRORSITE=http://ftp.de.debian.org/debian ;;
+	bpi0|cbxi4pro0|hb0|wbq0)		MIRRORSITE=http://ftp.us.debian.org/debian ;;
+	*)				echo "unsupported host, exiting." ; exit 1 ;;
+esac
+EXTRAPACKAGES="fakeroot"
+APTCACHE=""
+COMPRESSPROG="pigz"
+# unset proxy, see #780587
+unset http_proxy
+export -n http_proxy
+# /sys and /proc were added as workarounds for #773767
+# there are software wanting /dev/shm writable, so give them so. There are tons
+# of bug shm related in pbuilder, that's just a workaround for all of them.
+# /run/shm is already mounted as a tmpfs by default.
+BINDMOUNTS="$BINDMOUNTS /sys /dev/shm"
+# set PATH to predictable values, see #780729 and #780725
+PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
+
+# used on reproducible builds
+if [ "$(readlink /proc/1/ns/uts)" != "$(readlink /proc/self/ns/uts)" ]; then
+       PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path"
+fi
+
diff --git a/hosts/profitbricks-build1-amd64/etc/schroot/default/fstab b/hosts/profitbricks-build1-amd64/etc/schroot/default/fstab
new file mode 100644
index 0000000..74468dd
--- /dev/null
+++ b/hosts/profitbricks-build1-amd64/etc/schroot/default/fstab
@@ -0,0 +1,24 @@
+# fstab: static file system information for chroots.
+# Note that the mount point will be prefixed by the chroot path
+# (CHROOT_PATH)
+#
+# <file system>	<mount point>	<type>	<options>	<dump>	<pass>
+/proc		/proc		none    rw,bind        0       0
+/sys		/sys		none    rw,bind        0       0
+/dev            /dev            none    rw,bind         0       0
+/dev/pts	/dev/pts	none	rw,bind		0	0
+/home		/home		none	rw,bind		0	0
+/tmp		/tmp		none	rw,bind		0	0
+/srv/reproducible-results	/srv/reproducible-results	none	rw,bind		0	0
+/srv/d-i	/srv/d-i	none	rw,bind		0	0
+/srv/jenkins	/srv/jenkins	none	rw,bind		0	0
+/srv/live-build	/srv/live-build	none	rw,bind		0	0
+
+# It may be desirable to have access to /run, especially if you wish
+# to run additional services in the chroot.  However, note that this
+# may potentially cause undesirable behaviour on upgrades, such as
+# killing services on the host.
+#/run		/run		none	rw,bind		0	0
+#/run/lock	/run/lock	none	rw,bind		0	0
+/dev/shm	/dev/shm	none	rw,bind		0	0
+/run/shm	/run/shm	none	rw,bind		0	0
diff --git a/hosts/profitbricks-build1-amd64/etc/schroot/default/nssdatabases b/hosts/profitbricks-build1-amd64/etc/schroot/default/nssdatabases
new file mode 100644
index 0000000..72615e5
--- /dev/null
+++ b/hosts/profitbricks-build1-amd64/etc/schroot/default/nssdatabases
@@ -0,0 +1,11 @@
+# System databases to copy into the chroot from the host system.
+#
+# <database name>
+passwd
+shadow
+group
+gshadow
+#services
+protocols
+networks
+hosts
diff --git a/hosts/profitbricks-build1-amd64/etc/sudoers.d/jenkins b/hosts/profitbricks-build1-amd64/etc/sudoers.d/jenkins
new file mode 100644
index 0000000..d75335f
--- /dev/null
+++ b/hosts/profitbricks-build1-amd64/etc/sudoers.d/jenkins
@@ -0,0 +1,44 @@
+jenkins ALL=  \
+	NOPASSWD: /usr/sbin/debootstrap *, \
+	/usr/bin/tee /chroots/*, \
+	/usr/bin/tee -a /chroots/*, \
+	/usr/bin/tee /etc/schroot/chroot.d/jenkins*, \
+	/bin/chmod +x /chroots/*, \
+	/usr/sbin/chroot /chroots/*, \
+	/usr/sbin/chroot /media/*, \
+	/bin/ls -la /media/*, \
+	/bin/rm -rf --one-file-system /chroots/*, \
+	/bin/rm -rf --one-file-system /schroots/*, \
+	/bin/rm -rf --one-file-system /srv/live-build/*, \
+	/bin/cp -v *.iso /srv/live-build/results/*, \
+	/bin/mv /chroots/* /schroots/*, \
+	/bin/mv /schroots/* /schroots/*, \
+	/bin/umount -l /chroots/*, \
+	/bin/umount -l /media/*, \
+	/bin/rmdir /media/*, \
+	/bin/mount -o loop*, \
+	/bin/mount --bind *, \
+	/usr/bin/du *, \
+	/bin/kill *, \
+	/usr/bin/file *, \
+	/bin/dd if=/dev/zero of=/dev/jenkins*, \
+	/usr/bin/qemu-system-x86_64 *, \
+	/usr/bin/qemu-img *, \
+	/sbin/lvcreate *, /sbin/lvremove *, \
+	/bin/mkdir -p /media/*, \
+	/usr/bin/guestmount *, \
+	/bin/cp -rv /media/*, \
+	/bin/chown -R jenkins\:jenkins /var/lib/jenkins/jobs/*,\
+	SETENV: NOPASSWD: /usr/sbin/pbuilder *, \
+	SETENV: NOPASSWD: /usr/bin/timeout -k 12.1h 12h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder *, \
+	SETENV: NOPASSWD: /usr/bin/timeout -k 12.1h 12h /usr/bin/ionice -c 3 /usr/bin/nice /usr/bin/linux64 --uname-2.6 /usr/bin/unshare --uts -- /usr/sbin/pbuilder *, \
+	/bin/mv /var/cache/pbuilder/*base*.tgz /var/cache/pbuilder/*base*.tgz, \
+	/bin/rm /var/cache/pbuilder/*base*.tgz, \
+	/bin/rm -v /var/cache/pbuilder/*base*.tgz, \
+	/bin/rm /var/cache/pbuilder/result/*, \
+	/usr/bin/dcmd rm *.changes, \
+	/usr/bin/dcmd rm *.dsc, \
+	/usr/bin/apt-get update
+
+# keep these environment variables
+Defaults        env_keep += "http_proxy", env_reset
diff --git a/hosts/profitbricks-build1-amd64/etc/sudoers.d/jenkins-adm b/hosts/profitbricks-build1-amd64/etc/sudoers.d/jenkins-adm
new file mode 100644
index 0000000..e585d03
--- /dev/null
+++ b/hosts/profitbricks-build1-amd64/etc/sudoers.d/jenkins-adm
@@ -0,0 +1,4 @@
+# allow member of the jenkins-adm group to sudo-to the jenkins-adm user (owner
+# of jenkins script) and the jenkins user itself
+%jenkins-adm ALL=(jenkins:jenkins) NOPASSWD: ALL
+%jenkins-adm ALL=(jenkins-adm:jenkins-adm) NOPASSWD: ALL
diff --git a/job-cfg/reproducible.yaml b/job-cfg/reproducible.yaml
index 006e482..979e653 100644
--- a/job-cfg/reproducible.yaml
+++ b/job-cfg/reproducible.yaml
@@ -187,10 +187,18 @@
 
 - job-template:
     defaults: reproducible
+    name: '{name}_maintenance_amd64_profitbricks1'
+
+- job-template:
+    defaults: reproducible
     name: '{name}_setup_pbuilder_unstable'
 
 - job-template:
     defaults: reproducible
+    name: '{name}_setup_pbuilder_unstable_amd64_profitbricks1'
+
+- job-template:
+    defaults: reproducible
     name: '{name}_setup_pbuilder_testing'
 
 - job-template:
@@ -211,14 +219,26 @@
 
 - job-template:
     defaults: reproducible
+    name: '{name}_setup_pbuilder_testing_amd64_profitbricks1'
+
+- job-template:
+    defaults: reproducible
     name: '{name}_setup_pbuilder_experimental'
 
 - job-template:
     defaults: reproducible
+    name: '{name}_setup_pbuilder_experimental_amd64_profitbricks1'
+
+- job-template:
+    defaults: reproducible
     name: '{name}_setup_schroot_unstable_debbindiff'
 
 - job-template:
     defaults: reproducible
+    name: '{name}_setup_schroot_unstable_debbindiff_amd64_profitbricks1'
+
+- job-template:
+    defaults: reproducible
     name: '{name}_setup_schroot_testing_debbindiff'
 
 - job-template:
@@ -239,6 +259,10 @@
 
 - job-template:
     defaults: reproducible
+    name: '{name}_setup_schroot_testing_debbindiff_amd64_profitbricks1'
+
+- job-template:
+    defaults: reproducible
     name: '{name}_setup_schroot_unstable'
 
 - job-template:
@@ -378,6 +402,12 @@
             my_shell: '/srv/jenkins/bin/reproducible_master_wrapper.sh'
             my_recipients: 'qa-jenkins-scm at lists.alioth.debian.org'
             my_node: 'wbq0'
+        - '{name}_maintenance_amd64_profitbricks1':
+            my_description: 'Do some maintenance: check for old directories laying around, do backups, etc.'
+            my_timed: '5 0,4,8,12,16,20 * * *'
+            my_shell: '/srv/jenkins/bin/reproducible_master_wrapper.sh'
+            my_recipients: 'qa-jenkins-scm at lists.alioth.debian.org'
+            my_node: 'profitbricks1'
         - '{name}_setup_pbuilder_testing':
             my_description: 'Setup and update pbuilder for reproducible builds of packages from testing as described in https://wiki.debian.org/ReproducibleBuilds#Usage_example'
             my_timed: '23 0,4,8,12,16,20 * * *'
@@ -408,24 +438,48 @@
             my_shell: '/srv/jenkins/bin/reproducible_master_wrapper.sh'
             my_recipients: 'jenkins+debian-reproducible qa-jenkins-scm at lists.alioth.debian.org'
             my_node: 'wbq0'
+        - '{name}_setup_pbuilder_testing_amd64_profitbricks1':
+            my_description: 'Setup and update pbuilder for reproducible builds of packages from testing as described in https://wiki.debian.org/ReproducibleBuilds#Usage_example'
+            my_timed: '23 0,4,8,12,16,20 * * *'
+            my_shell: '/srv/jenkins/bin/reproducible_master_wrapper.sh'
+            my_recipients: 'jenkins+debian-reproducible qa-jenkins-scm at lists.alioth.debian.org'
+            my_node: 'profitbricks1'
         - '{name}_setup_pbuilder_unstable':
             my_description: 'Setup and update pbuilder for reproducible builds of packages from unstable as described in https://wiki.debian.org/ReproducibleBuilds#Usage_example'
             my_timed: '23 0,4,8,12,16,20 * * *'
             my_shell: '/srv/jenkins/bin/reproducible_setup_pbuilder.sh unstable'
             my_recipients: 'jenkins+debian-reproducible qa-jenkins-scm at lists.alioth.debian.org'
             my_node: ''
+        - '{name}_setup_pbuilder_unstable_amd64_profitbricks1':
+            my_description: 'Setup and update pbuilder for reproducible builds of packages from unstable as described in https://wiki.debian.org/ReproducibleBuilds#Usage_example'
+            my_timed: '23 0,4,8,12,16,20 * * *'
+            my_shell: '/srv/jenkins/bin/reproducible_master_wrapper.sh'
+            my_recipients: 'jenkins+debian-reproducible qa-jenkins-scm at lists.alioth.debian.org'
+            my_node: 'profitbricks1'
         - '{name}_setup_pbuilder_experimental':
             my_description: 'Setup and update pbuilder for reproducible builds of packages from experimental as described in https://wiki.debian.org/ReproducibleBuilds#Usage_example'
             my_timed: '23 0,4,8,12,16,20 * * *'
             my_shell: '/srv/jenkins/bin/reproducible_setup_pbuilder.sh experimental'
             my_recipients: 'jenkins+debian-reproducible qa-jenkins-scm at lists.alioth.debian.org'
             my_node: ''
+        - '{name}_setup_pbuilder_experimental_amd64_profitbricks1':
+            my_description: 'Setup and update pbuilder for reproducible builds of packages from experimental as described in https://wiki.debian.org/ReproducibleBuilds#Usage_example'
+            my_timed: '23 0,4,8,12,16,20 * * *'
+            my_shell: '/srv/jenkins/bin/reproducible_master_wrapper.sh'
+            my_recipients: 'jenkins+debian-reproducible qa-jenkins-scm at lists.alioth.debian.org'
+            my_node: 'profitbricks1'
         - '{name}_setup_schroot_unstable_debbindiff':
             my_description: 'Setup schroot for running debbindiff in a unstable environment (this is needed to be able to correctly investigate haskell binaries...)'
             my_timed: '23 0 * * *'
             my_shell: '/srv/jenkins/bin/schroot-create.sh reproducible reproducible-unstable-debbindiff unstable debbindiff locales-all'
             my_recipients: 'qa-jenkins-scm at lists.alioth.debian.org'
             my_node: ''
+        - '{name}_setup_schroot_unstable_debbindiff_amd64_profitbricks1':
+            my_description: 'Setup schroot for running debbindiff in a unstable environment (this is needed to be able to correctly investigate haskell binaries...)'
+            my_timed: '23 0 * * *'
+            my_shell: '/srv/jenkins/bin/reproducible_master_wrapper.sh'
+            my_recipients: 'qa-jenkins-scm at lists.alioth.debian.org'
+            my_node: 'profitbricks1'
         - '{name}_setup_schroot_testing_debbindiff':
             my_description: 'Setup schroot for running debbindiff in a testing environment (this is needed to be able to correctly investigate haskell binaries...)'
             my_timed: '23 0 * * *'
@@ -456,6 +510,12 @@
             my_shell: '/srv/jenkins/bin/reproducible_master_wrapper.sh'
             my_recipients: 'qa-jenkins-scm at lists.alioth.debian.org'
             my_node: 'wbq0'
+        - '{name}_setup_schroot_testing_debbindiff_amd64_profitbricks1':
+            my_description: 'Setup schroot for running debbindiff in a testing environment (this is needed to be able to correctly investigate haskell binaries...)'
+            my_timed: '23 0 * * *'
+            my_shell: '/srv/jenkins/bin/reproducible_master_wrapper.sh'
+            my_recipients: 'qa-jenkins-scm at lists.alioth.debian.org'
+            my_node: 'profitbricks1'
         - '{name}_setup_schroot_unstable':
             my_description: 'Setup unstable schroot for fetching source packages for the builder jobs.'
             my_timed: '23 1 * * *'
diff --git a/update_jdn.sh b/update_jdn.sh
index 58df8dd..6feb89c 100755
--- a/update_jdn.sh
+++ b/update_jdn.sh
@@ -83,11 +83,14 @@ fi
 
 # create homedirectories for build hosts (needed for jenkins remote nodes)
 case $HOSTNAME in
-	bpi0|hb0|wbq0|cbxi4pro0)	NODEHOME=/srv/jenkins/pseudo-hosts/
-					[ -d $NODEHOME ] || ( sudo mkdir $NODEHOME ; sudo chown jenkins.jenkins $NODEHOME )
-					;;
+	bpi0|hb0|wbq0|cbxi4pro0)	NODEHOME=/srv/jenkins/pseudo-hosts/$HOSTNAME-armhf-rb ;;
+	profitbricks-build?-amd64)	NODEHOME=/srv/jenkins/pseudo-hosts/$HOSTNAME ;;
 	*)				;;
 esac
+if [ ! -z "$NODEHOME" ] && [ -d $NODEHOME ] ; then
+	sudo mkdir $NODEHOME 
+	sudo chown jenkins.jenkins $NODEHOME
+fi
 
 # only on Debian systems
 if [ -f /etc/debian_version ] ; then
@@ -125,6 +128,10 @@ if [ -f /etc/debian_version ] ; then
 			unzip 
 			vim 
 			"
+		case $HOSTNAME in
+			jenkins|profitbricks-build?-amd64) DEBS="$DEBS squid3" ;;
+			*) ;;
+		esac
 		if [ "$HOSTNAME" = "jenkins" ] ; then
 			MASTERDEBS=" 
 				apache2 
@@ -204,7 +211,6 @@ if [ -f /etc/debian_version ] ; then
 				shorewall 
 				shorewall6 
 				sqlite3 
-				squid3 
 				syslinux 
 				tcpdump 
 				unclutter 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git



More information about the Qa-jenkins-scm mailing list