From 6f70920f2d2bb038a371e3cb3debff44f7001fa8 Mon Sep 17 00:00:00 2001 From: David Lawrence Date: Fri, 26 Feb 2016 15:05:39 +0000 Subject: Bug 1250043 - Updated docker config to use new method if installing dependencies (Makefile.PL) --- Dockerfile | 5 ++++- Makefile.PL | 7 ++++++- docker_files/install_deps.sh | 15 ++++----------- docker_files/rpm_list | 23 ++++++----------------- docker_files/runtests.sh | 5 +++-- 5 files changed, 23 insertions(+), 32 deletions(-) diff --git a/Dockerfile b/Dockerfile index 36236e771..0c1aac13b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ # This Source Code Form is "Incompatible With Secondary Licenses", as # defined by the Mozilla Public License, v. 2.0. -FROM centos +FROM centos:7 MAINTAINER David Lawrence # Environment configuration @@ -21,6 +21,7 @@ ENV GITHUB_QA_GIT https://github.com/bugzilla/qa COPY docker_files /docker_files RUN yum -y -q update \ && yum -y -q install https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm epel-release \ + && yum -y -q groupinstall "Development Tools" \ && yum -y -q install `cat /docker_files/rpm_list` \ && yum clean all @@ -51,6 +52,8 @@ RUN cp /docker_files/sudoers /etc/sudoers \ RUN su $USER -c "git clone $GITHUB_BASE_GIT -b $GITHUB_BASE_BRANCH $BUGZILLA_ROOT" # Bugzilla dependencies and setup +ADD https://raw.githubusercontent.com/miyagawa/cpanminus/master/cpanm /usr/local/bin/cpanm +RUN chmod 755 /usr/local/bin/cpanm RUN /bin/bash /docker_files/install_deps.sh RUN /bin/bash /docker_files/bugzilla_config.sh RUN /bin/bash /docker_files/my_config.sh diff --git a/Makefile.PL b/Makefile.PL index ccd78f880..9157b2358 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -236,7 +236,12 @@ WriteMakefile( MIN_PERL_VERSION => '5.10.1', CONFIGURE_REQUIRES => { 'ExtUtils::MakeMaker' => '6.55' }, PREREQ_PM => \%requires, - TEST_REQUIRES => { 'Test::More' => 0, 'Pod::Coverage' => 0, 'Test::Perl::Critic' => 0, }, + TEST_REQUIRES => { + 'Test::More' => 0, + 'Pod::Checker' => 0, + 'Pod::Coverage' => 0, + 'Test::Perl::Critic' => 0 + }, META_MERGE => { "meta-spec" => { url => "http://search.cpan.org/perldoc?CPAN::Meta::Spec", version => "2" }, dynamic_config => 1, diff --git a/docker_files/install_deps.sh b/docker_files/install_deps.sh index 4b233d569..4d9a126ac 100755 --- a/docker_files/install_deps.sh +++ b/docker_files/install_deps.sh @@ -9,25 +9,18 @@ cd $BUGZILLA_ROOT # Install Perl dependencies -CPANM="cpanm --quiet --notest --skip-satisfied" +CPANM="cpanm -l local --quiet --skip-satisfied" -$CPANM --installdeps --with-recommends --with-all-features \ +$CPANM --installdeps --with-all-features \ --without-feature oracle --without-feature sqlite --without-feature pg . -# FIXME: These cause error when being installed using cpanfile -$CPANM HTML::Formatter -$CPANM HTML::FormatText::WithLinks - # Building PDF documentation if [ ! -x "/usr/bin/rst2pdf" ]; then pip install rst2pdf fi -# For testing support -$CPANM JSON::XS -$CPANM Test::WWW::Selenium -$CPANM Pod::Coverage -$CPANM Pod::Checker +# For UI testing support (--notest because it tries to connect to a running server) +$CPANM --notest Test::WWW::Selenium # Remove CPAN build files to minimize disk usage rm -rf ~/.cpanm diff --git a/docker_files/rpm_list b/docker_files/rpm_list index ec97dda10..2eb2948ea 100644 --- a/docker_files/rpm_list +++ b/docker_files/rpm_list @@ -1,34 +1,23 @@ -aspell-devel +ImageMagick-perl dbus-x11 -dejavu-sans-mono-fonts +expat-devel firefox -gcc -gcc-c++ gd-devel -git -gmp-devel -graphviz +httpd-devel java-1.7.0-openjdk -make memcached mod_perl -mod_perl-devel mysql-community-devel mysql-community-server +openssl openssl-devel -passwd -patch -perl-App-cpanminus -perl-CPAN perl-core +perl-GD postfix +python-devel python-pip python-reportlab python-sphinx sudo supervisor -tar tigervnc-server-minimal -unzip -vim-enhanced -wget diff --git a/docker_files/runtests.sh b/docker_files/runtests.sh index 37dfcfa7e..c15dca9ee 100755 --- a/docker_files/runtests.sh +++ b/docker_files/runtests.sh @@ -17,8 +17,9 @@ exec > >(tee /runtests.log) 2>&1 echo "== Retrieving Bugzilla code" echo "Checking out $GITHUB_BASE_GIT $GITHUB_BASE_BRANCH ..." -mv $BUGZILLA_ROOT "${BUGZILLA_ROOT}.back" +mv $BUGZILLA_ROOT ${BUGZILLA_ROOT}.back git clone $GITHUB_BASE_GIT --single-branch --depth 1 --branch $GITHUB_BASE_BRANCH $BUGZILLA_ROOT +rsync -a ${BUGZILLA_ROOT}.back/local/ ${BUGZILLA_ROOT}/local/ cd $BUGZILLA_ROOT if [ "$GITHUB_BASE_REV" != "" ]; then echo "Switching to revision $GITHUB_BASE_REV ..." @@ -73,7 +74,7 @@ cd $BUGZILLA_ROOT echo -e "\n== Generating test data" cd $BUGZILLA_ROOT/qa/config -perl generate_test_data.pl +perl -I../../local/lib/perl5 generate_test_data.pl echo -e "\n== Starting web server" sed -e "s?^#Perl?Perl?" --in-place /etc/httpd/conf.d/bugzilla.conf -- cgit v1.2.3-24-g4f1b