From 40b8019f210d18fdd069ae57d5a651bfafc504e1 Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Mon, 7 Dec 2015 19:43:33 +0100 Subject: reproducible: add job to configure mock for fedora23 on x86_64 --- bin/jenkins_node_wrapper.sh | 2 ++ bin/reproducible_setup_mock.sh | 23 ++++++++++++++++++++++ .../etc/sudoers.d/jenkins | 3 ++- job-cfg/reproducible.yaml | 10 ++++++++++ 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100755 bin/reproducible_setup_mock.sh 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 +# 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 @@ -757,6 +757,10 @@ defaults: reproducible_other_projects 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: '* * * * *' -- cgit v1.2.3-70-g09d2