summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/php/APKBUILD40
-rw-r--r--main/php/curl-flush.patch17
-rw-r--r--testing/php/APKBUILD234
-rw-r--r--testing/php/gd-info-segfault.patch26
-rw-r--r--testing/php/php.post-upgrade11
5 files changed, 308 insertions, 20 deletions
diff --git a/main/php/APKBUILD b/main/php/APKBUILD
index 6d9724953f4..b006055a046 100644
--- a/main/php/APKBUILD
+++ b/main/php/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Carlo Landmeter <clandmeter at gmail>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=php
-pkgver=5.3.0
-_suhosinver=${pkgver}-0.9.8-BETA-1
+pkgver=5.2.10
+_suhosinver=${pkgver}-0.9.7
pkgrel=2
pkgdesc="The PHP language runtime engine"
url="http://www.php.net/"
@@ -28,10 +28,10 @@ subpackages="$pkgname-dev $pkgname-doc
$pkgname-gmp
$pkgname-iconv
$pkgname-imap
- $pkgname-intl
$pkgname-json
$pkgname-ldap
$pkgname-mcrypt
+ $pkgname-mime_magic
$pkgname-mysql
$pkgname-mysqli
$pkgname-odbc
@@ -42,7 +42,6 @@ subpackages="$pkgname-dev $pkgname-doc
$pkgname-pdo_pgsql
$pkgname-pdo_sqlite
$pkgname-pgsql
- $pkgname-phar
$pkgname-posix
$pkgname-pspell
$pkgname-shmop
@@ -50,7 +49,6 @@ subpackages="$pkgname-dev $pkgname-doc
$pkgname-soap
$pkgname-sockets
$pkgname-sqlite
- $pkgname-sqlite3
$pkgname-sysvmsg
$pkgname-sysvsem
$pkgname-sysvshm
@@ -63,7 +61,7 @@ subpackages="$pkgname-dev $pkgname-doc
source="http://www.php.net/distributions/${pkgname}-${pkgver}.tar.bz2
http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz
- gd-info-segfault.patch
+ curl-flush.patch
"
build() {
@@ -73,8 +71,8 @@ build() {
gunzip -c ${srcdir}/suhosin-patch-${_suhosinver}.patch.gz \
| patch -p1 || return 1
- # fix gd segfault; http://bugs.php.net/bug.php?id=49193
- patch -p0 -i ${srcdir}/gd-info-segfault.patch || return 1
+ # fix curl regression; should be fixed upstream with PHP >= 5.2.11
+ patch -p3 -i ${srcdir}/curl-flush.patch || return 1
phpextensions="--enable-bcmath=shared \
--enable-calendar=shared \
@@ -113,12 +111,13 @@ build() {
--with-jpeg-dir=shared,/usr \
--with-ldap=shared \
--with-mcrypt=shared \
+ --with-mime-magic=shared \
--with-mysql-sock=/tmp/mysql.sock \
- --with-mysql=shared,mysqlnd \
- --with-mysqli=shared,mysqlnd \
+ --with-mysql=shared \
+ --with-mysqli=shared \
--with-openssl=shared \
--with-pcre-regex=/usr \
- --with-pdo-mysql=shared,mysqlnd \
+ --with-pdo-mysql=shared \
--with-pdo-odbc=shared,unixODBC,/usr \
--with-pdo-pgsql=shared \
--with-pdo-sqlite=shared,/usr \
@@ -162,12 +161,12 @@ build() {
make || return 1
make -j1 INSTALL_ROOT="$pkgdir" install || return 1
- install -D -m644 php.ini-production "$pkgdir"/etc/php/php.ini
+ install -D -m644 php.ini-recommended "$pkgdir"/etc/php/php.ini
}
_mv_mod() {
pkgdesc="$1 php extension"
- local d=usr/lib/php/20090626
+ local d=usr/lib/php/20060613
mkdir -p "$subpkgdir/$d"
mv "$pkgdir/$d/${1}.so" "$subpkgdir/$d/" || return 1
install -d "$subpkgdir"/etc/php/conf.d
@@ -188,10 +187,11 @@ gettext() { _mv_mod gettext; }
gmp() { _mv_mod gmp; }
iconv() { _mv_mod iconv; }
imap() { _mv_mod imap; }
-intl() { _mv_mod intl; }
+#intl() { _mv_mod intl; }
json() { _mv_mod json; }
ldap() { _mv_mod ldap; }
mcrypt() { _mv_mod mcrypt; }
+mime_magic() { _mv_mod mime_magic; }
mysql() { _mv_mod mysql; }
mysqli() { _mv_mod mysqli; }
odbc() { _mv_mod odbc; }
@@ -201,9 +201,9 @@ pdo_mysql() { _mv_mod pdo_mysql; }
pdo_odbc() { _mv_mod pdo_odbc; }
pdo_pgsql() { _mv_mod pdo_pgsql; }
pdo_sqlite() { _mv_mod pdo_sqlite; }
-phar() { _mv_mod phar; }
-posix() { _mv_mod posix; }
+#phar() { _mv_mod phar; }
pgsql() { _mv_mod pgsql; }
+posix() { _mv_mod posix; }
pspell() { _mv_mod pspell; }
#session() { _mv_mod session; }
shmop() { _mv_mod shmop; }
@@ -211,7 +211,7 @@ snmp() { _mv_mod snmp; }
soap() { _mv_mod soap; }
sockets() { _mv_mod sockets; }
sqlite() { _mv_mod sqlite; }
-sqlite3() { _mv_mod sqlite3; }
+#sqlite3() { _mv_mod sqlite3; }
sysvmsg() { _mv_mod sysvmsg; }
sysvsem() { _mv_mod sysvsem; }
sysvshm() { _mv_mod sysvshm; }
@@ -229,6 +229,6 @@ dev() {
mv "$pkgdir"/usr/bin/phpize "$subpkgdir"/usr/bin/
}
-md5sums="846760cd655c98dfd86d6d97c3d964b0 php-5.3.0.tar.bz2
-62dc36545b86bf86e44ada1fccc17d0a suhosin-patch-5.3.0-0.9.8-BETA-1.patch.gz
-1c1a50aae7207b12d27bdecd8967e7ce gd-info-segfault.patch"
+md5sums="15c7b5a87f57332d6fc683528e28247b php-5.2.10.tar.bz2
+41b475a469eef0eb0e7aa10a820f12b2 suhosin-patch-5.2.10-0.9.7.patch.gz
+648c83c991a187cd0f2be435cb022947 curl-flush.patch"
diff --git a/main/php/curl-flush.patch b/main/php/curl-flush.patch
new file mode 100644
index 00000000000..14fc31a0bc9
--- /dev/null
+++ b/main/php/curl-flush.patch
@@ -0,0 +1,17 @@
+--- /repository/php-src/ext/curl/interface.c 2009/06/15 12:38:11 1.62.2.14.2.57
++++ /repository/php-src/ext/curl/interface.c 2009/06/28 10:00:28 1.62.2.14.2.58
+@@ -1827,6 +1827,14 @@
+ if (ch->handlers->write->method == PHP_CURL_RETURN && ch->handlers->write->buf.len > 0) {
+ smart_str_0(&ch->handlers->write->buf);
+ RETURN_STRINGL(ch->handlers->write->buf.c, ch->handlers->write->buf.len, 1);
++ }
++
++ /* flush the file handle, so any remaining data is synched to disk */
++ if (ch->handlers->write->method == PHP_CURL_FILE && ch->handlers->write->fp) {
++ fflush(ch->handlers->write->fp);
++ }
++ if (ch->handlers->write_header->method == PHP_CURL_FILE && ch->handlers->write_header->fp) {
++ fflush(ch->handlers->write_header->fp);
+ }
+
+ if (ch->handlers->write->method == PHP_CURL_RETURN) {
diff --git a/testing/php/APKBUILD b/testing/php/APKBUILD
new file mode 100644
index 00000000000..6d9724953f4
--- /dev/null
+++ b/testing/php/APKBUILD
@@ -0,0 +1,234 @@
+# Contributor: Carlo Landmeter <clandmeter at gmail>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=php
+pkgver=5.3.0
+_suhosinver=${pkgver}-0.9.8-BETA-1
+pkgrel=2
+pkgdesc="The PHP language runtime engine"
+url="http://www.php.net/"
+license="PHP-3"
+depends=
+install="$pkgname.post-upgrade"
+makedepends="pcre-dev libxml2-dev libiconv-dev openssl-dev zlib-dev bzip2-dev
+ curl-dev libpng-dev jpeg-dev freetype-dev libmcrypt-dev mysql-dev
+ sqlite-dev libtool libltdl postgresql-dev db-dev unixodbc-dev icu-dev
+ gd-dev gmp-dev gettext-dev imap-dev aspell-dev
+ net-snmp-dev libxslt-dev cyrus-sasl-dev openldap-dev pkgconfig
+ libgcrypt-dev"
+subpackages="$pkgname-dev $pkgname-doc
+ $pkgname-bcmath
+ $pkgname-bz2
+ $pkgname-calendar
+ $pkgname-curl
+ $pkgname-dba
+ $pkgname-exif
+ $pkgname-ftp
+ $pkgname-gd
+ $pkgname-gettext
+ $pkgname-gmp
+ $pkgname-iconv
+ $pkgname-imap
+ $pkgname-intl
+ $pkgname-json
+ $pkgname-ldap
+ $pkgname-mcrypt
+ $pkgname-mysql
+ $pkgname-mysqli
+ $pkgname-odbc
+ $pkgname-openssl
+ $pkgname-pdo
+ $pkgname-pdo_mysql
+ $pkgname-pdo_odbc
+ $pkgname-pdo_pgsql
+ $pkgname-pdo_sqlite
+ $pkgname-pgsql
+ $pkgname-phar
+ $pkgname-posix
+ $pkgname-pspell
+ $pkgname-shmop
+ $pkgname-snmp
+ $pkgname-soap
+ $pkgname-sockets
+ $pkgname-sqlite
+ $pkgname-sqlite3
+ $pkgname-sysvmsg
+ $pkgname-sysvsem
+ $pkgname-sysvshm
+ $pkgname-xml
+ $pkgname-xmlrpc
+ $pkgname-xsl
+ $pkgname-zip
+ $pkgname-zlib
+ "
+
+source="http://www.php.net/distributions/${pkgname}-${pkgver}.tar.bz2
+ http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz
+ gd-info-segfault.patch
+ "
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # apply suhosin patch
+ gunzip -c ${srcdir}/suhosin-patch-${_suhosinver}.patch.gz \
+ | patch -p1 || return 1
+
+ # fix gd segfault; http://bugs.php.net/bug.php?id=49193
+ patch -p0 -i ${srcdir}/gd-info-segfault.patch || return 1
+
+ phpextensions="--enable-bcmath=shared \
+ --enable-calendar=shared \
+ --enable-dba=shared \
+ --enable-exif=shared \
+ --enable-ftp=shared \
+ --enable-gd-native-ttf \
+ --enable-intl=shared \
+ --enable-json=shared \
+ --enable-mbregex \
+ --enable-mbstring \
+ --enable-pdo=shared \
+ --enable-phar=shared \
+ --enable-posix=shared \
+ --enable-session \
+ --enable-shmop=shared \
+ --enable-soap=shared \
+ --enable-sockets=shared \
+ --enable-sqlite-utf8 \
+ --enable-sysvmsg=shared \
+ --enable-sysvsem=shared \
+ --enable-sysvshm=shared \
+ --enable-xml=shared \
+ --enable-zip=shared \
+ --with-bz2=shared \
+ --with-curl=shared \
+ --with-db4=shared \
+ --with-freetype-dir=shared,/usr \
+ --with-gd=shared,/usr \
+ --with-gettext=shared \
+ --with-gmp=shared \
+ --with-iconv=shared \
+ --with-icu-dir=/usr \
+ --with-imap-ssl=shared \
+ --with-imap=shared \
+ --with-jpeg-dir=shared,/usr \
+ --with-ldap=shared \
+ --with-mcrypt=shared \
+ --with-mysql-sock=/tmp/mysql.sock \
+ --with-mysql=shared,mysqlnd \
+ --with-mysqli=shared,mysqlnd \
+ --with-openssl=shared \
+ --with-pcre-regex=/usr \
+ --with-pdo-mysql=shared,mysqlnd \
+ --with-pdo-odbc=shared,unixODBC,/usr \
+ --with-pdo-pgsql=shared \
+ --with-pdo-sqlite=shared,/usr \
+ --with-pgsql=shared \
+ --with-png-dir=shared,/usr \
+ --with-pspell=shared \
+ --with-regex=php \
+ --with-snmp=shared \
+ --with-sqlite3=shared,/usr \
+ --with-sqlite=shared \
+ --with-unixODBC=shared,/usr \
+ --with-xmlrpc=shared \
+ --with-xsl=shared \
+ --with-zlib=shared \
+ --without-db1 \
+ --without-db2 \
+ --without-db3 \
+ --without-qdbm \
+ "
+# --with-enchant=shared,/usr \
+# --with-tidy=shared \
+ ./configure --build=${CHOST:-i486-alpine-linux-uclibc} \
+ --prefix=/usr \
+ --sysconfdir=/etc/php \
+ --with-layout=GNU \
+ --with-config-file-path=/etc/php \
+ --with-config-file-scan-dir=/etc/php/conf.d \
+ --enable-inline-optimization \
+ --disable-debug \
+ --disable-rpath \
+ --disable-static \
+ --enable-shared \
+ --mandir=/usr/share/man \
+ --enable-fastcgi \
+ --enable-cgi \
+ --disable-cli \
+ --enable-discard-path \
+ --enable-force-cgi-redirect \
+ --with-pic \
+ $phpextensions
+
+ make || return 1
+ make -j1 INSTALL_ROOT="$pkgdir" install || return 1
+ install -D -m644 php.ini-production "$pkgdir"/etc/php/php.ini
+}
+
+_mv_mod() {
+ pkgdesc="$1 php extension"
+ local d=usr/lib/php/20090626
+ mkdir -p "$subpkgdir/$d"
+ mv "$pkgdir/$d/${1}.so" "$subpkgdir/$d/" || return 1
+ install -d "$subpkgdir"/etc/php/conf.d
+ echo "extension=${1}.so" > "$subpkgdir"/etc/php/conf.d/${1}.ini
+ return 0
+}
+
+bcmath() { _mv_mod bcmath; }
+bz2() { _mv_mod bz2; }
+calendar() { _mv_mod calendar; }
+curl() { _mv_mod curl; }
+dba() { _mv_mod dba; }
+#enchant() { _mv_mod enchant; }
+exif() { _mv_mod exif; }
+ftp() { _mv_mod ftp; }
+gd() { _mv_mod gd; }
+gettext() { _mv_mod gettext; }
+gmp() { _mv_mod gmp; }
+iconv() { _mv_mod iconv; }
+imap() { _mv_mod imap; }
+intl() { _mv_mod intl; }
+json() { _mv_mod json; }
+ldap() { _mv_mod ldap; }
+mcrypt() { _mv_mod mcrypt; }
+mysql() { _mv_mod mysql; }
+mysqli() { _mv_mod mysqli; }
+odbc() { _mv_mod odbc; }
+openssl() { _mv_mod openssl; }
+pdo() { _mv_mod pdo; }
+pdo_mysql() { _mv_mod pdo_mysql; }
+pdo_odbc() { _mv_mod pdo_odbc; }
+pdo_pgsql() { _mv_mod pdo_pgsql; }
+pdo_sqlite() { _mv_mod pdo_sqlite; }
+phar() { _mv_mod phar; }
+posix() { _mv_mod posix; }
+pgsql() { _mv_mod pgsql; }
+pspell() { _mv_mod pspell; }
+#session() { _mv_mod session; }
+shmop() { _mv_mod shmop; }
+snmp() { _mv_mod snmp; }
+soap() { _mv_mod soap; }
+sockets() { _mv_mod sockets; }
+sqlite() { _mv_mod sqlite; }
+sqlite3() { _mv_mod sqlite3; }
+sysvmsg() { _mv_mod sysvmsg; }
+sysvsem() { _mv_mod sysvsem; }
+sysvshm() { _mv_mod sysvshm; }
+xml() { _mv_mod xml; }
+xmlrpc() { _mv_mod xmlrpc; }
+xsl() { _mv_mod xsl; }
+zip() { _mv_mod zip; }
+zlib() { _mv_mod zlib; }
+
+# devleoper package
+dev() {
+ default_dev
+ mkdir -p "$subpkgdir"/usr/lib/php/ "$subpkgdir"/usr/bin/
+ mv "$pkgdir"/usr/lib/php/build "$subpkgdir"/usr/lib/php/
+ mv "$pkgdir"/usr/bin/phpize "$subpkgdir"/usr/bin/
+}
+
+md5sums="846760cd655c98dfd86d6d97c3d964b0 php-5.3.0.tar.bz2
+62dc36545b86bf86e44ada1fccc17d0a suhosin-patch-5.3.0-0.9.8-BETA-1.patch.gz
+1c1a50aae7207b12d27bdecd8967e7ce gd-info-segfault.patch"
diff --git a/testing/php/gd-info-segfault.patch b/testing/php/gd-info-segfault.patch
new file mode 100644
index 00000000000..846a19ef745
--- /dev/null
+++ b/testing/php/gd-info-segfault.patch
@@ -0,0 +1,26 @@
+Index: ext/gd/libgd/gd_compat.c
+===================================================================
+--- ext/gd/libgd/gd_compat.c (Revision 286947)
++++ ext/gd/libgd/gd_compat.c (Revision 286948)
+@@ -14,7 +14,7 @@
+ return JPEG_LIB_VERSION;
+ }
+
+-int gdJpegGetVersionString()
++const char * gdJpegGetVersionString()
+ {
+ switch(JPEG_LIB_VERSION) {
+ case 62:
+Index: ext/gd/libgd/gd_compat.h
+===================================================================
+--- ext/gd/libgd/gd_compat.h (Revision 286947)
++++ ext/gd/libgd/gd_compat.h (Revision 286948)
+@@ -8,7 +8,7 @@
+ #endif
+
+ const char * gdPngGetVersionString();
+-int gdJpegGetVersionString();
++const char * gdJpegGetVersionString();
+ int gdJpegGetVersionInt();
+ int overflow2(int a, int b);
+
diff --git a/testing/php/php.post-upgrade b/testing/php/php.post-upgrade
new file mode 100644
index 00000000000..98c959958c5
--- /dev/null
+++ b/testing/php/php.post-upgrade
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+new=$1
+old=$2
+
+if [ "$(apk version -t $old 5.3)" = "<" ]; then
+ echo "*"
+ echo "* Please see migration notes here: http://php.net/migration53"
+ echo "*"
+fi
+