diff options
-rw-r--r-- | main/php/APKBUILD | 40 | ||||
-rw-r--r-- | main/php/curl-flush.patch | 17 | ||||
-rw-r--r-- | testing/php/APKBUILD | 234 | ||||
-rw-r--r-- | testing/php/gd-info-segfault.patch | 26 | ||||
-rw-r--r-- | testing/php/php.post-upgrade | 11 |
5 files changed, 308 insertions, 20 deletions
diff --git a/main/php/APKBUILD b/main/php/APKBUILD index 6d9724953..b006055a0 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 000000000..14fc31a0b --- /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 000000000..6d9724953 --- /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 000000000..846a19ef7 --- /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 000000000..98c959958 --- /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 + |