# 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 <dkl@mozilla.com>
# Environment configuration
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
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
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,
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
-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
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 ..."
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