summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--macros.php8
-rw-r--r--php-4.3.11-shutdown.patch38
-rw-r--r--php-5.0.4-dlopen.patch17
-rw-r--r--php-5.0.4-tests-wddx.patch26
-rw-r--r--php-5.2.0-includedir.patch11
-rw-r--r--php-5.2.13-gnusrc.patch117
-rw-r--r--php-5.2.15-oci8conf.patch48
-rw-r--r--php-5.2.3-macropen.patch36
-rw-r--r--php-5.2.4-easter.patch482
-rw-r--r--php-5.2.4-embed.patch12
-rw-r--r--php-5.2.4-norpath.patch18
-rw-r--r--php-5.2.5-systzdata.patch263
-rw-r--r--php-5.2.7-tests-dashn.patch11
-rw-r--r--php-5.2.8-install.patch11
-rw-r--r--php-5.2.8-phpize64.patch22
-rw-r--r--php-5.2.8-recode.patch19
-rw-r--r--php-remi.ini1280
-rw-r--r--php.conf28
-rw-r--r--php52.spec1420
20 files changed, 3871 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..1e65467
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,4 @@
+SRCDIR := $(shell pwd)
+NAME := $(shell basename $(SRCDIR))
+include ../common/Makefile
+
diff --git a/macros.php b/macros.php
new file mode 100644
index 0000000..9f5e849
--- /dev/null
+++ b/macros.php
@@ -0,0 +1,8 @@
+#
+# Interface versions exposed by PHP:
+#
+%php_core_api @PHP_APIVER@
+%php_zend_api @PHP_ZENDVER@
+%php_pdo_api @PHP_PDOVER@
+
+%php_extdir %{_libdir}/php/modules
diff --git a/php-4.3.11-shutdown.patch b/php-4.3.11-shutdown.patch
new file mode 100644
index 0000000..a9980ce
--- /dev/null
+++ b/php-4.3.11-shutdown.patch
@@ -0,0 +1,38 @@
+--- php-4.3.11/ext/snmp/php_snmp.h.shutdown
++++ php-4.3.11/ext/snmp/php_snmp.h
+@@ -39,7 +39,6 @@
+ #endif
+
+ PHP_MINIT_FUNCTION(snmp);
+-PHP_MSHUTDOWN_FUNCTION(snmp);
+ PHP_MINFO_FUNCTION(snmp);
+
+ PHP_FUNCTION(snmpget);
+--- php-4.3.11/ext/snmp/snmp.c.shutdown
++++ php-4.3.11/ext/snmp/snmp.c
+@@ -156,7 +156,7 @@
+ "snmp",
+ snmp_functions,
+ PHP_MINIT(snmp),
+- PHP_MSHUTDOWN(snmp),
++ NULL,
+ NULL,
+ NULL,
+ PHP_MINFO(snmp),
+@@ -208,16 +208,6 @@
+ }
+ /* }}} */
+
+-/* {{{ PHP_MSHUTDOWN_FUNCTION
+- */
+-PHP_MSHUTDOWN_FUNCTION(snmp)
+-{
+- snmp_shutdown("snmpapp");
+-
+- return SUCCESS;
+-}
+-/* }}} */
+-
+ /* {{{ PHP_MINFO_FUNCTION
+ */
+ PHP_MINFO_FUNCTION(snmp)
diff --git a/php-5.0.4-dlopen.patch b/php-5.0.4-dlopen.patch
new file mode 100644
index 0000000..f1809da
--- /dev/null
+++ b/php-5.0.4-dlopen.patch
@@ -0,0 +1,17 @@
+--- php-5.0.4/Zend/zend.h.dlopen
++++ php-5.0.4/Zend/zend.h
+@@ -102,11 +102,11 @@
+ # endif
+
+ # if defined(RTLD_GROUP) && defined(RTLD_WORLD) && defined(RTLD_PARENT)
+-# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT)
++# define DL_LOAD(libname) dlopen(libname, RTLD_NOW | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT)
+ # elif defined(RTLD_DEEPBIND)
+-# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)
++# define DL_LOAD(libname) dlopen(libname, RTLD_NOW | RTLD_GLOBAL | RTLD_DEEPBIND)
+ # else
+-# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL)
++# define DL_LOAD(libname) dlopen(libname, RTLD_NOW | RTLD_GLOBAL)
+ # endif
+ # define DL_UNLOAD dlclose
+ # if defined(DLSYM_NEEDS_UNDERSCORE)
diff --git a/php-5.0.4-tests-wddx.patch b/php-5.0.4-tests-wddx.patch
new file mode 100644
index 0000000..56d6863
--- /dev/null
+++ b/php-5.0.4-tests-wddx.patch
@@ -0,0 +1,26 @@
+
+The wddx tests presume that "2040-06-12T04:32:12" cannot be parsed;
+that's only true on platforms with a 32-bit time_t.
+
+--- php-5.0.5/ext/wddx/tests/001.phpt.tests-wddx
++++ php-5.0.5/ext/wddx/tests/001.phpt
+@@ -18,7 +18,7 @@
+ ["aDateTime2"]=>
+ int(329632332)
+ ["aDateTime3"]=>
+- string(22) "2040-06-12T04:32:12+00"
++ string(12) "NotADateTime"
+ ["aBoolean"]=>
+ bool(true)
+ ["anArray"]=>
+--- php-5.0.5/ext/wddx/tests/wddx.xml.tests-wddx
++++ php-5.0.5/ext/wddx/tests/wddx.xml
+@@ -20,7 +20,7 @@
+ <dateTime>1980-06-12T04:32:12+00</dateTime>
+ </var>
+ <var name='aDateTime3'>
+- <dateTime>2040-06-12T04:32:12+00</dateTime>
++ <dateTime>NotADateTime</dateTime>
+ </var>
+ <var name='aBoolean'>
+ <boolean value='true'/>
diff --git a/php-5.2.0-includedir.patch b/php-5.2.0-includedir.patch
new file mode 100644
index 0000000..a1c3afe
--- /dev/null
+++ b/php-5.2.0-includedir.patch
@@ -0,0 +1,11 @@
+--- php-5.2.0/configure.in.includedir
++++ php-5.2.0/configure.in
+@@ -1101,7 +1101,7 @@
+ EXPANDED_DATADIR=$datadir
+ EXPANDED_PHP_CONFIG_FILE_PATH=`eval echo "$PHP_CONFIG_FILE_PATH"`
+ EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=`eval echo "$PHP_CONFIG_FILE_SCAN_DIR"`
+-INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR
++INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR:${EXPANDED_DATADIR}/php
+
+ exec_prefix=$old_exec_prefix
+ libdir=$old_libdir
diff --git a/php-5.2.13-gnusrc.patch b/php-5.2.13-gnusrc.patch
new file mode 100644
index 0000000..39ddd70
--- /dev/null
+++ b/php-5.2.13-gnusrc.patch
@@ -0,0 +1,117 @@
+diff -ur php-5.2.13.orig/configure.in php-5.2.13/configure.in
+--- php-5.2.13.orig/configure.in 2010-02-24 12:23:46.000000000 +0000
++++ php-5.2.13/configure.in 2010-03-06 11:05:46.215767110 +0000
+@@ -58,6 +58,8 @@
+ AC_DEFUN([PHP_EXT_SRCDIR],[$abs_srcdir/ext/$1])dnl
+ AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl
+
++AC_DEFINE([_GNU_SOURCE], 1, [Define to enable GNU C Library extensions])
++
+ dnl Setting up the PHP version based on the information above.
+ dnl -------------------------------------------------------------------------
+
+diff -ur php-5.2.13.orig/ext/interbase/interbase.c php-5.2.13/ext/interbase/interbase.c
+--- php-5.2.13.orig/ext/interbase/interbase.c 2010-01-03 09:23:27.000000000 +0000
++++ php-5.2.13/ext/interbase/interbase.c 2010-03-06 11:05:46.216766888 +0000
+@@ -24,7 +24,6 @@
+ #include "config.h"
+ #endif
+
+-#define _GNU_SOURCE
+
+ #include "php.h"
+
+diff -ur php-5.2.13.orig/ext/pdo_firebird/firebird_driver.c php-5.2.13/ext/pdo_firebird/firebird_driver.c
+--- php-5.2.13.orig/ext/pdo_firebird/firebird_driver.c 2010-01-03 09:23:27.000000000 +0000
++++ php-5.2.13/ext/pdo_firebird/firebird_driver.c 2010-03-06 11:05:46.217766704 +0000
+@@ -22,7 +22,6 @@
+ #include "config.h"
+ #endif
+
+-#define _GNU_SOURCE
+
+ #include "php.h"
+ #ifdef ZEND_ENGINE_2
+diff -ur php-5.2.13.orig/ext/standard/file.c php-5.2.13/ext/standard/file.c
+--- php-5.2.13.orig/ext/standard/file.c 2010-02-11 12:32:21.000000000 +0000
++++ php-5.2.13/ext/standard/file.c 2010-03-06 11:05:46.218766723 +0000
+@@ -108,7 +108,6 @@
+
+ #ifdef HAVE_FNMATCH
+ #ifndef _GNU_SOURCE
+-#define _GNU_SOURCE
+ #endif
+ #include <fnmatch.h>
+ #endif
+diff -ur php-5.2.13.orig/ext/zlib/zlib_fopen_wrapper.c php-5.2.13/ext/zlib/zlib_fopen_wrapper.c
+--- php-5.2.13.orig/ext/zlib/zlib_fopen_wrapper.c 2010-01-03 09:23:27.000000000 +0000
++++ php-5.2.13/ext/zlib/zlib_fopen_wrapper.c 2010-03-06 11:05:46.219766587 +0000
+@@ -19,8 +19,6 @@
+
+ /* $Id: zlib_fopen_wrapper.c 293036 2010-01-03 09:23:27Z sebastian $ */
+
+-#define _GNU_SOURCE
+-
+ #include "php.h"
+ #include "php_zlib.h"
+ #include "fopen_wrappers.h"
+Only in php-5.2.13/ext/zlib: zlib_fopen_wrapper.c.orig
+diff -ur php-5.2.13.orig/main/php.h php-5.2.13/main/php.h
+--- php-5.2.13.orig/main/php.h 2010-01-03 09:23:27.000000000 +0000
++++ php-5.2.13/main/php.h 2010-03-06 11:05:46.220766898 +0000
+@@ -30,6 +30,7 @@
+ #define PHP_HAVE_STREAMS
+ #define YYDEBUG 0
+
++#include "php_config.h"
+ #include "php_version.h"
+ #include "zend.h"
+ #include "zend_qsort.h"
+diff -ur php-5.2.13.orig/main/streams/cast.c php-5.2.13/main/streams/cast.c
+--- php-5.2.13.orig/main/streams/cast.c 2010-01-19 13:44:08.000000000 +0000
++++ php-5.2.13/main/streams/cast.c 2010-03-06 11:05:46.222766339 +0000
+@@ -18,7 +18,6 @@
+
+ /* $Id: cast.c 293732 2010-01-19 13:44:08Z jani $ */
+
+-#define _GNU_SOURCE
+ #include "php.h"
+ #include "php_globals.h"
+ #include "php_network.h"
+Only in php-5.2.13/main/streams: cast.c.orig
+diff -ur php-5.2.13.orig/main/streams/memory.c php-5.2.13/main/streams/memory.c
+--- php-5.2.13.orig/main/streams/memory.c 2010-01-03 09:23:27.000000000 +0000
++++ php-5.2.13/main/streams/memory.c 2010-03-06 11:05:46.224766290 +0000
+@@ -18,7 +18,6 @@
+
+ /* $Id: memory.c 293036 2010-01-03 09:23:27Z sebastian $ */
+
+-#define _GNU_SOURCE
+ #include "php.h"
+
+ PHPAPI int php_url_decode(char *str, int len);
+Only in php-5.2.13/main/streams: memory.c.orig
+diff -ur php-5.2.13.orig/main/streams/streams.c php-5.2.13/main/streams/streams.c
+--- php-5.2.13.orig/main/streams/streams.c 2010-01-06 12:54:53.000000000 +0000
++++ php-5.2.13/main/streams/streams.c 2010-03-06 11:05:46.226766057 +0000
+@@ -21,7 +21,6 @@
+
+ /* $Id: streams.c 293175 2010-01-06 12:54:53Z iliaa $ */
+
+-#define _GNU_SOURCE
+ #include "php.h"
+ #include "php_globals.h"
+ #include "php_network.h"
+Only in php-5.2.13/main/streams: streams.c.orig
+diff -ur php-5.2.13.orig/Zend/zend_language_parser.c php-5.2.13/Zend/zend_language_parser.c
+--- php-5.2.13.orig/Zend/zend_language_parser.c 2010-02-24 12:27:31.000000000 +0000
++++ php-5.2.13/Zend/zend_language_parser.c 2010-03-06 11:05:46.229766071 +0000
+@@ -356,6 +356,8 @@
+ #include "zend_API.h"
+ #include "zend_constants.h"
+
++#include <string.h>
++
+
+ #define YYERROR_VERBOSE
+ #define YYSTYPE znode
diff --git a/php-5.2.15-oci8conf.patch b/php-5.2.15-oci8conf.patch
new file mode 100644
index 0000000..ff56a59
--- /dev/null
+++ b/php-5.2.15-oci8conf.patch
@@ -0,0 +1,48 @@
+--- ext/oci8/config.m4.remi-oci8 2008-12-05 17:29:15.000000000 +0100
++++ ext/oci8/config.m4 2008-12-05 17:30:26.000000000 +0100
+@@ -371,7 +371,7 @@
+ AC_MSG_CHECKING([Oracle Instant Client SDK header directory])
+
+ dnl Header directory for Instant Client SDK RPM install
+- OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!^/usr/lib/oracle/\(.*\)/client\('${LIBDIR_SUFFIX}'\)*/lib[/]*$!/usr/include/oracle/\1/client\2!'`
++ OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!^/usr/\(lib64\|lib\)/oracle/\(.*\)/\(client64\|client\)/lib[/]*$!/usr/include/oracle/\2/\3!'`
+
+ dnl Header directory for Instant Client SDK zip file install
+ OCISDKZIPINC=$PHP_OCI8_INSTANT_CLIENT/sdk/include
+diff -up ext/pdo_oci/config.m4.orig ext/pdo_oci/config.m4
+--- ext/pdo_oci/config.m4.orig 2008-12-05 17:33:05.000000000 +0100
++++ ext/pdo_oci/config.m4 2008-12-05 17:35:21.000000000 +0100
+@@ -82,7 +82,10 @@ You need to tell me where to find your O
+ PDO_OCI_IC_PREFIX="`echo $PDO_OCI_DIR | cut -d, -f2`"
+ PDO_OCI_IC_VERS="`echo $PDO_OCI_DIR | cut -d, -f3`"
+ AC_MSG_CHECKING([for oci.h])
+- if test -f $PDO_OCI_IC_PREFIX/include/oracle/$PDO_OCI_IC_VERS/client/oci.h ; then
++ if test -f $PDO_OCI_IC_PREFIX/include/oracle/$PDO_OCI_IC_VERS/client64/oci.h ; then
++ PHP_ADD_INCLUDE($PDO_OCI_IC_PREFIX/include/oracle/$PDO_OCI_IC_VERS/client64)
++ AC_MSG_RESULT($PDO_OCI_IC_PREFIX/include/oracle/$PDO_OCI_IC_VERS/client64)
++ elif test -f $PDO_OCI_IC_PREFIX/include/oracle/$PDO_OCI_IC_VERS/client/oci.h ; then
+ PHP_ADD_INCLUDE($PDO_OCI_IC_PREFIX/include/oracle/$PDO_OCI_IC_VERS/client)
+ AC_MSG_RESULT($PDO_OCI_IC_PREFIX/include/oracle/$PDO_OCI_IC_VERS/client)
+ elif test -f $PDO_OCI_IC_PREFIX/lib/oracle/$PDO_OCI_IC_VERS/client/include/oci.h ; then
+@@ -99,6 +102,10 @@ You need to tell me where to find your O
+ fi
+ if test -f "$PDO_OCI_IC_PREFIX/lib/oracle/$PDO_OCI_IC_VERS/client/lib/libclntsh.so" ; then
+ PDO_OCI_LIB_DIR="$PDO_OCI_IC_PREFIX/lib/oracle/$PDO_OCI_IC_VERS/client/lib"
++ elif test -f "$PDO_OCI_IC_PREFIX/lib64/oracle/$PDO_OCI_IC_VERS/client64/lib/libclntsh.so" ; then
++ PDO_OCI_LIB_DIR="$PDO_OCI_IC_PREFIX/lib64/oracle/$PDO_OCI_IC_VERS/client64/lib"
++ elif test -f "$PDO_OCI_IC_PREFIX/lib64/oracle/$PDO_OCI_IC_VERS/client/lib/libclntsh.so" ; then
++ PDO_OCI_LIB_DIR="$PDO_OCI_IC_PREFIX/lib64/oracle/$PDO_OCI_IC_VERS/client/lib"
+ elif test -f "$PDO_OCI_IC_PREFIX/client/lib/libclntsh.so" ; then
+ PDO_OCI_LIB_DIR="$PDO_OCI_IC_PREFIX/client/lib"
+ elif test -f "$PDO_OCI_IC_PREFIX/libclntsh.so" ; then
+--- ext/ldap/php_ldap.h.remi-oci8 2010-01-03 10:23:27.000000000 +0100
++++ ext/ldap/php_ldap.h 2010-12-11 08:53:26.065832296 +0100
+@@ -26,7 +26,7 @@
+ #ifndef HAVE_ORALDAP
+ #include <lber.h>
+ #endif
+-#include <ldap.h>
++#include "/usr/include/ldap.h"
+
+ extern zend_module_entry ldap_module_entry;
+ #define ldap_module_ptr &ldap_module_entry
diff --git a/php-5.2.3-macropen.patch b/php-5.2.3-macropen.patch
new file mode 100644
index 0000000..f3dcaa4
--- /dev/null
+++ b/php-5.2.3-macropen.patch
@@ -0,0 +1,36 @@
+--- php-5.2.3/ext/dba/dba.c.macropen
++++ php-5.2.3/ext/dba/dba.c
+@@ -930,7 +930,7 @@
+ }
+ }
+
+- if (error || hptr->open(info, &error TSRMLS_CC) != SUCCESS) {
++ if (error || (hptr->open)(info, &error TSRMLS_CC) != SUCCESS) {
+ dba_close(info TSRMLS_CC);
+ php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "Driver initialization failed for handler: %s%s%s", hptr->name, error?": ":"", error?error:"");
+ FREENOW;
+--- php-5.2.3/ext/dba/dba_db3.c.macropen
++++ php-5.2.3/ext/dba/dba_db3.c
+@@ -91,7 +91,7 @@
+
+ if ((err=db_create(&dbp, NULL, 0)) == 0) {
+ dbp->set_errcall(dbp, php_dba_db3_errcall_fcn);
+- if ((err=dbp->open(dbp, info->path, NULL, type, gmode, filemode)) == 0) {
++ if ((err=(dbp->open)(dbp, info->path, NULL, type, gmode, filemode)) == 0) {
+ dba_db3_data *data;
+
+ data = pemalloc(sizeof(*data), info->flags&DBA_PERSISTENT);
+--- php-5.2.3/ext/dba/dba_db4.c.macropen
++++ php-5.2.3/ext/dba/dba_db4.c
+@@ -99,9 +99,9 @@
+ dbp->set_errcall(dbp, php_dba_db4_errcall_fcn);
+ if (
+ #if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)
+- (err=dbp->open(dbp, 0, info->path, NULL, type, gmode, filemode)) == 0) {
++ (err=(dbp->open)(dbp, 0, info->path, NULL, type, gmode, filemode)) == 0) {
+ #else
+- (err=dbp->open(dbp, info->path, NULL, type, gmode, filemode)) == 0) {
++ (err=(dbp->open)(dbp, info->path, NULL, type, gmode, filemode)) == 0) {
+ #endif
+ dba_db4_data *data;
+
diff --git a/php-5.2.4-easter.patch b/php-5.2.4-easter.patch
new file mode 100644
index 0000000..a540d04
--- /dev/null
+++ b/php-5.2.4-easter.patch
@@ -0,0 +1,482 @@
+--- php-5.2.4/main/logos.h.easter
++++ php-5.2.4/main/logos.h
+@@ -491,386 +491,3 @@ static const unsigned char php_logo[] =
+ 102, 63, 251, 220, 139, 16, 65, 26, 16, 112,
+ 21, 116, 187, 251, 221, 240, 142, 119, 188, 3,
+ 1, 0, 59, 0 };
+-
+-static const unsigned char php_egg_logo[] = {
+- 71, 73, 70, 56, 57, 97, 120, 0, 67, 0,
+- 247, 0, 0, 0, 255, 0, 107, 114, 178, 0,
+- 0, 0, 31, 31, 31, 255, 255, 255, 106, 113,
+- 176, 63, 63, 63, 127, 127, 127, 106, 112, 174,
+- 191, 191, 191, 105, 111, 171, 223, 223, 223, 239,
+- 239, 239, 144, 149, 197, 106, 111, 173, 245, 246,
+- 250, 105, 110, 170, 218, 219, 235, 47, 47, 47,
+- 162, 166, 206, 35, 36, 40, 153, 158, 202, 95,
+- 95, 95, 175, 175, 175, 88, 93, 141, 159, 159,
+- 159, 116, 122, 182, 125, 131, 187, 143, 143, 143,
+- 38, 38, 41, 104, 108, 167, 171, 175, 211, 105,
+- 109, 168, 102, 102, 153, 104, 108, 165, 45, 46,
+- 58, 181, 184, 216, 111, 111, 111, 134, 140, 192,
+- 102, 108, 168, 79, 79, 79, 199, 202, 226, 40,
+- 41, 49, 92, 98, 150, 53, 53, 63, 236, 237,
+- 245, 130, 130, 171, 122, 122, 160, 104, 107, 163,
+- 50, 51, 67, 45, 45, 52, 207, 207, 207, 69,
+- 72, 104, 15, 15, 15, 61, 61, 74, 227, 228,
+- 240, 59, 62, 86, 103, 106, 162, 107, 107, 139,
+- 73, 77, 113, 102, 103, 156, 54, 56, 76, 97,
+- 103, 159, 137, 137, 182, 35, 35, 38, 190, 193,
+- 221, 145, 145, 193, 103, 105, 159, 78, 82, 122,
+- 76, 76, 95, 147, 148, 200, 92, 92, 117, 105,
+- 105, 156, 103, 105, 160, 150, 150, 202, 64, 67,
+- 95, 114, 114, 149, 108, 108, 159, 143, 143, 194,
+- 84, 84, 106, 140, 140, 191, 102, 104, 157, 48,
+- 48, 61, 27, 29, 42, 114, 114, 165, 83, 88,
+- 132, 153, 153, 204, 121, 126, 186, 127, 127, 178,
+- 208, 210, 230, 149, 149, 200, 146, 146, 197, 141,
+- 143, 197, 55, 55, 67, 144, 145, 199, 133, 133,
+- 184, 124, 124, 175, 110, 115, 171, 130, 133, 191,
+- 88, 91, 137, 86, 92, 144, 154, 156, 172, 87,
+- 92, 139, 85, 86, 125, 118, 123, 184, 121, 122,
+- 172, 124, 128, 187, 82, 86, 130, 39, 39, 46,
+- 99, 99, 128, 69, 69, 85, 97, 101, 153, 75,
+- 75, 107, 115, 121, 182, 135, 138, 194, 101, 107,
+- 165, 82, 84, 101, 102, 102, 140, 53, 57, 89,
+- 69, 71, 101, 137, 137, 188, 109, 116, 179, 130,
+- 130, 182, 57, 57, 76, 93, 99, 155, 117, 117,
+- 168, 62, 63, 86, 84, 84, 122, 79, 79, 114,
+- 112, 117, 177, 58, 58, 71, 127, 131, 189, 106,
+- 106, 150, 76, 76, 101, 134, 135, 187, 20, 20,
+- 31, 66, 71, 111, 125, 129, 182, 172, 173, 180,
+- 86, 88, 131, 229, 230, 234, 108, 112, 171, 100,
+- 105, 161, 161, 165, 203, 53, 53, 70, 95, 97,
+- 146, 58, 60, 81, 217, 219, 234, 195, 196, 208,
+- 82, 85, 125, 112, 118, 181, 82, 82, 106, 114,
+- 117, 175, 154, 157, 195, 134, 134, 179, 111, 111,
+- 162, 6, 7, 11, 110, 111, 146, 93, 93, 138,
+- 77, 79, 116, 115, 119, 179, 103, 108, 161, 60,
+- 64, 100, 98, 98, 145, 40, 40, 47, 51, 51,
+- 63, 69, 69, 95, 73, 78, 122, 197, 198, 202,
+- 54, 54, 58, 13, 14, 22, 108, 114, 174, 149,
+- 152, 184, 101, 108, 167, 88, 88, 130, 106, 108,
+- 162, 86, 91, 141, 84, 84, 116, 86, 86, 90,
+- 129, 131, 186, 132, 135, 181, 160, 163, 183, 211,
+- 212, 224, 91, 91, 123, 109, 109, 117, 104, 104,
+- 135, 86, 86, 115, 90, 92, 108, 81, 83, 122,
+- 103, 106, 130, 70, 70, 99, 121, 126, 170, 139,
+- 139, 186, 73, 74, 94, 109, 109, 148, 139, 140,
+- 189, 135, 138, 162, 176, 179, 199, 115, 115, 115,
+- 106, 106, 144, 59, 63, 98, 67, 69, 96, 241,
+- 241, 241, 102, 105, 149, 120, 120, 162, 68, 68,
+- 90, 89, 89, 115, 51, 52, 79, 113, 113, 152,
+- 33, 35, 55, 189, 190, 215, 79, 79, 104, 213,
+- 214, 218, 94, 95, 142, 163, 164, 176, 86, 89,
+- 133, 112, 112, 156, 80, 81, 118, 63, 65, 90,
+- 102, 103, 124, 126, 129, 157, 72, 72, 98, 150,
+- 150, 154, 72, 74, 100, 112, 112, 151, 138, 139,
+- 192, 122, 125, 180, 49, 50, 64, 78, 78, 110,
+- 119, 119, 157, 125, 126, 174, 77, 81, 119, 125,
+- 126, 180, 56, 56, 72, 118, 120, 173, 46, 49,
+- 77, 92, 96, 132, 188, 189, 197, 65, 65, 81,
+- 165, 168, 200, 49, 51, 66, 143, 147, 194, 80,
+- 82, 111, 192, 195, 215, 235, 235, 242, 105, 111,
+- 170, 74, 77, 107, 183, 186, 210, 109, 111, 165,
+- 117, 120, 152, 65, 66, 90, 182, 182, 186, 104,
+- 104, 137, 123, 127, 163, 170, 171, 187, 110, 113,
+- 163, 33, 249, 4, 1, 0, 0, 0, 0, 44,
+- 0, 0, 0, 0, 120, 0, 67, 0, 0, 8,
+- 255, 0, 1, 8, 28, 72, 176, 160, 193, 131,
+- 8, 19, 42, 92, 200, 176, 161, 195, 135, 16,
+- 35, 74, 156, 72, 177, 162, 197, 139, 24, 51,
+- 106, 220, 200, 209, 162, 145, 43, 104, 188, 116,
+- 28, 73, 210, 160, 23, 145, 8, 141, 24, 84,
+- 50, 40, 128, 75, 17, 122, 228, 112, 65, 200,
+- 69, 140, 146, 146, 56, 83, 170, 9, 144, 6,
+- 192, 11, 38, 69, 190, 209, 88, 82, 196, 134,
+- 141, 1, 44, 6, 40, 29, 64, 65, 30, 19,
+- 29, 71, 138, 250, 137, 129, 163, 202, 157, 107,
+- 99, 48, 96, 128, 246, 67, 200, 139, 23, 66,
+- 62, 186, 212, 224, 36, 103, 206, 31, 58, 92,
+- 56, 75, 214, 35, 198, 210, 183, 112, 153, 142,
+- 88, 58, 231, 207, 11, 67, 113, 86, 172, 56,
+- 65, 68, 91, 219, 185, 61, 226, 142, 160, 65,
+- 163, 199, 167, 81, 102, 71, 2, 69, 26, 119,
+- 169, 10, 28, 59, 180, 210, 216, 17, 137, 138,
+- 152, 60, 1, 180, 250, 72, 194, 3, 148, 75,
+- 151, 5, 16, 124, 254, 188, 98, 7, 156, 127,
+- 24, 118, 196, 24, 209, 67, 138, 10, 32, 54,
+- 92, 0, 224, 162, 50, 241, 68, 175, 79, 58,
+- 188, 165, 16, 99, 201, 142, 49, 145, 68, 143,
+- 254, 12, 1, 134, 112, 151, 30, 120, 136, 24,
+- 206, 252, 115, 1, 15, 10, 70, 43, 200, 17,
+- 125, 133, 190, 14, 29, 112, 84, 194, 99, 251,
+- 161, 144, 35, 50, 88, 232, 255, 30, 32, 136,
+- 70, 21, 31, 159, 65, 68, 111, 94, 64, 196,
+- 122, 151, 8, 134, 228, 56, 222, 124, 180, 3,
+- 8, 163, 219, 131, 24, 45, 26, 3, 133, 1,
+- 108, 0, 211, 29, 67, 58, 188, 213, 193, 17,
+- 226, 96, 246, 25, 2, 248, 213, 167, 64, 131,
+- 38, 144, 16, 128, 7, 73, 68, 247, 203, 61,
+- 100, 212, 7, 154, 2, 5, 72, 231, 65, 135,
+- 205, 33, 176, 199, 0, 50, 44, 51, 224, 65,
+- 46, 28, 17, 204, 82, 29, 20, 1, 134, 37,
+- 195, 21, 0, 34, 115, 5, 56, 0, 98, 5,
+- 4, 16, 176, 205, 51, 235, 76, 33, 64, 2,
+- 11, 112, 163, 161, 141, 252, 121, 64, 223, 112,
+- 34, 240, 160, 128, 15, 49, 168, 224, 206, 15,
+- 39, 10, 132, 214, 120, 20, 220, 81, 135, 17,
+- 104, 104, 200, 222, 140, 1, 68, 144, 163, 4,
+- 40, 24, 80, 2, 7, 12, 92, 96, 71, 125,
+- 92, 6, 160, 128, 3, 67, 14, 225, 193, 104,
+- 107, 12, 208, 129, 14, 39, 230, 166, 20, 5,
+- 75, 180, 194, 67, 35, 90, 246, 233, 146, 3,
+- 4, 160, 34, 64, 6, 18, 28, 48, 64, 13,
+- 7, 28, 128, 136, 159, 8, 176, 137, 38, 12,
+- 57, 164, 169, 192, 24, 50, 12, 96, 195, 11,
+- 98, 92, 129, 210, 72, 66, 60, 241, 22, 14,
+- 39, 40, 32, 66, 154, 126, 50, 7, 65, 38,
+- 4, 36, 32, 192, 170, 172, 94, 96, 64, 134,
+- 26, 202, 255, 72, 234, 103, 211, 57, 202, 220,
+- 42, 216, 28, 161, 212, 8, 24, 4, 242, 197,
+- 108, 55, 105, 228, 66, 82, 187, 98, 160, 230,
+- 145, 165, 14, 135, 64, 116, 94, 30, 192, 42,
+- 171, 51, 164, 146, 44, 123, 48, 52, 88, 159,
+- 8, 81, 160, 225, 131, 106, 20, 0, 81, 138,
+- 61, 43, 88, 178, 5, 70, 46, 216, 57, 0,
+- 17, 206, 185, 52, 65, 5, 13, 76, 240, 129,
+- 75, 13, 108, 80, 170, 140, 1, 108, 240, 229,
+- 179, 171, 18, 48, 197, 180, 46, 201, 27, 64,
+- 60, 31, 126, 166, 193, 6, 241, 194, 151, 196,
+- 126, 11, 230, 64, 68, 96, 3, 224, 64, 142,
+- 38, 22, 233, 48, 94, 195, 39, 12, 23, 68,
+- 142, 24, 63, 144, 241, 3, 17, 100, 65, 194,
+- 186, 239, 54, 215, 64, 170, 248, 10, 32, 193,
+- 12, 103, 38, 107, 130, 151, 26, 19, 112, 67,
+- 203, 45, 231, 248, 64, 11, 244, 68, 160, 193,
+- 103, 30, 32, 28, 128, 15, 107, 248, 81, 41,
+- 11, 109, 12, 163, 6, 26, 181, 49, 36, 68,
+- 17, 75, 45, 81, 49, 115, 24, 99, 60, 131,
+- 53, 138, 36, 144, 128, 151, 77, 19, 208, 194,
+- 4, 19, 220, 252, 153, 151, 18, 148, 92, 194,
+- 12, 167, 36, 187, 65, 204, 78, 75, 157, 192,
+- 62, 101, 164, 173, 8, 3, 26, 183, 240, 64,
+- 10, 180, 164, 25, 5, 18, 122, 180, 161, 27,
+- 5, 59, 4, 16, 70, 89, 11, 13, 255, 187,
+- 20, 186, 245, 229, 24, 230, 0, 37, 11, 112,
+- 200, 20, 116, 224, 114, 0, 153, 24, 167, 208,
+- 64, 0, 56, 102, 80, 248, 0, 12, 80, 18,
+- 1, 49, 249, 188, 67, 66, 10, 17, 180, 144,
+- 227, 13, 89, 76, 0, 57, 1, 12, 36, 144,
+- 193, 1, 6, 212, 80, 248, 179, 6, 44, 128,
+- 113, 11, 143, 127, 38, 2, 22, 86, 200, 81,
+- 15, 13, 74, 173, 17, 69, 31, 125, 143, 183,
+- 3, 224, 34, 19, 176, 192, 234, 171, 215, 144,
+- 193, 2, 174, 63, 80, 193, 4, 4, 200, 178,
+- 186, 1, 82, 51, 48, 67, 244, 57, 74, 125,
+- 64, 2, 86, 147, 64, 128, 179, 196, 175, 110,
+- 193, 1, 12, 48, 208, 130, 115, 81, 224, 19,
+- 199, 103, 59, 12, 160, 130, 35, 220, 37, 36,
+- 68, 165, 20, 24, 171, 37, 243, 220, 119, 63,
+- 57, 10, 4, 4, 113, 177, 5, 246, 219, 127,
+- 64, 142, 11, 80, 93, 255, 188, 71, 0, 151,
+- 64, 32, 10, 58, 251, 12, 96, 54, 161, 16,
+- 55, 168, 111, 105, 90, 202, 130, 170, 6, 184,
+- 186, 11, 20, 227, 3, 4, 48, 0, 5, 137,
+- 231, 58, 13, 110, 176, 100, 23, 56, 0, 44,
+- 146, 48, 170, 230, 156, 64, 5, 3, 0, 68,
+- 66, 152, 160, 148, 188, 245, 201, 94, 245, 251,
+- 224, 170, 36, 80, 2, 1, 148, 129, 0, 116,
+- 144, 33, 190, 106, 224, 58, 29, 226, 235, 0,
+- 22, 56, 4, 178, 255, 136, 195, 11, 10, 140,
+- 32, 33, 149, 194, 65, 169, 82, 176, 189, 146,
+- 89, 32, 71, 28, 176, 31, 13, 19, 69, 128,
+- 93, 248, 144, 85, 6, 200, 209, 234, 74, 144,
+- 168, 68, 89, 64, 2, 252, 43, 220, 12, 4,
+- 176, 40, 230, 32, 0, 58, 39, 8, 204, 49,
+- 14, 210, 137, 7, 150, 170, 2, 15, 136, 161,
+- 0, 6, 208, 180, 4, 132, 201, 2, 9, 224,
+- 64, 6, 8, 199, 42, 227, 93, 0, 135, 221,
+- 59, 64, 6, 164, 70, 168, 194, 145, 169, 112,
+- 25, 168, 26, 198, 22, 144, 0, 62, 178, 202,
+- 2, 6, 80, 133, 169, 172, 181, 130, 1, 72,
+- 161, 32, 74, 80, 131, 91, 98, 0, 154, 62,
+- 153, 32, 142, 37, 91, 64, 4, 194, 64, 53,
+- 140, 205, 131, 17, 12, 112, 164, 0, 178, 168,
+- 175, 213, 161, 192, 117, 110, 187, 1, 1, 46,
+- 80, 50, 202, 209, 50, 148, 4, 200, 68, 5,
+- 150, 87, 129, 15, 76, 128, 21, 11, 136, 226,
+- 179, 6, 160, 42, 62, 56, 135, 67, 206, 201,
+- 193, 0, 186, 64, 16, 35, 196, 161, 10, 74,
+- 89, 129, 3, 134, 56, 28, 38, 170, 50, 95,
+- 65, 8, 128, 6, 76, 128, 181, 130, 137, 130,
+- 3, 194, 100, 85, 15, 87, 103, 181, 10, 184,
+- 4, 71, 97, 124, 22, 7, 8, 208, 181, 80,
+- 222, 160, 57, 124, 64, 193, 45, 159, 149, 1,
+- 3, 172, 225, 79, 244, 81, 64, 8, 66, 208,
+- 255, 133, 1, 64, 73, 32, 87, 8, 64, 96,
+- 128, 0, 130, 89, 13, 7, 71, 99, 220, 33,
+- 1, 98, 215, 28, 78, 44, 64, 149, 210, 91,
+- 157, 4, 8, 16, 178, 0, 92, 236, 154, 2,
+- 32, 29, 57, 179, 201, 28, 100, 160, 32, 156,
+- 172, 170, 167, 29, 232, 21, 163, 38, 64, 193,
+- 5, 3, 160, 147, 64, 90, 178, 201, 100, 121,
+- 169, 134, 248, 202, 162, 9, 234, 195, 135, 31,
+- 61, 11, 127, 146, 43, 92, 9, 22, 250, 153,
+- 27, 48, 160, 112, 36, 171, 37, 1, 180, 198,
+- 31, 81, 212, 96, 158, 226, 148, 0, 172, 154,
+- 19, 130, 45, 164, 161, 20, 69, 32, 136, 58,
+- 148, 178, 4, 246, 12, 199, 94, 236, 44, 89,
+- 13, 120, 122, 213, 6, 244, 194, 0, 72, 237,
+- 96, 5, 9, 48, 83, 151, 4, 149, 117, 194,
+- 43, 92, 22, 253, 37, 176, 10, 212, 194, 2,
+- 72, 21, 128, 5, 102, 16, 141, 250, 196, 103,
+- 8, 129, 56, 129, 250, 248, 6, 0, 77, 40,
+- 165, 10, 195, 153, 38, 115, 48, 56, 188, 146,
+- 101, 81, 66, 7, 157, 101, 9, 60, 40, 0,
+- 252, 77, 176, 112, 12, 40, 224, 103, 64, 25,
+- 83, 45, 150, 108, 162, 12, 29, 139, 240, 12,
+- 208, 206, 86, 149, 96, 169, 163, 241, 0, 2,
+- 93, 162, 215, 1, 80, 97, 32, 47, 80, 138,
+- 25, 62, 115, 159, 52, 117, 72, 150, 32, 197,
+- 34, 1, 204, 57, 154, 13, 255, 120, 41, 174,
+- 255, 235, 172, 66, 37, 235, 146, 7, 164, 83,
+- 182, 4, 80, 235, 108, 135, 35, 203, 194, 226,
+- 139, 1, 251, 82, 22, 9, 103, 84, 0, 165,
+- 212, 1, 181, 74, 169, 134, 140, 220, 147, 31,
+- 71, 105, 224, 94, 134, 165, 104, 53, 9, 224,
+- 141, 146, 97, 143, 120, 89, 140, 192, 104, 50,
+- 232, 53, 203, 86, 150, 182, 218, 212, 94, 59,
+- 10, 247, 63, 118, 12, 199, 3, 243, 25, 13,
+- 4, 66, 160, 20, 38, 64, 119, 0, 80, 248,
+- 2, 12, 152, 171, 128, 227, 140, 236, 167, 133,
+- 123, 98, 10, 76, 240, 1, 13, 84, 64, 150,
+- 182, 224, 4, 190, 240, 23, 220, 45, 18, 64,
+- 188, 240, 106, 48, 190, 254, 104, 220, 103, 253,
+- 239, 3, 38, 104, 64, 3, 60, 247, 0, 31,
+- 225, 139, 114, 148, 200, 15, 117, 237, 51, 132,
+- 38, 116, 129, 5, 4, 73, 237, 0, 172, 32,
+- 6, 249, 38, 48, 0, 218, 203, 169, 119, 101,
+- 214, 52, 70, 232, 118, 85, 137, 148, 240, 140,
+- 57, 26, 128, 145, 1, 117, 150, 144, 205, 145,
+- 231, 114, 196, 0, 198, 222, 148, 1, 161, 160,
+- 149, 181, 98, 244, 5, 22, 216, 128, 32, 186,
+- 90, 113, 64, 213, 100, 28, 230, 104, 79, 142,
+- 143, 44, 93, 6, 46, 144, 72, 6, 220, 120,
+- 85, 216, 211, 49, 190, 114, 84, 81, 31, 87,
+- 182, 137, 184, 4, 18, 7, 92, 247, 91, 122,
+- 166, 0, 255, 52, 68, 178, 171, 47, 6, 240,
+- 4, 40, 15, 192, 13, 86, 80, 66, 24, 96,
+- 240, 166, 230, 104, 175, 205, 196, 147, 128, 0,
+- 241, 181, 211, 28, 97, 116, 149, 57, 42, 107,
+- 0, 152, 87, 178, 117, 146, 183, 150, 95, 22,
+- 174, 232, 72, 234, 32, 30, 176, 97, 0, 71,
+- 32, 72, 27, 148, 226, 2, 43, 204, 194, 160,
+- 48, 126, 244, 21, 89, 41, 56, 246, 90, 109,
+- 52, 102, 126, 150, 235, 196, 172, 67, 215, 17,
+- 245, 81, 33, 128, 131, 82, 84, 42, 16, 21,
+- 243, 99, 202, 26, 194, 145, 145, 101, 72, 185,
+- 252, 229, 8, 203, 63, 34, 0, 98, 63, 35,
+- 102, 58, 158, 213, 135, 59, 125, 179, 150, 20,
+- 192, 131, 16, 128, 33, 23, 36, 42, 200, 15,
+- 148, 2, 60, 13, 141, 108, 215, 3, 52, 192,
+- 245, 8, 240, 128, 172, 253, 250, 199, 108, 53,
+- 235, 153, 129, 77, 193, 137, 62, 32, 220, 102,
+- 228, 1, 18, 78, 90, 41, 55, 96, 82, 41,
+- 52, 232, 100, 125, 236, 133, 109, 11, 112, 160,
+- 139, 248, 30, 228, 235, 10, 108, 86, 2, 0,
+- 58, 139, 239, 28, 141, 9, 26, 60, 0, 49,
+- 133, 25, 5, 37, 67, 193, 1, 34, 221, 199,
+- 255, 221, 224, 213, 14, 130, 130, 21, 142, 50,
+- 0, 217, 16, 36, 20, 74, 193, 1, 2, 168,
+- 169, 174, 172, 170, 83, 145, 85, 123, 155, 162,
+- 251, 205, 129, 107, 174, 179, 162, 17, 255, 6,
+- 185, 199, 89, 85, 104, 225, 113, 96, 112, 171,
+- 50, 128, 5, 50, 16, 89, 101, 251, 9, 2,
+- 77, 120, 129, 110, 80, 92, 144, 60, 40, 133,
+- 20, 160, 118, 137, 151, 74, 150, 163, 126, 132,
+- 97, 166, 19, 120, 68, 34, 208, 61, 156, 166,
+- 205, 224, 229, 6, 104, 29, 111, 71, 67, 130,
+- 8, 164, 128, 4, 13, 208, 192, 134, 1, 252,
+- 172, 200, 222, 192, 31, 212, 80, 57, 183, 179,
+- 86, 42, 16, 132, 160, 9, 72, 43, 130, 16,
+- 12, 194, 5, 72, 68, 179, 79, 17, 120, 236,
+- 170, 182, 202, 85, 6, 5, 221, 37, 4, 214,
+- 192, 7, 200, 38, 236, 100, 61, 64, 238, 249,
+- 226, 170, 134, 179, 16, 129, 32, 124, 128, 4,
+- 31, 168, 0, 196, 53, 4, 131, 16, 108, 2,
+- 28, 74, 249, 167, 65, 152, 145, 241, 252, 28,
+- 105, 18, 128, 103, 165, 9, 10, 160, 30, 126,
+- 225, 253, 6, 17, 32, 48, 122, 251, 52, 50,
+- 152, 62, 43, 71, 139, 247, 188, 75, 134, 224,
+- 108, 38, 36, 229, 201, 9, 241, 212, 185, 2,
+- 80, 35, 46, 41, 0, 6, 152, 175, 108, 11,
+- 64, 208, 103, 213, 251, 62, 0, 214, 36, 122,
+- 22, 126, 207, 28, 71, 196, 130, 88, 44, 88,
+- 123, 66, 92, 80, 169, 1, 220, 97, 14, 252,
+- 201, 1, 126, 254, 94, 89, 105, 216, 138, 248,
+- 252, 178, 151, 140, 79, 111, 115, 236, 175, 96,
+- 46, 74, 177, 129, 255, 242, 21, 242, 131, 241,
+- 196, 96, 7, 39, 40, 0, 12, 246, 171, 77,
+- 32, 163, 85, 116, 67, 194, 126, 125, 152, 136,
+- 237, 140, 14, 219, 247, 39, 160, 1, 5, 254,
+- 35, 167, 54, 60, 228, 12, 252, 199, 20, 158,
+- 176, 28, 17, 102, 122, 49, 71, 0, 76, 247,
+- 39, 215, 39, 127, 163, 17, 1, 92, 119, 83,
+- 4, 0, 127, 190, 167, 127, 75, 193, 2, 76,
+- 32, 121, 12, 225, 5, 59, 3, 126, 74, 161,
+- 2, 61, 96, 44, 21, 144, 74, 171, 50, 0,
+- 112, 21, 89, 35, 7, 31, 16, 192, 37, 148,
+- 38, 127, 204, 179, 0, 23, 176, 0, 211, 115,
+- 58, 216, 147, 128, 125, 178, 2, 40, 180, 20,
+- 50, 64, 107, 16, 161, 6, 10, 240, 6, 128,
+- 32, 5, 112, 161, 2, 15, 48, 3, 139, 51,
+- 3, 220, 22, 1, 133, 23, 35, 157, 231, 28,
+- 113, 22, 34, 170, 215, 46, 136, 87, 1, 143,
+- 192, 57, 17, 32, 129, 201, 98, 131, 75, 1,
+- 4, 133, 208, 9, 22, 65, 5, 72, 128, 5,
+- 90, 240, 2, 196, 162, 20, 198, 160, 12, 4,
+- 16, 58, 52, 232, 1, 189, 231, 18, 107, 162,
+- 33, 141, 130, 125, 10, 240, 30, 158, 151, 127,
+- 55, 8, 4, 166, 96, 14, 35, 225, 2, 151,
+- 64, 10, 111, 49, 24, 85, 96, 6, 24, 176,
+- 2, 180, 82, 101, 74, 230, 134, 200, 244, 123,
+- 8, 32, 2, 11, 56, 45, 62, 0, 126, 64,
+- 255, 0, 8, 96, 160, 5, 56, 145, 6, 127,
+- 80, 8, 19, 3, 23, 49, 240, 9, 139, 160,
+- 21, 198, 114, 70, 139, 8, 26, 75, 104, 87,
+- 28, 215, 30, 107, 56, 47, 13, 178, 2, 252,
+- 183, 7, 132, 48, 46, 182, 225, 2, 20, 215,
+- 24, 187, 225, 7, 130, 216, 28, 188, 167, 37,
+- 111, 168, 33, 32, 144, 4, 159, 168, 37, 32,
+- 192, 3, 67, 112, 2, 56, 192, 127, 205, 0,
+- 5, 81, 2, 0, 104, 81, 4, 93, 32, 5,
+- 50, 176, 7, 240, 0, 139, 31, 40, 29, 57,
+- 176, 139, 180, 215, 134, 14, 50, 4, 4, 56,
+- 45, 10, 192, 122, 174, 0, 9, 252, 151, 14,
+- 194, 80, 140, 5, 177, 5, 84, 208, 7, 80,
+- 32, 7, 1, 240, 6, 103, 144, 13, 56, 192,
+- 129, 3, 48, 2, 68, 48, 7, 124, 166, 37,
+- 16, 240, 98, 249, 145, 3, 81, 112, 125, 43,
+- 48, 6, 39, 128, 30, 39, 96, 6, 128, 40,
+- 63, 5, 144, 3, 163, 0, 7, 151, 166, 20,
+- 82, 64, 8, 146, 8, 142, 9, 129, 5, 33,
+- 128, 4, 232, 64, 90, 68, 192, 129, 64, 32,
+- 9, 26, 114, 123, 28, 39, 2, 33, 144, 4,
+- 46, 65, 4, 85, 16, 140, 76, 225, 22, 176,
+- 40, 3, 64, 240, 22, 130, 112, 9, 124, 165,
+- 144, 9, 193, 138, 225, 160, 51, 139, 80, 144,
+- 187, 178, 4, 242, 227, 3, 8, 80, 45, 204,
+- 33, 63, 16, 208, 108, 103, 190, 48, 14, 20,
+- 160, 2, 32, 9, 139, 62, 249, 4, 24, 136,
+- 146, 14, 97, 8, 129, 0, 1, 67, 192, 3,
+- 5, 128, 59, 65, 200, 20, 75, 176, 4, 52,
+- 192, 142, 112, 1, 4, 205, 23, 132, 43, 80,
+- 9, 158, 16, 2, 124, 114, 142, 103, 240, 7,
+- 221, 160, 3, 58, 192, 4, 47, 32, 148, 21,
+- 225, 4, 72, 128, 4, 152, 224, 18, 62, 32,
+- 9, 1, 232, 147, 62, 217, 1, 70, 49, 13,
+- 186, 80, 14, 137, 160, 0, 73, 112, 118, 95,
+- 160, 4, 152, 144, 3, 13, 137, 5, 98, 201,
+- 17, 70, 0, 10, 55, 25, 2, 8, 224, 3,
+- 231, 32, 5, 82, 208, 5, 50, 208, 1, 196,
+- 2, 4, 130, 96, 3, 71, 224, 6, 183, 80,
+- 7, 47, 96, 113, 7, 1, 6, 84, 0, 134,
+- 2, 225, 4, 125, 144, 6, 9, 217, 151, 27,
+- 225, 4, 77, 208, 4, 119, 249, 10, 13, 169,
+- 7, 4, 129, 5, 84, 208, 62, 158, 185, 154,
+- 8, 177, 5, 80, 208, 153, 172, 25, 155, 178,
+- 57, 155, 180, 41, 148, 1, 1, 0, 59, 0 };
+--- php-5.2.4/main/php_logos.c.easter
++++ php-5.2.4/main/php_logos.c
+@@ -56,7 +56,6 @@ int php_init_info_logos(void)
+ return FAILURE;
+
+ php_register_info_logo(PHP_LOGO_GUID , "image/gif", php_logo , sizeof(php_logo));
+- php_register_info_logo(PHP_EGG_LOGO_GUID, "image/gif", php_egg_logo, sizeof(php_egg_logo));
+ php_register_info_logo(ZEND_LOGO_GUID , "image/gif", zend_logo , sizeof(zend_logo));
+
+ return SUCCESS;
+--- php-5.2.4/ext/standard/info.c.easter
++++ php-5.2.4/ext/standard/info.c
+@@ -1058,21 +1058,7 @@ PHP_FUNCTION(phpcredits)
+ */
+ PHPAPI char *php_logo_guid(void)
+ {
+- char *logo_guid;
+-
+- time_t the_time;
+- struct tm *ta, tmbuf;
+-
+- the_time = time(NULL);
+- ta = php_localtime_r(&the_time, &tmbuf);
+-
+- if (ta && (ta->tm_mon==3) && (ta->tm_mday==1)) {
+- logo_guid = PHP_EGG_LOGO_GUID;
+- } else {
+- logo_guid = PHP_LOGO_GUID;
+- }
+-
+- return estrdup(logo_guid);
++ return estrdup(PHP_LOGO_GUID);
+
+ }
+ /* }}} */
+@@ -1103,18 +1089,6 @@ PHP_FUNCTION(php_real_logo_guid)
+ }
+ /* }}} */
+
+-/* {{{ proto string php_egg_logo_guid(void)
+- Return the special ID used to request the PHP logo in phpinfo screens*/
+-PHP_FUNCTION(php_egg_logo_guid)
+-{
+- if (ZEND_NUM_ARGS() != 0) {
+- WRONG_PARAM_COUNT;
+- }
+-
+- RETURN_STRINGL(PHP_EGG_LOGO_GUID, sizeof(PHP_EGG_LOGO_GUID)-1, 1);
+-}
+-/* }}} */
+-
+ /* {{{ proto string zend_logo_guid(void)
+ Return the special ID used to request the Zend logo in phpinfo screens*/
+ PHP_FUNCTION(zend_logo_guid)
+--- php-5.2.4/ext/standard/info.h.easter
++++ php-5.2.4/ext/standard/info.h
+@@ -51,7 +51,6 @@
+ #endif /* HAVE_CREDITS_DEFS */
+
+ #define PHP_LOGO_GUID "PHPE9568F34-D428-11d2-A769-00AA001ACF42"
+-#define PHP_EGG_LOGO_GUID "PHPE9568F36-D428-11d2-A769-00AA001ACF42"
+ #define ZEND_LOGO_GUID "PHPE9568F35-D428-11d2-A769-00AA001ACF42"
+ #define PHP_CREDITS_GUID "PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000"
+
+@@ -62,7 +61,6 @@ PHP_FUNCTION(phpcredits);
+ PHP_FUNCTION(php_logo_guid);
+ PHP_FUNCTION(php_real_logo_guid);
+ PHP_FUNCTION(zend_logo_guid);
+-PHP_FUNCTION(php_egg_logo_guid);
+ PHP_FUNCTION(php_sapi_name);
+ PHP_FUNCTION(php_uname);
+ PHP_FUNCTION(php_ini_scanned_files);
+--- php-5.2.4/ext/standard/basic_functions.c.easter
++++ php-5.2.4/ext/standard/basic_functions.c
+@@ -1753,10 +1753,6 @@ ZEND_BEGIN_ARG_INFO(arginfo_php_real_log
+ ZEND_END_ARG_INFO()
+
+ static
+-ZEND_BEGIN_ARG_INFO(arginfo_php_egg_logo_guid, 0)
+-ZEND_END_ARG_INFO()
+-
+-static
+ ZEND_BEGIN_ARG_INFO(arginfo_zend_logo_guid, 0)
+ ZEND_END_ARG_INFO()
+
+@@ -3135,7 +3131,6 @@ zend_function_entry basic_functions[] =
+ PHP_FE(phpcredits, arginfo_phpcredits)
+ PHP_FE(php_logo_guid, arginfo_php_logo_guid)
+ PHP_FE(php_real_logo_guid, arginfo_php_real_logo_guid)
+- PHP_FE(php_egg_logo_guid, arginfo_php_egg_logo_guid)
+ PHP_FE(zend_logo_guid, arginfo_zend_logo_guid)
+ PHP_FE(php_sapi_name, arginfo_php_sapi_name)
+ PHP_FE(php_uname, arginfo_php_uname)
diff --git a/php-5.2.4-embed.patch b/php-5.2.4-embed.patch
new file mode 100644
index 0000000..44276de
--- /dev/null
+++ b/php-5.2.4-embed.patch
@@ -0,0 +1,12 @@
+--- php-5.2.4/sapi/embed/config.m4.embed
++++ php-5.2.4/sapi/embed/config.m4
+@@ -12,7 +12,8 @@ if test "$PHP_EMBED" != "no"; then
+ case "$PHP_EMBED" in
+ yes|shared)
+ PHP_EMBED_TYPE=shared
+- INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(prefix)/lib; \$(INSTALL) -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)\$(prefix)/lib"
++ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -release \$(PHP_VERSION)"
++ INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(libdir); \$(LIBTOOL) --mode=install \$(INSTALL) -m 0755 \$(OVERALL_TARGET) \$(INSTALL_ROOT)\$(libdir)"
+ ;;
+ static)
+ PHP_EMBED_TYPE=static
diff --git a/php-5.2.4-norpath.patch b/php-5.2.4-norpath.patch
new file mode 100644
index 0000000..4603ccf
--- /dev/null
+++ b/php-5.2.4-norpath.patch
@@ -0,0 +1,18 @@
+--- php-5.2.4/acinclude.m4.norpath
++++ php-5.2.4/acinclude.m4
+@@ -432,6 +432,7 @@ AC_DEFUN([PHP_EVAL_INCLINE],[
+ dnl internal, don't use
+ AC_DEFUN([_PHP_ADD_LIBPATH_GLOBAL],[
+ PHP_RUN_ONCE(LIBPATH, $1, [
++ test "x$PHP_RPATH" != "xno" &&
+ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$1"
+ LDFLAGS="$LDFLAGS -L$1"
+ PHP_RPATHS="$PHP_RPATHS $1"
+@@ -451,6 +452,7 @@ AC_DEFUN([PHP_ADD_LIBPATH],[
+ ],[
+ if test "$ext_shared" = "yes"; then
+ $2="-L$ai_p [$]$2"
++ test "x$PHP_RPATH" != "xno" && \
+ test -n "$ld_runpath_switch" && $2="$ld_runpath_switch$ai_p [$]$2"
+ else
+ _PHP_ADD_LIBPATH_GLOBAL([$ai_p])
diff --git a/php-5.2.5-systzdata.patch b/php-5.2.5-systzdata.patch
new file mode 100644
index 0000000..abeac33
--- /dev/null
+++ b/php-5.2.5-systzdata.patch
@@ -0,0 +1,263 @@
+
+Add support for use of the system timezone database, rather
+than embedding a copy. Discussed upstream but was not desired.
+
+History:
+r3: fix a crash if /usr/share/zoneinfo doesn't exist (Raphael Geissert)
+r2: add filesystem trawl to set up name alias index
+r1: initial revision
+
+--- php-5.2.5/ext/date/lib/timelib.m4.systzdata
++++ php-5.2.5/ext/date/lib/timelib.m4
+@@ -78,3 +78,17 @@ stdlib.h
+
+ dnl Check for strtoll, atoll
+ AC_CHECK_FUNCS(strtoll atoll strftime)
++
++PHP_ARG_WITH(system-tzdata, for use of system timezone data,
++[ --with-system-tzdata[=DIR] to specify use of system timezone data],
++no, no)
++
++if test "$PHP_SYSTEM_TZDATA" != "no"; then
++ AC_DEFINE(HAVE_SYSTEM_TZDATA, 1, [Define if system timezone data is used])
++
++ if test "$PHP_SYSTEM_TZDATA" != "yes"; then
++ AC_DEFINE_UNQUOTED(HAVE_SYSTEM_TZDATA_PREFIX, "$PHP_SYSTEM_TZDATA",
++ [Define for location of system timezone data])
++ fi
++fi
++
+--- php-5.2.5/ext/date/lib/parse_tz.c.systzdata
++++ php-5.2.5/ext/date/lib/parse_tz.c
+@@ -20,6 +20,16 @@
+
+ #include "timelib.h"
+
++#ifdef HAVE_SYSTEM_TZDATA
++#include <sys/mman.h>
++#include <sys/stat.h>
++#include <limits.h>
++#include <fcntl.h>
++#include <unistd.h>
++
++#include "php_scandir.h"
++#endif
++
+ #include <stdio.h>
+
+ #ifdef HAVE_LOCALE_H
+@@ -31,7 +41,10 @@
+ #else
+ #include <strings.h>
+ #endif
++
++#ifndef HAVE_SYSTEM_TZDATA
+ #include "timezonedb.h"
++#endif
+
+ #if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__))
+ # if defined(__LITTLE_ENDIAN__)
+@@ -206,6 +219,195 @@ void timelib_dump_tzinfo(timelib_tzinfo
+ }
+ }
+
++#ifdef HAVE_SYSTEM_TZDATA
++
++#ifdef HAVE_SYSTEM_TZDATA_PREFIX
++#define ZONEINFO_PREFIX HAVE_SYSTEM_TZDATA_PREFIX
++#else
++#define ZONEINFO_PREFIX "/usr/share/zoneinfo"
++#endif
++
++static const timelib_tzdb *timezonedb_system = NULL;
++
++/* Filter out some non-tzdata files and the posix/right databases, if
++ * present. */
++static int index_filter(const struct dirent *ent)
++{
++ return strcmp(ent->d_name, ".") != 0
++ && strcmp(ent->d_name, "..") != 0
++ && strcmp(ent->d_name, "posix") != 0
++ && strcmp(ent->d_name, "posixrules") != 0
++ && strcmp(ent->d_name, "right") != 0
++ && strstr(ent->d_name, ".tab") == NULL;
++}
++
++/* Create the zone identifier index by trawling the filesystem. */
++static void create_zone_index(timelib_tzdb *db)
++{
++ size_t dirstack_size, dirstack_top;
++ size_t index_size, index_next;
++ timelib_tzdb_index_entry *db_index;
++ char **dirstack;
++
++ /* LIFO stack to hold directory entries to scan; each slot is a
++ * directory name relative to the zoneinfo prefix. */
++ dirstack_size = 32;
++ dirstack = malloc(dirstack_size * sizeof *dirstack);
++ dirstack_top = 1;
++ dirstack[0] = strdup("");
++
++ /* Index array. */
++ index_size = 64;
++ db_index = malloc(index_size * sizeof *db_index);
++ index_next = 0;
++
++ do {
++ struct dirent **ents;
++ char name[PATH_MAX], *top;
++ int count;
++
++ /* Pop the top stack entry, and iterate through its contents. */
++ top = dirstack[--dirstack_top];
++ snprintf(name, sizeof name, ZONEINFO_PREFIX "/%s", top);
++
++ count = php_scandir(name, &ents, index_filter, php_alphasort);
++
++ while (count > 0) {
++ struct stat st;
++ const char *leaf = ents[count - 1]->d_name;
++
++ snprintf(name, sizeof name, ZONEINFO_PREFIX "/%s/%s",
++ top, leaf);
++
++ if (strlen(name) && stat(name, &st) == 0) {
++ /* Name, relative to the zoneinfo prefix. */
++ const char *root = top;
++
++ if (root[0] == '/') root++;
++
++ snprintf(name, sizeof name, "%s%s%s", root,
++ *root ? "/": "", leaf);
++
++ if (S_ISDIR(st.st_mode)) {
++ if (dirstack_top == dirstack_size) {
++ dirstack_size *= 2;
++ dirstack = realloc(dirstack,
++ dirstack_size * sizeof *dirstack);
++ }
++ dirstack[dirstack_top++] = strdup(name);
++ }
++ else {
++ if (index_next == index_size) {
++ index_size *= 2;
++ db_index = realloc(db_index,
++ index_size * sizeof *db_index);
++ }
++
++ db_index[index_next].id = strdup(name);
++ db_index[index_next++].pos = 0;
++ }
++ }
++
++ free(ents[--count]);
++ }
++
++ if (count != -1) free(ents);
++ free(top);
++ } while (dirstack_top);
++
++ db->index = db_index;
++ db->index_size = index_next;
++
++ free(dirstack);
++}
++
++/* Return the mmap()ed tzfile if found, else NULL. On success, the
++ * length of the mapped data is placed in *length. */
++static char *map_tzfile(const char *timezone, size_t *length)
++{
++ char fname[PATH_MAX];
++ struct stat st;
++ char *p;
++ int fd;
++
++ if (strstr(timezone, "..") != NULL) {
++ return NULL;
++ }
++
++ snprintf(fname, sizeof fname, ZONEINFO_PREFIX "/%s", timezone);
++
++ fd = open(fname, O_RDONLY);
++ if (fd == -1) {
++ return NULL;
++ } else if (fstat(fd, &st) != 0 || st.st_size < 21) {
++ close(fd);
++ return NULL;
++ }
++
++ *length = st.st_size;
++ p = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
++ close(fd);
++
++ return p != MAP_FAILED ? p : NULL;
++}
++
++const timelib_tzdb *timelib_builtin_db(void)
++{
++ if (timezonedb_system == NULL) {
++ timelib_tzdb *tmp = malloc(sizeof *tmp);
++
++ tmp->version = "0.system";
++ tmp->data = NULL;
++ create_zone_index(tmp);
++ timezonedb_system = tmp;
++ }
++
++ return timezonedb_system;
++}
++
++const timelib_tzdb_index_entry *timelib_timezone_builtin_identifiers_list(int *count)
++{
++ *count = timezonedb_system->index_size;
++ return timezonedb_system->index;
++}
++
++int timelib_timezone_id_is_valid(char *timezone, const timelib_tzdb *tzdb)
++{
++ char fname[PATH_MAX];
++
++ if (strstr(timezone, "..") != NULL) {
++ return 0;
++ }
++
++ snprintf(fname, sizeof fname, ZONEINFO_PREFIX "/%s", timezone);
++
++ return access(fname, R_OK) == 0 ? 1 : 0;
++}
++
++timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb)
++{
++ char *tzf, *orig;
++ timelib_tzinfo *tmp;
++ size_t len;
++
++ orig = map_tzfile(timezone, &len);
++ if (orig == NULL) {
++ return NULL;
++ }
++
++ tmp = timelib_tzinfo_ctor(timezone);
++
++ tzf = orig + 20;
++ read_header(&tzf, tmp);
++ read_transistions(&tzf, tmp);
++ read_types(&tzf, tmp);
++
++ munmap(orig, len);
++
++ return tmp;
++}
++#else /* !HAVE_SYSTEM_TZDATA */
++
+ static int seek_to_tz_position(const unsigned char **tzf, char *timezone, const timelib_tzdb *tzdb)
+ {
+ int left = 0, right = tzdb->index_size - 1;
+@@ -279,6 +481,7 @@ timelib_tzinfo *timelib_parse_tzfile(cha
+
+ return tmp;
+ }
++#endif
+
+ static ttinfo* fetch_timezone_offset(timelib_tzinfo *tz, timelib_sll ts, timelib_sll *transition_time)
+ {
diff --git a/php-5.2.7-tests-dashn.patch b/php-5.2.7-tests-dashn.patch
new file mode 100644
index 0000000..8d70d03
--- /dev/null
+++ b/php-5.2.7-tests-dashn.patch
@@ -0,0 +1,11 @@
+--- php-5.2.7/Makefile.global.orig 2008-12-05 07:37:27.000000000 +0100
++++ php-5.2.7/Makefile.global 2008-12-05 07:37:55.000000000 +0100
+@@ -67,7 +67,7 @@
+ done; \
+ fi
+
+-PHP_TEST_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1'
++PHP_TEST_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1'
+ PHP_TEST_SHARED_EXTENSIONS = ` \
+ if test "x$(PHP_MODULES)" != "x"; then \
+ for i in $(PHP_MODULES)""; do \
diff --git a/php-5.2.8-install.patch b/php-5.2.8-install.patch
new file mode 100644
index 0000000..ad615c4
--- /dev/null
+++ b/php-5.2.8-install.patch
@@ -0,0 +1,11 @@
+--- php-5.2.8/sapi/apache2handler/config.m4.install
++++ php-5.2.8/sapi/apache2handler/config.m4
+@@ -68,7 +68,7 @@ if test "$PHP_APXS2" != "no"; then
+ fi
+
+ APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
+- if test -z `$APXS -q SYSCONFDIR`; then
++ if true; then
+ INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
+ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
+ -i -n php5"
diff --git a/php-5.2.8-phpize64.patch b/php-5.2.8-phpize64.patch
new file mode 100644
index 0000000..7a14eb5
--- /dev/null
+++ b/php-5.2.8-phpize64.patch
@@ -0,0 +1,22 @@
+--- php-5.2.8/scripts/Makefile.frag.phpize64
++++ php-5.2.8/scripts/Makefile.frag
+@@ -4,7 +4,7 @@
+ #
+
+ phpincludedir = $(includedir)/php
+-phpbuilddir = $(libdir)/build
++phpbuilddir = $(libdir)/php/build
+
+ BUILD_FILES = \
+ scripts/phpize.m4 \
+--- php-5.2.8/scripts/phpize.in.phpize64
++++ php-5.2.8/scripts/phpize.in
+@@ -3,7 +3,7 @@
+ # Variable declaration
+ prefix='@prefix@'
+ exec_prefix="`eval echo @exec_prefix@`"
+-phpdir="`eval echo @libdir@`/build"
++phpdir="@libdir@/php/build"
+ includedir="`eval echo @includedir@`/php"
+ builddir="`pwd`"
+ SED="@SED@"
diff --git a/php-5.2.8-recode.patch b/php-5.2.8-recode.patch
new file mode 100644
index 0000000..024c54b
--- /dev/null
+++ b/php-5.2.8-recode.patch
@@ -0,0 +1,19 @@
+
+Allow recode to be built with imap and mysql. The conflict is due
+to symbol conflicts between the recode libraries and anything else,
+but these should not matter (right? right! everything is fine, really)
+if the extensions are loaded as DSOs *and* the libraries are loaded
+using the magic RTLD_DEEPBIND.
+
+--- php-5.2.8/ext/recode/config9.m4.recode
++++ php-5.2.8/ext/recode/config9.m4
+@@ -4,9 +4,6 @@ dnl
+
+ dnl Check for extensions with which Recode can not work
+ if test "$PHP_RECODE" != "no"; then
+- test "$PHP_IMAP" != "no" && recode_conflict="$recode_conflict imap"
+- test "$PHP_MYSQL" != "no" && recode_conflict="$recode_conflict mysql"
+-
+ if test -n "$recode_conflict"; then
+ AC_MSG_ERROR([recode extension can not be configured together with:$recode_conflict])
+ fi
diff --git a/php-remi.ini b/php-remi.ini
new file mode 100644
index 0000000..86031a0
--- /dev/null
+++ b/php-remi.ini
@@ -0,0 +1,1280 @@
+[PHP]
+
+;;;;;;;;;;;;;;;;;;;
+; About php.ini ;
+;;;;;;;;;;;;;;;;;;;
+; This file controls many aspects of PHP's behavior. In order for PHP to
+; read it, it must be named 'php.ini'. PHP looks for it in the current
+; working directory, in the path designated by the environment variable
+; PHPRC, and in the path that was defined in compile time (in that order).
+; Under Windows, the compile-time path is the Windows directory. The
+; path in which the php.ini file is looked for can be overridden using
+; the -c argument in command line mode.
+;
+; The syntax of the file is extremely simple. Whitespace and Lines
+; beginning with a semicolon are silently ignored (as you probably guessed).
+; Section headers (e.g. [Foo]) are also silently ignored, even though
+; they might mean something in the future.
+;
+; Directives are specified using the following syntax:
+; directive = value
+; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
+;
+; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
+; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
+; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo").
+;
+; Expressions in the INI file are limited to bitwise operators and parentheses:
+; | bitwise OR
+; & bitwise AND
+; ~ bitwise NOT
+; ! boolean NOT
+;
+; Boolean flags can be turned on using the values 1, On, True or Yes.
+; They can be turned off using the values 0, Off, False or No.
+;
+; An empty string can be denoted by simply not writing anything after the equal
+; sign, or by using the None keyword:
+;
+; foo = ; sets foo to an empty string
+; foo = none ; sets foo to an empty string
+; foo = "none" ; sets foo to the string 'none'
+;
+; If you use constants in your value, and these constants belong to a
+; dynamically loaded extension (either a PHP extension or a Zend extension),
+; you may only use these constants *after* the line that loads the extension.
+;
+;
+;;;;;;;;;;;;;;;;;;;
+; About this file ;
+;;;;;;;;;;;;;;;;;;;
+; This is the recommended, PHP 5-style version of the php.ini-dist file. It
+; sets some non standard settings, that make PHP more efficient, more secure,
+; and encourage cleaner coding.
+;
+; The price is that with these settings, PHP may be incompatible with some
+; applications, and sometimes, more difficult to develop with. Using this
+; file is warmly recommended for production sites. As all of the changes from
+; the standard settings are thoroughly documented, you can go over each one,
+; and decide whether you want to use it or not.
+;
+; For general information about the php.ini file, please consult the php.ini-dist
+; file, included in your PHP distribution.
+;
+; This file is different from the php.ini-dist file in the fact that it features
+; different values for several directives, in order to improve performance, while
+; possibly breaking compatibility with the standard out-of-the-box behavior of
+; PHP. Please make sure you read what's different, and modify your scripts
+; accordingly, if you decide to use this file instead.
+;
+; - register_long_arrays = Off [Performance]
+; Disables registration of the older (and deprecated) long predefined array
+; variables ($HTTP_*_VARS). Instead, use the superglobals that were
+; introduced in PHP 4.1.0
+; - display_errors = Off [Security]
+; With this directive set to off, errors that occur during the execution of
+; scripts will no longer be displayed as a part of the script output, and thus,
+; will no longer be exposed to remote users. With some errors, the error message
+; content may expose information about your script, web server, or database
+; server that may be exploitable for hacking. Production sites should have this
+; directive set to off.
+; - log_errors = On [Security]
+; This directive complements the above one. Any errors that occur during the
+; execution of your script will be logged (typically, to your server's error log,
+; but can be configured in several ways). Along with setting display_errors to off,
+; this setup gives you the ability to fully understand what may have gone wrong,
+; without exposing any sensitive information to remote users.
+; - output_buffering = 4096 [Performance]
+; Set a 4KB output buffer. Enabling output buffering typically results in less
+; writes, and sometimes less packets sent on the wire, which can often lead to
+; better performance. The gain this directive actually yields greatly depends
+; on which Web server you're working with, and what kind of scripts you're using.
+; - register_argc_argv = Off [Performance]
+; Disables registration of the somewhat redundant $argv and $argc global
+; variables.
+; - magic_quotes_gpc = Off [Performance]
+; Input data is no longer escaped with slashes so that it can be sent into
+; SQL databases without further manipulation. Instead, you should use the
+; function addslashes() on each input element you wish to send to a database.
+; - variables_order = "GPCS" [Performance]
+; The environment variables are not hashed into the $_ENV. To access
+; environment variables, you can use getenv() instead.
+; - error_reporting = E_ALL [Code Cleanliness, Security(?)]
+; By default, PHP suppresses errors of type E_NOTICE. These error messages
+; are emitted for non-critical errors, but that could be a symptom of a bigger
+; problem. Most notably, this will cause error messages about the use
+; of uninitialized variables to be displayed.
+; - allow_call_time_pass_reference = Off [Code cleanliness]
+; It's not possible to decide to force a variable to be passed by reference
+; when calling a function. The PHP 4 style to do this is by making the
+; function require the relevant argument by reference.
+
+;;;;;;;;;;;;;;;;;;;;
+; Language Options ;
+;;;;;;;;;;;;;;;;;;;;
+
+; Enable the PHP scripting language engine under Apache.
+engine = On
+
+; Enable compatibility mode with Zend Engine 1 (PHP 4.x)
+zend.ze1_compatibility_mode = Off
+
+; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
+; NOTE: Using short tags should be avoided when developing applications or
+; libraries that are meant for redistribution, or deployment on PHP
+; servers which are not under your control, because short tags may not
+; be supported on the target server. For portable, redistributable code,
+; be sure not to use short tags.
+short_open_tag = On
+
+; Allow ASP-style <% %> tags.
+asp_tags = Off
+
+; The number of significant digits displayed in floating point numbers.
+precision = 14
+
+; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
+y2k_compliance = On
+
+; Output buffering allows you to send header lines (including cookies) even
+; after you send body content, at the price of slowing PHP's output layer a
+; bit. You can enable output buffering during runtime by calling the output
+; buffering functions. You can also enable output buffering for all files by
+; setting this directive to On. If you wish to limit the size of the buffer
+; to a certain size - you can use a maximum number of bytes instead of 'On', as
+; a value for this directive (e.g., output_buffering=4096).
+output_buffering = 4096
+
+; You can redirect all of the output of your scripts to a function. For
+; example, if you set output_handler to "mb_output_handler", character
+; encoding will be transparently converted to the specified encoding.
+; Setting any output handler automatically turns on output buffering.
+; Note: People who wrote portable scripts should not depend on this ini
+; directive. Instead, explicitly set the output handler using ob_start().
+; Using this ini directive may cause problems unless you know what script
+; is doing.
+; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
+; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
+; Note: output_handler must be empty if this is set 'On' !!!!
+; Instead you must use zlib.output_handler.
+;output_handler =
+
+; Transparent output compression using the zlib library
+; Valid values for this option are 'off', 'on', or a specific buffer size
+; to be used for compression (default is 4KB)
+; Note: Resulting chunk size may vary due to nature of compression. PHP
+; outputs chunks that are few hundreds bytes each as a result of
+; compression. If you prefer a larger chunk size for better
+; performance, enable output_buffering in addition.
+; Note: You need to use zlib.output_handler instead of the standard
+; output_handler, or otherwise the output will be corrupted.
+zlib.output_compression = Off
+;zlib.output_compression_level = -1
+
+; You cannot specify additional output handlers if zlib.output_compression
+; is activated here. This setting does the same as output_handler but in
+; a different order.
+;zlib.output_handler =
+
+; Implicit flush tells PHP to tell the output layer to flush itself
+; automatically after every output block. This is equivalent to calling the
+; PHP function flush() after each and every call to print() or echo() and each
+; and every HTML block. Turning this option on has serious performance
+; implications and is generally recommended for debugging purposes only.
+implicit_flush = Off
+
+; The unserialize callback function will be called (with the undefined class'
+; name as parameter), if the unserializer finds an undefined class
+; which should be instantiated.
+; A warning appears if the specified function is not defined, or if the
+; function doesn't include/implement the missing class.
+; So only set this entry, if you really want to implement such a
+; callback-function.
+unserialize_callback_func=
+
+; When floats & doubles are serialized store serialize_precision significant
+; digits after the floating point. The default value ensures that when floats
+; are decoded with unserialize, the data will remain the same.
+serialize_precision = 100
+
+; Whether to enable the ability to force arguments to be passed by reference
+; at function call time. This method is deprecated and is likely to be
+; unsupported in future versions of PHP/Zend. The encouraged method of
+; specifying which arguments should be passed by reference is in the function
+; declaration. You're encouraged to try and turn this option Off and make
+; sure your scripts work properly with it in order to ensure they will work
+; with future versions of the language (you will receive a warning each time
+; you use this feature, and the argument will be passed by value instead of by
+; reference).
+allow_call_time_pass_reference = Off
+
+;
+; Safe Mode
+;
+safe_mode = Off
+
+; By default, Safe Mode does a UID compare check when
+; opening files. If you want to relax this to a GID compare,
+; then turn on safe_mode_gid.
+safe_mode_gid = Off
+
+; When safe_mode is on, UID/GID checks are bypassed when
+; including files from this directory and its subdirectories.
+; (directory must also be in include_path or full path must
+; be used when including)
+safe_mode_include_dir =
+
+; When safe_mode is on, only executables located in the safe_mode_exec_dir
+; will be allowed to be executed via the exec family of functions.
+safe_mode_exec_dir =
+
+; Setting certain environment variables may be a potential security breach.
+; This directive contains a comma-delimited list of prefixes. In Safe Mode,
+; the user may only alter environment variables whose names begin with the
+; prefixes supplied here. By default, users will only be able to set
+; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
+;
+; Note: If this directive is empty, PHP will let the user modify ANY
+; environment variable!
+safe_mode_allowed_env_vars = PHP_
+
+; This directive contains a comma-delimited list of environment variables that
+; the end user won't be able to change using putenv(). These variables will be
+; protected even if safe_mode_allowed_env_vars is set to allow to change them.
+safe_mode_protected_env_vars = LD_LIBRARY_PATH
+
+; open_basedir, if set, limits all file operations to the defined directory
+; and below. This directive makes most sense if used in a per-directory
+; or per-virtualhost web server configuration file. This directive is
+; *NOT* affected by whether Safe Mode is turned On or Off.
+;open_basedir =
+
+; This directive allows you to disable certain functions for security reasons.
+; It receives a comma-delimited list of function names. This directive is
+; *NOT* affected by whether Safe Mode is turned On or Off.
+disable_functions =
+
+; This directive allows you to disable certain classes for security reasons.
+; It receives a comma-delimited list of class names. This directive is
+; *NOT* affected by whether Safe Mode is turned On or Off.
+disable_classes =
+
+; Colors for Syntax Highlighting mode. Anything that's acceptable in
+; <span style="color: ???????"> would work.
+;highlight.string = #DD0000
+;highlight.comment = #FF9900
+;highlight.keyword = #007700
+;highlight.bg = #FFFFFF
+;highlight.default = #0000BB
+;highlight.html = #000000
+
+; If enabled, the request will be allowed to complete even if the user aborts
+; the request. Consider enabling it if executing long request, which may end up
+; being interrupted by the user or a browser timing out.
+; ignore_user_abort = On
+
+; Determines the size of the realpath cache to be used by PHP. This value should
+; be increased on systems where PHP opens many files to reflect the quantity of
+; the file operations performed.
+; realpath_cache_size=16k
+
+; Duration of time, in seconds for which to cache realpath information for a given
+; file or directory. For systems with rarely changing files, consider increasing this
+; value.
+; realpath_cache_ttl=120
+
+;
+; Misc
+;
+; Decides whether PHP may expose the fact that it is installed on the server
+; (e.g. by adding its signature to the Web server header). It is no security
+; threat in any way, but it makes it possible to determine whether you use PHP
+; on your server or not.
+expose_php = On
+
+
+;;;;;;;;;;;;;;;;;;;
+; Resource Limits ;
+;;;;;;;;;;;;;;;;;;;
+
+max_execution_time = 30 ; Maximum execution time of each script, in seconds
+max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
+;max_input_nesting_level = 64 ; Maximum input variable nesting level
+memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Error handling and logging ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; error_reporting is a bit-field. Or each number up to get desired error
+; reporting level
+; E_ALL - All errors and warnings (doesn't include E_STRICT)
+; E_ERROR - fatal run-time errors
+; E_RECOVERABLE_ERROR - almost fatal run-time errors
+; E_WARNING - run-time warnings (non-fatal errors)
+; E_PARSE - compile-time parse errors
+; E_NOTICE - run-time notices (these are warnings which often result
+; from a bug in your code, but it's possible that it was
+; intentional (e.g., using an uninitialized variable and
+; relying on the fact it's automatically initialized to an
+; empty string)
+; E_STRICT - run-time notices, enable to have PHP suggest changes
+; to your code which will ensure the best interoperability
+; and forward compatibility of your code
+; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
+; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
+; initial startup
+; E_COMPILE_ERROR - fatal compile-time errors
+; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
+; E_USER_ERROR - user-generated error message
+; E_USER_WARNING - user-generated warning message
+; E_USER_NOTICE - user-generated notice message
+;
+; Examples:
+;
+; - Show all errors, except for notices and coding standards warnings
+;
+;error_reporting = E_ALL & ~E_NOTICE
+;
+; - Show all errors, except for notices
+;
+;error_reporting = E_ALL & ~E_NOTICE | E_STRICT
+;
+; - Show only errors
+;
+;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
+;
+; - Show all errors, except coding standards warnings
+;
+error_reporting = E_ALL
+
+; Print out errors (as a part of the output). For production web sites,
+; you're strongly encouraged to turn this feature off, and use error logging
+; instead (see below). Keeping display_errors enabled on a production web site
+; may reveal security information to end users, such as file paths on your Web
+; server, your database schema or other information.
+;
+; possible values for display_errors:
+;
+; Off - Do not display any errors
+; stderr - Display errors to STDERR (affects only CGI/CLI binaries!)
+; On or stdout - Display errors to STDOUT (default)
+;
+; To output errors to STDERR with CGI/CLI:
+;display_errors = "stderr"
+;
+; Default
+;
+display_errors = Off
+
+; Even when display_errors is on, errors that occur during PHP's startup
+; sequence are not displayed. It's strongly recommended to keep
+; display_startup_errors off, except for when debugging.
+display_startup_errors = Off
+
+; Log errors into a log file (server-specific log, stderr, or error_log (below))
+; As stated above, you're strongly advised to use error logging in place of
+; error displaying on production web sites.
+log_errors = On
+
+; Set maximum length of log_errors. In error_log information about the source is
+; added. The default is 1024 and 0 allows to not apply any maximum length at all.
+log_errors_max_len = 1024
+
+; Do not log repeated messages. Repeated errors must occur in same file on same
+; line until ignore_repeated_source is set true.
+ignore_repeated_errors = Off
+
+; Ignore source of message when ignoring repeated messages. When this setting
+; is On you will not log errors with repeated messages from different files or
+; source lines.
+ignore_repeated_source = Off
+
+; If this parameter is set to Off, then memory leaks will not be shown (on
+; stdout or in the log). This has only effect in a debug compile, and if
+; error reporting includes E_WARNING in the allowed list
+report_memleaks = On
+
+;report_zend_debug = 0
+
+; Store the last error/warning message in $php_errormsg (boolean).
+track_errors = Off
+
+; Disable the inclusion of HTML tags in error messages.
+; Note: Never use this feature for production boxes.
+;html_errors = Off
+
+; If html_errors is set On PHP produces clickable error messages that direct
+; to a page describing the error or function causing the error in detail.
+; You can download a copy of the PHP manual from http://www.php.net/docs.php
+; and change docref_root to the base URL of your local copy including the
+; leading '/'. You must also specify the file extension being used including
+; the dot.
+; Note: Never use this feature for production boxes.
+;docref_root = "/phpmanual/"
+;docref_ext = .html
+
+; String to output before an error message.
+;error_prepend_string = "<font color=ff0000>"
+
+; String to output after an error message.
+;error_append_string = "</font>"
+
+; Log errors to specified file.
+;error_log = filename
+
+; Log errors to syslog (Event Log on NT, not valid in Windows 95).
+;error_log = syslog
+
+
+;;;;;;;;;;;;;;;;;
+; Data Handling ;
+;;;;;;;;;;;;;;;;;
+;
+; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
+
+; The separator used in PHP generated URLs to separate arguments.
+; Default is "&".
+;arg_separator.output = "&amp;"
+
+; List of separator(s) used by PHP to parse input URLs into variables.
+; Default is "&".
+; NOTE: Every character in this directive is considered as separator!
+;arg_separator.input = ";&"
+
+; This directive describes the order in which PHP registers GET, POST, Cookie,
+; Environment and Built-in variables (G, P, C, E & S respectively, often
+; referred to as EGPCS or GPC). Registration is done from left to right, newer
+; values override older values.
+variables_order = "EGPCS"
+
+; Whether or not to register the EGPCS variables as global variables. You may
+; want to turn this off if you don't want to clutter your scripts' global scope
+; with user data. This makes most sense when coupled with track_vars - in which
+; case you can access all of the GPC variables through the $HTTP_*_VARS[],
+; variables.
+;
+; You should do your best to write your scripts so that they do not require
+; register_globals to be on; Using form variables as globals can easily lead
+; to possible security problems, if the code is not very well thought of.
+register_globals = Off
+
+; Whether or not to register the old-style input arrays, HTTP_GET_VARS
+; and friends. If you're not using them, it's recommended to turn them off,
+; for performance reasons.
+register_long_arrays = Off
+
+; This directive tells PHP whether to declare the argv&argc variables (that
+; would contain the GET information). If you don't use these variables, you
+; should turn it off for increased performance.
+register_argc_argv = Off
+
+; When enabled, the SERVER and ENV variables are created when they're first
+; used (Just In Time) instead of when the script starts. If these variables
+; are not used within a script, having this directive on will result in a
+; performance gain. The PHP directives register_globals, register_long_arrays,
+; and register_argc_argv must be disabled for this directive to have any affect.
+auto_globals_jit = On
+
+; Maximum size of POST data that PHP will accept.
+post_max_size = 8M
+
+; Magic quotes
+;
+
+; Magic quotes for incoming GET/POST/Cookie data.
+magic_quotes_gpc = Off
+
+; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
+magic_quotes_runtime = Off
+
+; Use Sybase-style magic quotes (escape ' with '' instead of \').
+magic_quotes_sybase = Off
+
+; Automatically add files before or after any PHP document.
+auto_prepend_file =
+auto_append_file =
+
+; As of 4.0b4, PHP always outputs a character encoding by default in
+; the Content-type: header. To disable sending of the charset, simply
+; set it to be empty.
+;
+; PHP's built-in default is text/html
+default_mimetype = "text/html"
+;default_charset = "iso-8859-1"
+
+; Always populate the $HTTP_RAW_POST_DATA variable.
+;always_populate_raw_post_data = On
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;
+; Paths and Directories ;
+;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; UNIX: "/path1:/path2"
+;include_path = ".:/php/includes"
+;
+; Windows: "\path1;\path2"
+;include_path = ".;c:\php\includes"
+
+; The root of the PHP pages, used only if nonempty.
+; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
+; if you are running php as a CGI under any web server (other than IIS)
+; see documentation for security issues. The alternate is to use the
+; cgi.force_redirect configuration below
+doc_root =
+
+; The directory under which PHP opens the script using /~username used only
+; if nonempty.
+user_dir =
+
+; Whether or not to enable the dl() function. The dl() function does NOT work
+; properly in multithreaded servers, such as IIS or Zeus, and is automatically
+; disabled on them.
+enable_dl = On
+
+; cgi.force_redirect is necessary to provide security running PHP as a CGI under
+; most web servers. Left undefined, PHP turns this on by default. You can
+; turn it off here AT YOUR OWN RISK
+; **You CAN safely turn this off for IIS, in fact, you MUST.**
+; cgi.force_redirect = 1
+
+; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
+; every request.
+; cgi.nph = 1
+
+; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
+; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
+; will look for to know it is OK to continue execution. Setting this variable MAY
+; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
+; cgi.redirect_status_env = ;
+
+; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
+; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
+; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
+; this to 1 will cause PHP CGI to fix it's paths to conform to the spec. A setting
+; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
+; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
+; cgi.fix_pathinfo=1
+
+; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
+; security tokens of the calling client. This allows IIS to define the
+; security context that the request runs under. mod_fastcgi under Apache
+; does not currently support this feature (03/17/2002)
+; Set to 1 if running under IIS. Default is zero.
+; fastcgi.impersonate = 1;
+
+; Disable logging through FastCGI connection
+; fastcgi.logging = 0
+
+; cgi.rfc2616_headers configuration option tells PHP what type of headers to
+; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
+; is supported by Apache. When this option is set to 1 PHP will send
+; RFC2616 compliant header.
+; Default is zero.
+;cgi.rfc2616_headers = 0
+
+
+;;;;;;;;;;;;;;;;
+; File Uploads ;
+;;;;;;;;;;;;;;;;
+
+; Whether to allow HTTP file uploads.
+file_uploads = On
+
+; Temporary directory for HTTP uploaded files (will use system default if not
+; specified).
+;upload_tmp_dir =
+
+; Maximum allowed size for uploaded files.
+upload_max_filesize = 2M
+
+
+;;;;;;;;;;;;;;;;;;
+; Fopen wrappers ;
+;;;;;;;;;;;;;;;;;;
+
+; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
+allow_url_fopen = On
+
+; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
+allow_url_include = Off
+
+; Define the anonymous ftp password (your email address)
+;from="john@doe.com"
+
+; Define the User-Agent string
+; user_agent="PHP"
+
+; Default timeout for socket based streams (seconds)
+default_socket_timeout = 60
+
+; If your scripts have to deal with files from Macintosh systems,
+; or you are running on a Mac and need to deal with files from
+; unix or win32 systems, setting this flag will cause PHP to
+; automatically detect the EOL character in those files so that
+; fgets() and file() will work regardless of the source of the file.
+; auto_detect_line_endings = Off
+
+
+;;;;;;;;;;;;;;;;;;;;;;
+; Dynamic Extensions ;
+;;;;;;;;;;;;;;;;;;;;;;
+;
+; If you wish to have an extension loaded automatically, use the following
+; syntax:
+;
+; extension=modulename.extension
+;
+; For example:
+;
+; extension=msql.so
+;
+; Note that it should be the name of the module only; no directory information
+; needs to go here. Specify the location of the extension with the
+; extension_dir directive above.
+
+
+;;;;
+; Note: packaged extension modules are now loaded via the .ini files
+; found in the directory /etc/php.d; these are loaded by default.
+;;;;
+
+
+;;;;;;;;;;;;;;;;;;;
+; Module Settings ;
+;;;;;;;;;;;;;;;;;;;
+
+[Date]
+; Defines the default timezone used by the date functions
+;date.timezone =
+
+;date.default_latitude = 31.7667
+;date.default_longitude = 35.2333
+
+;date.sunrise_zenith = 90.583333
+;date.sunset_zenith = 90.583333
+
+[filter]
+;filter.default = unsafe_raw
+;filter.default_flags =
+
+[iconv]
+;iconv.input_encoding = ISO-8859-1
+;iconv.internal_encoding = ISO-8859-1
+;iconv.output_encoding = ISO-8859-1
+
+[sqlite]
+;sqlite.assoc_case = 0
+
+[xmlrpc]
+;xmlrpc_error_number = 0
+;xmlrpc_errors = 0
+
+[Pcre]
+;PCRE library backtracking limit.
+;pcre.backtrack_limit=100000
+
+;PCRE library recursion limit.
+;Please note that if you set this value to a high number you may consume all
+;the available process stack and eventually crash PHP (due to reaching the
+;stack size limit imposed by the Operating System).
+;pcre.recursion_limit=100000
+
+[Syslog]
+; Whether or not to define the various syslog variables (e.g. $LOG_PID,
+; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In
+; runtime, you can define these variables by calling define_syslog_variables().
+define_syslog_variables = Off
+
+[mail function]
+; For Win32 only.
+SMTP = localhost
+smtp_port = 25
+
+; For Win32 only.
+;sendmail_from = me@example.com
+
+; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
+sendmail_path = /usr/sbin/sendmail -t -i
+
+; Force the addition of the specified parameters to be passed as extra parameters
+; to the sendmail binary. These parameters will always replace the value of
+; the 5th parameter to mail(), even in safe mode.
+;mail.force_extra_parameters =
+
+[SQL]
+sql.safe_mode = Off
+
+[ODBC]
+;odbc.default_db = Not yet implemented
+;odbc.default_user = Not yet implemented
+;odbc.default_pw = Not yet implemented
+
+; Allow or prevent persistent links.
+odbc.allow_persistent = On
+
+; Check that a connection is still valid before reuse.
+odbc.check_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+odbc.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent). -1 means no limit.
+odbc.max_links = -1
+
+; Handling of LONG fields. Returns number of bytes to variables. 0 means
+; passthru.
+odbc.defaultlrl = 4096
+
+; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
+; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
+; of uodbc.defaultlrl and uodbc.defaultbinmode
+odbc.defaultbinmode = 1
+
+[MySQL]
+; Allow or prevent persistent links.
+mysql.allow_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+mysql.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent). -1 means no limit.
+mysql.max_links = -1
+
+; Default port number for mysql_connect(). If unset, mysql_connect() will use
+; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
+; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
+; at MYSQL_PORT.
+mysql.default_port =
+
+; Default socket name for local MySQL connects. If empty, uses the built-in
+; MySQL defaults.
+mysql.default_socket =
+
+; Default host for mysql_connect() (doesn't apply in safe mode).
+mysql.default_host =
+
+; Default user for mysql_connect() (doesn't apply in safe mode).
+mysql.default_user =
+
+; Default password for mysql_connect() (doesn't apply in safe mode).
+; Note that this is generally a *bad* idea to store passwords in this file.
+; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
+; and reveal this password! And of course, any users with read access to this
+; file will be able to reveal the password as well.
+mysql.default_password =
+
+; Maximum time (in seconds) for connect timeout. -1 means no limit
+mysql.connect_timeout = 60
+
+; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
+; SQL-Errors will be displayed.
+mysql.trace_mode = Off
+
+[MySQLi]
+
+; Maximum number of links. -1 means no limit.
+mysqli.max_links = -1
+
+; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
+; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
+; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
+; at MYSQL_PORT.
+mysqli.default_port = 3306
+
+; Default socket name for local MySQL connects. If empty, uses the built-in
+; MySQL defaults.
+mysqli.default_socket =
+
+; Default host for mysql_connect() (doesn't apply in safe mode).
+mysqli.default_host =
+
+; Default user for mysql_connect() (doesn't apply in safe mode).
+mysqli.default_user =
+
+; Default password for mysqli_connect() (doesn't apply in safe mode).
+; Note that this is generally a *bad* idea to store passwords in this file.
+; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
+; and reveal this password! And of course, any users with read access to this
+; file will be able to reveal the password as well.
+mysqli.default_pw =
+
+; Allow or prevent reconnect
+mysqli.reconnect = Off
+
+[mSQL]
+; Allow or prevent persistent links.
+msql.allow_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+msql.max_persistent = -1
+
+; Maximum number of links (persistent+non persistent). -1 means no limit.
+msql.max_links = -1
+
+[PostgresSQL]
+; Allow or prevent persistent links.
+pgsql.allow_persistent = On
+
+; Detect broken persistent links always with pg_pconnect().
+; Auto reset feature requires a little overheads.
+pgsql.auto_reset_persistent = Off
+
+; Maximum number of persistent links. -1 means no limit.
+pgsql.max_persistent = -1
+
+; Maximum number of links (persistent+non persistent). -1 means no limit.
+pgsql.max_links = -1
+
+; Ignore PostgreSQL backends Notice message or not.
+; Notice message logging require a little overheads.
+pgsql.ignore_notice = 0
+
+; Log PostgreSQL backends Noitce message or not.
+; Unless pgsql.ignore_notice=0, module cannot log notice message.
+pgsql.log_notice = 0
+
+[Sybase]
+; Allow or prevent persistent links.
+sybase.allow_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+sybase.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent). -1 means no limit.
+sybase.max_links = -1
+
+;sybase.interface_file = "/usr/sybase/interfaces"
+
+; Minimum error severity to display.
+sybase.min_error_severity = 10
+
+; Minimum message severity to display.
+sybase.min_message_severity = 10
+
+; Compatibility mode with old versions of PHP 3.0.
+; If on, this will cause PHP to automatically assign types to results according
+; to their Sybase type, instead of treating them all as strings. This
+; compatibility mode will probably not stay around forever, so try applying
+; whatever necessary changes to your code, and turn it off.
+sybase.compatability_mode = Off
+
+[Sybase-CT]
+; Allow or prevent persistent links.
+sybct.allow_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+sybct.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent). -1 means no limit.
+sybct.max_links = -1
+
+; Minimum server message severity to display.
+sybct.min_server_severity = 10
+
+; Minimum client message severity to display.
+sybct.min_client_severity = 10
+
+[bcmath]
+; Number of decimal digits for all bcmath functions.
+bcmath.scale = 0
+
+[browscap]
+;browscap = extra/browscap.ini
+
+[Informix]
+; Default host for ifx_connect() (doesn't apply in safe mode).
+ifx.default_host =
+
+; Default user for ifx_connect() (doesn't apply in safe mode).
+ifx.default_user =
+
+; Default password for ifx_connect() (doesn't apply in safe mode).
+ifx.default_password =
+
+; Allow or prevent persistent links.
+ifx.allow_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+ifx.max_persistent = -1
+
+; Maximum number of links (persistent + non-persistent). -1 means no limit.
+ifx.max_links = -1
+
+; If on, select statements return the contents of a text blob instead of its id.
+ifx.textasvarchar = 0
+
+; If on, select statements return the contents of a byte blob instead of its id.
+ifx.byteasvarchar = 0
+
+; Trailing blanks are stripped from fixed-length char columns. May help the
+; life of Informix SE users.
+ifx.charasvarchar = 0
+
+; If on, the contents of text and byte blobs are dumped to a file instead of
+; keeping them in memory.
+ifx.blobinfile = 0
+
+; NULL's are returned as empty strings, unless this is set to 1. In that case,
+; NULL's are returned as string 'NULL'.
+ifx.nullformat = 0
+
+[Session]
+; Handler used to store/retrieve data.
+session.save_handler = files
+
+; Argument passed to save_handler. In the case of files, this is the path
+; where data files are stored. Note: Windows users have to change this
+; variable in order to use PHP's session functions.
+;
+; As of PHP 4.0.1, you can define the path as:
+;
+; session.save_path = "N;/path"
+;
+; where N is an integer. Instead of storing all the session files in
+; /path, what this will do is use subdirectories N-levels deep, and
+; store the session data in those directories. This is useful if you
+; or your OS have problems with lots of files in one directory, and is
+; a more efficient layout for servers that handle lots of sessions.
+;
+; NOTE 1: PHP will not create this directory structure automatically.
+; You can use the script in the ext/session dir for that purpose.
+; NOTE 2: See the section on garbage collection below if you choose to
+; use subdirectories for session storage
+;
+; The file storage module creates files using mode 600 by default.
+; You can change that by using
+;
+; session.save_path = "N;MODE;/path"
+;
+; where MODE is the octal representation of the mode. Note that this
+; does not overwrite the process's umask.
+session.save_path = "/var/lib/php/session"
+
+; Whether to use cookies.
+session.use_cookies = 1
+
+;session.cookie_secure =
+
+; This option enables administrators to make their users invulnerable to
+; attacks which involve passing session ids in URLs; defaults to 0.
+; session.use_only_cookies = 1
+
+; Name of the session (used as cookie name).
+session.name = PHPSESSID
+
+; Initialize session on request startup.
+session.auto_start = 0
+
+; Lifetime in seconds of cookie or, if 0, until browser is restarted.
+session.cookie_lifetime = 0
+
+; The path for which the cookie is valid.
+session.cookie_path = /
+
+; The domain for which the cookie is valid.
+session.cookie_domain =
+
+; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
+session.cookie_httponly =
+
+; Handler used to serialize data. php is the standard serializer of PHP.
+session.serialize_handler = php
+
+; Define the probability that the 'garbage collection' process is started
+; on every session initialization.
+; The probability is calculated by using gc_probability/gc_divisor,
+; e.g. 1/100 means there is a 1% chance that the GC process starts
+; on each request.
+
+session.gc_probability = 1
+session.gc_divisor = 1000
+
+; After this number of seconds, stored data will be seen as 'garbage' and
+; cleaned up by the garbage collection process.
+session.gc_maxlifetime = 1440
+
+; NOTE: If you are using the subdirectory option for storing session files
+; (see session.save_path above), then garbage collection does *not*
+; happen automatically. You will need to do your own garbage
+; collection through a shell script, cron entry, or some other method.
+; For example, the following script would is the equivalent of
+; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
+; cd /path/to/sessions; find -cmin +24 | xargs rm
+
+; PHP 4.2 and less have an undocumented feature/bug that allows you to
+; to initialize a session variable in the global scope, albeit register_globals
+; is disabled. PHP 4.3 and later will warn you, if this feature is used.
+; You can disable the feature and the warning separately. At this time,
+; the warning is only displayed, if bug_compat_42 is enabled.
+
+session.bug_compat_42 = 0
+session.bug_compat_warn = 1
+
+; Check HTTP Referer to invalidate externally stored URLs containing ids.
+; HTTP_REFERER has to contain this substring for the session to be
+; considered as valid.
+session.referer_check =
+
+; How many bytes to read from the file.
+session.entropy_length = 0
+
+; Specified here to create the session id.
+session.entropy_file =
+
+;session.entropy_length = 16
+
+;session.entropy_file = /dev/urandom
+
+; Set to {nocache,private,public,} to determine HTTP caching aspects
+; or leave this empty to avoid sending anti-caching headers.
+session.cache_limiter = nocache
+
+; Document expires after n minutes.
+session.cache_expire = 180
+
+; trans sid support is disabled by default.
+; Use of trans sid may risk your users security.
+; Use this option with caution.
+; - User may send URL contains active session ID
+; to other person via. email/irc/etc.
+; - URL that contains active session ID may be stored
+; in publically accessible computer.
+; - User may access your site with the same session ID
+; always using URL stored in browser's history or bookmarks.
+session.use_trans_sid = 0
+
+; Select a hash function
+; 0: MD5 (128 bits)
+; 1: SHA-1 (160 bits)
+session.hash_function = 0
+
+; Define how many bits are stored in each character when converting
+; the binary hash data to something readable.
+;
+; 4 bits: 0-9, a-f
+; 5 bits: 0-9, a-v
+; 6 bits: 0-9, a-z, A-Z, "-", ","
+session.hash_bits_per_character = 5
+
+; The URL rewriter will look for URLs in a defined set of HTML tags.
+; form/fieldset are special; if you include them here, the rewriter will
+; add a hidden <input> field with the info which is otherwise appended
+; to URLs. If you want XHTML conformity, remove the form entry.
+; Note that all valid entries require a "=", even if no value follows.
+url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
+
+[MSSQL]
+; Allow or prevent persistent links.
+mssql.allow_persistent = On
+
+; Maximum number of persistent links. -1 means no limit.
+mssql.max_persistent = -1
+
+; Maximum number of links (persistent+non persistent). -1 means no limit.
+mssql.max_links = -1
+
+; Minimum error severity to display.
+mssql.min_error_severity = 10
+
+; Minimum message severity to display.
+mssql.min_message_severity = 10
+
+; Compatibility mode with old versions of PHP 3.0.
+mssql.compatability_mode = Off
+
+; Connect timeout
+;mssql.connect_timeout = 5
+
+; Query timeout
+;mssql.timeout = 60
+
+; Valid range 0 - 2147483647. Default = 4096.
+;mssql.textlimit = 4096
+
+; Valid range 0 - 2147483647. Default = 4096.
+;mssql.textsize = 4096
+
+; Limits the number of records in each batch. 0 = all records in one batch.
+;mssql.batchsize = 0
+
+; Specify how datetime and datetim4 columns are returned
+; On => Returns data converted to SQL server settings
+; Off => Returns values as YYYY-MM-DD hh:mm:ss
+;mssql.datetimeconvert = On
+
+; Use NT authentication when connecting to the server
+mssql.secure_connection = Off
+
+; Specify max number of processes. -1 = library default
+; msdlib defaults to 25
+; FreeTDS defaults to 4096
+;mssql.max_procs = -1
+
+; Specify client character set.
+; If empty or not set the client charset from freetds.comf is used
+; This is only used when compiled with FreeTDS
+;mssql.charset = "ISO-8859-1"
+
+[Assertion]
+; Assert(expr); active by default.
+;assert.active = On
+
+; Issue a PHP warning for each failed assertion.
+;assert.warning = On
+
+; Don't bail out by default.
+;assert.bail = Off
+
+; User-function to be called if an assertion fails.
+;assert.callback = 0
+
+; Eval the expression with current error_reporting(). Set to true if you want
+; error_reporting(0) around the eval().
+;assert.quiet_eval = 0
+
+[COM]
+; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
+;com.typelib_file =
+; allow Distributed-COM calls
+;com.allow_dcom = true
+; autoregister constants of a components typlib on com_load()
+;com.autoregister_typelib = true
+; register constants casesensitive
+;com.autoregister_casesensitive = false
+; show warnings on duplicate constant registrations
+;com.autoregister_verbose = true
+
+[mbstring]
+; language for internal character representation.
+;mbstring.language = Japanese
+
+; internal/script encoding.
+; Some encoding cannot work as internal encoding.
+; (e.g. SJIS, BIG5, ISO-2022-*)
+;mbstring.internal_encoding = EUC-JP
+
+; http input encoding.
+;mbstring.http_input = auto
+
+; http output encoding. mb_output_handler must be
+; registered as output buffer to function
+;mbstring.http_output = SJIS
+
+; enable automatic encoding translation according to
+; mbstring.internal_encoding setting. Input chars are
+; converted to internal encoding by setting this to On.
+; Note: Do _not_ use automatic encoding translation for
+; portable libs/applications.
+;mbstring.encoding_translation = Off
+
+; automatic encoding detection order.
+; auto means
+;mbstring.detect_order = auto
+
+; substitute_character used when character cannot be converted
+; one from another
+;mbstring.substitute_character = none;
+
+; overload(replace) single byte functions by mbstring functions.
+; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
+; etc. Possible values are 0,1,2,4 or combination of them.
+; For example, 7 for overload everything.
+; 0: No overload
+; 1: Overload mail() function
+; 2: Overload str*() functions
+; 4: Overload ereg*() functions
+;mbstring.func_overload = 0
+
+; enable strict encoding detection.
+;mbstring.strict_encoding = Off
+
+[FrontBase]
+;fbsql.allow_persistent = On
+;fbsql.autocommit = On
+;fbsql.show_timestamp_decimals = Off
+;fbsql.default_database =
+;fbsql.default_database_password =
+;fbsql.default_host =
+;fbsql.default_password =
+;fbsql.default_user = "_SYSTEM"
+;fbsql.generate_warnings = Off
+;fbsql.max_connections = 128
+;fbsql.max_links = 128
+;fbsql.max_persistent = -1
+;fbsql.max_results = 128
+
+[gd]
+; Tell the jpeg decode to libjpeg warnings and try to create
+; a gd image. The warning will then be displayed as notices
+; disabled by default
+;gd.jpeg_ignore_warning = 0
+
+[exif]
+; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
+; With mbstring support this will automatically be converted into the encoding
+; given by corresponding encode setting. When empty mbstring.internal_encoding
+; is used. For the decode settings you can distinguish between motorola and
+; intel byte order. A decode setting cannot be empty.
+;exif.encode_unicode = ISO-8859-15
+;exif.decode_unicode_motorola = UCS-2BE
+;exif.decode_unicode_intel = UCS-2LE
+;exif.encode_jis =
+;exif.decode_jis_motorola = JIS
+;exif.decode_jis_intel = JIS
+
+[Tidy]
+; The path to a default tidy configuration file to use when using tidy
+;tidy.default_config = /usr/local/lib/php/default.tcfg
+
+; Should tidy clean and repair output automatically?
+; WARNING: Do not use this option if you are generating non-html content
+; such as dynamic images
+tidy.clean_output = Off
+
+[soap]
+; Enables or disables WSDL caching feature.
+soap.wsdl_cache_enabled=1
+; Sets the directory name where SOAP extension will put cache files.
+soap.wsdl_cache_dir="/tmp"
+; (time to live) Sets the number of second while cached file will be used
+; instead of original one.
+soap.wsdl_cache_ttl=86400
+
+; Local Variables:
+; tab-width: 4
+; End:
+
+[OCI8]
+; enables privileged connections using external credentials (OCI_SYSOPER, OCI_SYSDBA)
+;oci8.privileged_connect = Off
+
+; Connection: The maximum number of persistent OCI8 connections per
+; process. Using -1 means no limit.
+;oci8.max_persistent = -1
+
+; Connection: The maximum number of seconds a process is allowed to
+; maintain an idle persistent connection. Using -1 means idle
+; persistent connections will be maintained forever.
+;oci8.persistent_timeout = -1
+
+; Connection: The number of seconds that must pass before issuing a
+; ping during oci_pconnect() to check the connection validity. When
+; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
+; pings completely.
+;oci8.ping_interval = 60
+
+; Tuning: This option enables statement caching, and specifies how
+; many statements to cache. Using 0 disables statement caching.
+;oci8.statement_cache_size = 20
+
+; Tuning: Enables statement prefetching and sets the default number of
+; rows that will be fetched automatically after statement execution.
+;oci8.default_prefetch = 10
+
+; Compatibility. Using On means oci_close() will not close
+; oci_connect() and oci_new_connect() connections.
+;oci8.old_oci_close_semantics = Off
+
diff --git a/php.conf b/php.conf
new file mode 100644
index 0000000..bb0f180
--- /dev/null
+++ b/php.conf
@@ -0,0 +1,28 @@
+#
+# PHP is an HTML-embedded scripting language which attempts to make it
+# easy for developers to write dynamically generated webpages.
+#
+<IfModule prefork.c>
+ LoadModule php5_module modules/libphp5.so
+</IfModule>
+<IfModule worker.c>
+ LoadModule php5_module modules/libphp5-zts.so
+</IfModule>
+
+#
+# Cause the PHP interpreter to handle files with a .php extension.
+#
+AddHandler php5-script .php
+AddType text/html .php
+
+#
+# Add index.php to the list of files that will be served as directory
+# indexes.
+#
+DirectoryIndex index.php
+
+#
+# Uncomment the following line to allow PHP to pretty-print .phps
+# files as PHP source code:
+#
+#AddType application/x-httpd-php-source .phps
diff --git a/php52.spec b/php52.spec
new file mode 100644
index 0000000..7477822
--- /dev/null
+++ b/php52.spec
@@ -0,0 +1,1420 @@
+%define contentdir /var/www
+%define apiver 20041225
+%define zendver 20060613
+%define pdover 20060511
+%define httpd_mmn %(cat %{_includedir}/httpd/.mmn || echo missing-httpd-devel)
+
+%ifarch ppc ppc64
+%global oraclever 10.2.0.2
+%else
+%global oraclever 11.2
+%endif
+
+# Optional components; pass "--with mssql" etc to rpmbuild.
+%global with_oci8 %{?_with_oci8:1}%{!?_with_oci8:0}
+
+%global tidyver 0.99.0-16.20070615
+
+Summary: PHP scripting language for creating dynamic web sites
+Name: php
+Version: 5.2.17
+Release: 1%{?dist}
+License: PHP
+Group: Development/Languages
+URL: http://www.php.net/
+
+Source0: http://www.php.net/distributions/php-%{version}.tar.bz2
+Source1: php.conf
+Source2: php-remi.ini
+Source3: macros.php
+
+# Build fixes
+Patch1: php-5.2.13-gnusrc.patch
+Patch2: php-5.2.8-install.patch
+Patch3: php-5.2.4-norpath.patch
+Patch4: php-5.2.8-phpize64.patch
+Patch5: php-5.2.0-includedir.patch
+Patch6: php-5.2.4-embed.patch
+Patch7: php-5.2.8-recode.patch
+
+# Fixes for extension modules
+Patch20: php-4.3.11-shutdown.patch
+Patch21: php-5.2.3-macropen.patch
+
+# Functional changes
+Patch40: php-5.0.4-dlopen.patch
+Patch41: php-5.2.4-easter.patch
+Patch42: php-5.2.5-systzdata.patch
+
+# Fixes for tests
+Patch60: php-5.2.7-tests-dashn.patch
+Patch61: php-5.0.4-tests-wddx.patch
+
+# RC Patch
+Patch91: php-5.2.15-oci8conf.patch
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires: bzip2-devel, curl-devel >= 7.9, db4-devel, gmp-devel
+BuildRequires: httpd-devel >= 2.0.46-1, pam-devel
+BuildRequires: libstdc++-devel, openssl-devel, sqlite-devel >= 3.0.0
+BuildRequires: sqlite2-devel >= 2.8.0
+BuildRequires: zlib-devel, smtpdaemon, libedit-devel
+%if 0%{?fedora} >= 10
+BuildRequires: pcre-devel >= 7.8
+%endif
+BuildRequires: bzip2, perl, libtool >= 1.4.3, gcc-c++
+Obsoletes: php-dbg, php3, phpfi, stronghold-php
+Requires: httpd-mmn = %{httpd_mmn}
+Provides: mod_php = %{version}-%{release}
+Requires: php-common = %{version}-%{release}
+# For backwards-compatibility, require php-cli for the time being:
+Requires: php-cli = %{version}-%{release}
+# To ensure correct /var/lib/php/session ownership:
+Requires(pre): httpd
+
+%description
+PHP is an HTML-embedded scripting language. PHP attempts to make it
+easy for developers to write dynamically generated webpages. PHP also
+offers built-in database integration for several commercial and
+non-commercial database management systems, so writing a
+database-enabled webpage with PHP is fairly simple. The most common
+use of PHP coding is probably as a replacement for CGI scripts.
+
+The php package contains the module which adds support for the PHP
+language to Apache HTTP Server.
+
+%package cli
+Group: Development/Languages
+Summary: Command-line interface for PHP
+Requires: php-common = %{version}-%{release}
+Provides: php-cgi = %{version}-%{release}
+Provides: php-pcntl, php-readline
+
+%description cli
+The php-cli package contains the command-line interface
+executing PHP scripts, /usr/bin/php, and the CGI interface.
+
+%package zts
+Group: Development/Languages
+Summary: Thread-safe PHP interpreter for use with the Apache HTTP Server
+Requires: php-common = %{version}-%{release}
+Requires: httpd-mmn = %{httpd_mmn}
+
+%description zts
+The php-zts package contains a module for use with the Apache HTTP
+Server which can operate under a threaded server processing model.
+
+%package common
+Group: Development/Languages
+Summary: Common files for PHP
+Provides: php-api = %{apiver}, php-zend-abi = %{zendver}
+Provides: php(api) = %{apiver}, php(zend-abi) = %{zendver}
+# Provides for all builtin modules:
+Provides: php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif
+Provides: php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-libxml
+Provides: php-reflection, php-session, php-shmop, php-simplexml, php-sockets
+Provides: php-spl, php-tokenizer, php-openssl, php-pcre
+Provides: php-zlib, php-json, php-zip, php-dbase
+Obsoletes: php-openssl, php-pecl-zip, php-pecl-json, php-json, php-dbase
+
+%description common
+The php-common package contains files used by both the php
+package and the php-cli package.
+
+%package devel
+Group: Development/Libraries
+Summary: Files needed for building PHP extensions
+Requires: php = %{version}-%{release}, autoconf, automake
+Obsoletes: php-pecl-pdo-devel
+
+%description devel
+The php-devel package contains the files needed for building PHP
+extensions. If you need to compile your own PHP extensions, you will
+need to install this package.
+
+%package imap
+Summary: A module for PHP applications that use IMAP
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+Obsoletes: mod_php3-imap, stronghold-php-imap
+BuildRequires: krb5-devel, openssl-devel, libc-client-devel
+
+%description imap
+The php-imap package contains a dynamic shared object (DSO) for the
+Apache Web server. When compiled into Apache, the php-imap module will
+add IMAP (Internet Message Access Protocol) support to PHP. IMAP is a
+protocol for retrieving and uploading e-mail messages on mail
+servers. PHP is an HTML-embedded scripting language. If you need IMAP
+support for PHP applications, you will need to install this package
+and the php package.
+
+%package ldap
+Summary: A module for PHP applications that use LDAP
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+Obsoletes: mod_php3-ldap, stronghold-php-ldap
+BuildRequires: cyrus-sasl-devel, openldap-devel, openssl-devel
+
+%description ldap
+The php-ldap package is a dynamic shared object (DSO) for the Apache
+Web server that adds Lightweight Directory Access Protocol (LDAP)
+support to PHP. LDAP is a set of protocols for accessing directory
+services over the Internet. PHP is an HTML-embedded scripting
+language. If you need LDAP support for PHP applications, you will
+need to install this package in addition to the php package.
+
+%package pdo
+Summary: A database access abstraction module for PHP applications
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+Obsoletes: php-pecl-pdo-sqlite, php-pecl-pdo, php-sqlite2
+Provides: php-pdo-abi = %{pdover}
+Provides: php-sqlite, php-sqlite2
+
+%description pdo
+The php-pdo package contains a dynamic shared object that will add
+a database access abstraction layer to PHP. This module provides
+a common interface for accessing MySQL, PostgreSQL or other
+databases.
+
+%package mysql
+Summary: A module for PHP applications that use MySQL databases
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}, php-pdo
+Provides: php_database, php-mysqli
+Obsoletes: mod_php3-mysql, stronghold-php-mysql
+BuildRequires: mysql-devel >= 4.1.0
+
+%description mysql
+The php-mysql package contains a dynamic shared object that will add
+MySQL database support to PHP. MySQL is an object-relational database
+management system. PHP is an HTML-embeddable scripting language. If
+you need MySQL support for PHP applications, you will need to install
+this package and the php package.
+
+%package pgsql
+Summary: A PostgreSQL database module for PHP
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}, php-pdo
+Provides: php_database
+Obsoletes: mod_php3-pgsql, stronghold-php-pgsql
+BuildRequires: krb5-devel, openssl-devel, postgresql-devel
+
+%description pgsql
+The php-pgsql package includes a dynamic shared object (DSO) that can
+be compiled in to the Apache Web server to add PostgreSQL database
+support to PHP. PostgreSQL is an object-relational database management
+system that supports almost all SQL constructs. PHP is an
+HTML-embedded scripting language. If you need back-end support for
+PostgreSQL, you should install this package in addition to the main
+php package.
+
+%package process
+Summary: Modules for PHP script using system process interfaces
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+Provides: php-posix, php-sysvsem, php-sysvshm, php-sysvmsg
+
+%description process
+The php-process package contains dynamic shared objects which add
+support to PHP using system interfaces for inter-process
+communication.
+
+%package odbc
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}, php-pdo
+Summary: A module for PHP applications that use ODBC databases
+Provides: php_database
+Obsoletes: stronghold-php-odbc
+BuildRequires: unixODBC-devel
+
+%description odbc
+The php-odbc package contains a dynamic shared object that will add
+database support through ODBC to PHP. ODBC is an open specification
+which provides a consistent API for developers to use for accessing
+data sources (which are often, but not always, databases). PHP is an
+HTML-embeddable scripting language. If you need ODBC support for PHP
+applications, you will need to install this package and the php
+package.
+
+%package soap
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+Summary: A module for PHP applications that use the SOAP protocol
+BuildRequires: libxml2-devel
+
+%description soap
+The php-soap package contains a dynamic shared object that will add
+support to PHP for using the SOAP web services protocol.
+
+%package interbase
+Summary: A module for PHP applications that use Interbase/Firebird databases
+Group: Development/Languages
+BuildRequires: firebird-devel
+Requires: php-common = %{version}-%{release}, php-pdo
+Provides: php_database, php-firebird, php-pdo_firebird
+
+%description interbase
+The php-interbase package contains a dynamic shared object that will add
+database support through Interbase/Firebird to PHP.
+
+InterBase is the name of the closed-source variant of this RDBMS that was
+developed by Borland/Inprise.
+
+Firebird is a commercially independent project of C and C++ programmers,
+technical advisors and supporters developing and enhancing a multi-platform
+relational database management system based on the source code released by
+Inprise Corp (now known as Borland Software Corp) under the InterBase Public
+License.
+
+%if %{with_oci8}
+%package oci8
+Summary: A module for PHP applications that use OCI8 databases
+Group: Development/Languages
+BuildRequires: oracle-instantclient-devel >= %{oraclever}
+Requires: php-common = %{version}-%{release}, php-pdo
+Provides: php_database
+# Soulhd requires libclntsh.so.11.1, but it's not provided by Oracle RPM.
+AutoReq: 0
+
+%description oci8
+The php-oci8 package contains a dynamic shared object that will add
+support for accessing OCI8 databases to PHP.
+%endif
+
+%package snmp
+Summary: A module for PHP applications that query SNMP-managed devices
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}, net-snmp
+BuildRequires: net-snmp-devel
+
+%description snmp
+The php-snmp package contains a dynamic shared object that will add
+support for querying SNMP devices to PHP. PHP is an HTML-embeddable
+scripting language. If you need SNMP support for PHP applications, you
+will need to install this package and the php package.
+
+%package xml
+Summary: A module for PHP applications which use XML
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+Obsoletes: php-domxml, php-dom
+Provides: php-dom, php-xsl, php-domxml, php-wddx
+BuildRequires: libxslt-devel >= 1.0.18-1, libxml2-devel >= 2.4.14-1
+
+%description xml
+The php-xml package contains dynamic shared objects which add support
+to PHP for manipulating XML documents using the DOM tree,
+and performing XSL transformations on XML documents.
+
+%package xmlrpc
+Summary: A module for PHP applications which use the XML-RPC protocol
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+
+%description xmlrpc
+The php-xmlrpc package contains a dynamic shared object that will add
+support for the XML-RPC protocol to PHP.
+
+%package mbstring
+Summary: A module for PHP applications which need multi-byte string handling
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+
+%description mbstring
+The php-mbstring package contains a dynamic shared object that will add
+support for multi-byte string handling to PHP.
+
+%package ncurses
+Summary: A module for PHP applications for using ncurses interfaces
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+BuildRequires: ncurses-devel
+
+%description ncurses
+The php-ncurses package contains a dynamic shared object that will add
+support for using the ncurses terminal output interfaces.
+
+%package gd
+Summary: A module for PHP applications for using the gd graphics library
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+# Required to build the bundled GD library
+BuildRequires: libjpeg-devel, libpng-devel, freetype-devel
+%if 0%{?rhel}%{?fedora} > 4
+BuildRequires: t1lib-devel >= 5.0.0
+BuildRequires: libXpm-devel
+%else
+BuildRequires: xorg-x11-devel
+%endif
+
+%description gd
+The php-gd package contains a dynamic shared object that will add
+support for using the gd graphics library to PHP.
+
+%package bcmath
+Summary: A module for PHP applications for using the bcmath library
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+
+%description bcmath
+The php-bcmath package contains a dynamic shared object that will add
+support for using the bcmath library to PHP.
+
+%package dba
+Summary: A database abstraction layer module for PHP applications
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+
+%description dba
+The php-dba package contains a dynamic shared object that will add
+support for using the DBA database abstraction layer to PHP.
+
+%package mcrypt
+Summary: Standard PHP module provides mcrypt library support
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+BuildRequires: libmcrypt-devel
+
+%description mcrypt
+The php-mcrypt package contains a dynamic shared object that will add
+support for using the mcrypt library to PHP.
+
+%package mhash
+Summary: Standard PHP module provides mhash support
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+BuildRequires: mhash-devel
+
+%description mhash
+The php-mhash package contains a dynamic shared object that will add
+support for using the mhash library to PHP.
+
+%package tidy
+Summary: Standard PHP module provides tidy library support
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}
+BuildRequires: libtidy-devel
+
+%description tidy
+The php-tidy package contains a dynamic shared object that will add
+support for using the tidy library to PHP.
+
+%package mssql
+Summary: MSSQL database module for PHP
+Group: Development/Languages
+Requires: php-common = %{version}-%{release}, php-pdo
+BuildRequires: freetds-devel
+
+%description mssql
+The php-mssql package contains a dynamic shared object that will
+add MSSQL database support to PHP. It uses the TDS (Tabular
+DataStream) protocol through the freetds library, hence any
+database server which supports TDS can be accessed.
+
+%package embedded
+Summary: PHP library for embedding in applications
+Group: System Environment/Libraries
+Requires: php-common = %{version}-%{release}
+# doing a real -devel package for just the .so symlink is a bit overkill
+Provides: php-embedded-devel = %{version}-%{release}
+
+%description embedded
+The php-embedded package contains a library which can be embedded
+into applications to provide PHP scripting language support.
+
+%package pspell
+Summary: A module for PHP applications for using pspell interfaces
+Group: System Environment/Libraries
+Requires: php-common = %{version}-%{release}
+BuildRequires: aspell-devel >= 0.50.0
+
+%description pspell
+The php-pspell package contains a dynamic shared object that will add
+support for using the pspell library to PHP.
+
+%package recode
+Summary: A module for PHP applications for using the recode library
+Group: System Environment/Libraries
+Requires: php-common = %{version}-%{release}
+BuildRequires: recode-devel
+
+%description recode
+The php-recode package contains a dynamic shared object that will add
+support for using the recode library to PHP.
+
+%prep
+%setup -q
+%patch1 -p1 -b .gnusrc
+%patch2 -p1 -b .install
+%patch3 -p1 -b .norpath
+%patch4 -p1 -b .phpize64
+%patch5 -p1 -b .includedir
+%patch6 -p1 -b .embed
+%patch7 -p1 -b .recode
+
+%patch20 -p1 -b .shutdown
+%patch21 -p1 -b .macropen
+
+%patch40 -p1 -b .dlopen
+%patch41 -p1 -b .easter
+%patch42 -p1 -b .systzdata
+
+%patch60 -p1 -b .tests-dashn
+%patch61 -p1 -b .tests-wddx
+
+%patch91 -p0 -b .remi-oci8
+
+# Prevent %%doc confusion over LICENSE files
+cp Zend/LICENSE Zend/ZEND_LICENSE
+cp TSRM/LICENSE TSRM_LICENSE
+cp regex/COPYRIGHT regex_COPYRIGHT
+cp ext/gd/libgd/README gd_README
+
+# Multiple builds for multiple SAPIs
+mkdir build-cgi build-apache build-embedded build-zts
+
+# Remove bogus test; position of read position after fopen(, "a+")
+# is not defined by C standard, so don't presume anything.
+rm -f ext/standard/tests/file/bug21131.phpt
+
+# Tests that fail.
+rm -f ext/standard/tests/file/bug22414.phpt \
+ ext/iconv/tests/bug16069.phpt
+
+# Safety check for API version change.
+vapi=`sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h`
+if test "x${vapi}" != "x%{apiver}"; then
+ : Error: Upstream API version is now ${vapi}, expecting %{apiver}.
+ : Update the apiver macro and rebuild.
+ exit 1
+fi
+
+vzend=`sed -n '/#define ZEND_MODULE_API_NO/{s/^[^0-9]*//;p;}' Zend/zend_modules.h`
+if test "x${vzend}" != "x%{zendver}"; then
+ : Error: Upstream Zend ABI version is now ${vzend}, expecting %{zendver}.
+ : Update the zendver macro and rebuild.
+ exit 1
+fi
+
+# Safety check for PDO ABI version change
+vpdo=`sed -n '/#define PDO_DRIVER_API/{s/.*[ ]//;p}' ext/pdo/php_pdo_driver.h`
+if test "x${vpdo}" != "x%{pdover}"; then
+ : Error: Upstream PDO ABI version is now ${vpdo}, expecting %{pdover}.
+ : Update the pdover macro and rebuild.
+ exit 1
+fi
+
+: Build for oci8=%{with_oci8}
+
+%build
+%if 0%{?fedora} >= 11
+# aclocal workaround - to be improved
+cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >>aclocal.m4
+%endif
+
+# Force use of system libtool:
+libtoolize --force --copy
+%if 0%{?fedora} >= 11
+cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >build/libtool.m4
+%else
+cat `aclocal --print-ac-dir`/libtool.m4 > build/libtool.m4
+%endif
+
+# Regenerate configure scripts (patches change config.m4's)
+./buildconf --force
+
+CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-pointer-sign"
+%if 0%{?fedora} < 4
+ CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
+%endif
+%if 0%{?rhel} < 5
+ CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
+%endif
+export CFLAGS
+
+# Install extension modules in %{_libdir}/php/modules.
+EXTENSION_DIR=%{_libdir}/php/modules; export EXTENSION_DIR
+
+# Set PEAR_INSTALLDIR to ensure that the hard-coded include_path
+# includes the PEAR directory even though pear is packaged
+# separately.
+PEAR_INSTALLDIR=%{_datadir}/pear; export PEAR_INSTALLDIR
+
+# Shell function to configure and build a PHP tree.
+build() {
+# bison-1.875-2 seems to produce a broken parser; workaround.
+mkdir Zend && cp ../Zend/zend_{language,ini}_{parser,scanner}.[ch] Zend
+ln -sf ../configure
+%configure \
+ --cache-file=../config.cache \
+ --with-libdir=%{_lib} \
+ --with-config-file-path=%{_sysconfdir} \
+ --with-config-file-scan-dir=%{_sysconfdir}/php.d \
+ --disable-debug \
+ --with-pic \
+ --disable-rpath \
+ --without-pear \
+ --with-bz2 \
+ --with-exec-dir=%{_bindir} \
+ --with-freetype-dir=%{_prefix} \
+ --with-png-dir=%{_prefix} \
+ --with-xpm-dir=%{_prefix} \
+ --enable-gd-native-ttf \
+%if 0%{?rhel}%{?fedora} > 4
+ --with-t1lib=%{_prefix} \
+%endif
+ --without-gdbm \
+ --with-gettext \
+ --with-gmp \
+ --with-iconv \
+ --with-jpeg-dir=%{_prefix} \
+ --with-openssl \
+%if 0%{?fedora} >= 10
+ --with-pcre-regex=%{_prefix} \
+%endif
+ --with-zlib \
+ --with-layout=GNU \
+ --enable-exif \
+ --enable-ftp \
+ --enable-magic-quotes \
+ --enable-sockets \
+ --enable-sysvsem --enable-sysvshm --enable-sysvmsg \
+ --with-kerberos \
+ --enable-ucd-snmp-hack \
+ --enable-shmop \
+ --enable-calendar \
+ --with-libxml-dir=%{_prefix} \
+ --enable-xml \
+ --with-system-tzdata \
+ --with-mime-magic=%{_datadir}/file/magic \
+ $*
+if test $? != 0; then
+ tail -500 config.log
+ : configure failed
+ exit 1
+fi
+
+make %{?_smp_mflags}
+}
+
+# Build /usr/bin/php-cgi with the CGI SAPI, and all the shared extensions
+pushd build-cgi
+
+# RC patch ???
+mkdir -p ext/sqlite/libsqlite/src
+cp ../ext/sqlite/libsqlite/src/encode.c ext/sqlite/libsqlite/src/
+
+build --enable-force-cgi-redirect \
+ --enable-pcntl \
+ --with-imap=shared --with-imap-ssl \
+ --enable-mbstring=shared \
+ --enable-mbregex \
+ --with-ncurses=shared \
+ --with-gd=shared \
+ --enable-bcmath=shared \
+ --enable-dba=shared --with-db4=%{_prefix} \
+ --with-xmlrpc=shared \
+ --with-ldap=shared --with-ldap-sasl \
+ --with-mysql=shared,%{_prefix} \
+ --with-mysqli=shared,%{_bindir}/mysql_config \
+%ifarch x86_64
+ %{?_with_oci8:--with-oci8=shared,instantclient,%{_libdir}/oracle/%{oraclever}/client64/lib,%{oraclever}} \
+%else
+ %{?_with_oci8:--with-oci8=shared,instantclient,%{_libdir}/oracle/%{oraclever}/client/lib,%{oraclever}} \
+%endif
+ %{?_with_oci8:--with-pdo-oci=shared,instantclient,/usr,%{oraclever}} \
+ --with-interbase=shared,%{_libdir}/firebird \
+ --with-pdo-firebird=shared,%{_libdir}/firebird \
+ --enable-dom=shared \
+ --with-pgsql=shared \
+ --enable-wddx=shared \
+ --with-snmp=shared,%{_prefix} \
+ --enable-soap=shared \
+ --with-xsl=shared,%{_prefix} \
+ --enable-xmlreader=shared --enable-xmlwriter=shared \
+ --with-curl=shared,%{_prefix} \
+ --enable-fastcgi \
+ --enable-pdo=shared \
+ --with-pdo-odbc=shared,unixODBC,%{_prefix} \
+ --with-pdo-mysql=shared,%{_prefix} \
+ --with-pdo-pgsql=shared,%{_prefix} \
+ --with-pdo-sqlite=shared,%{_prefix} \
+ --with-pdo-dblib=shared,%{_prefix} \
+ --with-sqlite=shared,%{_prefix} \
+ --enable-json=shared \
+ --enable-zip=shared \
+ --without-readline \
+ --with-libedit \
+ --enable-dbase=shared \
+ --with-pspell=shared \
+ --with-mcrypt=shared,%{_prefix} \
+ --with-mhash=shared,%{_prefix} \
+ --with-tidy=shared,%{_prefix} \
+ --with-mssql=shared,%{_prefix} \
+ --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \
+ --enable-posix=shared \
+ --with-unixODBC=shared,%{_prefix} \
+ --with-recode=shared,%{_prefix}
+popd
+
+without_shared="--without-mysql --without-gd \
+ --without-unixODBC --disable-dom \
+ --disable-dba --without-unixODBC \
+ --disable-pdo --disable-xmlreader --disable-xmlwriter \
+ --without-sqlite \
+ --disable-json --without-pspell --disable-wddx \
+ --without-curl --disable-posix \
+ --disable-sysvmsg --disable-sysvshm --disable-sysvsem"
+
+# Build Apache module, and the CLI SAPI, /usr/bin/php
+pushd build-apache
+build --with-apxs2=%{_sbindir}/apxs ${without_shared}
+popd
+
+# Build for inclusion as embedded script language into applications,
+# /usr/lib[64]/libphp5.so
+pushd build-embedded
+build --enable-embed ${without_shared}
+popd
+
+# Build a special thread-safe Apache SAPI
+pushd build-zts
+EXTENSION_DIR=%{_libdir}/php/modules-zts
+build --with-apxs2=%{_sbindir}/apxs ${without_shared} \
+ --enable-maintainer-zts \
+ --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d
+popd
+
+### NOTE!!! EXTENSION_DIR was changed for the -zts build, so it must remain
+### the last SAPI to be built.
+
+%check
+cd build-apache
+# Run tests, using the CLI SAPI
+export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
+unset TZ LANG LC_ALL
+if ! make test; then
+ set +x
+ for f in `find .. -name \*.diff -type f -print`; do
+ echo "TEST FAILURE: $f --"
+ cat "$f"
+ echo "-- $f result ends."
+ done
+ set -x
+ #exit 1
+fi
+unset NO_INTERACTION REPORT_EXIT_STATUS MALLOC_CHECK_
+
+%install
+[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
+
+# Install the version for embedded script language in applications + php_embed.h
+make -C build-embedded install-sapi install-headers INSTALL_ROOT=$RPM_BUILD_ROOT
+
+# Install everything from the CGI SAPI build
+make -C build-cgi install INSTALL_ROOT=$RPM_BUILD_ROOT
+
+# Install the default configuration file and icons
+install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/
+install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/php.ini
+install -m 755 -d $RPM_BUILD_ROOT%{contentdir}/icons
+install -m 644 *.gif $RPM_BUILD_ROOT%{contentdir}/icons/
+
+# For third-party packaging:
+install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/php/pear \
+ $RPM_BUILD_ROOT%{_datadir}/php
+
+# install the DSO
+install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/httpd/modules
+install -m 755 build-apache/libs/libphp5.so $RPM_BUILD_ROOT%{_libdir}/httpd/modules
+
+# install the ZTS DSO
+install -m 755 build-zts/libs/libphp5.so $RPM_BUILD_ROOT%{_libdir}/httpd/modules/libphp5-zts.so
+
+# Apache config fragment
+install -m 755 -d $RPM_BUILD_ROOT/etc/httpd/conf.d
+install -m 644 $RPM_SOURCE_DIR/php.conf $RPM_BUILD_ROOT/etc/httpd/conf.d
+
+install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php.d
+install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php
+install -m 700 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php/session
+
+# Generate files lists and stub .ini files for each subpackage
+for mod in pgsql mysql mysqli odbc ldap snmp xmlrpc imap \
+ mbstring ncurses gd dom xsl soap bcmath dba xmlreader xmlwriter \
+ %{?_with_oci8:oci8} %{?_with_oci8:pdo_oci} sqlite \
+ pdo pdo_mysql pdo_pgsql pdo_odbc pdo_sqlite json zip \
+ dbase mcrypt mhash tidy pdo_dblib mssql pspell curl wddx \
+ posix sysvshm sysvsem sysvmsg recode interbase pdo_firebird; do
+ cat > $RPM_BUILD_ROOT%{_sysconfdir}/php.d/${mod}.ini <<EOF
+; Enable ${mod} extension module
+extension=${mod}.so
+EOF
+ cat > files.${mod} <<EOF
+%attr(755,root,root) %{_libdir}/php/modules/${mod}.so
+%config(noreplace) %attr(644,root,root) %{_sysconfdir}/php.d/${mod}.ini
+EOF
+done
+
+# The dom, xsl and xml* modules are all packaged in php-xml
+cat files.dom files.xsl files.xml{reader,writer} files.wddx > files.xml
+
+# The mysql and mysqli modules are both packaged in php-mysql
+cat files.mysqli >> files.mysql
+
+# Split out the PDO modules
+cat files.pdo_dblib >> files.mssql
+cat files.pdo_mysql >> files.mysql
+cat files.pdo_pgsql >> files.pgsql
+cat files.pdo_odbc >> files.odbc
+%if %{with_oci8}
+cat files.pdo_oci >> files.oci8
+%endif
+cat files.pdo_firebird >> files.interbase
+
+# sysv* and posix in packaged in php-process
+cat files.sysv* files.posix > files.process
+
+# Package sqlite and pdo_sqlite with pdo; isolating the sqlite dependency
+# isn't useful at this time since rpm itself requires sqlite.
+cat files.sqlite >> files.pdo
+cat files.pdo_sqlite >> files.pdo
+
+# Package json, dbase and zip in -common.
+cat files.json files.dbase files.zip files.curl > files.common
+
+# Install the macros file:
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm
+sed -e "s/@PHP_APIVER@/%{apiver}/;s/@PHP_ZENDVER@/%{zendver}/;s/@PHP_PDOVER@/%{pdover}/" \
+ < $RPM_SOURCE_DIR/macros.php > macros.php
+install -m 644 -c macros.php \
+ $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.php
+
+# Remove unpackaged files
+rm -rf $RPM_BUILD_ROOT%{_libdir}/php/modules/*.a \
+ $RPM_BUILD_ROOT%{_bindir}/{phptar} \
+ $RPM_BUILD_ROOT%{_datadir}/pear \
+ $RPM_BUILD_ROOT%{_libdir}/libphp5.la
+
+# Remove irrelevant docs
+rm -f README.{Zeus,QNX,CVS-RULES}
+
+# Fix encoding of docs
+iconv -f iso-8859-1 -t utf-8 < EXTENSIONS > EXTENSIONS.utf8
+mv EXTENSIONS.utf8 EXTENSIONS
+
+%clean
+[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
+rm files.* macros.php
+
+
+%pre common
+echo -e "\nWARNING : This %{name}-* RPM are not official Fedora build and"
+echo -e "overrides the official ones. Don't file bugs on Fedora Project.\n"
+echo -e "Use dedicated forums http://forums.famillecollet.com/\n"
+
+%if %{?fedora}%{!?fedora:99} <= 10
+echo -e "WARNING : Fedora %{fedora} is now EOL :"
+echo -e "You should consider upgrading to a supported release.\n"
+%endif
+
+
+%post embedded -p /sbin/ldconfig
+%postun embedded -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root)
+%{_libdir}/httpd/modules/libphp5.so
+%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/session
+%config(noreplace) %{_sysconfdir}/httpd/conf.d/php.conf
+%{contentdir}/icons/php.gif
+
+%files common -f files.common
+%defattr(-,root,root)
+%doc CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README*
+%doc Zend/ZEND_* TSRM_LICENSE regex_COPYRIGHT
+%config(noreplace) %{_sysconfdir}/php.ini
+%dir %{_sysconfdir}/php.d
+%dir %{_libdir}/php
+%dir %{_libdir}/php/modules
+%dir %{_localstatedir}/lib/php
+%dir %{_libdir}/php/pear
+%dir %{_datadir}/php
+
+%files cli
+%defattr(-,root,root)
+%{_bindir}/php
+%{_bindir}/php-cgi
+%{_mandir}/man1/php.1*
+%doc sapi/cgi/README* sapi/cli/README
+
+%files zts
+%defattr(-,root,root)
+%{_libdir}/httpd/modules/libphp5-zts.so
+
+%files devel
+%defattr(-,root,root)
+%{_bindir}/php-config
+%{_bindir}/phpize
+%{_includedir}/php
+%{_libdir}/php/build
+%{_mandir}/man1/php-config.1*
+%{_mandir}/man1/phpize.1*
+%config %{_sysconfdir}/rpm/macros.php
+
+%files embedded
+%defattr(-,root,root,-)
+%{_libdir}/libphp5.so
+%{_libdir}/libphp5-%{version}.so
+
+%files pgsql -f files.pgsql
+%files mysql -f files.mysql
+%files odbc -f files.odbc
+%files imap -f files.imap
+%files ldap -f files.ldap
+%files snmp -f files.snmp
+%files xml -f files.xml
+%files xmlrpc -f files.xmlrpc
+%files mbstring -f files.mbstring
+%files ncurses -f files.ncurses
+%files gd -f files.gd
+%doc gd_README
+%files soap -f files.soap
+%files bcmath -f files.bcmath
+%files dba -f files.dba
+%files pdo -f files.pdo
+%files mcrypt -f files.mcrypt
+%files mhash -f files.mhash
+%files tidy -f files.tidy
+%files mssql -f files.mssql
+%files pspell -f files.pspell
+%files process -f files.process
+%files recode -f files.recode
+
+%if %{with_oci8}
+%files oci8 -f files.oci8
+%endif
+
+%files interbase -f files.interbase
+
+%changelog
+* Sun Jan 09 2011 Remi Collet <rpms@famillecollet.com> 5.2.17-1
+- update to 5.2.17
+
+* Thu Dec 16 2010 Remi Collet <rpms@famillecollet.com> 5.2.16-1
+- update to 5.2.16
+
+* Sat Dec 11 2010 Remi Collet <rpms@famillecollet.com> 5.2.15-1
+- update to 5.2.15
+- build against Oracle InstantClient 11.2.0.2.0-1
+
+* Sun Jul 25 2010 Remi Collet <rpms@famillecollet.com> 5.2.14-1
+- update to 5.2.14
+
+* Sun Mar 07 2010 Remi Collet <rpms@famillecollet.com> 5.2.13-1
+- sync with F-11 and rebuild 5.2.13 for EL5
+
+* Sat Mar 06 2010 Tim Jackson <rpm@timj.co.uk> 5.2.13-1
+- update to 5.2.13
+
+* Sat Jun 21 2009 Remi Collet <rpms@famillecollet.com> 5.2.10-1.###.remi
+- update to 5.2.10
+- add interbase sub-package
+
+* Wed Apr 15 2009 Joe Orton <jorton@redhat.com> 5.2.9-2
+- revert to r3 of tzdata patch
+
+* Fri Feb 27 2009 Remi Collet <rpms@famillecollet.com> 5.2.9-1.###.remi
+- sync spec with rawhide
+- update to 5.2.9
+
+* Thu Feb 5 2009 Joe Orton <jorton@redhat.com> 5.2.8-9
+- add recode support, -recode subpackage (#106755)
+- add -zts subpackage with ZTS-enabled build of httpd SAPI
+- adjust php.conf to use -zts SAPI build for worker MPM
+
+* Wed Feb 4 2009 Joe Orton <jorton@redhat.com> 5.2.8-8
+- fix patch fuzz, renumber patches
+
+* Wed Feb 4 2009 Joe Orton <jorton@redhat.com> 5.2.8-7
+- drop obsolete configure args
+- drop -odbc patch (#483690)
+
+* Mon Jan 26 2009 Joe Orton <jorton@redhat.com> 5.2.8-5
+- split out sysvshm, sysvsem, sysvmsg, posix into php-process
+
+* Sun Jan 25 2009 Joe Orton <jorton@redhat.com> 5.2.8-4
+- move wddx to php-xml, build curl shared in -common
+- remove BR for expat-devel, bogus configure option
+
+* Fri Jan 23 2009 Joe Orton <jorton@redhat.com> 5.2.8-3
+- rebuild for new MySQL
+
+* Sat Dec 13 2008 Remi Collet <Fedora@FamilleCollet.com> 5.2.8-2
+- libtool 2 workaround for phpize (#476004)
+- add missing php_embed.h (#457777)
+
+* Tue Dec 09 2008 Remi Collet <rpms@famillecollet.com> 5.2.8-1.###.remi
+- update to 5.2.8
+
+* Fri Dec 05 2008 Remi Collet <rpms@famillecollet.com> 5.2.7-1.###.remi
+- update to 5.2.7
+
+* Sat Nov 29 2008 Remi Collet <rpms@famillecollet.com> 5.2.6-6.###.remi
+- F-10 rebuild (against mysql 5.1.30)
+- enable PDO_dblib driver
+
+* Tue Nov 4 2008 Joe Orton <jorton@redhat.com> 5.2.6-6
+- move gd_README to php-gd
+- update to r4 of systzdata patch; introduces a default timezone
+ name of "System/Localtime", which uses /etc/localtime (#469532)
+
+* Sat Sep 13 2008 Remi Collet <Fedora@FamilleCollet.com> 5.2.6-5
+- enable XPM support in php-gd
+- Fix BR for php-gd
+
+* Tue Aug 20 2008 Remi Collet <rpms@famillecollet.com> 5.2.6-3.###.remi
+- use system GD instead of bundled GD when >= 2.0.35 (Fedora >= 6)
+
+* Sat May 11 2008 Remi Collet <rpms@famillecollet.com> 5.2.6-2.###.remi
+- sync with rawhide (add php-pspell)
+
+* Thu May 8 2008 Joe Orton <jorton@redhat.com> 5.2.6-2
+- update to 5.2.6
+
+* Tue May 6 2008 Remi Collet <rpms@famillecollet.com> 5.2.6-1.###.remi
+- update to 5.2.6
+
+* Thu Apr 24 2008 Joe Orton <jorton@redhat.com> 5.2.5-7
+- split pspell extension out into php-pspell (#443857)
+
+* Sat Apr 12 2008 Remi Collet <rpms@famillecollet.com> 5.2.6-0.1.RC.fc8.remi
+- update to 5.2.6RC5 for testing
+
+* Wed Apr 09 2008 Remi Collet <rpms@famillecollet.com> 5.2.5-2.###.remi
+- resync with rawhide
+- use bundled pcre if system one too old
+- enable t1lib in GD (Fedora >= 5 and EL >= 5)
+
+* Fri Jan 11 2008 Joe Orton <jorton@redhat.com> 5.2.5-5
+- ext/date: use system timezone database
+
+* Sat Nov 10 2007 Remi Collet <rpms@famillecollet.com> 5.2.5-1.fc8.remi
+- update to 5.2.5
+
+* Fri Nov 09 2007 Remi Collet <rpms@famillecollet.com> 5.2.4-3.fc8.remi
+- resync with rawhide, F-8 rebuild
+
+* Mon Oct 15 2007 Joe Orton <jorton@redhat.com> 5.2.4-3
+- correct pcre BR version (#333021)
+- restore metaphone fix (#205714)
+- add READMEs to php-cli
+
+* Sat Sep 1 2007 Remi Collet <rpms@famillecollet.com> 5.2.4-1.fc7.remi.1
+- F-7 rebuild to add missing oci8
+
+* Fri Aug 31 2007 Remi Collet <rpms@famillecollet.com> 5.2.4-1.###.remi
+- update to 5.2.4
+
+* Wed Aug 15 2007 Remi Collet <rpms@famillecollet.com> 5.2.3-5.###.remi
+- rebuild from lastest rawhide spec
+- rebuild against MySQL 5.1.20
+
+* Fri Aug 10 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 5.2.3-7
+- add php-embedded sub-package
+
+* Fri Aug 10 2007 Joe Orton <jorton@redhat.com> 5.2.3-6
+- fix build with new glibc
+- fix License
+
+* Mon Jul 16 2007 Joe Orton <jorton@redhat.com> 5.2.3-5
+- define php_extdir in macros.php
+
+* Sun Jul 15 2007 Remi Collet <rpms@famillecollet.com> 5.2.3-4.###.remi
+- rebuild from lastest rawhide spec
+
+* Mon Jul 2 2007 Joe Orton <jorton@redhat.com> 5.2.3-4
+- obsolete php-dbase
+
+* Tue Jun 19 2007 Joe Orton <jorton@redhat.com> 5.2.3-3
+- add mcrypt, mhash, tidy, mssql subpackages (Dmitry Butskoy)
+- enable dbase extension and package in -common
+
+* Fri Jun 8 2007 Remi Collet <rpms@famillecollet.com> 5.2.3-2.###.remi
+- rebuild from lastest rawhide spec
+
+* Fri Jun 8 2007 Joe Orton <jorton@redhat.com> 5.2.3-2
+- update to 5.2.3 (thanks to Jeff Sheltren)
+
+* Thu Jun 07 2007 Remi Collet <rpms@famillecollet.com> 5.2.3-1.fc#.remi.2
+- see https://www.redhat.com/archives/fedora-php-devel-list/2007-June/msg00000.html
+
+* Tue Jun 05 2007 Remi Collet <rpms@famillecollet.com> 5.2.3-1.fc#.remi.1
+- rebuild against libtidy-0.99.0-12-20070228
+
+* Sat Jun 02 2007 Remi Collet <rpms@famillecollet.com> 5.2.3-1.fc#.remi
+- update to 5.2.3
+
+* Tue May 22 2007 Remi Collet <rpms@famillecollet.com> 5.2.2-3.fc7.remi
+- F7 rebuild with all extensions
+
+* Tue May 8 2007 Joe Orton <jorton@redhat.com> 5.2.2-3
+- rebuild against uw-imap-devel
+
+* Fri May 4 2007 Remi Collet <rpms@famillecollet.com> 5.2.2-1.###.remi
+- update to 5.2.2 (from rawhide)
+
+* Fri May 4 2007 Joe Orton <jorton@redhat.com> 5.2.2-2
+- update to 5.2.2
+- synch changes from upstream recommended php.ini
+
+* Sun Apr 01 2007 Remi Collet <rpms@famillecollet.com> 5.2.1-4.fc{3-6}.remi
+- use system sqlite2 (not bundled copy)
+
+* Sat Mar 31 2007 Remi Collet <rpms@famillecollet.com> 5.2.1-3.fc{3-6}.remi
+- build --with-sqlite (in php-pdo)
+
+* Thu Mar 29 2007 Joe Orton <jorton@redhat.com> 5.2.1-5
+- enable SASL support in LDAP extension (#205772)
+
+* Wed Mar 21 2007 Joe Orton <jorton@redhat.com> 5.2.1-4
+- drop mime_magic extension (deprecated by php-pecl-Fileinfo)
+
+* Sat Feb 17 2007 Remi Collet <rpms@famillecollet.com> 5.2.1-2.fc{3-6}.remi
+- latest patches from rawhide
+- fix regression in str_{i,}replace (from upstream)
+- keep memory_limit to 128M (defaut php-5.2.1 value)
+
+* Thu Feb 15 2007 Joe Orton <jorton@redhat.com> 5.2.1-2
+- update to 5.2.1
+- add Requires(pre) for httpd
+- trim %%changelog to versions >= 5.0.0
+
+* Fri Feb 09 2007 Remi Collet <rpms@famillecollet.com> 5.2.1-1.fc{3-6}.remi
+- update to 5.2.1
+- remove php-5.1.6-curl716.patch and php-5.2.0-filterm4.patch (included upstream)
+
+* Thu Feb 8 2007 Joe Orton <jorton@redhat.com> 5.2.0-10
+- bump default memory_limit to 32M (#220821)
+- mark config files noreplace again (#174251)
+- drop trailing dots from Summary fields
+- use standard BuildRoot
+- drop libtool15 patch (#226294)
+
+* Sat Feb 03 2007 Remi Collet <rpms@famillecollet.com> 5.2.0-5.fc{3-6}.remi
+- rebuild from rawhide
+- del Requires libclntsh.so.10.1 (not provided by Oracle RPM)
+- build with oracle-instantclient 10.2.0.3
+
+* Tue Jan 30 2007 Joe Orton <jorton@redhat.com> 5.2.0-9
+- add php(api), php(zend-abi) provides (#221302)
+- package /usr/share/php and append to default include_path (#225434)
+
+* Wed Dec 20 2006 Remi Collet <rpms@famillecollet.com> 5.2.0-4.fc{3-6}.remi
+- rebuild from rawhide
+
+* Tue Dec 5 2006 Joe Orton <jorton@redhat.com> 5.2.0-8
+- fix filter.h installation path
+- fix php-zend-abi version (Remi Collet, #212804)
+
+* Fri Dec 01 2006 Remi Collet <rpms@famillecollet.com> 5.2.0-3.fc{3-6}.remi
+- rebuild from rawhide
+
+* Mon Nov 27 2006 Joe Orton <jorton@redhat.com> 5.2.0-5
+- build json and zip shared, in -common (Remi Collet, #215966)
+- obsolete php-json and php-pecl-zip
+- build readline extension into /usr/bin/php* (#210585)
+- change module subpackages to require php-common not php (#177821)
+
+* Thu Nov 16 2006 Remi Collet <rpms@famillecollet.com> 5.2.0-2.fc6.remi
+- rebuild with rawhide patches
+
+* Wed Nov 15 2006 Joe Orton <jorton@redhat.com> 5.2.0-4
+- provide php-zend-abi (#212804)
+- add /etc/rpm/macros.php exporting interface versions
+- synch with upstream recommended php.ini
+
+* Wed Nov 15 2006 Joe Orton <jorton@redhat.com> 5.2.0-3
+- update to 5.2.0 (#213837)
+- php-xml provides php-domxml (#215656)
+- fix php-pdo-abi provide (#214281)
+
+* Sat Nov 4 2006 Remi Collet <rpms@famillecollet.com> 5.2.0-1.1.fc6.remi
+- split php-json
+
+* Thu Nov 2 2006 Remi Collet <rpms@famillecollet.com> 5.2.0-1.fc{3-6}.remi
+- update to 5.2.0 final
+- add disclaimer
+
+* Sat Oct 14 2006 Remi Collet <rpms@famillecollet.com> 5.2.0-0.200610140830.fc5.remi
+- latest snapshot
+
+* Sun Oct 8 2006 Remi Collet <rpms@famillecollet.com> 5.2.0-0.200610081430.fc5.remi
+- latest snapshot
+
+* Sun Oct 1 2006 Remi Collet <rpms@famillecollet.com> 5.2.0-0.200610011230.fc5.remi
+- latest snapshot for http://bugs.php.net/bug.php?id=37103
+
+* Sun Sep 17 2006 Remi Collet <rpms@famillecollet.com> 5.2.0-0.200609171630.fc5.remi
+- first try for php 5.2 from snaps.php.net
+- add Requires pcre >= 6.6
+
+* Thu Aug 31 2006 Remi Collet <rpms@famillecollet.com> 5.1.6-2.fc{3,4,5}.remi
+- rebuild from FC3, FC4 & FC5 (from rawhide)
+
+* Tue Aug 29 2006 Joe Orton <jorton@redhat.com> 5.1.6-2
+- update to 5.1.6 (security fixes)
+- bump default memory_limit to 16M (#196802)
+
+* Sun Aug 20 2006 Remi Collet <rpms@famillecollet.com> 5.1.5-1.fc{3,4,5}.remi
+- update to 5.1.5
+
+* Sat Jul 24 2006 Remi Collet <rpms@famillecollet.com> 5.1.4-3.fc{3,4,5}.remi
+- path to install libmbfl headers : http://bugs.php.net/bug.php?id=37103
+
+* Sat Jun 24 2006 Remi Collet <rpms@famillecollet.com> 5.1.4-2.fc{3,4,5}.remi
+- rebuild fromFC3, FC4 & FC5 (from rawhide)
+- build with oracle-instantclient 10.2.0.2
+- requires libclntsh.so.10.1 (not oracle-instantclient-basic)
+
+* Fri Jun 9 2006 Joe Orton <jorton@redhat.com> 5.1.4-8
+- Provide php-posix (#194583)
+- only provide php-pcntl from -cli subpackage
+- add missing defattr's (thanks to Matthias Saou)
+
+* Fri Jun 9 2006 Joe Orton <jorton@redhat.com> 5.1.4-7
+- move Obsoletes for php-openssl to -common (#194501)
+- Provide: php-cgi from -cli subpackage
+
+* Fri Jun 2 2006 Joe Orton <jorton@redhat.com> 5.1.4-6
+- split out php-cli, php-common subpackages (#177821)
+- add php-pdo-abi version export (#193202)
+
+* Wed May 24 2006 Radek Vokal <rvokal@redhat.com> 5.1.4-5.1
+- rebuilt for new libnetsnmp
+
+* Thu May 18 2006 Joe Orton <jorton@redhat.com> 5.1.4-5
+- provide mod_php (#187891)
+- provide php-cli (#192196)
+- use correct LDAP fix (#181518)
+- define _GNU_SOURCE in php_config.h and leave it defined
+- drop (circular) dependency on php-pear
+
+* Sat May 06 2006 Remi Collet <rpms@famillecollet.com> 5.1.4-1.fc{3,4,5}.remi
+- update to 5.1.4
+
+* Fri May 05 2006 Remi Collet <rpms@famillecollet.com> 5.1.3-1.fc{3,4,5}.remi
+- rebuild with additional packages
+
+* Wed May 3 2006 Joe Orton <jorton@redhat.com> 5.1.3-3
+- update to 5.1.3
+
+* Mon Apr 17 2006 Remi Collet <rpms@famillecollet.com> 5.1.2-5.2.fc5.remi
+- path to install libmbfl headers : http://bugs.php.net/bug.php?id=37103
+
+* Fri Apr 7 2006 Joe Orton <jorton@redhat.com> 5.1.2-5.1
+- fix use of LDAP on 64-bit platforms (#181518)
+
+* Sun Apr 02 2006 Remi Collet <rpms@famillecollet.com> 5.1.2-5.fc5.remi
+- add dbase, readline & tidy from php-extras
+- build for FC5 (for mssql & oci8 only)
+
+* Tue Feb 28 2006 Joe Orton <jorton@redhat.com> 5.1.2-5
+- provide php-api (#183227)
+- add provides for all builtin modules (Tim Jackson, #173804)
+- own %%{_libdir}/php/pear for PEAR packages (per #176733)
+- add obsoletes to allow upgrade from FE4 PDO packages (#181863)
+
+* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 5.1.2-4.3
+- bump again for double-long bug on ppc(64)
+
+* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 5.1.2-4.1
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Tue Jan 31 2006 Joe Orton <jorton@redhat.com> 5.1.2-4
+- rebuild for new libc-client soname
+
+* Mon Jan 16 2006 Joe Orton <jorton@redhat.com> 5.1.2-3
+- only build xmlreader and xmlwriter shared (#177810)
+
+* Sat Jan 14 2006 Remi Collet <remi.collet@univ-reims.fr> 5.1.2-2.fc{3,4}.remi
+- update to 5.1.2 (see #177810)
+
+* Fri Jan 13 2006 Joe Orton <jorton@redhat.com> 5.1.2-2
+- update to 5.1.2
+
+* Sat Jan 7 2006 Remi Collet <remi.collet@univ-reims.fr> 5.1.1-2.fc{3,4}.remi
+- rebuild with mhash and mcrypt
+
+* Thu Jan 5 2006 Joe Orton <jorton@redhat.com> 5.1.1-8
+- rebuild again
+
+* Mon Jan 2 2006 Joe Orton <jorton@redhat.com> 5.1.1-7
+- rebuild for new net-snmp
+
+* Mon Dec 12 2005 Joe Orton <jorton@redhat.com> 5.1.1-6
+- enable short_open_tag in default php.ini again (#175381)
+
+* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
+- rebuilt
+
+* Thu Dec 8 2005 Joe Orton <jorton@redhat.com> 5.1.1-5
+- require net-snmp for php-snmp (#174800)
+
+* Sun Dec 4 2005 Joe Orton <jorton@redhat.com> 5.1.1-4
+- add /usr/share/pear back to hard-coded include_path (#174885)
+
+* Sat Dec 3 2005 Remi Collet <remi.collet@univ-reims.fr> 5.1.1-2.fc#.remi
+- rebuild for FC3 et FC4 (with oci8 and mssql)
+
+* Mon Nov 28 2005 Joe Orton <jorton@redhat.com> 5.1.1-2
+- update to 5.1.1
+- remove pear subpackage
+- enable pdo extensions (php-pdo subpackage)
+- remove non-standard conditional module builds
+- enable xmlreader extension
+
+* Sat Oct 29 2005 Remi Collet <remi.collet@univ-reims.fr> 5.1.0-0.200510291230.fc#.remi
+- php5-200510291230 for FC4 & FC3
+- pear from php-5.0.5 (yes i know...)
+- using mysql-5.0.15, oracle-instantclient-10.2.0.1, freetds-0.63
+- DB-1.7.6, HTTP-1.3.6, Mail-1.1.9, XML_Parser-1.2.7
+- Net_Socket-1.0.6, Net_SMTP-1.2.7.tgz, XML_RPC-1.4.3
+
+* Sat Sep 3 2005 Remi Collet <remi.collet@univ-reims.fr> 5.1.0-0.200509030830.FC4.remi
+- php5-200509030830 for FC3 & FC4
+
+* Mon Aug 15 2005 Joe Orton <jorton@redhat.com> 5.0.4-10.4
+- pear: update to XML_RPC 1.4.0 (CAN-2005-2498, #165847)
+- use /etc/httpd/conf/magic for mime_magic (#163116)
+
+* Sat Jul 9 2005 Remi Collet <remi.collet@univ-reims.fr> 5.0.4-10.3.FC3
+- rebuilt for FC3
+
+* Mon Jul 4 2005 Joe Orton <jorton@redhat.com> 5.0.4-10.3
+- pear: update to XML_RPC 1.3.1 (CAN-2005-1921, #162045)
+- update bundled shtool to 2.0.2 (CAN-2005-1751, #158998)
+
+* Tue Jun 21 2005 Joe Orton <jorton@redhat.com> 5.0.4-10.2
+- fix imports from dom module (Rob Richards, #161447)
+- fix detection and support for ldap_start_tls (#160527)
+- fix imagettftext et al (upstream, #161001)
+- mark php.ini and php.conf as noreplace again for updates
+
+* Fri May 6 2005 Joe Orton <jorton@redhat.com> 5.0.4-10
+- disable RPATHs in shared extensions (#156974)
+
+* Tue May 3 2005 Joe Orton <jorton@redhat.com> 5.0.4-9
+- build simplexml_import_dom even with shared dom (#156434)
+- prevent truncation of copied files to ~2Mb (#155916)
+- install /usr/bin/php from CLI build alongside CGI
+- enable sysvmsg extension (#142988)
+
+* Mon Apr 25 2005 Joe Orton <jorton@redhat.com> 5.0.4-8
+- prevent build of builtin dba as well as shared extension
+
+* Wed Apr 13 2005 Joe Orton <jorton@redhat.com> 5.0.4-7
+- split out dba and bcmath extensions into subpackages
+- BuildRequire gcc-c++ to avoid AC_PROG_CXX{,CPP} failure (#155221)
+- pear: update to DB-1.7.6
+- enable FastCGI support in /usr/bin/php-cgi (#149596)
+
+* Wed Apr 13 2005 Joe Orton <jorton@redhat.com> 5.0.4-6
+- build /usr/bin/php with the CLI SAPI, and add /usr/bin/php-cgi,
+ built with the CGI SAPI (thanks to Edward Rudd, #137704)
+- add php(1) man page for CLI
+- fix more test cases to use -n when invoking php
+
+* Wed Apr 13 2005 Joe Orton <jorton@redhat.com> 5.0.4-5
+- rebuild for new libpq soname
+
+* Tue Apr 12 2005 Joe Orton <jorton@redhat.com> 5.0.4-4
+- bundle from PEAR: HTTP, Mail, XML_Parser, Net_Socket, Net_SMTP
+- snmp: disable MSHUTDOWN function to prevent error_log noise (#153988)
+- mysqli: add fix for crash on x86_64 (Georg Richter, upstream #32282)
+
+* Mon Apr 11 2005 Joe Orton <jorton@redhat.com> 5.0.4-3
+- build shared objects as PIC (#154195)
+
+* Mon Apr 4 2005 Joe Orton <jorton@redhat.com> 5.0.4-2
+- fix PEAR installation and bundle PEAR DB-1.7.5 package
+
+* Fri Apr 1 2005 Joe Orton <jorton@redhat.com> 5.0.4-1
+- update to 5.0.4 (#153068)
+- add .phps AddType to php.conf (#152973)
+- better gcc4 fix for libxmlrpc
+
+* Wed Mar 30 2005 Joe Orton <jorton@redhat.com> 5.0.3-5
+- BuildRequire mysql-devel >= 4.1
+- don't mark php.ini as noreplace to make upgrades work (#152171)
+- fix subpackage descriptions (#152628)
+- fix memset(,,0) in Zend (thanks to Dave Jones)
+- fix various compiler warnings in Zend
+
+* Thu Mar 24 2005 Joe Orton <jorton@redhat.com> 5.0.3-4
+- package mysqli extension in php-mysql
+- really enable pcntl (#142903)
+- don't build with --enable-safe-mode (#148969)
+- use "Instant Client" libraries for oci8 module (Kai Bolay, #149873)
+
+* Fri Feb 18 2005 Joe Orton <jorton@redhat.com> 5.0.3-3
+- fix build with GCC 4
+
+* Wed Feb 9 2005 Joe Orton <jorton@redhat.com> 5.0.3-2
+- install the ext/gd headers (#145891)
+- enable pcntl extension in /usr/bin/php (#142903)
+- add libmbfl array arithmetic fix (dcb314@hotmail.com, #143795)
+- add BuildRequire for recent pcre-devel (#147448)
+
+* Wed Jan 12 2005 Joe Orton <jorton@redhat.com> 5.0.3-1
+- update to 5.0.3 (thanks to Robert Scheck et al, #143101)
+- enable xsl extension (#142174)
+- package both the xsl and dom extensions in php-xml
+- enable soap extension, shared (php-soap package) (#142901)
+- add patches from upstream 5.0 branch:
+ * Zend_strtod.c compile fixes
+ * correct php_sprintf return value usage
+
+* Mon Nov 22 2004 Joe Orton <jorton@redhat.com> 5.0.2-8
+- update for db4-4.3 (Robert Scheck, #140167)
+- build against mysql-devel
+- run tests in %%check
+
+* Wed Nov 10 2004 Joe Orton <jorton@redhat.com> 5.0.2-7
+- truncate changelog at 4.3.1-1
+- merge from 4.3.x package:
+ - enable mime_magic extension and Require: file (#130276)
+
+* Mon Nov 8 2004 Joe Orton <jorton@redhat.com> 5.0.2-6
+- fix dom/sqlite enable/without confusion
+
+* Mon Nov 8 2004 Joe Orton <jorton@redhat.com> 5.0.2-5
+- fix phpize installation for lib64 platforms
+- add fix for segfault in variable parsing introduced in 5.0.2
+
+* Mon Nov 8 2004 Joe Orton <jorton@redhat.com> 5.0.2-4
+- update to 5.0.2 (#127980)
+- build against mysqlclient10-devel
+- use new RTLD_DEEPBIND to load extension modules
+- drop explicit requirement for elfutils-devel
+- use AddHandler in default conf.d/php.conf (#135664)
+- "fix" round() fudging for recent gcc on x86
+- disable sqlite pending audit of warnings and subpackage split
+
+* Fri Sep 17 2004 Joe Orton <jorton@redhat.com> 5.0.1-4
+- don't build dom extension into 2.0 SAPI
+
+* Fri Sep 17 2004 Joe Orton <jorton@redhat.com> 5.0.1-3
+- ExclusiveArch: x86 ppc x86_64 for the moment
+
+* Fri Sep 17 2004 Joe Orton <jorton@redhat.com> 5.0.1-2
+- fix default extension_dir and conf.d/php.conf
+
+* Thu Sep 9 2004 Joe Orton <jorton@redhat.com> 5.0.1-1
+- update to 5.0.1
+- only build shared modules once
+- put dom extension in php-dom subpackage again
+- move extension modules into %%{_libdir}/php/modules
+- don't use --with-regex=system, it's ignored for the apache* SAPIs