summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/jenkins_node_wrapper.sh2
-rwxr-xr-xbin/reproducible_setup_mock.sh23
-rw-r--r--hosts/profitbricks-build3-amd64/etc/sudoers.d/jenkins3
-rw-r--r--job-cfg/reproducible.yaml10
4 files changed, 37 insertions, 1 deletions
diff --git a/bin/jenkins_node_wrapper.sh b/bin/jenkins_node_wrapper.sh
index 1bde7fe2..c830377f 100755
--- a/bin/jenkins_node_wrapper.sh
+++ b/bin/jenkins_node_wrapper.sh
@@ -103,6 +103,8 @@ elif [[ "$*" =~ reproducible_freebsd ]] ; then
exec /srv/jenkins/bin/reproducible_freebsd.sh ; croak "Exec failed";
elif [[ "$*" =~ reproducible_setup_schroot_arch ]] ; then
exec /srv/jenkins/bin/reproducible_arch_schroot_setup.sh ; croak "Exec failed";
+elif [[ "$*" =~ reproducible_setup_mock_fedora23_x86_64 ]] ; then
+ exec /srv/jenkins/bin/reproducible_setup_mock.sh fedora-23 x86_64 ; croak "Exec failed";
elif [ "$1" = "/srv/jenkins/bin/reproducible_build_arch_pkg.sh" ] && ( [ "$2" = "1" ] || [ "$2" = "2" ] ) ; then
exec /srv/jenkins/bin/reproducible_build_arch_pkg.sh "$2" "$3" "$4" ; croak "Exec failed";
elif [ "$*" = "some_jenkins_job_name" ] ; then
diff --git a/bin/reproducible_setup_mock.sh b/bin/reproducible_setup_mock.sh
new file mode 100755
index 00000000..c404eecb
--- /dev/null
+++ b/bin/reproducible_setup_mock.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+# Copyright 2015 Holger Levsen <holger@layer-acht.org>
+# released under the GPLv=2
+
+#
+# configures mock for a given distro and architecture
+#
+
+DEBUG=false
+. /srv/jenkins/bin/common-functions.sh
+common_init "$@"
+
+if [ -z "$1" ] || [ -z "$2" ] ; then
+ echo "Need distro and architecture as params"
+ exit 1
+fi
+DISTRO=$1
+ARCHITECTURE=$2
+
+echo "$(date -u) - starting to configure mock for ${DISTRO} on ${ARCHITECTURE} now."
+sudo mock -r ${DISTRO}-${ARCHITECTURE} --init
+echo "$(date -u) - mock configured for ${DISTRO} on ${ARCHITECTURE} now."
diff --git a/hosts/profitbricks-build3-amd64/etc/sudoers.d/jenkins b/hosts/profitbricks-build3-amd64/etc/sudoers.d/jenkins
index a0127b67..cb0c4e61 100644
--- a/hosts/profitbricks-build3-amd64/etc/sudoers.d/jenkins
+++ b/hosts/profitbricks-build3-amd64/etc/sudoers.d/jenkins
@@ -9,7 +9,8 @@ jenkins ALL= \
/bin/rm -rf --one-file-system /srv/live-build/*, \
/bin/mv /schroots/* /schroots/*, \
/bin/umount -l /schroots/*, \
- /bin/mount --bind *
+ /bin/mount --bind *, \
+ /usr/bin/mock -r * --init
# keep these environment variables
Defaults env_keep += "http_proxy", env_reset
diff --git a/job-cfg/reproducible.yaml b/job-cfg/reproducible.yaml
index 9d54ae0f..7d282fdc 100644
--- a/job-cfg/reproducible.yaml
+++ b/job-cfg/reproducible.yaml
@@ -758,6 +758,10 @@
name: '{name}_setup_schroot_arch'
- job-template:
+ defaults: reproducible_other_projects
+ name: '{name}_setup_mock_fedora23_x86_64'
+
+- job-template:
defaults: reproducible_builder_trigger
name: '{name}_builder_arch_1'
@@ -1521,6 +1525,12 @@
my_shell: '/srv/jenkins/bin/jenkins_master_wrapper.sh'
my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org'
my_node: 'profitbricks3'
+ - '{name}_setup_mock_fedora23_x86_64':
+ my_description: 'Setup mock for fedora23 on X86_64 to test .rpm packages for reproducibility.'
+ my_timed: '42 23 1 1 *'
+ my_shell: '/srv/jenkins/bin/jenkins_master_wrapper.sh'
+ my_recipients: 'qa-jenkins-scm@lists.alioth.debian.org'
+ my_node: 'profitbricks3'
- '{name}_builder_arch_1':
my_description: 'Try to reproducibly build an Arch Linux package.'
my_timed: '* * * * *'