---
Dont know why php7 want to allocate all memory when use musl's crypt_r. So I swith it to use its own crypt_r variant.
Extension load order for bundled extensions is 0x, like 00_xml.ini, 01_wddx.ini (because wddx depends on xml)
For 3rd party extensions load order is 1x, like 10_gmagick.ini.
---
testing/php7/APKBUILD | 21 ++++++++++++---------
testing/php7/use-internal-crypt_r.patch | 11 +++++++++++
2 files changed, 23 insertions(+), 9 deletions(-)
create mode 100644 testing/php7/use-internal-crypt_r.patch
diff --git a/testing/php7/APKBUILD b/testing/php7/APKBUILD
index 8a56b5d..f06d470 100644
--- a/testing/php7/APKBUILD
+++ b/testing/php7/APKBUILD
@@ -3,7 +3,7 @@
pkgname=php7
_pkgreal=php
pkgver=7.0.4
-pkgrel=0
+pkgrel=1
pkgdesc="The PHP language runtime engine - 7th branch"
url="http://www.php.net/"
arch="x86_64 armhf"
@@ -86,6 +86,7 @@ source="http://php.net/distributions/$_pkgreal-$pkgver.tar.bz2
tidy-buffio.patch
includedir.patch
pid_log.patch
+ use-internal-crypt_r.patch
"
_apiver="20151012"
@@ -320,7 +321,7 @@ common() {
_mv_ext() {
local ext=$1
- local ini=$ext.ini
+ local elo=00
local dir=/usr/lib/$pkgname/modules
local prefix=
pkgdesc="PHP7 extension: $ext"
@@ -328,15 +329,14 @@ _mv_ext() {
# extension dependencies
[ -n "${2-}" ] && depends=$2
- # work around dependency issue
- # https://bugs.alpinelinux.org/issues/1848
- [ "$ext" = "wddx" ] && ini=xml_$ext.ini
+ # fix extension load order
+ [ "$ext" = "wddx" ] && elo=01
mkdir -p "$subpkgdir"/usr/lib/$pkgname/modules "$subpkgdir"/etc/$pkgname/conf.d
mv "$pkgdir"/usr/lib/$pkgname/modules/${ext}.so \
"$subpkgdir"/usr/lib/$pkgname/modules/ || return 1
[ "$1" = "opcache" ] && prefix="zend_"
- echo "${prefix}extension=${ext}.so" > "$subpkgdir"/etc/$pkgname/conf.d/$ini
+ echo "${prefix}extension=${ext}.so" > "$subpkgdir"/etc/$pkgname/conf.d/${elo}_${ext}.ini
}
bcmath() { _mv_ext bcmath; }
@@ -404,7 +404,8 @@ a340f27e83ed4482d2fbb98658ef71cb php7-fpm.initd
483bc0a85c50a9a9aedbe14a19ed4526 install-pear.patch
66f0037a029f9eed2b31d2e1d50f1860 tidy-buffio.patch
d872e633c9b33c3c9f629dd2edd2e5c5 includedir.patch
-6ba762ab7a105163b8e5b3913deae109 pid_log.patch"
+6ba762ab7a105163b8e5b3913deae109 pid_log.patch
+523fdc923d8c6eaeab7db144792b9572 use-internal-crypt_r.patch"
sha256sums="a246c503709c189ba8e1e22ed2cb22abc27da43a997ff1b3318e181baf529dcc php-7.0.4.tar.bz2
eca59e8b0498c1c93b35f9a5109ae56d0cda9d94822727d689371ccad31b3615 php7-fpm.initd
6e4406f21b69085714cdb9d9a67c08e27a1c737ab353f9813cb2fc268352d2c6 php7-fpm.logrotate
@@ -412,7 +413,8 @@ eca59e8b0498c1c93b35f9a5109ae56d0cda9d94822727d689371ccad31b3615 php7-fpm.initd
f739ca427a1dd53a388bad0823565299c5d4a5796b1171b892884e4d7d099bab install-pear.patch
5dc8f32e5e2b1cd6317ada5a5adb9b5f0802ed6e0dbe065d7bfcc0f55d47e0d5 tidy-buffio.patch
ea74966a23b1b54548ee35e9ccc2fc8d2b7c2285c385c44d6b23d9e2f25ea1a7 includedir.patch
-0cca8729c64682387a8c44ed74f0966da697f2817152d8d05bb25bedc7eaafec pid_log.patch"
+0cca8729c64682387a8c44ed74f0966da697f2817152d8d05bb25bedc7eaafec pid_log.patch
+0137c36b9695734cfcab55f0cf515747a9de60306e73a0cd590c3534806dc0a9 use-internal-crypt_r.patch"
sha512sums="9d1dc761cdd9103a91299e01117c1790550e3b94e7694dcc2555d83e5abe3d2170acd6226e8501c5f2a77b5c374b1c9f5ea009999d476818c2682a54def86b96 php-7.0.4.tar.bz2
89076ab8e170a8f886b88bb30aa3e6a6b4463155a18ea53485cc9e3898c81afa3d01fb8403d28a45dc1680f09c645c2d81d8272bc8b9c7ced41e59b0ba226216 php7-fpm.initd
cacce7bf789467ff40647b7319e3760c6c587218720538516e8d400baa75651f72165c4e28056cd0c1dc89efecb4d00d0d7823bed80b29136262c825ce816691 php7-fpm.logrotate
@@ -420,4 +422,5 @@ fbf9a1572d37370ec0d126502e1d066e045a992484d8fc4f1e2ede330134c1a15f4029f29fa4daeb
f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c939768584f3e4edbe52e8bd6103fb6777462326a9d94e8ab1f505 install-pear.patch
6894c9cba7752a3406e774d9efc0e058c37433493c1c20101e9563bf247c112157a67e306b06b9517b0422eca521f543d637a6cbd2cea7639e43f13d773b3d2b tidy-buffio.patch
199aecdbd3b4035aabf5379c215f82412d3c98b79a1ee186944e7fe1f0ed6f40789ea30e2355149491de6be34fc66c5e486e2a79a7e41ab2ae18706ef3ffe79b includedir.patch
-82231c7b27b4d044272857dc713674884715ed8e36e54be06faa5d2a949ba4bca597628958a9c5683ec51c36e05a00f6be811c7e95112b0314c98528f584a8d6 pid_log.patch"
+82231c7b27b4d044272857dc713674884715ed8e36e54be06faa5d2a949ba4bca597628958a9c5683ec51c36e05a00f6be811c7e95112b0314c98528f584a8d6 pid_log.patch
+6bba68cda5e02d5ada974464923d245d73bc1cb08d051620f74a27a2ef93997dd26e905ea19d8d7eeb62f5071ec24ef6e63618c10fe83dbeeba853d70b05b93e use-internal-crypt_r.patch"
diff --git a/testing/php7/use-internal-crypt_r.patch b/testing/php7/use-internal-crypt_r.patch
new file mode 100644
index 0000000..aafb48d
--- /dev/null
+++ b/testing/php7/use-internal-crypt_r.patch
@@ -0,0 +1,11 @@
+--- a/configure.in
++++ b/configure.in
+@@ -766,7 +766,7 @@
+ PHP_READDIR_R_TYPE
+ PHP_CHECK_IN_ADDR_T
+
+-AC_CHECK_FUNCS(crypt_r, [ php_crypt_r="1" ], [ php_crypt_r="0" ])
++AC_CHECK_FUNCS(crypt_r, [ php_crypt_r="0" ], [ php_crypt_r="0" ])
+ if test "x$php_crypt_r" = "x1"; then
+ PHP_CRYPT_R_STYLE
+ fi
--
2.7.4
---
Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
Help: alpine-aports+help@lists.alpinelinux.org
---
On Thu, 24 Mar 2016 19:11:40 +0200
Valery Kartel <valery.kartel@gmail.com> wrote:
> ---
> Dont know why php7 want to allocate all memory when use musl's
> crypt_r. So I swith it to use its own crypt_r variant.
This is known issue we patched for php. I rebased the patch for php7
and it's now pushed out. Please remove this hack.
> Extension load order for bundled extensions is 0x, like 00_xml.ini,
> 01_wddx.ini (because wddx depends on xml) For 3rd party extensions
> load order is 1x, like 10_gmagick.ini.
I was wondering if it would make sense to use 0x-1x for bundled
extensions that need early loading; 2x-3x for other bundled extensions;
4-9x or so for 3rd party things. So there's little bit of more
flexibility of ordering them in case such needs arise. Though, I hope
they'd fix php to do proper dependency handling here.
Thanks,
Timo
---
Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
Help: alpine-aports+help@lists.alpinelinux.org
---
I made another variant for extension loading order prefixing. Now it
autogenerated and based on number of dependencies.
So if wddx is based on xml, extension filenames would be 00_xml.ini &
01_wddx.ini and xml will be loaded before wddx.
And 3rd party extensions without loading order filename prefix will be
loaded after all extensions with prefix...
What do you think about this variant?
2016-03-25 11:27 GMT+02:00 Timo Teras <timo.teras@iki.fi>:
> On Thu, 24 Mar 2016 19:11:40 +0200
> Valery Kartel <valery.kartel@gmail.com> wrote:
>
> > ---
> > Dont know why php7 want to allocate all memory when use musl's
> > crypt_r. So I swith it to use its own crypt_r variant.
>
> This is known issue we patched for php. I rebased the patch for php7
> and it's now pushed out. Please remove this hack.
>
> > Extension load order for bundled extensions is 0x, like 00_xml.ini,
> > 01_wddx.ini (because wddx depends on xml) For 3rd party extensions
> > load order is 1x, like 10_gmagick.ini.
>
> I was wondering if it would make sense to use 0x-1x for bundled
> extensions that need early loading; 2x-3x for other bundled extensions;
> 4-9x or so for 3rd party things. So there's little bit of more
> flexibility of ordering them in case such needs arise. Though, I hope
> they'd fix php to do proper dependency handling here.
>
> Thanks,
> Timo
>