From 444e5e6498c90c6c6e64f03d520b12eaf27b73db Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 30 Dec 2018 23:19:01 +0100 Subject: [PATCH 1/4] [ticket/15924] Switch to trusty build environment PHPBB3-15924 --- .travis.yml | 4 ++- travis/setup-mariadb.sh | 54 --------------------------------------- travis/setup-phpbb.sh | 5 ---- travis/setup-webserver.sh | 7 +++-- 4 files changed, 8 insertions(+), 62 deletions(-) delete mode 100755 travis/setup-mariadb.sh diff --git a/.travis.yml b/.travis.yml index 91b8b4932c..839497f2ff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ language: php sudo: required -dist: precise matrix: include: @@ -37,6 +36,9 @@ matrix: services: - redis-server +addons: + mariadb: '10.0' + install: - travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION $NOTESTS diff --git a/travis/setup-mariadb.sh b/travis/setup-mariadb.sh deleted file mode 100755 index 9bc487915d..0000000000 --- a/travis/setup-mariadb.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -# -# This file is part of the phpBB Forum Software package. -# -# @copyright (c) phpBB Limited -# @license GNU General Public License, version 2 (GPL-2.0) -# -# For full copyright and license information, please see -# the docs/CREDITS.txt file. -# -set -e -set -x - -# MariaDB Series -VERSION='5.5' - -# Operating system codename, e.g. "precise" -OS_CODENAME=$(lsb_release --codename --short) - -# Manually purge MySQL to remove conflicting files (e.g. /etc/mysql/my.cnf) -sudo apt-get purge -y mysql-common - -if ! which add-apt-repository > /dev/null -then - sudo apt-get update - sudo apt-get install -y python-software-properties -fi - -MIRROR_DOMAIN='ftp.osuosl.org' -sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db -sudo add-apt-repository "deb http://$MIRROR_DOMAIN/pub/mariadb/repo/$VERSION/ubuntu $OS_CODENAME main" -sudo apt-get update - -# Pin repository in order to avoid conflicts with MySQL from distribution -# repository. See https://mariadb.com/kb/en/installing-mariadb-deb-files -# section "Version Mismatch Between MariaDB and Ubuntu/Debian Repositories" -echo " -Package: * -Pin: origin $MIRROR_DOMAIN -Pin-Priority: 1000 -" | sudo tee /etc/apt/preferences.d/mariadb - -sudo debconf-set-selections <<< "mariadb-server-$VERSION mysql-server/root_password password rootpasswd" -sudo debconf-set-selections <<< "mariadb-server-$VERSION mysql-server/root_password_again password rootpasswd" -sudo apt-get install -y mariadb-server - -# Set root password to empty string. -echo " -USE mysql; -UPDATE user SET Password = PASSWORD('') where User = 'root'; -FLUSH PRIVILEGES; -" | mysql -u root -prootpasswd - -mysql --version diff --git a/travis/setup-phpbb.sh b/travis/setup-phpbb.sh index be9eb703d5..98e9afa485 100755 --- a/travis/setup-phpbb.sh +++ b/travis/setup-phpbb.sh @@ -21,11 +21,6 @@ then travis/setup-unbuffer.sh fi -if [ "$DB" == "mariadb" ] -then - travis/setup-mariadb.sh -fi - if [ "$NOTESTS" != '1' ] then travis/setup-php-extensions.sh diff --git a/travis/setup-webserver.sh b/travis/setup-webserver.sh index 7fb67e0454..f4e78124d8 100755 --- a/travis/setup-webserver.sh +++ b/travis/setup-webserver.sh @@ -19,7 +19,8 @@ sudo service nginx stop DIR=$(dirname "$0") USER=$(whoami) PHPBB_ROOT_PATH=$(realpath "$DIR/../phpBB") -NGINX_CONF="/etc/nginx/sites-enabled/default" +NGINX_SITE_CONF="/etc/nginx/sites-enabled/default" +NGINX_CONF="/etc/nginx/nginx.conf" APP_SOCK=$(realpath "$DIR")/php-app.sock # php-fpm @@ -50,6 +51,8 @@ cat $DIR/../phpBB/docs/nginx.sample.conf \ | sed -e '/If running php as fastcgi/,$d' \ | sed -e "s/fastcgi_pass php;/fastcgi_pass unix:$(echo $APP_SOCK | sed -e 's/\\/\\\\/g' -e 's/\//\\\//g' -e 's/&/\\\&/g');/g" \ | sed -e 's/#listen 80/listen 80/' \ -| sudo tee $NGINX_CONF +| sudo tee $NGINX_SITE_CONF +sudo sed -i "s/user www-data;/user $USER;/g" $NGINX_CONF +sudo nginx -t sudo service nginx start From bdf9af0abbadcce51a47ba586a800eafe2093814 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Mon, 31 Dec 2018 23:15:29 +0100 Subject: [PATCH 2/4] [ticket/15924] Install apc via pecl and remove nginx config check PHPBB3-15924 --- travis/setup-php-extensions.sh | 2 +- travis/setup-webserver.sh | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/travis/setup-php-extensions.sh b/travis/setup-php-extensions.sh index d9544858b7..347d7b5773 100755 --- a/travis/setup-php-extensions.sh +++ b/travis/setup-php-extensions.sh @@ -46,7 +46,7 @@ php_ini_file=$(find_php_ini) if [ `php -r "echo (int) version_compare(PHP_VERSION, '5.5.0-dev', '<');"` == "1" ] then echo 'Enabling APC PHP extension' - register_php_extension 'apc' "$php_ini_file" + printf "\n" | pecl install apc echo 'apc.enable_cli=1' >> "$php_ini_file" else echo 'Disabling Opcache' diff --git a/travis/setup-webserver.sh b/travis/setup-webserver.sh index f4e78124d8..fd87d97449 100755 --- a/travis/setup-webserver.sh +++ b/travis/setup-webserver.sh @@ -54,5 +54,4 @@ cat $DIR/../phpBB/docs/nginx.sample.conf \ | sudo tee $NGINX_SITE_CONF sudo sed -i "s/user www-data;/user $USER;/g" $NGINX_CONF -sudo nginx -t sudo service nginx start From a23a7602b7d550616a8fb83316a33ffb6e924487 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Tue, 1 Jan 2019 10:03:08 +0100 Subject: [PATCH 3/4] [ticket/15924] Enable APCu extension PHPBB3-15924 --- travis/setup-php-extensions.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/travis/setup-php-extensions.sh b/travis/setup-php-extensions.sh index 347d7b5773..918f67cd47 100755 --- a/travis/setup-php-extensions.sh +++ b/travis/setup-php-extensions.sh @@ -53,6 +53,16 @@ else echo 'opcache.enable=0' >> "$php_ini_file" fi +# APCu +if [ `php -r "echo (int) (version_compare(PHP_VERSION, '7.0.0-dev', '>=') && version_compare(PHP_VERSION, '7.3.0-dev', '<'));"` == "1" ] +then + echo 'Enabling APCu PHP extension' + printf "\n" | pecl install apcu + echo 'apc.enabled=1' >> "$php_ini_file" + echo 'apc.enable_cli=1' >> "$php_ini_file" +fi + + # redis # Disabled redis for now as it causes travis to fail # git clone git://github.com/nicolasff/phpredis.git redis From 186115c65feccedb659c6a4fecd3d4ea437835da Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Tue, 1 Jan 2019 22:21:25 +0100 Subject: [PATCH 4/4] [ticket/15924] Switch back to installing mariadb from 3rd party repo PHPBB3-15924 --- .travis.yml | 3 --- travis/setup-mariadb.sh | 54 +++++++++++++++++++++++++++++++++++++++++ travis/setup-phpbb.sh | 5 ++++ 3 files changed, 59 insertions(+), 3 deletions(-) create mode 100755 travis/setup-mariadb.sh diff --git a/.travis.yml b/.travis.yml index 839497f2ff..cb574a4d8d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,9 +36,6 @@ matrix: services: - redis-server -addons: - mariadb: '10.0' - install: - travis/setup-phpbb.sh $DB $TRAVIS_PHP_VERSION $NOTESTS diff --git a/travis/setup-mariadb.sh b/travis/setup-mariadb.sh new file mode 100755 index 0000000000..95445dcc55 --- /dev/null +++ b/travis/setup-mariadb.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# +# This file is part of the phpBB Forum Software package. +# +# @copyright (c) phpBB Limited +# @license GNU General Public License, version 2 (GPL-2.0) +# +# For full copyright and license information, please see +# the docs/CREDITS.txt file. +# +set -e +set -x + +# MariaDB Series +VERSION='10.0' + +# Operating system codename, e.g. "precise" +OS_CODENAME=$(lsb_release --codename --short) + +# Manually purge MySQL to remove conflicting files (e.g. /etc/mysql/my.cnf) +sudo apt-get purge -y mysql-common + +if ! which add-apt-repository > /dev/null +then + sudo apt-get update + sudo apt-get install -y python-software-properties +fi + +MIRROR_DOMAIN='ftp.osuosl.org' +sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db +sudo add-apt-repository "deb http://$MIRROR_DOMAIN/pub/mariadb/repo/$VERSION/ubuntu $OS_CODENAME main" +sudo apt-get update + +# Pin repository in order to avoid conflicts with MySQL from distribution +# repository. See https://mariadb.com/kb/en/installing-mariadb-deb-files +# section "Version Mismatch Between MariaDB and Ubuntu/Debian Repositories" +echo " +Package: * +Pin: origin $MIRROR_DOMAIN +Pin-Priority: 1000 +" | sudo tee /etc/apt/preferences.d/mariadb + +sudo debconf-set-selections <<< "mariadb-server-$VERSION mysql-server/root_password password rootpasswd" +sudo debconf-set-selections <<< "mariadb-server-$VERSION mysql-server/root_password_again password rootpasswd" +sudo apt-get install -y mariadb-server + +# Set root password to empty string. +echo " +USE mysql; +UPDATE user SET Password = PASSWORD('') where User = 'root'; +FLUSH PRIVILEGES; +" | mysql -u root -prootpasswd + +mysql --version diff --git a/travis/setup-phpbb.sh b/travis/setup-phpbb.sh index 98e9afa485..be9eb703d5 100755 --- a/travis/setup-phpbb.sh +++ b/travis/setup-phpbb.sh @@ -21,6 +21,11 @@ then travis/setup-unbuffer.sh fi +if [ "$DB" == "mariadb" ] +then + travis/setup-mariadb.sh +fi + if [ "$NOTESTS" != '1' ] then travis/setup-php-extensions.sh