~alpine/aports

This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch
3 2

[alpine-aports] [PATCH] community/php7: upgrade to 7.1.0, close issues #5367, #5670

Details
Message ID
<20161202165351.421-1-valery.kartel@gmail.com>
Sender timestamp
1480697631
DKIM signature
missing
Download raw message
Patch: +124 -169
--
This commit covers my previous patch http://patchwork.alpinelinux.org/patch/2576

WARN: PHP API version changed. All external extensions needs to be rebuilded!

added shared extension 'recode'
fixed imap loading order (http://php.net/manual/en/recode.installation.php)
removed shared extension 'readline', made it compiled-in (Bug #5670)
removed prefix in common binaries: php, php-config, phpize (Support #5367)
some fixes in APKBUILD and others
---
 community/php7/APKBUILD           | 219 ++++++++++++++++----------------------
 community/php7/php7-fpm.initd     |  35 +++---
 community/php7/php7-fpm.logrotate |   2 +-
 community/php7/php7-module.conf   |   2 +-
 community/php7/pid_log.patch      |  24 +++--
 community/php7/tidy-buffio.patch  |  11 --
 6 files changed, 124 insertions(+), 169 deletions(-)
 delete mode 100644 community/php7/tidy-buffio.patch

diff --git a/community/php7/APKBUILD b/community/php7/APKBUILD
index c0b1f5cdc3..bb8d9e930a 100644
--- a/community/php7/APKBUILD
+++ b/community/php7/APKBUILD
@@ -2,35 +2,40 @@
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=php7
_pkgreal=php
pkgver=7.0.13
pkgrel=1
pkgver=7.1.0
pkgrel=0
pkgdesc="The PHP language runtime engine - 7th branch"
url="http://www.php.net/"
arch="all"
license="PHP-3"
options=""
depends="$pkgname-common"
depends_dom="$pkgname-xml"
depends_mysqlnd="$pkgname-mysqli"
depends_phar="$pkgname"
depends_soap="$pkgname-xml"
depends_wddx="$pkgname-xml"
depends_xmlreader="$pkgname-dom"
depends_xmlrpc="$pkgname-xml"
depends_xsl="$pkgname-dom"
# make imap loaded after recode
depends_imap="-- $depends_recode"
depends_mysqlnd="$pkgname-mysqli $depends_mysqli"
depends_pdo_mysql="$pkgname-pdo $depends_pdo"
depends_pdo_odbc="$pkgname-pdo $depends_pdo"
depends_pdo_pgsql="$pkgname-pdo $depends_pdo"
depends_pdo_sqlite="$pkgname-pdo $depends_pdo"
depends_dom="$pkgname-xml $depends_xml"
depends_soap="$pkgname-xml $depends_xml"
depends_wddx="$pkgname-xml $depends_xml"
depends_xmlrpc="$pkgname-xml $depends_xml"
depends_xmlreader="$pkgname-dom $depends_dom"
depends_xsl="$pkgname-dom $depends_dom"
_prefix_opcache="zend_"
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
	readline-dev paxmark gettext-dev
	readline-dev gettext-dev
	"
source="http://php.net/distributions/$_pkgreal-$pkgver.tar.bz2
	$pkgname-fpm.initd
	$pkgname-fpm.logrotate
	$pkgname-module.conf
	install-pear.patch
	tidy-buffio.patch
	includedir.patch
	pid_log.patch
	"
@@ -38,8 +43,8 @@ builddir="$srcdir/$_pkgreal-$pkgver"

_exts="bcmath bz2 calendar ctype curl dba dom enchant exif ftp gd gettext gmp iconv imap intl json
	ldap mbstring mcrypt mysqli mysqlnd odbc opcache openssl pcntl pdo pdo_dblib pdo_mysql
	pdo_odbc pdo_pgsql pdo_sqlite pgsql phar:phar posix pspell readline session shmop snmp soap
	sockets sqlite3 sysvmsg sysvsem sysvshm tidy wddx xml xmlreader xmlrpc xsl zip zlib
	pdo_odbc pdo_pgsql pdo_sqlite pgsql phar:phar posix pspell recode session shmop snmp
	soap sockets sqlite3 sysvmsg sysvsem sysvshm tidy wddx xml xmlreader xmlrpc xsl zip zlib
	"
subpackages="$pkgname-dev $pkgname-doc $pkgname-apache2 $pkgname-phpdbg $pkgname-embed
	$pkgname-litespeed $pkgname-cgi $pkgname-fpm $pkgname-pear::noarch
@@ -52,14 +57,12 @@ for _ext in $_exts; do
done
subpackages="$subpackages $pkgname-common::noarch"

_apiver="20151012"
_apiver="20160303"

prepare() {
	cd "$builddir"

	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"
@@ -74,7 +77,6 @@ _build() {
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--program-suffix=7 \
		--libdir=/usr/lib/$pkgname \
		--datadir=/usr/share/$pkgname \
		--sysconfdir=/etc/$pkgname \
@@ -138,226 +140,189 @@ _build() {
		--with-xsl=shared \
		--enable-wddx=shared \
		--enable-zip=shared --with-libzip=shared \
		--with-readline \
		$@ || return 1
	sed -ri "s/^(EXTRA_LDFLAGS[ ]*\=.*)/\1 -lpthread/" Makefile  # see #183 (from main/php)
	sed -ri "s/^(EXTRA_LDFLAGS[ ]*\=.*)/\1 -lpthread/" Makefile  # see #183 (from main/php5)
	make || return 1
}

build() {
	cd "$builddir"

	# phpdbg
	_build --enable-phpdbg \
		--enable-phpdbg \
		--enable-phpdbg-webhelper \
		--disable-cgi \
		--disable-cli \
		--with-readline \
		|| return 1
	# apache2 module
	_build --disable-phpdbg \
		--disable-cgi \
		--disable-cli \
		--with-apxs2 \
		--with-readline=shared \
		|| return 1
	mv libs/libphp7.so sapi/apache2handler/mod_php7.so
	mv libs/lib$pkgname.so sapi/apache2handler
	# cgi,cli,fpm,embed,litespeed - with recode, without imap
	_build --disable-phpdbg \
		--enable-fpm \
		--enable-embed \
		--with-litespeed \
		--without-imap --without-imap-ssl \
		--with-recode=shared \
		|| return 1
	# cgi,cli,fpm,embed,litespeed
	_build --disable-phpdbg \
		--enable-fpm \
		--enable-embed \
		--with-litespeed \
		--with-readline=shared \
		|| return 1
}

package() {
	cd "$builddir"

	make -j1 INSTALL_ROOT="$pkgdir" install || return 1

	install -Dm644 php.ini-production "$pkgdir"/etc/$pkgname/php.ini || return 1

	local file; for file in pear peardev pecl; do
		sed -i -e "s~/usr/bin/php~/usr/bin/php7~g" \
			-e "s~PHP=php~PHP=php7~" \
			"$pkgdir"/usr/bin/$file || return 1
	done
	paxmark -m "$pkgdir"/usr/bin/php7

	find "$pkgdir" -name '.*' | xargs rm -rf || return 1
	rmdir "$pkgdir"/var/run
	rm -fr "$pkgdir"/.[[:alpha:]]* "$pkgdir"/var || return 1
	mv "$pkgdir"/usr/share/man/man1/php-cgi.1 \
		"$pkgdir"/usr/share/man/man1/$pkgname-cgi.1
	mv "$pkgdir"/usr/share/man/man8/php-fpm.8 \
		"$pkgdir"/usr/share/man/man8/$pkgname-fpm.8
}

dev() {
	default_dev
	depends="$depends $pkgname $pkgname-pear"

	mkdir -p "$subpkgdir"/usr/bin \
		"$subpkgdir"/usr/lib/$pkgname

	mv "$pkgdir"/usr/bin/php-config7 "$pkgdir"/usr/bin/peardev \
		"$subpkgdir"/usr/bin/ || return 1
	mv "$pkgdir"/usr/lib/$pkgname/build \
		"$subpkgdir"/usr/lib/$pkgname/
	depends="$depends $pkgname-pear"
	mv "$pkgdir"/usr/bin/phpize "$pkgdir"/usr/bin/peardev \
		"$subpkgdir"/usr/bin/
	mv "$pkgdir"/usr/lib/$pkgname/build "$subpkgdir"/usr/lib/$pkgname/
}

doc() {
	default_doc

	mkdir -p "$subpkgdir"/usr/share/doc/$pkgname

	local file
	for file in CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README* UPGRADING*; do
		cp "$builddir"/$file "$subpkgdir"/usr/share/doc/$pkgname/ || return 1
		install -Dm644 "$builddir"/$file "$subpkgdir"/usr/share/doc/$pkgname/$file || return 1
	done
}

apache2() {
	pkgdesc="PHP Module for Apache2"
	depends="$pkgname-common apache2"

	install -D -m755 "$builddir"/sapi/apache2handler/mod_php7.so \
		"$subpkgdir"/usr/lib/apache2/mod_php7.so || return 1

	install -D -m644 "$srcdir"/php7-module.conf \
		"$subpkgdir"/etc/apache2/conf.d/php7-module.conf
	install -Dm755 "$builddir"/sapi/apache2handler/lib$pkgname.so \
		"$subpkgdir"/usr/lib/apache2/lib$pkgname.so || return 1
	install -Dm644 "$srcdir"/$pkgname-module.conf \
		"$subpkgdir"/etc/apache2/conf.d/$pkgname-module.conf
}

phpdbg() {
	pkgdesc="Interactive PHP debugger"
	depends="$pkgname-common"

	install -Dm755 "$builddir"/sapi/phpdbg/phpdbg \
		 "$subpkgdir"/usr/bin/phpdbg7
		"$subpkgdir"/usr/bin/phpdbg
}

embed() {
	pkgdesc="PHP Embedded Library"
	depends="$pkgname-common"

	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libphp*.so "$subpkgdir"/usr/lib/
	mv "$pkgdir"/usr/lib/lib$pkgname.so "$subpkgdir"/usr/lib/
}

litespeed() {
	pkgdesc="PHP LiteSpeed SAPI"
	depends="$pkgname-common"

	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/lsphp "$subpkgdir"/usr/bin/lsphp7
	mv "$pkgdir"/usr/bin/lsphp "$subpkgdir"/usr/bin/
}

cgi() {
	pkgdesc="PHP Common Gateway Interface"
	depends="$pkgname-common"

	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/php-cgi7 "$subpkgdir"/usr/bin/
	mv "$pkgdir"/usr/bin/php-cgi "$subpkgdir"/usr/bin/$pkgname-cgi
}

fpm() {
	pkgdesc="PHP FastCGI Process Manager"
	depends="$pkgname-common"

	mv "$pkgdir"/var "$subpkgdir"/ || return 1

	mkdir -p "$subpkgdir"/etc/$pkgname \
		"$subpkgdir"/usr \
		"$subpkgdir"/var/lib \
		"$subpkgdir"/var/log/$pkgname

	mv "$pkgdir"/usr/share/$pkgname/fpm "$subpkgdir"/var/lib/$pkgname/ || return 1
	mv "$pkgdir"/usr/sbin "$subpkgdir"/usr/ || return 1
	mv "$pkgdir"/usr/share/$pkgname/fpm "$subpkgdir"/var/lib/$pkgname || return 1
	mv "$pkgdir"/usr/sbin "$subpkgdir"/usr/
	mv "$subpkgdir"/usr/sbin/php-fpm "$subpkgdir"/usr/sbin/$pkgname-fpm || 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 "$srcdir"/$pkgname-fpm.initd "$subpkgdir"/etc/init.d/php-fpm7 || return 1
	install -D -m644 "$srcdir"/$pkgname-fpm.logrotate "$subpkgdir"/etc/logrotate.d/php-fpm7
	find "$subpkgdir"/etc/$pkgname -name *.default \
		-exec sh -c 'f={}; mv $f ${f%.default}' \;
	install -D -m755 "$srcdir"/$pkgname-fpm.initd "$subpkgdir"/etc/init.d/$pkgname-fpm
	install -D -m644 "$srcdir"/$pkgname-fpm.logrotate "$subpkgdir"/etc/logrotate.d/$pkgname-fpm
}

pear() {
	pkgdesc="PHP Extension and Application Repository"
	depends="$pkgname $pkgname-xml"

	mkdir -p "$subpkgdir"/usr/bin \
		"$subpkgdir"/etc/$pkgname

	local file; for file in phpize7 pecl pear; do
		mv "$pkgdir"/usr/bin/$file "$subpkgdir"/usr/bin/
	done
	mv "$pkgdir"/usr/bin/pecl "$pkgdir"/usr/bin/pear \
		"$subpkgdir"/usr/bin/
	mv "$pkgdir"/etc/$pkgname/pear.conf "$subpkgdir"/etc/$pkgname/ || return 1
	mv "$pkgdir"/usr/share "$subpkgdir"/usr/
}

common() {
	pkgdesc="$pkgdesc (common config)"

	mkdir -p "$subpkgdir"/usr
	mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ || return 1
	mv "$pkgdir"/etc "$subpkgdir"/ || return 1

	mkdir "$subpkgdir"/etc/$pkgname/conf.d
	install -Dm644 "$builddir"/php.ini-production \
		"$subpkgdir"/etc/$pkgname/php.ini || return 1
	# exit with an error if there is any configs
	# or if some modules were not in subpackages
	rmdir "$pkgdir"/usr/lib/$pkgname/modules \
		"$pkgdir"/etc/$pkgname || return 1
	rm -fr "$pkgdir"/etc "$pkgdir"/usr/lib
}

phar() {
	depends="$pkgname"
	_package_ext || return 1
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/phar* "$subpkgdir"/usr/bin/
}

_package_ext() {
	local extname="${subpkgname#$pkgname-}"
	local extdepends="$(eval "echo \$depends_$extname")"
	local dep=
	local sep=
	local elo=0
	local extname=${subpkgname#$pkgname-}
	pkgdesc="PHP7 extension: $extname"
	depends="$depends $extdepends"

	case "$extname" in
	pdo_*) depends="$depends $pkgname-pdo"
	esac

	# extension dependencies and loading order
	local elo=00
	[ -z "$extdepends" ] || elo=01

	# extension prefix
	local prefix=
	[ "$extname" != "opcache" ] || prefix="zend_"

	for dep in $(eval echo \$depends_$extname); do
		elo=$(expr $elo + 1)
		[ "$dep" = "--" ] && sep=$dep
		[ "$sep" = "--" ] || depends="$depends $dep"
	done
	mkdir -p "$subpkgdir"/usr/lib/$pkgname/modules \
		"$subpkgdir"/etc/$pkgname/conf.d
	mv "$pkgdir"/usr/lib/$pkgname/modules/$extname.so \
		"$subpkgdir"/usr/lib/$pkgname/modules/ || return 1

	echo "${prefix}extension=$extname.so" \
		> "$subpkgdir"/etc/$pkgname/conf.d/${elo}_${extname}.ini
	echo $(eval echo \$_prefix_$extname)extension=$extname.so >\
		"$subpkgdir"/etc/$pkgname/conf.d/$(printf %02d $elo)_${extname}.ini
}

md5sums="f62d1c9ddb3a791b7eac423c7b2a769c  php-7.0.13.tar.bz2
4115cbd0843c72adc3bd42fecd6d4540  php7-fpm.initd
25bde13e7894c2930d97fad68d5dd3b3  php7-fpm.logrotate
47be6cd1ed92f21579e15bf2003a709f  php7-module.conf
md5sums="54e364b60a88db77adb96aacb10f10a4  php-7.1.0.tar.bz2
d3663c0871e62c3adf4a895909bdc885  php7-fpm.initd
6085eb7854c192b6a533bb18eeaebe2f  php7-fpm.logrotate
3cea5c5334508dfc43591cd5bb1483c6  php7-module.conf
483bc0a85c50a9a9aedbe14a19ed4526  install-pear.patch
66f0037a029f9eed2b31d2e1d50f1860  tidy-buffio.patch
d872e633c9b33c3c9f629dd2edd2e5c5  includedir.patch
6ba762ab7a105163b8e5b3913deae109  pid_log.patch"
sha256sums="d090bb523812117ec0c08d8f0b5c5f0616aa7a29a2eeee0374efe53a7cfe88c1  php-7.0.13.tar.bz2
a7e4fc0eeba18aec019f62ed966915afd82b6b5fb1e1af93b59f964b5bd66172  php7-fpm.initd
6e4406f21b69085714cdb9d9a67c08e27a1c737ab353f9813cb2fc268352d2c6  php7-fpm.logrotate
276c823ee666ea73b36d4e97174eeea05713125b61f7f8681e350453c4123143  php7-module.conf
edb29ea13fab52e50d3ee305e3f38060  pid_log.patch"
sha256sums="68bcfd7deed5b3474d81dec9f74d122058327e2bed0ac25bbc9ec70995228e61  php-7.1.0.tar.bz2
c57d381630bb90d8a12b4b0c742312493ca4bf1e164ae305a9c920df25f45100  php7-fpm.initd
bcd2f0a5caed573e4ac31a0dea6a7cd2584cdb9943f8a390b80ed900180dbb2a  php7-fpm.logrotate
dc73bb3a3bca94cdf070338ecfed85940548eda978e9392a711226ba62c1ce60  php7-module.conf
f739ca427a1dd53a388bad0823565299c5d4a5796b1171b892884e4d7d099bab  install-pear.patch
5dc8f32e5e2b1cd6317ada5a5adb9b5f0802ed6e0dbe065d7bfcc0f55d47e0d5  tidy-buffio.patch
ea74966a23b1b54548ee35e9ccc2fc8d2b7c2285c385c44d6b23d9e2f25ea1a7  includedir.patch
0cca8729c64682387a8c44ed74f0966da697f2817152d8d05bb25bedc7eaafec  pid_log.patch"
sha512sums="53276fbd35855b9337120fd74f6932e70822b8e5508b6bed068a78805049d36960300e781ec5640f4a90f2d4a09e506084a865341d151bc5c87b7777cb5ff6a3  php-7.0.13.tar.bz2
1c708de82d1086f272f484faf6cf6d087af7c31750cc2550b0b94ed723961b363f28a947b015b2dfc0765caea185a75f5d2c2f2b099c948b65c290924f606e4f  php7-fpm.initd
cacce7bf789467ff40647b7319e3760c6c587218720538516e8d400baa75651f72165c4e28056cd0c1dc89efecb4d00d0d7823bed80b29136262c825ce816691  php7-fpm.logrotate
fbf9a1572d37370ec0d126502e1d066e045a992484d8fc4f1e2ede330134c1a15f4029f29fa4daebd48eed78b045dc051ced69fbf1f11efc7ad81d884a639a99  php7-module.conf
60ced777af95bd0110c71a3d00a3169fd4b1e599560028e799c45599cc14c2a6  pid_log.patch"
sha512sums="94c051abd19dbdf3d016f068269b5c6d667938def4df1732f7826a0ab2dd1fa541ff838dafc1531e1c4fa790df0b07feaef97512b28dda3e4ce5e724ede89b37  php-7.1.0.tar.bz2
a9bb2a39deab4804627cae72be0bc18e7e189998aa555cee4cd5da7470ff7018cf53bfb4318daaba6709d1e000002bfefaf4e841a94eac132edef5dc20f1845b  php7-fpm.initd
da404e9d7bb7af484351b6c9d2a2e8f1eff8d44704da3d877bc6af11c638e0a1f7225ea5ac381cada316876dfaaa81254c87fe3867849fb898478f459fdc367b  php7-fpm.logrotate
ebfa4365c88c745fb27d9271d66daabeaecb26ce31e01716d42c187a0afd06e22e815a66e2aafb29e1e88a23248e3b4182928033294928985c9b8362174738c8  php7-module.conf
f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c939768584f3e4edbe52e8bd6103fb6777462326a9d94e8ab1f505  install-pear.patch
6894c9cba7752a3406e774d9efc0e058c37433493c1c20101e9563bf247c112157a67e306b06b9517b0422eca521f543d637a6cbd2cea7639e43f13d773b3d2b  tidy-buffio.patch
199aecdbd3b4035aabf5379c215f82412d3c98b79a1ee186944e7fe1f0ed6f40789ea30e2355149491de6be34fc66c5e486e2a79a7e41ab2ae18706ef3ffe79b  includedir.patch
82231c7b27b4d044272857dc713674884715ed8e36e54be06faa5d2a949ba4bca597628958a9c5683ec51c36e05a00f6be811c7e95112b0314c98528f584a8d6  pid_log.patch"
9503514f22d591125fb08da23f4bcc9fc47e9b2cf8b53c6ca0130e1325acce621c21a59a60ab687c87972feba7f0007d52f4bd4790a1aca592383212891c4e7c  pid_log.patch"
diff --git a/community/php7/php7-fpm.initd b/community/php7/php7-fpm.initd
index f56fdb5234..99fccd599f 100644
--- a/community/php7/php7-fpm.initd
+++ b/community/php7/php7-fpm.initd
@@ -6,18 +6,17 @@
# 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-fpm7"
command="/usr/sbin/php7-fpm"
command_background="yes"
start_stop_daemon_args="--quiet"
pidfile="/run/$RC_SVCNAME/php-fpm.pid"
pidfile="/run/$RC_SVCNAME/php7-fpm.pid"
retry="SIGTERM/20"

# configtest is here only for backward compatibility
extra_commands="checkconfig configtest"
extra_commands="checkconfig"
extra_started_commands="reload reopen"
description_checkconfig="Run php-fpm config check"
description="PHP FastCGI Process Manager"
description_checkconfig="Run config check"
description_reload="Gracefully reload workers and config"
description_reopen="Reopen log files"

@@ -25,47 +24,43 @@ required_files="$fpm_config"

depend() {
	need net
	use apache2 lighttpd nginx
	before apache2 lighttpd nginx
}

init_vars() {
	# Defaults for single master process with multiple pools
	if [ "$RC_SVCNAME" = "php-fpm7" ]; then
	if [ "$RC_SVCNAME" = "php7-fpm" ]; then
		: ${fpm_config:="/etc/php7/php-fpm.conf"}
		: ${user:="root"}
	# Defaults for master process per pool
	else
		: ${fpm_config="/etc/php7/php-fpm.d/${RC_SVCNAME#php-fpm7.}.conf"}
		: ${fpm_config="/etc/php7/php-fpm.d/${RC_SVCNAME#php7-fpm.}.conf"}
		: ${user:="$(conf_get user)"}
		: ${user:="nobody"}
		: ${group:="$(conf_get group)"}
	fi
	command_args="--nodaemonize --fpm-config $fpm_config"
	command_args="--nodaemonize --fpm-config $fpm_config --pid $pidfile"
	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 "$(dirname "$listen")"
	fi

	[ "${listen:0:1}" = "/" ] && checkpath -d -o $user:$group "$(dirname "$listen")"
	checkpath -d "$(dirname "$pidfile")"
}

reload() {
	ebegin "Reloading $name"
	ebegin "Reloading $RC_SVCNAME"
	start-stop-daemon --signal USR2 --pidfile "$pidfile"
	eend $?
}

reopen() {
	ebegin "Reopening $name log files"
	ebegin "Reopening $RC_SVCNAME log files"
	start-stop-daemon --signal USR1 --pidfile "$pidfile"
	eend $?
}
@@ -73,7 +68,6 @@ reopen() {
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"
@@ -82,11 +76,6 @@ checkconfig() {
	}
}

configtest() {
	ewarn "configtest is deprecated, use checkconfig instead"
	checkconfig
}

conf_get() {
	local key="$1"
	sed -nE "s/^${key}\s*=\s*\"?([^\";]+).*/\1/p" "$fpm_config" | head -n 1
diff --git a/community/php7/php7-fpm.logrotate b/community/php7/php7-fpm.logrotate
index 10e53e4683..4273f72474 100644
--- a/community/php7/php7-fpm.logrotate
+++ b/community/php7/php7-fpm.logrotate
@@ -8,6 +8,6 @@
	dateext
	sharedscripts
	postrotate
		/etc/init.d/php-fpm7 --ifstarted --quiet reopen
		/etc/init.d/php7-fpm --ifstarted --quiet reopen
	endscript
}
diff --git a/community/php7/php7-module.conf b/community/php7/php7-module.conf
index cf7573bb10..f0a0b47a00 100644
--- a/community/php7/php7-module.conf
+++ b/community/php7/php7-module.conf
@@ -1,4 +1,4 @@
LoadModule php7_module modules/mod_php7.so
LoadModule php7_module modules/libphp7.so

DirectoryIndex index.php index.html
AddHandler application/x-httpd-php .php
diff --git a/community/php7/pid_log.patch b/community/php7/pid_log.patch
index bc586dbd69..b44361db19 100644
--- a/community/php7/pid_log.patch
+++ b/community/php7/pid_log.patch
@@ -14,7 +14,7 @@
 #ifdef HAVE_SYSLOG_H
 	if (!fpm_global_config.syslog_ident) {
-		fpm_global_config.syslog_ident = strdup("php-fpm");
+		fpm_global_config.syslog_ident = strdup("php-fpm7");
+		fpm_global_config.syslog_ident = strdup("php7-fpm");
 	}
 
 	if (fpm_global_config.syslog_facility < 0) {
@@ -23,7 +23,7 @@
 			spprintf(&tmp, 0, "%s/php-fpm.conf", PHP_SYSCONFDIR);
 		} else {
-			spprintf(&tmp, 0, "%s/etc/php-fpm.conf", fpm_globals.prefix);
+			spprintf(&tmp, 0, "%s/etc/php-fpm7.conf", fpm_globals.prefix);
+			spprintf(&tmp, 0, "%s/etc/php7/php-fpm.conf", fpm_globals.prefix);
 		}
 
 		if (!tmp) {
@@ -34,18 +34,30 @@
 ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
 ; Default Value: none
-;pid = run/php-fpm.pid
+;pid = run/php-fpm7.pid
+;pid = run/php7-fpm.pid
 
 ; Error log file
 ; If it's set to "syslog", log is sent to syslogd instead of being written
 ; in a local file.
 ; into a local file.
 ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
 ; Default Value: log/php-fpm.log
-; Default Value: log/php-fpm.log
-;error_log = log/php-fpm.log
+; Default Value: log/php7/error.log
+;error_log = log/php7/error.log
 
 ; syslog_facility is used to specify what type of program is logging the
 ; message. This lets syslogd specify that messages from different facilities
@@ -33,8 +33,8 @@
 ; syslog_ident is prepended to every message. If you have multiple FPM
 ; instances running on the same server, you can change the default value
 ; which must suit common needs.
-; Default Value: php-fpm
-;syslog.ident = php-fpm
+; Default Value: php7-fpm
+;syslog.ident = php7-fpm
 
 ; Log level
 ; Possible Values: alert, error, warning, notice, debug
--- a/sapi/fpm/www.conf.in
+++ b/sapi/fpm/www.conf.in
@@ -250,7 +250,7 @@
@@ -71,6 +83,6 @@
 ;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
 ;php_flag[display_errors] = off
-;php_admin_value[error_log] = /var/log/fpm-php.www.log
+;php_admin_value[error_log] = /var/log/php7/www.error.log
+;php_admin_value[error_log] = /var/log/php7/$pool.error.log
 ;php_admin_flag[log_errors] = on
 ;php_admin_value[memory_limit] = 32M
diff --git a/community/php7/tidy-buffio.patch b/community/php7/tidy-buffio.patch
deleted file mode 100644
index c15f9540a4..0000000000
--- a/community/php7/tidy-buffio.patch
@@ -1,11 +0,0 @@
--- a/ext/tidy/tidy.c
+++ b/ext/tidy/tidy.c
@@ -31,7 +31,7 @@
 #include "ext/standard/info.h"
 
 #include "tidy.h"
-#include "buffio.h"
+#include "tidybuffio.h"
 
 /* compatibility with older versions of libtidy */
 #ifndef TIDY_CALL
-- 
2.11.0



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Timo Teras <timo.teras@iki.fi>
Details
Message ID
<20161207103124.0871f167@vostro>
In-Reply-To
<20161202165351.421-1-valery.kartel@gmail.com> (view parent)
Sender timestamp
1481099484
DKIM signature
missing
Download raw message
Hi,

On Fri,  2 Dec 2016 18:53:51 +0200
Valery Kartel <valery.kartel@gmail.com> wrote:

> WARN: PHP API version changed. All external extensions needs to be
> rebuilded!
> 
> added shared extension 'recode'
> fixed imap loading order
> (http://php.net/manual/en/recode.installation.php) removed shared
> extension 'readline', made it compiled-in (Bug #5670) removed prefix
> in common binaries: php, php-config, phpize (Support #5367) some
> fixes in APKBUILD and others ---

Much of this looks good. few questions and notes below.

First, 'abuild checksum' is needed to update php7-fpm.initd checksum.

> diff --git a/community/php7/APKBUILD b/community/php7/APKBUILD
> index c0b1f5cdc3..bb8d9e930a 100644
> --- a/community/php7/APKBUILD
> +++ b/community/php7/APKBUILD
> @@ -2,35 +2,40 @@
>  # Maintainer: Valery Kartel <valery.kartel@gmail.com>
>  pkgname=php7
>  _pkgreal=php
> -pkgver=7.0.13
> -pkgrel=1
> +pkgver=7.1.0
> +pkgrel=0
>  pkgdesc="The PHP language runtime engine - 7th branch"
>  url="http://www.php.net/"
>  arch="all"
>  license="PHP-3"
>  options=""
>  depends="$pkgname-common"
> -depends_dom="$pkgname-xml"
> -depends_mysqlnd="$pkgname-mysqli"
> -depends_phar="$pkgname"
> -depends_soap="$pkgname-xml"
> -depends_wddx="$pkgname-xml"
> -depends_xmlreader="$pkgname-dom"
> -depends_xmlrpc="$pkgname-xml"
> -depends_xsl="$pkgname-dom"
> +# make imap loaded after recode
> +depends_imap="-- $depends_recode"
> +depends_mysqlnd="$pkgname-mysqli $depends_mysqli"
> +depends_pdo_mysql="$pkgname-pdo $depends_pdo"
> +depends_pdo_odbc="$pkgname-pdo $depends_pdo"
> +depends_pdo_pgsql="$pkgname-pdo $depends_pdo"
> +depends_pdo_sqlite="$pkgname-pdo $depends_pdo"
> +depends_dom="$pkgname-xml $depends_xml"
> +depends_soap="$pkgname-xml $depends_xml"
> +depends_wddx="$pkgname-xml $depends_xml"
> +depends_xmlrpc="$pkgname-xml $depends_xml"
> +depends_xmlreader="$pkgname-dom $depends_dom"
> +depends_xsl="$pkgname-dom $depends_dom"
> +_prefix_opcache="zend_"
>  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
> -	readline-dev paxmark gettext-dev
> +	readline-dev gettext-dev
>  	"
>  source="http://php.net/distributions/$_pkgreal-$pkgver.tar.bz2
>  	$pkgname-fpm.initd
>  	$pkgname-fpm.logrotate
>  	$pkgname-module.conf
>  	install-pear.patch
> -	tidy-buffio.patch
>  	includedir.patch
>  	pid_log.patch
>  	"
> @@ -38,8 +43,8 @@ builddir="$srcdir/$_pkgreal-$pkgver"
>  
>  _exts="bcmath bz2 calendar ctype curl dba dom enchant exif ftp gd
> gettext gmp iconv imap intl json ldap mbstring mcrypt mysqli mysqlnd
> odbc opcache openssl pcntl pdo pdo_dblib pdo_mysql
> -	pdo_odbc pdo_pgsql pdo_sqlite pgsql phar:phar posix pspell
> readline session shmop snmp soap
> -	sockets sqlite3 sysvmsg sysvsem sysvshm tidy wddx xml
> xmlreader xmlrpc xsl zip zlib
> +	pdo_odbc pdo_pgsql pdo_sqlite pgsql phar:phar posix pspell
> recode session shmop snmp
> +	soap sockets sqlite3 sysvmsg sysvsem sysvshm tidy wddx xml
> xmlreader xmlrpc xsl zip zlib "
>  subpackages="$pkgname-dev $pkgname-doc $pkgname-apache2
> $pkgname-phpdbg $pkgname-embed $pkgname-litespeed $pkgname-cgi
> $pkgname-fpm $pkgname-pear::noarch @@ -52,14 +57,12 @@ for _ext in
> $_exts; do done
>  subpackages="$subpackages $pkgname-common::noarch"
>  
> -_apiver="20151012"
> +_apiver="20160303"
>  
>  prepare() {
>  	cd "$builddir"
> -
>  	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" @@ -74,7 +77,6 @@ _build() {
>  		--build=$CBUILD \
>  		--host=$CHOST \
>  		--prefix=/usr \
> -		--program-suffix=7 \

I understand this was requested in #5367, however this causes certain
breakage. I'm mostly worried of the following:

-etc/init.d/php-fpm7
-usr/bin/php7
-usr/lib/apache2/mod_php7.so
+etc/init.d/php7-fpm
+usr/bin/php
+usr/lib/apache2/libphp7.so

Means any script coding shebang #!/usr/bin/php7 using the existing
needs to be fixed.

init.d symlinks might get broken. And I think apache2 at least to used
have mod_*.so convention... is this not required anymore?

If we do change the names. Especially /usr/bin/php, we'd need to add
conflicts, or make both php versions provide virtual "php=$pkgver"
package so apk knows you cannot install both simultaneusly.

Alternative is to add 'php' package has trigger matching php binaries,
and it adds symlinks to the latest php major version (similar how to
busybox and java-common works). Hopefully we get apk-tools to support
this kind of symlinks for next major alpine release.

Any additional thoughts on how to do this without breaking too much
stuff? Even with fixes, I'm slightly reluctant to apply this until
3.5-stable has been branched. Meanwhile, I'd hope us to come with good
plan on if we should keep the --program-suffix (and add it to php5 too)
and introduce symlinks to the latest binary, or if it should be
conflicting packages. Any ideas if we need to support php5+php7
coexistance?

- Timo


---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Details
Message ID
<CAKTwcDOm3d1uUvcpxYpbFa9MbSqD1RsE9478=F=sbVxmiGQeyA@mail.gmail.com>
In-Reply-To
<20161207103124.0871f167@vostro> (view parent)
Sender timestamp
1481106065
DKIM signature
missing
Download raw message
Hi,

I think, I made a last-minute change in init script and forgot to rebuild
checksum, sorry.

When I added php7 package initially, I made it with "7" suffix to test it
with co-existing php5 simultaneously.
At those time and for now php5 have no suffix at all.

The only place where php5 intersects and conflicts with php7 in production
is a cli. PHP7'th -fpm and -cgi ones are with "7" suffix for now and do not
break co-existing PHP5'th -fpm and -cgi. Most of php shell scripts have
#!/usr/bin/php as interpreter. So I saw no sense made cli php7 suffix for
now.

I renamed apache2 module to the same as in php5.

My idea is to add suffix 5 or 7 for both php-cli binaries and to make a
post-install script, that simply remade symlinks php5->php or php7-php. So
for select a specific php-cli version as default it simply needs to readd
package: "apk -f add php5" or "apk -f add php7" and so on. So the last one
would be system-default.
I did it in my local php5 & php7 -cli versions but not commit it because I
suspect it would many questions from aports-maintainers :)

Another way is to make an empty php[57]-cli-select subpackage with those
post-install script.



2016-12-07 10:31 GMT+02:00 Timo Teras <timo.teras@iki.fi>:

> Hi,
>
> On Fri,  2 Dec 2016 18:53:51 +0200
> Valery Kartel <valery.kartel@gmail.com> wrote:
>
> > WARN: PHP API version changed. All external extensions needs to be
> > rebuilded!
> >
> > added shared extension 'recode'
> > fixed imap loading order
> > (http://php.net/manual/en/recode.installation.php) removed shared
> > extension 'readline', made it compiled-in (Bug #5670) removed prefix
> > in common binaries: php, php-config, phpize (Support #5367) some
> > fixes in APKBUILD and others ---
>
> Much of this looks good. few questions and notes below.
>
> First, 'abuild checksum' is needed to update php7-fpm.initd checksum.
>
> > diff --git a/community/php7/APKBUILD b/community/php7/APKBUILD
> > index c0b1f5cdc3..bb8d9e930a 100644
> > --- a/community/php7/APKBUILD
> > +++ b/community/php7/APKBUILD
> > @@ -2,35 +2,40 @@
> >  # Maintainer: Valery Kartel <valery.kartel@gmail.com>
> >  pkgname=php7
> >  _pkgreal=php
> > -pkgver=7.0.13
> > -pkgrel=1
> > +pkgver=7.1.0
> > +pkgrel=0
> >  pkgdesc="The PHP language runtime engine - 7th branch"
> >  url="http://www.php.net/"
> >  arch="all"
> >  license="PHP-3"
> >  options=""
> >  depends="$pkgname-common"
> > -depends_dom="$pkgname-xml"
> > -depends_mysqlnd="$pkgname-mysqli"
> > -depends_phar="$pkgname"
> > -depends_soap="$pkgname-xml"
> > -depends_wddx="$pkgname-xml"
> > -depends_xmlreader="$pkgname-dom"
> > -depends_xmlrpc="$pkgname-xml"
> > -depends_xsl="$pkgname-dom"
> > +# make imap loaded after recode
> > +depends_imap="-- $depends_recode"
> > +depends_mysqlnd="$pkgname-mysqli $depends_mysqli"
> > +depends_pdo_mysql="$pkgname-pdo $depends_pdo"
> > +depends_pdo_odbc="$pkgname-pdo $depends_pdo"
> > +depends_pdo_pgsql="$pkgname-pdo $depends_pdo"
> > +depends_pdo_sqlite="$pkgname-pdo $depends_pdo"
> > +depends_dom="$pkgname-xml $depends_xml"
> > +depends_soap="$pkgname-xml $depends_xml"
> > +depends_wddx="$pkgname-xml $depends_xml"
> > +depends_xmlrpc="$pkgname-xml $depends_xml"
> > +depends_xmlreader="$pkgname-dom $depends_dom"
> > +depends_xsl="$pkgname-dom $depends_dom"
> > +_prefix_opcache="zend_"
> >  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
> > -     readline-dev paxmark gettext-dev
> > +     readline-dev gettext-dev
> >       "
> >  source="http://php.net/distributions/$_pkgreal-$pkgver.tar.bz2
> >       $pkgname-fpm.initd
> >       $pkgname-fpm.logrotate
> >       $pkgname-module.conf
> >       install-pear.patch
> > -     tidy-buffio.patch
> >       includedir.patch
> >       pid_log.patch
> >       "
> > @@ -38,8 +43,8 @@ builddir="$srcdir/$_pkgreal-$pkgver"
> >
> >  _exts="bcmath bz2 calendar ctype curl dba dom enchant exif ftp gd
> > gettext gmp iconv imap intl json ldap mbstring mcrypt mysqli mysqlnd
> > odbc opcache openssl pcntl pdo pdo_dblib pdo_mysql
> > -     pdo_odbc pdo_pgsql pdo_sqlite pgsql phar:phar posix pspell
> > readline session shmop snmp soap
> > -     sockets sqlite3 sysvmsg sysvsem sysvshm tidy wddx xml
> > xmlreader xmlrpc xsl zip zlib
> > +     pdo_odbc pdo_pgsql pdo_sqlite pgsql phar:phar posix pspell
> > recode session shmop snmp
> > +     soap sockets sqlite3 sysvmsg sysvsem sysvshm tidy wddx xml
> > xmlreader xmlrpc xsl zip zlib "
> >  subpackages="$pkgname-dev $pkgname-doc $pkgname-apache2
> > $pkgname-phpdbg $pkgname-embed $pkgname-litespeed $pkgname-cgi
> > $pkgname-fpm $pkgname-pear::noarch @@ -52,14 +57,12 @@ for _ext in
> > $_exts; do done
> >  subpackages="$subpackages $pkgname-common::noarch"
> >
> > -_apiver="20151012"
> > +_apiver="20160303"
> >
> >  prepare() {
> >       cd "$builddir"
> > -
> >       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" @@ -74,7 +77,6 @@ _build() {
> >               --build=$CBUILD \
> >               --host=$CHOST \
> >               --prefix=/usr \
> > -             --program-suffix=7 \
>
> I understand this was requested in #5367, however this causes certain
> breakage. I'm mostly worried of the following:
>
> -etc/init.d/php-fpm7
> -usr/bin/php7
> -usr/lib/apache2/mod_php7.so
> +etc/init.d/php7-fpm
> +usr/bin/php
> +usr/lib/apache2/libphp7.so
>
> Means any script coding shebang #!/usr/bin/php7 using the existing
> needs to be fixed.
>
> init.d symlinks might get broken. And I think apache2 at least to used
> have mod_*.so convention... is this not required anymore?
>
> If we do change the names. Especially /usr/bin/php, we'd need to add
> conflicts, or make both php versions provide virtual "php=$pkgver"
> package so apk knows you cannot install both simultaneusly.
>
> Alternative is to add 'php' package has trigger matching php binaries,
> and it adds symlinks to the latest php major version (similar how to
> busybox and java-common works). Hopefully we get apk-tools to support
> this kind of symlinks for next major alpine release.
>
> Any additional thoughts on how to do this without breaking too much
> stuff? Even with fixes, I'm slightly reluctant to apply this until
> 3.5-stable has been branched. Meanwhile, I'd hope us to come with good
> plan on if we should keep the --program-suffix (and add it to php5 too)
> and introduce symlinks to the latest binary, or if it should be
> conflicting packages. Any ideas if we need to support php5+php7
> coexistance?
>
> - Timo
>
Details
Message ID
<CAKTwcDPKAiNgebw3_aVnzMP6An+u8i=LE3Zq=530Cx1YgYp=EA@mail.gmail.com>
In-Reply-To
<CAKTwcDOm3d1uUvcpxYpbFa9MbSqD1RsE9478=F=sbVxmiGQeyA@mail.gmail.com> (view parent)
Sender timestamp
1481202179
DKIM signature
missing
Download raw message
Hi,

I made another php-7.1 patch with suffixed binaries and a trigger that
symlinks it to no-suffixed ones.
If such idea would be implemented in php5, we can easily switch
system-default php version with:
# apk fix php5-common
# apk fix php7-common

2016-12-07 12:21 GMT+02:00 Valery Kartel <valery.kartel@gmail.com>:

> Hi,
>
> I think, I made a last-minute change in init script and forgot to rebuild
> checksum, sorry.
>
> When I added php7 package initially, I made it with "7" suffix to test it
> with co-existing php5 simultaneously.
> At those time and for now php5 have no suffix at all.
>
> The only place where php5 intersects and conflicts with php7 in production
> is a cli. PHP7'th -fpm and -cgi ones are with "7" suffix for now and do not
> break co-existing PHP5'th -fpm and -cgi. Most of php shell scripts have
> #!/usr/bin/php as interpreter. So I saw no sense made cli php7 suffix for
> now.
>
> I renamed apache2 module to the same as in php5.
>
> My idea is to add suffix 5 or 7 for both php-cli binaries and to make a
> post-install script, that simply remade symlinks php5->php or php7-php. So
> for select a specific php-cli version as default it simply needs to readd
> package: "apk -f add php5" or "apk -f add php7" and so on. So the last one
> would be system-default.
> I did it in my local php5 & php7 -cli versions but not commit it because I
> suspect it would many questions from aports-maintainers :)
>
> Another way is to make an empty php[57]-cli-select subpackage with those
> post-install script.
>
>
>
> 2016-12-07 10:31 GMT+02:00 Timo Teras <timo.teras@iki.fi>:
>
>> Hi,
>>
>> On Fri,  2 Dec 2016 18:53:51 +0200
>> Valery Kartel <valery.kartel@gmail.com> wrote:
>>
>> > WARN: PHP API version changed. All external extensions needs to be
>> > rebuilded!
>> >
>> > added shared extension 'recode'
>> > fixed imap loading order
>> > (http://php.net/manual/en/recode.installation.php) removed shared
>> > extension 'readline', made it compiled-in (Bug #5670) removed prefix
>> > in common binaries: php, php-config, phpize (Support #5367) some
>> > fixes in APKBUILD and others ---
>>
>> Much of this looks good. few questions and notes below.
>>
>> First, 'abuild checksum' is needed to update php7-fpm.initd checksum.
>>
>> > diff --git a/community/php7/APKBUILD b/community/php7/APKBUILD
>> > index c0b1f5cdc3..bb8d9e930a 100644
>> > --- a/community/php7/APKBUILD
>> > +++ b/community/php7/APKBUILD
>> > @@ -2,35 +2,40 @@
>> >  # Maintainer: Valery Kartel <valery.kartel@gmail.com>
>> >  pkgname=php7
>> >  _pkgreal=php
>> > -pkgver=7.0.13
>> > -pkgrel=1
>> > +pkgver=7.1.0
>> > +pkgrel=0
>> >  pkgdesc="The PHP language runtime engine - 7th branch"
>> >  url="http://www.php.net/"
>> >  arch="all"
>> >  license="PHP-3"
>> >  options=""
>> >  depends="$pkgname-common"
>> > -depends_dom="$pkgname-xml"
>> > -depends_mysqlnd="$pkgname-mysqli"
>> > -depends_phar="$pkgname"
>> > -depends_soap="$pkgname-xml"
>> > -depends_wddx="$pkgname-xml"
>> > -depends_xmlreader="$pkgname-dom"
>> > -depends_xmlrpc="$pkgname-xml"
>> > -depends_xsl="$pkgname-dom"
>> > +# make imap loaded after recode
>> > +depends_imap="-- $depends_recode"
>> > +depends_mysqlnd="$pkgname-mysqli $depends_mysqli"
>> > +depends_pdo_mysql="$pkgname-pdo $depends_pdo"
>> > +depends_pdo_odbc="$pkgname-pdo $depends_pdo"
>> > +depends_pdo_pgsql="$pkgname-pdo $depends_pdo"
>> > +depends_pdo_sqlite="$pkgname-pdo $depends_pdo"
>> > +depends_dom="$pkgname-xml $depends_xml"
>> > +depends_soap="$pkgname-xml $depends_xml"
>> > +depends_wddx="$pkgname-xml $depends_xml"
>> > +depends_xmlrpc="$pkgname-xml $depends_xml"
>> > +depends_xmlreader="$pkgname-dom $depends_dom"
>> > +depends_xsl="$pkgname-dom $depends_dom"
>> > +_prefix_opcache="zend_"
>> >  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
>> > -     readline-dev paxmark gettext-dev
>> > +     readline-dev gettext-dev
>> >       "
>> >  source="http://php.net/distributions/$_pkgreal-$pkgver.tar.bz2
>> >       $pkgname-fpm.initd
>> >       $pkgname-fpm.logrotate
>> >       $pkgname-module.conf
>> >       install-pear.patch
>> > -     tidy-buffio.patch
>> >       includedir.patch
>> >       pid_log.patch
>> >       "
>> > @@ -38,8 +43,8 @@ builddir="$srcdir/$_pkgreal-$pkgver"
>> >
>> >  _exts="bcmath bz2 calendar ctype curl dba dom enchant exif ftp gd
>> > gettext gmp iconv imap intl json ldap mbstring mcrypt mysqli mysqlnd
>> > odbc opcache openssl pcntl pdo pdo_dblib pdo_mysql
>> > -     pdo_odbc pdo_pgsql pdo_sqlite pgsql phar:phar posix pspell
>> > readline session shmop snmp soap
>> > -     sockets sqlite3 sysvmsg sysvsem sysvshm tidy wddx xml
>> > xmlreader xmlrpc xsl zip zlib
>> > +     pdo_odbc pdo_pgsql pdo_sqlite pgsql phar:phar posix pspell
>> > recode session shmop snmp
>> > +     soap sockets sqlite3 sysvmsg sysvsem sysvshm tidy wddx xml
>> > xmlreader xmlrpc xsl zip zlib "
>> >  subpackages="$pkgname-dev $pkgname-doc $pkgname-apache2
>> > $pkgname-phpdbg $pkgname-embed $pkgname-litespeed $pkgname-cgi
>> > $pkgname-fpm $pkgname-pear::noarch @@ -52,14 +57,12 @@ for _ext in
>> > $_exts; do done
>> >  subpackages="$subpackages $pkgname-common::noarch"
>> >
>> > -_apiver="20151012"
>> > +_apiver="20160303"
>> >
>> >  prepare() {
>> >       cd "$builddir"
>> > -
>> >       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" @@ -74,7 +77,6 @@ _build() {
>> >               --build=$CBUILD \
>> >               --host=$CHOST \
>> >               --prefix=/usr \
>> > -             --program-suffix=7 \
>>
>> I understand this was requested in #5367, however this causes certain
>> breakage. I'm mostly worried of the following:
>>
>> -etc/init.d/php-fpm7
>> -usr/bin/php7
>> -usr/lib/apache2/mod_php7.so
>> +etc/init.d/php7-fpm
>> +usr/bin/php
>> +usr/lib/apache2/libphp7.so
>>
>> Means any script coding shebang #!/usr/bin/php7 using the existing
>> needs to be fixed.
>>
>> init.d symlinks might get broken. And I think apache2 at least to used
>> have mod_*.so convention... is this not required anymore?
>>
>> If we do change the names. Especially /usr/bin/php, we'd need to add
>> conflicts, or make both php versions provide virtual "php=$pkgver"
>> package so apk knows you cannot install both simultaneusly.
>>
>> Alternative is to add 'php' package has trigger matching php binaries,
>> and it adds symlinks to the latest php major version (similar how to
>> busybox and java-common works). Hopefully we get apk-tools to support
>> this kind of symlinks for next major alpine release.
>>
>> Any additional thoughts on how to do this without breaking too much
>> stuff? Even with fixes, I'm slightly reluctant to apply this until
>> 3.5-stable has been branched. Meanwhile, I'd hope us to come with good
>> plan on if we should keep the --program-suffix (and add it to php5 too)
>> and introduce symlinks to the latest binary, or if it should be
>> conflicting packages. Any ideas if we need to support php5+php7
>> coexistance?
>>
>> - Timo
>>
>
>
Reply to thread Export thread (mbox)