aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValery Kartel <valery.kartel@gmail.com>2017-02-13 23:43:29 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2017-02-14 19:02:29 +0000
commit15e434419f5b0896610dcf7d30b36044b9faf88f (patch)
treeb77d70aed5860d6212652cf81d06aad8b40bc35b
parentf9076aa05a5d999a832ea135e0dec918d8b32cc2 (diff)
downloadaports-15e434419f5b0896610dcf7d30b36044b9faf88f.tar.bz2
aports-15e434419f5b0896610dcf7d30b36044b9faf88f.tar.xz
testing/php7.1: new aport
The PHP7.1 language runtime engine http://php.net/
-rw-r--r--testing/php7.1/APKBUILD419
-rw-r--r--testing/php7.1/includedir.patch.in41
-rw-r--r--testing/php7.1/install-pear.patch15
-rw-r--r--testing/php7.1/php-fpm.initd.in87
-rw-r--r--testing/php7.1/php-fpm.logrotate.in13
-rw-r--r--testing/php7.1/php-fpm.patch.in55
-rw-r--r--testing/php7.1/php-module.conf.in5
7 files changed, 635 insertions, 0 deletions
diff --git a/testing/php7.1/APKBUILD b/testing/php7.1/APKBUILD
new file mode 100644
index 0000000000..fbdff9392a
--- /dev/null
+++ b/testing/php7.1/APKBUILD
@@ -0,0 +1,419 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+_suffix=7.1
+_pkgreal=php
+provides=$_pkgreal
+replaces=$provides
+pkgname=$_pkgreal$_suffix
+pkgver=7.1.1
+pkgrel=0
+_apiver="20160303"
+pkgdesc="The PHP${pkgver%.*} language runtime engine"
+url="http://www.php.net/"
+arch="all"
+license="PHP-3"
+options=""
+depends="$pkgname-config"
+depends_dev="$pkgname"
+makedepends="autoconf bison re2c apache2-dev libxml2-dev libxslt-dev libzip-dev bzip2-dev zlib-dev
+ aspell-dev enchant-dev expat-dev pcre-dev curl-dev gmp-dev icu-dev imap-dev
+ libical-dev libressl-dev openldap-dev net-snmp-dev db-dev krb5-dev gdbm-dev sqlite-dev
+ freetds-dev mariadb-dev postgresql-dev unixodbc-dev freetype-dev tidyhtml-dev libxpm-dev
+ libpng-dev libwebp-dev libjpeg-turbo-dev libmcrypt-dev gsoap-dev recode-dev
+ libedit-dev gettext-dev
+ "
+source="http://php.net/distributions/$_pkgreal-$pkgver.tar.bz2
+ $_pkgreal-module.conf.in
+ $_pkgreal-fpm.logrotate.in
+ $_pkgreal-fpm.initd.in
+ $_pkgreal-fpm.patch.in
+ includedir.patch.in
+ install-pear.patch
+ "
+
+# unimplemented extensions: com_dotnet interbase oci8 pdo_firebird pdo_oci
+_extensions="bcmath bz2 calendar ctype curl dba dom enchant exif ftp gd gettext gmp iconv imap:1 intl json
+ ldap mbstring mcrypt mysqli mysqlnd odbc opcache openssl pcntl pdo pdo_dblib pdo_mysql
+ pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell recode session shmop snmp soap
+ sockets sqlite3 sysvmsg sysvsem sysvshm tidy wddx xml xmlreader xmlrpc xmlwriter xsl zip zlib
+ "
+for _extension in $_extensions; do
+ [ -z "${_extension##*:*}" ] && eval _index_${_extension%:*}=${_extension#*:}
+ subpackages="$subpackages $pkgname-${_extension%:*}:_extension"
+done
+_prefix_opcache="zend_"
+_pkgdesc_opcache="Zend OPcache"
+
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-apache2 $pkgname-phpdbg
+ $pkgname-litespeed $pkgname-cgi $pkgname-fpm $pkgname-pear::noarch
+ $pkgname-phar-phar:_phar:noarch $subpackages $pkgname-config::noarch"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$builddir"
+
+ local i
+ for i in $source; do
+ case $i in
+ *.patch.in)
+ msg "${i%.in} [$_suffix]"
+ sed "s/@_suffix@/$_suffix/g" "$srcdir/$i" \
+ | patch "${patch_args:--p1}" || return 1
+ ;;
+ *.in)
+ msg "$i -> ${i%.in}"
+ sed "s/@_suffix@/$_suffix/g" "$srcdir/$i" > ${i%.in}
+ ;;
+ esac
+ done
+
+ sed "$(($(grep -n 'Pool Definitions' sapi/fpm/php-fpm.conf.in | cut -d: -f1)+3)),\$d" \
+ -i sapi/fpm/php-fpm.conf.in
+ echo include=@php_fpm_sysconfdir@/php-fpm.d/*.conf >> sapi/fpm/php-fpm.conf.in
+
+ default_prepare || return 1
+ update_config_sub || return 1
+
+ local vapi=$(sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h)
+ if [ "$vapi" != "$_apiver" ]; then
+ error "Upstreram API version is now $vapi. Expecting $_apiver"
+ error "After updating _apiver, all 3rd-party extensions must be rebuilt"
+ return 1
+ fi
+
+ autoconf
+}
+
+_build() {
+ export EXTENSION_DIR=/usr/lib/$pkgname/modules
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --program-suffix=$_suffix \
+ --libdir=/usr/lib/$pkgname \
+ --datadir=/usr/share/$pkgname \
+ --sysconfdir=/etc/$pkgname \
+ --localstatedir=/var \
+ --with-layout=GNU \
+ --with-pic \
+ --with-pear=/usr/share/pear \
+ --with-config-file-path=/etc/$pkgname \
+ --with-config-file-scan-dir=/etc/$pkgname/conf.d \
+ --disable-short-tags \
+ --with-openssl=shared --with-kerberos --with-system-ciphers \
+ --with-pcre-regex --with-pcre-dir \
+ --with-zlib=shared --with-zlib-dir \
+ --enable-bcmath=shared \
+ --with-bz2=shared \
+ --enable-calendar=shared \
+ --enable-ctype=shared \
+ --with-curl=shared \
+ --enable-dba=shared --with-gdbm --with-db4 \
+ --enable-dom=shared \
+ --with-enchant=shared \
+ --enable-exif=shared \
+ --enable-ftp=shared \
+ --with-gd=shared --with-webp-dir=shared --with-jpeg-dir=shared --with-png-dir=shared --with-xpm-dir=shared \
+ --with-freetype-dir=shared --enable-gd-native-ttf --disable-gd-jis-conv \
+ --with-gettext=shared \
+ --with-gmp=shared \
+ --with-iconv=shared \
+ --enable-intl=shared --with-icu-dir=/usr \
+ --enable-json=shared \
+ --enable-libxml=shared --with-libxml-dir=shared --with-libexpat-dir=shared \
+ --with-ldap=shared --with-ldap-sasl \
+ --enable-mbstring=shared --enable-mbregex \
+ --with-mcrypt=shared \
+ --with-sqlite3=shared,/usr --with-pdo-sqlite=shared,/usr \
+ --with-pdo-dblib=shared \
+ --with-mysqli=shared,/usr/bin/mysql_config \
+ --enable-mysqlnd=shared --with-pdo-mysql=shared,/usr/bin/mysql_config --with-mysql-sock=/run/mysqld/mysqld.sock \
+ --with-pgsql=shared --with-pdo-pgsql=shared \
+ --with-unixODBC=shared,/usr -with-pdo-odbc=shared,unixODBC,/usr \
+ --with-dbmaker=shared \
+ --enable-opcache=shared \
+ --enable-pdo=shared \
+ --enable-pcntl=shared \
+ --enable-posix=shared \
+ --enable-phar=shared \
+ --with-pspell=shared \
+ --without-readline \
+ --with-libedit \
+ --enable-session=shared \
+ --enable-shmop=shared \
+ --with-snmp=shared \
+ --enable-soap=shared \
+ --enable-sockets=shared \
+ --enable-sysvmsg=shared \
+ --enable-sysvsem=shared \
+ --enable-sysvshm=shared \
+ --with-tidy=shared \
+ --enable-xml=shared \
+ --enable-xmlreader=shared \
+ --enable-xmlwriter=shared \
+ --with-xmlrpc=shared \
+ --with-xsl=shared \
+ --enable-wddx=shared \
+ --enable-zip=shared --with-libzip=shared \
+ $@ || return 1
+ sed -ri "s/^(EXTRA_LDFLAGS[ ]*\=.*)/\1 -lpthread/" Makefile
+ make || return 1
+}
+
+build() {
+ cd "$builddir"
+ # build phpdbg
+ _build --enable-phpdbg \
+ --enable-phpdbg-webhelper \
+ --disable-cgi \
+ --disable-cli \
+ || return 1
+ # build apache2 module + recode extension
+ _build --disable-phpdbg \
+ --disable-cgi \
+ --disable-cli \
+ --with-apxs2 \
+ --with-recode=shared \
+ || return 1
+ mv libs/lib$_pkgreal*.so sapi/apache2handler/
+ # build all other + imap extension
+ _build --disable-phpdbg \
+ --enable-fpm \
+ --enable-embed \
+ --with-litespeed \
+ --with-imap=shared --with-imap-ssl \
+ || return 1
+}
+
+package() {
+ pkgdesc="$pkgdesc (command line interface)"
+
+ cd "$builddir"
+ make -j1 INSTALL_ROOT="$pkgdir" install || return 1
+
+ ln -sf /usr/bin/php$_suffix "$pkgdir"/usr/bin/php
+
+ rm -fr "$pkgdir"/.[[:alpha:]]* || return 1
+}
+
+dev() {
+ provides=$_pkgreal-dev
+ replaces=$provides
+ default_dev
+
+ mkdir -p "$subpkgdir"/usr/bin \
+ "$subpkgdir"/usr/lib/$pkgname
+
+ local file
+ for file in php-config phpize; do
+ mv "$pkgdir"/usr/bin/$file$_suffix \
+ "$subpkgdir"/usr/bin/ || return 1
+ ln -sf /usr/bin/$file$_suffix "$subpkgdir"/usr/bin/$file
+ done
+
+ mv "$pkgdir"/usr/lib/$pkgname/build "$subpkgdir"/usr/lib/$pkgname/
+}
+
+doc() {
+ provides=$_pkgreal-doc
+ replaces=
+ default_doc
+ install_if="docs $pkgname-config=$pkgver-r$pkgrel"
+
+ cd "$builddir"
+ local file
+ for file in $(ls CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README* UPGRADING*); do
+ install -Dm644 $file "$subpkgdir"/usr/share/doc/$pkgname/$file || return 1
+ done
+}
+
+apache2() {
+ provides=$_pkgreal-apache2
+ replaces=
+ pkgdesc="$pkgdesc (apache2 module)"
+ depends="$pkgname-config apache2"
+
+ mkdir -p "$subpkgdir"/usr/lib/apache2
+ cp "$builddir"/sapi/apache2handler/lib$_pkgreal*.so \
+ "$subpkgdir"/usr/lib/apache2/mod_$pkgname.so || return 1
+
+ install -D -m644 "$builddir"/$_pkgreal-module.conf \
+ "$subpkgdir"/etc/apache2/conf.d/$pkgname-module.conf
+}
+
+phpdbg() {
+ provides=$_pkgreal-phpdbg
+ replaces=$provides
+ pkgdesc="$pkgdesc (interactive debugger)"
+ depends="$pkgname-config"
+
+ install -Dm755 "$builddir"/sapi/phpdbg/phpdbg \
+ "$subpkgdir"/usr/bin/phpdbg$_suffix || return 1
+ ln -sf /usr/bin/phpdbg$_suffix "$subpkgdir"/usr/bin/phpdbg
+}
+
+libs() {
+ provides=$_pkgreal-libs
+ replaces=
+ pkgdesc="$pkgdesc (embedded library)"
+ depends="$pkgname-config"
+
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/lib$_pkgreal*.so \
+ "$subpkgdir"/usr/lib/lib$pkgname.so || return 1
+}
+
+litespeed() {
+ provides=$_pkgreal-litespeed
+ replaces=$provides
+ pkgdesc="$pkgdesc (litespeed)"
+ depends="$pkgname-config"
+
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/lsphp \
+ "$subpkgdir"/usr/bin/lsphp$_suffix || return 1
+ ln -sf /usr/bin/lsphp$_suffix "$subpkgdir"/usr/bin/lsphp
+}
+
+cgi() {
+ provides=$_pkgreal-cgi
+ replaces=$provides
+ pkgdesc="$pkgdesc (common gateway interface)"
+ depends="$pkgname-config"
+
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/php-cgi$_suffix \
+ "$subpkgdir"/usr/bin/ || return 1
+ ln -sf /usr/bin/php-cgi$_suffix "$subpkgdir"/usr/bin/php-cgi
+}
+
+fpm() {
+ provides=$_pkgreal-fpm
+ replaces=
+ pkgdesc="$pkgdesc (fastcgi process manager)"
+ depends="$pkgname-config"
+
+ mkdir -p "$subpkgdir"/usr/share \
+ "$subpkgdir"/etc/$pkgname \
+ "$subpkgdir"/var/log/$pkgname
+
+ mv "$pkgdir"/usr/sbin "$subpkgdir"/usr/ || return 1
+ mv "$pkgdir"/usr/share/$pkgname \
+ "$subpkgdir"/usr/share/ || return 1
+ mv "$pkgdir"/etc/$pkgname/php-fpm* \
+ "$subpkgdir"/etc/$pkgname/ || return 1
+
+ local file;
+ for file in php-fpm.conf php-fpm.d/www.conf; do
+ mv "$subpkgdir"/etc/$pkgname/$file.default \
+ "$subpkgdir"/etc/$pkgname/$file || return 1
+ done
+
+ install -D -m755 "$builddir"/$_pkgreal-fpm.initd \
+ "$subpkgdir"/etc/init.d/$_pkgreal-fpm$_suffix || return 1
+ install -D -m644 "$builddir"/$_pkgreal-fpm.logrotate \
+ "$subpkgdir"/etc/logrotate.d/$_pkgreal-fpm$_suffix || return 1
+}
+
+pear() {
+ provides=$_pkgreal-pear
+ replaces=$provides
+ pkgdesc="$pkgdesc (extension and application repository)"
+ depends="$pkgname $pkgname-xml"
+
+ mkdir -p "$subpkgdir"/usr/bin \
+ "$subpkgdir"/etc/$pkgname
+
+ mv "$pkgdir"/usr/bin/pecl \
+ "$pkgdir"/usr/bin/pear \
+ "$pkgdir"/usr/bin/peardev \
+ "$subpkgdir"/usr/bin/ || return 1
+
+ mv "$pkgdir"/etc/$pkgname/pear.conf \
+ "$subpkgdir"/etc/$pkgname/ || return 1
+
+ mv "$pkgdir"/usr/share \
+ "$subpkgdir"/usr/ || return 1
+}
+
+config() {
+ provides="php-$_apiver"
+ replaces=
+ depends=
+ pkgdesc="$pkgdesc (common config)"
+
+ mkdir -p "$subpkgdir"/etc/$pkgname/conf.d
+
+ install -Dm644 "$builddir"/php.ini-production \
+ "$subpkgdir"/etc/$pkgname/php.ini || return 1
+
+ # exit with an error if some modules were not in subpackages
+ rmdir "$pkgdir"/usr/lib/$pkgname/modules || return 1
+
+ rm -fr "$pkgdir"/etc "$pkgdir"/var "$pkgdir"/usr/lib
+}
+
+_phar() {
+ provides=$_pkgreal-phar-phar
+ replaces=$provides
+ pkgdesc="$pkgdesc (archive script)"
+ depends="$pkgname $pkgname-phar"
+
+ mkdir -p "$subpkgdir"/usr/bin
+
+ mv "$pkgdir"/usr/bin/phar* \
+ "$subpkgdir"/usr/bin/ || return 1
+}
+
+_extension() {
+ provides=
+ replaces=
+ depends=
+
+ local name=${subpkgname#$pkgname-}
+ local index=$(eval echo \$_index_$name)
+
+ pkgdesc=$(eval echo \$_pkgdesc_$name)
+ : ${pkgdesc:=$(head -n1 "$builddir"/ext/$name/CREDITS)}
+ pkgdesc="PHP${pkgver%.*} extension: ${pkgdesc:-$name}"
+
+ local dep
+ for dep in $(grep -o "_DEP('$name'.*" "$builddir"/ext/$name/config.w32 | sed "s/[',);]//g"); do
+ [ -z "${_extensions##*$dep*}" ] && depends="$depends $pkgname-$dep"
+ done
+
+ : ${index:=$(echo $depends | wc -w)}
+ depends="$pkgname-config $depends"
+
+ mkdir -p "$subpkgdir"/usr/lib/$pkgname/modules \
+ "$subpkgdir"/etc/$pkgname/conf.d
+
+ mv "$pkgdir"/usr/lib/$pkgname/modules/$name.so \
+ "$subpkgdir"/usr/lib/$pkgname/modules/ || return 1
+
+ echo $(eval echo \$_prefix_$name)extension=$name.so > \
+ "$subpkgdir"/etc/$pkgname/conf.d/$(printf %02d $index)_$name.ini
+}
+
+md5sums="cd5b7dfc4bcf99fe11cae7917e9453e1 php-7.1.1.tar.bz2
+95d27e9f8f62f91531fc2c76af9065d0 php-module.conf.in
+ad13602a44d28092abc5681778f82b31 php-fpm.logrotate.in
+f5e8b469983f851d7665e32a9d529bbf php-fpm.initd.in
+d088f00c226840bf7234c465de4118bb php-fpm.patch.in
+c32f5ba7412548e5b233319ab32b6e50 includedir.patch.in
+483bc0a85c50a9a9aedbe14a19ed4526 install-pear.patch"
+sha256sums="d791d39d7b54ec42441a05a5f06d68a495647d843210e3ae4f2c6adb99c675bc php-7.1.1.tar.bz2
+c197232950e8d60f87bb8bbd231445737c2efc3ff1b907a70fe43db7a0a1c0f3 php-module.conf.in
+606741a9ec11ff2162d1dd4fe469fb0c1b66ee33ba302f0aac4cb6f0be2f8ae0 php-fpm.logrotate.in
+cdc24d2e2e0e74ef7b8823ec8e058128dedcf9298f1e57c0450f3590137e1148 php-fpm.initd.in
+110928a5d3f15f6826d8be0a97b393e7e6676acb57c2e1eac32b80dafb3b7a6f php-fpm.patch.in
+dff44c133f5023b03f8771dd826ce7ad529fb996a84a933a82cf4c4f71e86b94 includedir.patch.in
+f739ca427a1dd53a388bad0823565299c5d4a5796b1171b892884e4d7d099bab install-pear.patch"
+sha512sums="005471c0233e04fd95e159f8106ecfb059500076482cd49b26d2597ac390f4fa09ec14146058cdcd38e7d27665ac1d2afdc758f41b86e7fb88c8ba405b6e6415 php-7.1.1.tar.bz2
+e0f24eea250ed6a8c8286b2ed496a3feb1d9a2e399755f822387a4c26b34168bb346109c08d2b827d8230fe3103295d8b7f7b6bc09219e5b3ad4429271ece5d6 php-module.conf.in
+b25c0bcaae4ddc7e001a6484423dec48be8735168dc3ab7471f5a57ce631273f11514c924b368ff846fe9a04bd4e1c7f296f1c8527f6f239a79df84189841983 php-fpm.logrotate.in
+809e584304365412ecf80eb2ebb613439342e9a1faf36d0b04c76e60b1bf1345812799a16ffad76dbd3aa5f00c55329a051b308e451301d6e8d673813e37856b php-fpm.initd.in
+2b3d60e4c57929a7bc1875c83472a6be1b7695a623893d108f905e742fe72ddf7fec7bf7a42b332ac33304434620a0317fd79d4ad707be886825d4b0fd96b938 php-fpm.patch.in
+c7841eef58e1203cb1eb97efff96427d560c1c8d9945286e95dbecc7ccac20e0a29a333194032af9696961c317876d5b971f282644167ba6fe7135e9ac86447e includedir.patch.in
+f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c939768584f3e4edbe52e8bd6103fb6777462326a9d94e8ab1f505 install-pear.patch"
diff --git a/testing/php7.1/includedir.patch.in b/testing/php7.1/includedir.patch.in
new file mode 100644
index 0000000000..8087b6200d
--- /dev/null
+++ b/testing/php7.1/includedir.patch.in
@@ -0,0 +1,41 @@
+--- a/scripts/Makefile.frag
++++ b/scripts/Makefile.frag
+@@ -3,7 +3,7 @@
+ # Build environment install
+ #
+
+-phpincludedir = $(includedir)/php
++phpincludedir = $(includedir)/php@_suffix@
+ phpbuilddir = $(libdir)/build
+
+ BUILD_FILES = \
+--- a/ext/pdo/Makefile.frag
++++ b/ext/pdo/Makefile.frag
+@@ -1,4 +1,4 @@
+-phpincludedir=$(prefix)/include/php
++phpincludedir=$(prefix)/include/php@_suffix@
+
+ PDO_HEADER_FILES= \
+ php_pdo.h \
+--- a/scripts/php-config.in
++++ b/scripts/php-config.in
+@@ -6,7 +6,7 @@
+ exec_prefix="@exec_prefix@"
+ version="@PHP_VERSION@"
+ vernum="@PHP_VERSION_ID@"
+-include_dir="@includedir@/php"
++include_dir="@includedir@/php@_suffix@"
+ includes="-I$include_dir -I$include_dir/main -I$include_dir/TSRM -I$include_dir/Zend -I$include_dir/ext -I$include_dir/ext/date/lib"
+ ldflags="@PHP_LDFLAGS@"
+ libs="@EXTRA_LIBS@"
+--- a/scripts/phpize.in
++++ b/scripts/phpize.in
+@@ -5,7 +5,7 @@
+ datarootdir='@datarootdir@'
+ exec_prefix="`eval echo @exec_prefix@`"
+ phpdir="`eval echo @libdir@`/build"
+-includedir="`eval echo @includedir@`/php"
++includedir="`eval echo @includedir@`/php@_suffix@"
+ builddir="`pwd`"
+ SED="@SED@"
+
diff --git a/testing/php7.1/install-pear.patch b/testing/php7.1/install-pear.patch
new file mode 100644
index 0000000000..18747be94b
--- /dev/null
+++ b/testing/php7.1/install-pear.patch
@@ -0,0 +1,15 @@
+--- ./pear/Makefile.frag.orig 2013-04-12 07:02:27.041602514 +0000
++++ ./pear/Makefile.frag 2013-04-12 07:04:09.065836822 +0000
+@@ -2,8 +2,11 @@
+
+ peardir=$(PEAR_INSTALLDIR)
+
++# help the built php to find xml extension so we can install pear
++PEAR_INSTALL_XML_FLAGS = -d extension_dir="$(top_builddir)/modules" -d extension=xml.so
++
+ # Skip all php.ini files altogether
+-PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0
++PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0 $(PEAR_INSTALL_XML_FLAGS)
+
+ WGET = `which wget 2>/dev/null`
+ FETCH = `which fetch 2>/dev/null`
diff --git a/testing/php7.1/php-fpm.initd.in b/testing/php7.1/php-fpm.initd.in
new file mode 100644
index 0000000000..f892559e1b
--- /dev/null
+++ b/testing/php7.1/php-fpm.initd.in
@@ -0,0 +1,87 @@
+#!/sbin/openrc-run
+
+# If you want to run separate master process per pool, then create a symlink
+# to this runscript for each pool. In that mode, the php-fpm daemon is started
+# as nobody by default. You can override the user (and group) by declaring
+# variable "user" and optionally "group" in conf.d file, or in the $fpm_config
+# file (the former has precedence).
+
+: ${name:="PHP FastCGI Process Manager"}
+
+command="/usr/sbin/php-fpm@_suffix@"
+command_background="yes"
+start_stop_daemon_args="--quiet"
+pidfile="/run/$RC_SVCNAME/php-fpm.pid"
+retry="SIGTERM/20"
+
+extra_commands="checkconfig"
+extra_started_commands="reload reopen"
+description_checkconfig="Run php-fpm config check"
+description_reload="Gracefully reload workers and config"
+description_reopen="Reopen log files"
+
+required_files="$fpm_config"
+
+depend() {
+ need net
+ before apache2 lighttpd nginx
+}
+
+init_vars() {
+ # Defaults for single master process with multiple pools
+ if [ "$RC_SVCNAME" = "php-fpm@_suffix@" ]; then
+ : ${fpm_config:="/etc/php@_suffix@/php-fpm.conf"}
+ : ${user:="root"}
+ # Defaults for master process per pool
+ else
+ : ${fpm_config="/etc/php@_suffix@/php-fpm.d/${RC_SVCNAME#php-fpm@_suffix@.}.conf"}
+ : ${user:="$(conf_get user)"}
+ : ${user:="nobody"}
+ : ${group:="$(conf_get group)"}
+ fi
+ command_args="--nodaemonize --fpm-config $fpm_config"
+ start_stop_daemon_args="$start_stop_daemon_args
+ --user $user ${group:+"--group $group"}"
+}
+
+start_pre() {
+ checkconfig || return 1
+
+ # If unix socket is used (instead of TCP/IP), then ensure that the
+ # directory exists and has correct privileges.
+ local listen="$(conf_get listen)"
+ if [ "${listen:0:1}" = "/" ]; then
+ checkpath -d -o $user:$group "${listen%/*}"
+ fi
+
+ checkpath -d "${pidfile%/*}"
+}
+
+reload() {
+ ebegin "Reloading $RC_SVCNAME"
+ start-stop-daemon --signal USR2 --pidfile "$pidfile"
+ eend $?
+}
+
+reopen() {
+ ebegin "Reopening $RC_SVCNAME log files"
+ start-stop-daemon --signal USR1 --pidfile "$pidfile"
+ eend $?
+}
+
+checkconfig() {
+ init_vars
+ ebegin "Checking $fpm_config"
+
+ local out
+ out="$(su -s /bin/sh -c "$command --test --fpm-config $fpm_config" $user 2>&1)" || {
+ printf "%s\n" "$out"
+ eend 1 "failed, please correct errors above"
+ return 1
+ }
+}
+
+conf_get() {
+ local key="$1"
+ sed -nE "s/^${key}\s*=\s*\"?([^\";]+).*/\1/p" "$fpm_config" | head -n 1
+}
diff --git a/testing/php7.1/php-fpm.logrotate.in b/testing/php7.1/php-fpm.logrotate.in
new file mode 100644
index 0000000000..ac1fcb2b35
--- /dev/null
+++ b/testing/php7.1/php-fpm.logrotate.in
@@ -0,0 +1,13 @@
+/var/log/php@_suffix@/*.log {
+ rotate 7
+ daily
+ missingok
+ notifempty
+ delaycompress
+ compress
+ dateext
+ sharedscripts
+ postrotate
+ /etc/init.d/php-fpm@_suffix@ --ifstarted --quiet reopen
+ endscript
+}
diff --git a/testing/php7.1/php-fpm.patch.in b/testing/php7.1/php-fpm.patch.in
new file mode 100644
index 0000000000..b6b5917e74
--- /dev/null
+++ b/testing/php7.1/php-fpm.patch.in
@@ -0,0 +1,55 @@
+--- a/sapi/fpm/fpm/fpm_conf.c
++++ b/sapi/fpm/fpm/fpm_conf.c
+@@ -1180,3 +1180,3 @@
+ if (!fpm_global_config.error_log) {
+- fpm_global_config.error_log = strdup("log/php-fpm.log");
++ fpm_global_config.error_log = strdup("log/php@_suffix@/error.log");
+ }
+@@ -1191,3 +1191,3 @@
+ if (!fpm_global_config.syslog_ident) {
+- fpm_global_config.syslog_ident = strdup("php-fpm");
++ fpm_global_config.syslog_ident = strdup("php-fpm@_suffix@");
+ }
+@@ -1683,3 +1683,3 @@
+ } else {
+- spprintf(&tmp, 0, "%s/etc/php-fpm.conf", fpm_globals.prefix);
++ spprintf(&tmp, 0, "%s/etc/php@_suffix@/php-fpm.conf", fpm_globals.prefix);
+ }
+--- a/sapi/fpm/php-fpm.conf.in
++++ b/sapi/fpm/php-fpm.conf.in
+@@ -16,3 +16,3 @@
+ ; Default Value: none
+-;pid = run/php-fpm.pid
++;pid = run/php-fpm@_suffix@.pid
+
+@@ -22,4 +22,4 @@
+ ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
+-; Default Value: log/php-fpm.log
+-;error_log = log/php-fpm.log
++; Default Value: log/php@_suffix@/error.log
++;error_log = log/php@_suffix@/error.log
+
+@@ -35,4 +35,4 @@
+ ; which must suit common needs.
+-; Default Value: php-fpm
+-;syslog.ident = php-fpm
++; Default Value: php-fpm@_suffix@
++;syslog.ident = php-fpm@_suffix@
+
+--- a/sapi/fpm/www.conf.in
++++ b/sapi/fpm/www.conf.in
+@@ -252,3 +252,3 @@
+ ; Default: not set
+-;access.log = log/$pool.access.log
++;access.log = log/php@_suffix@/$pool.access.log
+
+@@ -316,3 +316,3 @@
+ ; Note: slowlog is mandatory if request_slowlog_timeout is set
+-;slowlog = log/$pool.log.slow
++;slowlog = log/php@_suffix@/$pool.slow.log
+
+@@ -410,3 +410,3 @@
+ ;php_flag[display_errors] = off
+-;php_admin_value[error_log] = /var/log/fpm-php.www.log
++;php_admin_value[error_log] = /var/log/php@_suffix@/$pool.error.log
+ ;php_admin_flag[log_errors] = on
diff --git a/testing/php7.1/php-module.conf.in b/testing/php7.1/php-module.conf.in
new file mode 100644
index 0000000000..267ad00e6e
--- /dev/null
+++ b/testing/php7.1/php-module.conf.in
@@ -0,0 +1,5 @@
+LoadModule php@_suffix@_module modules/mod_php@_suffix@.so
+
+DirectoryIndex index.php index.html
+AddHandler application/x-httpd-php .php
+AddHandler application/x-httpd-php-source .phps