rpms/php/devel php-5.2.5-systzdata.patch, 1.3, 1.4 php-5.3.0-easter.patch, NONE, 1.1 php-5.3.0-gnusrc.patch, NONE, 1.1 php-5.3.0-install.patch, NONE, 1.1 php-5.3.0-oci8conf.patch, NONE, 1.1 php-5.3.0-phpize64.patch, NONE, 1.1 php-5.3.0-recode.patch, NONE, 1.1 php-5.3.0-systzdata.patch, NONE, 1.1 .cvsignore, 1.37, 1.38 php.ini, 1.8, 1.9 php.spec, 1.176, 1.177 sources, 1.40, 1.41 php-5.2.10-gnusrc.patch, 1.1, NONE php-5.2.4-easter.patch, 1.1, NONE php-5.2.8-install.patch, 1.1, NONE php-5.2.8-phpize64.patch, 1.1, NONE php-5.2.8-recode.patch, 1.1, NONE

Remi Collet remi at fedoraproject.org
Sun Jul 12 16:47:14 UTC 2009


Author: remi

Update of /cvs/extras/rpms/php/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv15705

Modified Files:
	.cvsignore php.ini php.spec sources 
Added Files:
	php-5.2.5-systzdata.patch php-5.3.0-easter.patch 
	php-5.3.0-gnusrc.patch php-5.3.0-install.patch 
	php-5.3.0-oci8conf.patch php-5.3.0-phpize64.patch 
	php-5.3.0-recode.patch php-5.3.0-systzdata.patch 
Removed Files:
	php-5.2.10-gnusrc.patch php-5.2.4-easter.patch 
	php-5.2.8-install.patch php-5.2.8-phpize64.patch 
	php-5.2.8-recode.patch 
Log Message:
Update to PHP 5.3.0 - New API/ABI

php-5.2.5-systzdata.patch:

Index: php-5.2.5-systzdata.patch
===================================================================
RCS file: php-5.2.5-systzdata.patch
diff -N php-5.2.5-systzdata.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ php-5.2.5-systzdata.patch	12 Jul 2009 16:47:12 -0000	1.4
@@ -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)
+ {

php-5.3.0-easter.patch:

--- NEW FILE php-5.3.0-easter.patch ---
diff -up php-5.3.0/ext/standard/basic_functions.c.easter php-5.3.0/ext/standard/basic_functions.c
--- php-5.3.0/ext/standard/basic_functions.c.easter	2009-06-20 08:07:35.000000000 +0200
+++ php-5.3.0/ext/standard/basic_functions.c	2009-07-12 13:46:08.000000000 +0200
@@ -1547,9 +1547,6 @@ ZEND_END_ARG_INFO()
 ZEND_BEGIN_ARG_INFO(arginfo_php_real_logo_guid, 0)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO(arginfo_php_egg_logo_guid, 0)
-ZEND_END_ARG_INFO()
-
 ZEND_BEGIN_ARG_INFO(arginfo_zend_logo_guid, 0)
 ZEND_END_ARG_INFO()
 
@@ -2695,7 +2692,6 @@ const zend_function_entry basic_function
 	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 -up php-5.3.0/ext/standard/info.c.easter php-5.3.0/ext/standard/info.c
--- php-5.3.0/ext/standard/info.c.easter	2009-01-17 03:05:13.000000000 +0100
+++ php-5.3.0/ext/standard/info.c	2009-07-12 13:46:11.000000000 +0200
@@ -1268,21 +1268,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);
 
 }
 /* }}} */
@@ -1313,18 +1299,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_parse_parameters_none() == FAILURE) {
-		return;
-	}
-
-	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)
diff -up php-5.3.0/ext/standard/info.h.easter php-5.3.0/ext/standard/info.h
--- php-5.3.0/ext/standard/info.h.easter	2008-12-31 12:15:45.000000000 +0100
+++ php-5.3.0/ext/standard/info.h	2009-07-12 13:45:34.000000000 +0200
@@ -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);
diff -up php-5.3.0/main/logos.h.easter php-5.3.0/main/logos.h
--- php-5.3.0/main/logos.h.easter	2008-12-31 12:15:47.000000000 +0100
+++ php-5.3.0/main/logos.h	2009-07-12 13:46:15.000000000 +0200
@@ -492,589 +492,3 @@ static const unsigned char php_logo[] = 
 	 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, 
-	231, 255,   0,  18,  25,  33,  32,  30,  34,  28, 
-	 33,  44,  15,  35,  71,   6,  37,  85,  37,  40, 
-	 47,  34,  41,  53,  41,  40,  43,   9,  47, 109, 
-	 30,  45,  68,  21,  48,  84,  51,  46,  55,  43, 
-	 49,  59,  31,  59,  98,  15,  61, 128,  58,  55, 
-	 69,  50,  57,  74,   0,  66, 144,  56,  58,  60, 
-	 54,  59,  71,  32,  66, 113,  60,  65,  67,  63, 
-	 65,  84,  63,  68,  79,  28,  79, 145,  15,  82, 
-	162,  75,  72,  98,  68,  78,  86,  74,  77,  88, 
-	 50,  82, 122,  41,  85, 134,  76,  78, 108,  70, 
-	 83, 101,   5,  94, 190,   0,  95, 197,  86,  80, 
-	101,  28,  92, 159,  80,  84,  96,  83,  83, 115, 
-	 81,  87,  89,  22,  97, 183,  86,  88,  85,   0, 
-	102, 210,   8, 101, 204,  24, 100, 177,  85,  90, 
-	127,  35, 101, 169,  42, 100, 159,  88,  92, 103, 
-	  0, 107, 216,  69,  95, 132,   0, 108, 210,  84, 
-	 93, 112,  94,  90, 117,  18, 105, 201,  96,  92, 
-	105,  89,  96,  98,  94,  93, 135,  94,  94, 126, 
-	 30, 106, 210,   7, 112, 222,  33, 108, 198,  16, 
-	114, 217,  27, 113, 198,  24, 113, 209,  59, 108, 
-	159,  96, 100, 138,   0, 120, 229,  44, 112, 180, 
-	 49, 112, 171,  71, 108, 148,  99, 104, 115,  90, 
-	106, 125,  27, 115, 232, 100, 102, 147,  42, 115, 
-	192,  86, 110, 137,   9, 123, 239, 106, 108, 105, 
-	105, 105, 138,  33, 118, 228,  12, 125, 227,  48, 
-	117, 208,  16, 126, 222,  37, 120, 224,  20, 125, 
-	235,  35, 123, 213,  50, 121, 190,  43, 123, 206, 
-	 40, 123, 220, 105, 110, 160,  59, 122, 182,  78, 
-	119, 158,  44, 122, 233,   3, 134, 250, 112, 112, 
-	151,  73, 123, 175, 113, 118, 114,  51, 128, 205, 
-	 34, 129, 246,  11, 136, 245,  34, 130, 240, 113, 
-	117, 149, 111, 116, 166, 111, 119, 141,  48, 130, 
-	221,  38, 132, 235,  53, 130, 215,  97, 124, 146, 
-	116, 122, 124, 117, 121, 131,  54, 130, 229,  41, 
-	135, 232,  68, 130, 223,  46, 135, 246,  65, 134, 
-	202,  42, 137, 241,  75, 131, 205, 124, 121, 161, 
-	101, 125, 191,  86, 128, 210, 121, 122, 169, 105, 
-	128, 157, 121, 122, 180, 114, 124, 181,  94, 128, 
-	201,  81, 134, 185,  46, 138, 252,  76, 135, 195, 
-	 34, 142, 252,  62, 137, 229,  63, 138, 217,  33, 
-	144, 247,  58, 139, 223,  56, 141, 246,  54, 143, 
-	234,  57, 143, 241, 102, 135, 193, 129, 130, 176, 
-	122, 136, 144,  46, 148, 252,  45, 149, 246, 118, 
-	133, 191,  65, 146, 231,  73, 146, 216, 129, 133, 
-	185, 135, 135, 156,  69, 148, 226,  44, 153, 255, 
-	 94, 143, 216, 132, 136, 175,  88, 146, 207, 137, 
-	139, 136,  93, 146, 197,  95, 147, 188, 137, 139, 
-	150, 104, 146, 178, 122, 143, 172, 135, 139, 191, 
-	 57, 156, 254,  67, 154, 245,  70, 154, 239, 134, 
-	141, 180, 117, 145, 201, 120, 146, 190,  79, 154, 
-	233, 140, 141, 188, 129, 144, 194, 142, 142, 176, 
-	137, 147, 156,  88, 155, 222,  82, 157, 230,  93, 
-	157, 218,  66, 162, 253, 100, 157, 210,  77, 161, 
-	247,  55, 168, 255,  81, 162, 241, 148, 148, 195, 
-	145, 149, 202, 127, 156, 204,  77, 166, 255, 142, 
-	155, 177, 141, 153, 200, 123, 160, 193,  73, 171, 
-	255,  93, 167, 240,  96, 167, 234, 152, 158, 160, 
-	101, 167, 228, 119, 164, 206, 155, 158, 171, 110, 
-	167, 219, 156, 155, 203,  89, 172, 252, 128, 164, 
-	219, 151, 163, 174,  81, 178, 255, 158, 162, 202, 
-	102, 175, 249,  93, 178, 251, 108, 175, 237, 103, 
-	177, 244, 166, 168, 165,  97, 182, 255,  87, 185, 
-	255, 149, 174, 216, 125, 181, 235, 110, 185, 252, 
-	117, 183, 254, 171, 172, 209, 166, 175, 197, 103, 
-	190, 255, 174, 176, 189, 140, 183, 221, 128, 184, 
-	248, 120, 187, 249, 179, 180, 184, 115, 193, 253, 
-	170, 183, 193, 174, 181, 215, 107, 197, 255, 135, 
-	191, 246, 151, 192, 219, 187, 183, 213, 128, 197, 
-	253, 121, 202, 255, 147, 198, 239, 188, 191, 219, 
-	148, 200, 252, 192, 193, 197, 134, 205, 254, 171, 
-	199, 236, 183, 199, 218, 163, 207, 251, 142, 213, 
-	255, 158, 211, 253, 195, 205, 217, 166, 211, 245, 
-	205, 204, 228, 153, 218, 255, 190, 210, 236, 186, 
-	212, 231, 177, 213, 248, 162, 224, 255, 188, 221, 
-	250, 214, 219, 221, 214, 219, 233, 174, 229, 254, 
-	198, 225, 247, 209, 226, 248, 186, 233, 251, 227, 
-	230, 239, 225, 241, 252, 253, 255, 252, 255, 255, 
-	255,  33, 249,   4,   1,  10,   0, 255,   0,  44, 
-	  0,   0,   0,   0, 120,   0,  67,   0,   0,   8, 
-	254,   0, 255,   9,  28,  72, 176, 160, 193, 131, 
-	  8,  19,  42,  92, 200, 176, 161, 195, 135,  16, 
-	 35,  74, 156,  72, 177, 162, 197, 139,  22, 131, 
-	105,  12, 134, 177, 163, 199, 143, 193, 164,  73, 
-	227,  38, 141,  28,  56, 112, 228,  76, 146,  20, 
-	 41, 205, 152,  75,  99, 183, 100, 201,  50, 101, 
-	202, 147,  77,  79, 166, 102, 205, 250, 200,  19, 
-	100,  73, 114, 239, 238, 221, 123,  71, 148, 104, 
-	202, 163, 224,  86, 138, 124,  25, 115, 166, 205, 
-	 72, 145, 246,  72, 221, 195,  39, 207,  30,  69, 
-	158, 118, 246, 220, 202, 208,  24, 184, 160, 252, 
-	248,   9,  29,  59, 212, 100,  75,  99,  53, 159, 
-	 66,  93, 203, 182, 109,  84, 169, 124, 248, 156, 
-	 57, 163, 165, 174, 150,  60, 138,  76, 113, 221, 
-	251, 207,  24, 183, 119,  97,   3, 135, 125,  71, 
-	 78,  90,  76,  62, 142,  70, 141,  18,  53, 109, 
-	170, 227, 199, 144,  35,  75, 157,  91,  87, 137, 
-	229,  28,  74, 190, 228, 229, 139, 209,  43,  96, 
-	193, 247,  10, 203, 114, 212, 167,  82,  47,  93, 
-	197, 138,  81, 163, 166, 173,  19,  47, 201, 176, 
-	 99,  59, 166, 171,  36, 135, 237,  22,  45, 114, 
-	216, 209, 203,  25,  98, 176, 191,  66, 195, 134, 
-	 54, 230, 233, 150, 179, 100, 197, 106, 181,  90, 
-	158, 171,  57, 179, 110, 231, 124, 185, 145,  77, 
-	157, 186, 150, 218,  45,  76, 104, 111, 145,  71, 
-	 86, 239, 133, 198, 200, 254, 145, 189, 199, 205, 
-	212, 212, 115, 244, 232, 157, 107,  86, 172, 185, 
-	234,  92, 197, 154, 137,  11, 231,  11,  77, 245, 
-	251, 178, 207,  40, 201, 254, 225, 131, 134,  39, 
-	138, 124, 103,  80,  73,  68,  13,  37, 141,  39, 
-	144, 213, 115,  14,  60, 235, 116, 211,  12, 123, 
-	197, 136,  67, 141, 106, 226, 156,  51,  78,  16, 
-	 92, 208, 194,   7, 126,  28,  70, 166, 159,   9, 
-	 26, 132, 104, 130,  29,   2, 254,  67,  32,  81, 
-	224, 200,  18,  91,  56, 240, 208,  35,  78,  51, 
-	238,  49,  40, 223,  58, 240,  88,  99, 132,  31, 
-	207, 168, 131,  14,  55, 206,  56, 115, 203,  41, 
-	167, 172, 229,  73,  36, 158, 196, 133, 216,  83, 
-	 29,  58, 166,  69,  11,  26,  88,  96, 129,   6, 
-	 95, 112, 230, 213,  81, 210, 188,  21,  27,  59, 
-	208, 208, 179,  14, 123, 205,  81, 227,  96,  55, 
-	235, 208, 227,  14,  23, 126, 244, 162, 204,  49, 
-	200,  64,   3,  13,  51, 194, 232, 162, 139,  50, 
-	105, 106, 131,  13,  54, 225, 132, 227, 205, 157, 
-	207,  96, 243, 204,  48, 195, 244,  72,  28, 126, 
-	103,  48, 233, 164,   6,  36, 246,  20, 210,  81, 
-	198, 224,  87, 143,  48,  12,  78,   8,  75,  43, 
-	242,  21,   3,  38,  60, 227, 116, 224,   2,  22, 
-	135,  32, 162,  41,  33, 112, 208, 129,  72,  35, 
-	135,   8, 242,  72,  40, 163, 150,  82, 202,  42, 
-	186, 172, 178, 203,  46, 169, 170, 154,  76,  50, 
-	254, 123, 158, 194,  97,  14,  22,  60, 240, 192, 
-	  7, 188, 117, 228,  23,  74, 198,  88,  41, 219, 
-	 56, 189,  36,  19, 203,  57, 235,  80, 147,  11, 
-	 44, 176,  20, 211,  96,  51, 240, 192, 195,  14, 
-	  5,  36,  88, 129,   8,  33, 116, 200,  81, 198, 
-	181, 101, 208,   1, 199,  27, 220, 110,  59,  69, 
-	 22, 130,  20,  82, 200,  35, 165,  76,  34, 110, 
-	 33, 147,  64, 162, 174,  42, 192, 200, 122, 223, 
-	 25,  38, 216, 186, 192,  19,  24, 133,  52,  82, 
-	149, 247, 161, 179, 203,  35, 136,   8, 243,  72, 
-	 57, 244,  80, 179, 220,  39, 185, 192, 163,  77, 
-	 55, 244, 236, 227,  14,   5,  17,   0,  65,   7, 
-	 25, 101, 120,  81, 197, 196, 216,  82,  97,  49, 
-	 21,  81,  68, 145,  69,  22, 105, 116, 236, 113, 
-	 26, 161, 148,  59, 136,  24,  98,  64, 210, 203, 
-	 40,  28, 106, 161, 193,   2,  11,  88, 144, 171, 
-	 68, 246,  74, 163, 226, 125, 207, 156, 105,   8, 
-	 25, 212,  54, 218, 202,  39,   4, 227, 115, 142, 
-	 54, 233, 177, 211,  65,   4,  51,  84, 113, 109, 
-	 21,  77,  52,   1,  69,  23,  19,  15,   1, 197, 
-	 16,  84,  12,  17, 197, 182, 112,   8, 146, 198, 
-	 20,  86, 147, 139, 204,  49, 169,  78,  50, 200, 
-	 32, 144,  56, 210,  97,  14,  15, 176,  28,  37, 
-	204, 198, 180, 228, 107, 108, 158,  60,  19, 202, 
-	 43, 159, 200, 225, 133,  28, 175, 224,   3,  15, 
-	 50, 176,  80,   2,  75, 254,  51,  94,  34, 140, 
-	143, 208,  68, 119, 129,  45, 210,  93,  48,  13, 
-	197, 210,  60, 240,   0, 133,  15, 111, 104, 138, 
-	  8,  28,  27,  79,   1, 199,  35, 163, 234,  18, 
-	139, 155, 233, 206, 177,  97, 202,  22,  28, 112, 
-	128,  14,  17,   5, 227, 210, 204, 213,  69, 178, 
-	 11,  40, 160,  16, 194,   8,  33, 134,  52,  17, 
-	142, 122, 197, 236, 156,  11,  51, 185,  52,   3, 
-	244,  62, 128, 207,  16,  49, 182,  93,  36, 125, 
-	120,  23, 135,  67, 193, 131,  15, 112, 148, 147, 
-	143,  58, 216,   8,   3, 249, 198,  89, 192,   1, 
-	199,  33, 143, 196,  18, 203,  42, 144, 104, 222, 
-	 33,  31,  26, 120,  62, 194,  67, 162, 255, 121, 
-	159,  35, 149, 104,  58, 135,  21, 100,  64,  92, 
-	 69, 139, 198, 238, 156, 236, 222, 226, 208, 131, 
-	207,  56,  13,  56,  80, 116,  19, 215,  54,  81, 
-	197,  24,  73,  23, 126, 248,  16,  62, 248, 144, 
-	133,  62, 110, 112, 194,  50, 202, 113,   8, 231, 
-	101, 193,   7,  64, 152, 220, 184,  30, 129,  42, 
-	 93, 168,  66, 108,  29,  50, 129, 231,  52, 208, 
-	 16,  89, 220, 162,  87, 248, 137,  68,  29, 178, 
-	160,   6,  53, 188, 225,   5,  85, 176,  86,  21, 
-	232,   1,  15, 113, 228,  98,  57, 173, 104, 143, 
-	151, 224, 241, 190, 248, 249, 160, 126, 114, 136, 
-	161, 181, 202,  16,  53, 167,  13,  97, 120, 105, 
-	184,   7,   7,  12, 224,   4, 111, 192,  65, 114, 
-	254, 144,   3,  66,  26,  14, 145,   6,  43,  88, 
-	  1,  11, 107, 128, 196,  42,  86,   1,  65,  14, 
-	181, 224,   0,   1, 160, 160,  66, 100, 114, 139, 
-	181, 197, 230,  22, 117, 152, 194,  20, 162, 160, 
-	134,  42, 144,  64,  10, 248, 163,  67, 122, 214, 
-	 17, 187,  79, 232,  45,  23, 226,  16,   7,  62, 
-	240,  97,  13,   5,  16, 109,  12, 215,  98,   4, 
-	207,  64, 193,  51,  77,  53,  66,  83,  84, 240, 
-	 65,  26, 218, 113,   1,   3, 180,   1,  27, 144, 
-	 19, 196, 183, 128, 128, 196,  66, 132,  98,  13, 
-	 63,  72, 228,  15, 176,  32, 134,  68,  52, 241, 
-	 62,  45,   8,  64,   0, 106, 144, 144,  89, 152, 
-	 66,  22,   8, 186, 207,  40, 214,  32,   8, 107, 
-	216, 194,   5,  67, 144, 218,  15, 134, 208,   5, 
-	 68, 184,  15,  30, 205, 120, 148,  25,  97,   1, 
-	157, 125, 208, 227,  25,   3, 136,  64,  12, 232, 
-	215, 136, 121, 200,  35,  31, 249, 168,  71,  61, 
-	242,  33, 143, 118, 108,  67,  30, 208, 128, 195, 
-	 32, 218,  49,   1,   1, 180,   1, 121, 199, 120, 
-	197,  35, 136, 184, 134, 102, 146,  11, 137,  88, 
-	 80, 228,  37, 104, 145,  36,  13,  72, 178,  80, 
-	  5, 153,   5,  78,  50,  73, 157,  72,  92,  98, 
-	 13, 135, 208, 135,  63, 252, 129, 132,  40, 116, 
-	193, 105, 192,  11,   5,  62,  92, 217, 140, 157, 
-	 49, 162,  21, 104,  60, 199,  62, 224, 225,  10, 
-	  2,  68, 128,  10, 114, 254,  32, 196,  49, 178, 
-	113, 129,  11, 112, 224, 159,  37, 224, 192,   6, 
-	 46, 176, 129, 108, 148,  99,  21, 213,  40, 230, 
-	  1,  78, 128,   3,  55, 240,  34,  29, 216,   8, 
-	197,  36, 122,  81,  10, 114,  61,   2,  93, 107, 
-	136, 230,  28, 230,  96,  13,  43, 202, 230,   1, 
-	  1,  56, 128, 119,  10, 146, 150, 251, 240,  65, 
-	 21,  88, 200, 194,  60, 198, 233, 143,  84, 164, 
-	193, 104,  72,  43, 195,  49, 214,   8, 143, 216, 
-	 49, 226, 157, 197, 208,  70, 251, 216, 193,   5, 
-	  2, 100, 160,  10, 129,  64,   4,  54,  54,  81, 
-	  2,  24, 148, 128,   6,  48, 160, 193,  81,   3, 
-	202,   0, 115, 120,  99,  19,  19,  40, 128,   1, 
-	 74, 208,  79,   6,  20,  32,  12, 222,   8, 133, 
-	 45, 136, 241, 141, 103, 232, 194,  84, 143,  72, 
-	195,  15, 196, 112,   9,  87, 248, 226,  22,  28, 
-	 58,   3,  20, 183,  71, 144,  89,  16, 201, 163, 
-	145, 185,  68,  74,   7, 145, 130, 106, 140,  83, 
-	 15, 136,  40, 131, 181, 154,  48,   6, 111, 140, 
-	145,  61, 173,  72, 214, 131, 210,  83,  41,   2, 
-	160, 128,  12, 140, 104,  68,  57, 220,  80, 212, 
-	106, 224,  50, 151, 250, 248,  69,   9,  24, 208, 
-	  6, 126,  28, 225,   2,   1,  32,  70,  53, 126, 
-	193,  88,   1,   0,  96,  17, 165,  96,   2,  65, 
-	113,  16,   6,  76,  96,  98,  27, 202,  16,  43, 
-	 89,  51, 193,  10,  82, 108, 174,  58,  38, 144, 
-	254, 228, 203, 134,   4,  87, 200, 220,   1,  11, 
-	 64, 160,  66,  16,  12,  80, 128, 118, 216, 195, 
-	  5, 141,  40,  31, 182, 216, 145,  30,  23, 181, 
-	135, 149, 212,   8,  19,  60, 188, 145,   0,   4, 
-	100, 225,  19,  59, 155,   7,  13,  78,  80, 130, 
-	109,  60,  67,  24, 141, 128,  67,  33, 204,  81, 
-	130,   2,  84, 224,  30,  37, 152, 128,   4, 242, 
-	113, 167, 121, 216, 162, 152,  39, 120,   6,   8, 
-	  4, 192, 128,  13, 112, 160, 159,   6, 192,  68, 
-	 41, 122, 240, 131,  65,   0,   2,  16, 115,  48, 
-	171,  51, 238,   3,  69,  41, 254, 195, 173, 181, 
-	125,  12,  31, 122,   0, 132,  25, 248, 192,   3, 
-	211,  56,   0,  13,  54, 145,   5,  50, 236, 149, 
-	126, 236, 104,  17,  60, 186, 113,  44,  73,  73, 
-	120,  29, 174, 136,  37,  28, 102, 215,  10, 121, 
-	208, 192,  13,  71,  72, 135,  50,  38,  22, 133, 
-	 66, 164, 163, 187,  12, 216,   6,   7,  24, 112, 
-	132, 114, 192,  33,  13, 144, 248,  69,   1,   0, 
-	112,   2,  98, 126,  54,  30, 211,  32,   6,  26, 
-	120,  11,  12,  32, 244,  64,  12, 115, 240, 195, 
-	 18, 174,   0,   8,  87, 144, 226,  20, 164, 147, 
-	 76,  36,   3,  48,  82, 243,   4, 120,  42,   3, 
-	182, 193,  10,  86,  48,   3,  18,  20,  32,   0, 
-	  2,  32, 129,  26, 200,  80, 133, 194,  53, 129, 
-	 12, 236, 160,  17,  60, 210,   7,  11, 113, 172, 
-	227, 204, 225, 144, 129, 254,  97,  65,  33,  12, 
-	129, 165, 131,   3,  55, 112, 131,  45, 142,  81, 
-	  5,  42, 188, 225,  17, 237,  88, 241,   2,  36, 
-	107, 128,  69, 196,  66,  13, 130, 120,   6,  26, 
-	 60, 187, 136, 106, 120,  22,  23, 186, 224,  90, 
-	 60,  12,   0,   0,  78,  76, 161,   7,  88, 152, 
-	 67,  16,  92, 176,   4,  34,  92,  97,  11,  91, 
-	200, 132,  53, 204,  35, 153,  51,  72, 146,  94, 
-	255, 120, 242,  84,  60, 177,   4,  41, 171,  64, 
-	  5,  59,   0,   2,   5,  18, 128,   1,  56, 220, 
-	236,  90, 189,  83,   3,  59, 206,  97, 230, 102, 
-	 64,  55,  23, 201,  61, 179,  55,  26, 128, 128, 
-	 52, 188, 162,  24, 204, 128, 196,  52,  56,   0, 
-	131,  77,  88,  67,  24, 132,  64, 196,  33, 212, 
-	241, 139,  11,  20, 224,   8, 104, 184, 128,   0, 
-	170, 129,   8,  53, 100, 193,  25,  16,   0,   0, 
-	  0, 182,  49, 104,   6,  36,  67, 153, 143, 184, 
-	 68,   2,   0, 192, 133,  52, 160,   0,  11,  87, 
-	120, 129,  11,  88, 192, 110,  18, 144, 128,   8, 
-	153, 118,  70, 162,  34,  99, 129,  40,  10, 196, 
-	164, 128, 232, 193,  10,  98,  16, 131,  29, 248, 
-	 27,   8, 133, 224,  32,  33, 132, 123, 173,  70, 
-	172,  35, 141, 235,  64,   6, 116,  97,  65, 172, 
-	 51, 103,  98,   0,  25, 120, 133,  48, 218, 163, 
-	138,  84, 252,  51,  27, 232, 160,   6,  51, 160, 
-	193, 142, 108,  28,  97,   2,  12, 176,   7,  18, 
-	254, 250, 136, 142,  14, 102, 161,  19, 140, 102, 
-	 64,  59, 178, 189,   1, 109, 188,  34,  20, 133, 
-	240, 131, 103,  57, 113, 136,  31,  44,  97,  14, 
-	 91,  32,   1, 187,  89, 224, 110,  23, 144, 160, 
-	  8,  96, 240,   3,  46, 146,  44, 149,  15,   4, 
-	 96,   1, 247, 174, 206,  41, 176,  96, 131,  29, 
-	240,  32,   6,  42, 224, 247,  14, 124,  16,   5, 
-	 58,  88, 221, 193,  85, 240,   2,  51, 194, 113, 
-	142, 110,  72,  40,  23, 202, 233,  70, 179, 202, 
-	209,   1,   2, 212, 129,  25, 108, 202, 133,  55, 
-	208, 192, 129,  18, 152, 227,  30, 230, 216,   6, 
-	 49, 156,  64, 108,   8, 164, 226,  30,  48, 152, 
-	192,   6, 158,  65,   7,  53,  88,   1,   9, 158, 
-	 61, 194,  52, 102,  76,  12, 109,   8,  35,  22, 
-	144, 232, 196, 161, 225,  32, 134,  43,  92, 161, 
-	  8,  47, 120,   1,  17, 212, 237, 110,  12, 252, 
-	 28, 211, 156, 128, 140,  18,  36,  41, 144, 215, 
-	194, 198,  19, 115,   0, 194,  10,  84, 192, 131, 
-	 33, 240, 187, 223,  62, 160,  66, 178,   7,  14, 
-	 49,  50, 208, 233,  96, 231, 152,  16, 123, 230, 
-	 83, 142,  12,  59,  32,  22,  26, 103,  70,  43, 
-	230,   1, 130, 182,  95, 128,   6,  19, 184,  64, 
-	240, 139, 234, 134, 120,  84,  99, 197, 109, 240, 
-	134,  26, 232,  80,   7,  11, 104, 123,  27,  72, 
-	  0, 192,   6, 228,  49,  14,  61, 165, 131,   6, 
-	  0, 144,   0,  43,   4, 254,  49, 136,  43,  16, 
-	 33,   8,  30, 136,  60, 188, 225, 237, 238,  23, 
-	 20,  97,  11, 153, 127, 204, 230,   3, 240, 223, 
-	234, 140,   2,  11,  83, 142,  58,  15, 202,  80, 
-	133, 167, 199,  96,   8, 141, 128, 155,  33,  62, 
-	 65,   6,  67, 112,  29,  26,  21, 114,  14, 204, 
-	144,  83, 212, 112,  14, 222,  80, 118,  98, 128, 
-	 12, 180,  35,  12, 185,  32,  15,  16,   0, 103, 
-	 71,   0,  98,  71,   0,   3,  48, 224,   6, 219, 
-	 48,  15, 143,  32,   9,  28,  48,   1, 188,  80, 
-	 14,  84, 160,   6, 137, 192, 104,  23, 144,  14, 
-	217,  38,   1, 188, 112, 130, 188,   0,   3, 152, 
-	149,  10, 230,  50,   8, 150,  22,   4,  50,   0, 
-	  6,  91,  64,   4,  46, 224,   2, 145,   7, 126, 
-	 65,  16,   4,  91, 128,  11, 234, 199, 121, 255, 
-	 16,  23, 178,  81,   7,  82,  32,   2, 168,  22, 
-	  3,  62,  48,   4, 100, 160,   6,  79,  23,   5, 
-	135, 240,  10, 173,  48,  45, 251,   7,  13, 231, 
-	160,  38, 102, 118,  14, 117,  82,  39, 126,   0, 
-	113, 186, 128,  12,  12,  88,  11, 185, 176,  13, 
-	 19, 112,   3,  37, 192,  15, 185,  84,  15, 243, 
-	 16,  15, 234, 112,  12, 136,  80,  10, 237,  64, 
-	 12, 196, 112,  15, 215,  64,   5, 112, 128,  11, 
-	 22, 208, 103, 182,  32,   1,   0, 192,   0, 239, 
-	  5,  80,  23, 208,   6, 207,  80,   8,  96,   3, 
-	111,  70, 128,   6, 118, 192,   4,  96,   0, 121, 
-	254,  36, 240,   2,  96, 176,  33, 150, 192,   5, 
-	 92, 224,  43, 235,  39,  16, 103, 224, 121, 144, 
-	 49,  10,  63,  48,   3, 163,  23,   3, 195, 243, 
-	129, 101, 160,   6, 169, 247,  10, 200,   0,  10, 
-	204, 209,  10, 194,  16,  14, 201, 195,  34,   7, 
-	151,  12, 225,   0,  12,  10, 224,   0, 147, 160, 
-	 13, 180, 227, 133, 208, 240,  11, 196, 230,   6, 
-	253, 112,  12, 159, 208, 119,  86, 103,   8, 214, 
-	246,  10, 209,  80,  14, 209,   0,  10,  67,   0, 
-	  7, 227,  16,  15, 247, 192,  15,  72, 192,  91, 
-	246, 176,  13, 169, 176,   8, 110, 144,  10, 214, 
-	  5,  61,  35, 227,   2,  91,  32,   3,  86,  33, 
-	 21,  92,   0,   6,  47, 224,   1,  50,  32,  10, 
-	176,  17, 137,  63,  72, 137, 142, 113,  10,  98, 
-	208, 116,  81, 199, 111,  60,  64,   5, 143,  83, 
-	  6,  67, 160,   6, 177,  16,  14, 208, 160,  13, 
-	106, 194,  12, 200, 160,  12, 218, 112,  12,  82, 
-	152,  12, 187, 160,  10, 151,  64,   1,   8, 240, 
-	  3,  10, 184,  51, 148, 208,  10, 139,  85,   2, 
-	 37, 176,   9, 253,  32,  12, 134,  80,   6, 251, 
-	 83,  62,  84, 144,  45, 141,  64,   8,  84, 192, 
-	  3, 158,   8,   4,  86,  64,  10,  28,  32,   0, 
-	 56, 224,  13, 194, 176,  11, 222,  80,  14, 202, 
-	 16,  10, 135,  32,  46, 141,   7, 111,  45, 224, 
-	 24, 145, 144,   9,  91,   0,   6,  70,   0,   6, 
-	112, 101, 116,  72, 247, 254,  15, 123, 112,   6, 
-	176,  65,  11,  63, 176, 111,  59, 208, 111, 154, 
-	216, 142, 135,   0,  10, 136,  16,  10, 194, 160, 
-	 13, 201, 160,  13, 117,  34,  14, 208, 128,  12, 
-	186, 208,  11, 187, 112,   9, 128, 224,   1,  20, 
-	 64,   0,   8,  96,   3, 203,   1,  11, 159, 112, 
-	 83, 175,  80,  15,  52, 208, 118, 196, 144,  15, 
-	185,  32,  66,  67,  80,   5, 100,  64,   7,  81, 
-	 83,  56,  85,  48,   3,  20, 233,   3,  54, 208, 
-	  3, 157, 192,   0,   0,  64,  12, 208,   0,  10, 
-	 63,   4,   7, 202,  54, 146, 133,  48,   7, 151, 
-	 64,   4,  96, 112, 146, 144, 225,   7,  96, 192, 
-	  5, 226,  40,  21, 245,  38,  69, 158,  48,  23, 
-	145,  97,  10, 115,  96,   3,  34,  48, 122, 231, 
-	 88, 122, 112, 160,   6, 165,  16,  11, 161, 112, 
-	 12, 202, 112,   9, 151,  16,  14, 226,  32, 143, 
-	244,  40,   6,  24, 224,   0,   8, 128,   0,  17, 
-	128,   2, 135, 128,  66, 173,  64,   9, 140,  64, 
-	  9, 185, 208,  15, 196, 144,  10, 191, 192,  15, 
-	236,   0,  10, 114,  96,  56,  93,  32,   7,  73, 
-	120,  67,  80,  64,   5,  59, 128, 132,  84,   0, 
-	  4, 107,  48, 104,   5, 240,  13, 194,   0,  10, 
-	111,   0,   4,  64,  32,  57, 105, 128,  46, 171, 
-	 48,   7, 223,  39,   4, 145,   1, 132, 157, 246, 
-	105,   2,  49,  11, 115,  33, 142, 167, 240,   3, 
-	 54, 224,   3, 153, 152,  56,  80, 243,   6, 112, 
-	254,   0, 138, 177,  32,  12, 208, 160,  10, 106, 
-	130,  13,   0,  24,  14, 197, 128, 148, 107, 208, 
-	  3,  86,  32, 138, 202, 193,  51,  85, 121,  83, 
-	173, 112,  14, 229, 192,  14, 234,  80,  14, 173, 
-	160,  87, 101,   0,  60,  33, 148, 132, 112,  32, 
-	 60,  60,  48,   3, 184, 233,   3, 170, 224,  75, 
-	237, 128,  13,  79,  72,   5,  84, 246,  45,  83, 
-	  0, 136, 221,  71,   4,  50,  64, 147,  29, 178, 
-	100,  35,  37, 147, 132, 249,  24, 137, 128, 152, 
-	 43, 224, 111,  57, 121, 132,  92,   4,   7, 161, 
-	160,  12, 111, 162,  11, 115,  32, 153, 199, 176, 
-	117,  63,  83, 158, 244,   8,  10, 148,  48, 144, 
-	237,  25,   8,  44,  26,   8, 114,  16,   8, 169, 
-	193,   8,  11,  41,  56, 133, 195,   3, 244,  99, 
-	117,  84,  80,   5,  80, 192, 111, 244, 195,  63, 
-	 64,  16,  10, 186,  32,  12,   5, 234,   3,  49, 
-	 48,   3, 195, 153,   6,  88,  48,  50, 240, 246, 
-	  1,  73, 178,   7, 253, 213,  86,  90, 224, 160, 
-	142,  33,   6,  33,  48, 101, 254, 118,  67, 169, 
-	 39,   8, 175, 208, 132, 210, 179,  11, 189, 176, 
-	  5, 202, 160,  12, 107, 194, 117,  83, 216,  10, 
-	180,  83, 149,  44, 234,   5,  99, 224,   5, 127, 
-	224,   5, 110,  58,   6, 178,  89,   6,  74,  51, 
-	 49,  80, 192, 144, 246,  83,   6, 159, 210, 119, 
-	166,  55,  75,  12,  57,   3, 213, 201, 132, 160, 
-	160,   6,  81,  48,   4, 254,  51,  48,   3,  89, 
-	 96,  68,  73, 234, 125,  65,  96,   2,  73,  18, 
-	 91,   1, 240,  50, 255, 160,   8,  81, 234,  24, 
-	142, 176,   4,  33,  32,   2, 137,  57,   3,  84, 
-	  0,   5,  29,  84,  53,  64, 154,  42, 170, 144, 
-	  9,  92, 112,   9, 165,  16, 143, 196,  98, 133, 
-	 12, 184,  51, 104, 170, 166,  99, 176, 166, 115, 
-	227, 162, 173, 154,  52, 247, 217, 101,  89,  87, 
-	  6, 132, 208,   8,  62,  89,   5,  67, 144, 147, 
-	 19, 195,   3,  43,  96,   3,  81, 240,  10, 141, 
-	160,   6,  95, 217, 159, 126, 106,   3,  71,  36, 
-	  6,  68,  80,   4,  50, 144,  36, 106,  21,   0, 
-	108,   5, 165, 147,  42,  21, 166,  96, 169,  83, 
-	214, 111, 137,  83,   5, 206,   3,  10, 161,  48, 
-	 61, 170, 224,   7,  32,   0,   1,  50,   0,   9, 
-	186,  64,  39,  86, 104, 120, 202, 161, 170, 140, 
-	224, 166, 106, 250,   7, 109, 234, 166,  49, 228, 
-	  5, 134, 224,   5,  73,  67,  63, 114,  80,   5, 
-	183, 154,  58,  55, 164,   2, 177,  73,   6,  80, 
-	 96, 164, 108, 214,  10,  92, 198,  63,  51,  16, 
-	  2,   6,  75,  95, 138,  42, 165, 248,   1,  82, 
-	 34, 117,  16, 166,  80,  23, 155, 115,  11,  87, 
-	 96, 161,  51, 192, 111, 156, 170, 108, 160,  32, 
-	 61, 171, 192,  10,  32,  16, 124,  48, 208,   9, 
-	189, 128, 148, 208,  16,  14, 176,  72,  59,  55, 
-	 69, 154, 129, 192, 166, 127, 176, 166, 114, 163, 
-	254, 166,  94,   0,  49,  77, 192,   3,  73, 208, 
-	  4, 115,  67,   6, 160, 128, 171, 132, 160,   6, 
-	 60,  10,  49,  60,  96,   3, 112, 112, 179, 100, 
-	 16,   8, 236,   8,   4,  54,  96, 176,  33, 128, 
-	  2,  40, 192,   2,  68, 160,   4, 213, 116,  77, 
-	  9,  33, 169,  90,  48,  21, 115, 160, 111, 153, 
-	184,   3, 114, 136,  58, 135, 208, 173, 171, 224, 
-	 10, 253, 132,   6,  81, 113,  10, 172, 240,  38, 
-	216, 160,  13, 242,  40, 164, 104, 250,   7, 129, 
-	224, 174, 129, 192,   8, 114, 208, 166, 134, 128, 
-	 63,  17, 147,  56,  77,  32, 155, 132,  32, 138, 
-	136,  80,   5,  58,  11,   5,  47, 219,   5, 253, 
-	  9,   7,  46,  74,   8, 236, 232,   3, 244, 133, 
-	  2,  71, 139, 180,  44,  16,   4,  73, 178, 100, 
-	148, 164,  16, 121,  80,  23,  82, 225,  10,  55, 
-	153, 137,  70, 168,   6, 136,  32,   8,  47,  86, 
-	  8, 165, 160,   9,  19,  96,   6, 142, 193,   7, 
-	163, 176,  11, 202, 192, 117, 242, 232,  78, 108, 
-	235, 174, 238,  58,   6, 104, 203, 170,  73, 227, 
-	  5,  73,  48, 179,  65, 139, 171, 175,  80, 109, 
-	 84,  80,  52, 178, 217,   4, 187,  58,   4, 217, 
-	 82,   5,  83,  99,   5,  61, 128, 180, 190, 203, 
-	  2,  46, 192, 180,  78,  36,  73, 254, 197, 184, 
-	117, 145,   7, 180, 192, 116, 138, 201, 111, 133, 
-	 74, 117,  89, 112,   8, 186, 160,   9,  23,  16, 
-	 25, 159, 171,  83, 240, 254, 120,  66, 104,  58, 
-	  6, 129, 176, 166, 174,  10, 167, 100,  80, 175, 
-	245, 138,  51, 160, 144,  11, 112, 153,  71,  47, 
-	 84,  62,  49,  91, 122, 116,   0,  60,  81,   0, 
-	  4, 152, 122, 180,  75, 144,   1,  25, 112, 184, 
-	 17,  68, 188,  15, 209, 184,  90,  80, 173,  54, 
-	 80, 168, 167,  39,  60,  22, 243,   6, 208,  43, 
-	189, 146,  49,  10, 218, 112, 174,  19, 119,  44, 
-	 60,  67, 186,  45, 234, 162, 114,  80, 175,  93, 
-	 86,   6, 159,   0,  10, 177,  11,   7,  81, 112, 
-	132,  47,  75, 175,  78,  99,  52,  60, 160,   2, 
-	 86,  90, 168,  54, 176,   4,  46, 144,   1,  87, 
-	112, 141, 213, 113,   6, 245, 102, 111,  16,  33, 
-	169, 138,  48, 177, 152, 184, 147,  19, 153, 122, 
-	 28, 154,  12, 156,  48, 189, 146, 241,  12,  87, 
-	  8,  13,  26, 215,  30, 237,  89,  11, 200, 128, 
-	 12, 178,   3,  93, 235, 234,   5, 101, 144, 132, 
-	208, 149,  41,  21, 252, 144, 220,  27,  60, 117, 
-	250, 116, 161, 228, 163, 132, 116,   5,  46, 144, 
-	  8, 248, 161,   4,  11,  32,  73, 139,  27,  17, 
-	166, 240,   5, 144, 208,   3, 251, 187, 111, 165, 
-	 39, 135, 136, 240,  10, 146,  41, 192, 146, 113, 
-	 10, 231,  96, 133, 212,  32,  12, 112, 195, 162, 
-	104,  27,   8, 173,   0,  55, 183, 214,  10,  55, 
-	 85, 149,  79, 200, 173, 144,  99,  96, 170,  35, 
-	 92, 192,  51,   4, 116,  64, 127, 161, 244, 129, 
-	254,  83,  80, 156, 147,  16, 100, 222,   8,  91, 
-	 80, 116,   0, 103,  51,  17, 193, 192,  10, 145, 
-	123, 161,   6, 118, 181, 175, 240,  38, 153,  64, 
-	195,  53,  76, 178, 218, 128,  12, 185,  80, 149, 
-	109, 251,   7, 132,  32,   7, 134, 240,   7,  49, 
-	180, 182, 107,  11, 187,  91, 122,   8,  82,  96, 
-	  3,  89, 128,   8, 173, 208,   8, 154,  92,   6, 
-	141, 208,   8, 129,  96,   8,   3, 103, 117, 207, 
-	 35,  81,  27, 203, 131, 212, 161,   4,  32,  21, 
-	  0,  18,   0, 169,  18,  49,  14, 107, 128, 137, 
-	251, 150, 122,  87,  43,  12, 245,   8,  12,  27, 
-	240, 151,  82, 241,  12, 218,  64,  13,  56,  44, 
-	 12, 181, 192,   8, 105, 123,  83, 210,  44,  55, 
-	160, 204, 162, 148,  64,  48, 185,  16,  10, 161, 
-	 80,  68, 105,  48, 190, 114,  76, 205,  55, 149, 
-	 79, 172,  71,  45, 112, 208,   8, 163, 178,  10, 
-	201, 128, 203, 176, 161,   5,  39,  60,  73,  30, 
-	 49,   8,  82, 230, 197,  95, 169, 202, 109, 162, 
-	 12, 192,  64,   3, 150,   0,  27, 201,  35,  12, 
-	108,  34,  12, 210, 220, 162,  55, 229, 162, 110, 
-	 26, 203, 238, 249, 198, 177, 160,  12, 144,  48, 
-	  8, 177, 112,  12, 194,   0, 148, 205,   1,  55, 
-	210,  44, 205, 229,  67,   7, 201,   6,  42,  12, 
-	148,  12, 190,   0,  27, 124, 240,   1,  80,  20, 
-	  0,  46, 243,  17, 170,  96,   5, 133, 122, 155, 
-	 31, 168, 202,  14, 141, 254,  12, 189, 128,   4, 
-	146,  32,  25, 124, 160,  13, 171,  44, 144,  45, 
-	106,   8, 134, 240, 162,  11, 188, 182, 208, 149, 
-	 66, 229, 169,  13, 151, 160,  10, 247,  88,  10, 
-	 68,  89, 182,  85, 233,  96, 194, 101, 209,  81, 
-	160, 108, 151, 211,  11, 192, 240,  24, 168, 192, 
-	  7,  42, 243, 209,  11, 144, 200,  30, 145,  12, 
-	105,  80, 168, 205, 171,   6, 231, 252,  10, 151, 
-	179,  11, 156, 112,   4, 252, 188, 198, 100, 112, 
-	205,  46,  26, 208, 114, 243, 162, 238, 233, 133, 
-	104,  87, 143,  47, 192,  10, 202,  80,  10, 200, 
-	 64, 148, 225, 160, 198, 104,  26,   8, 179, 137, 
-	183, 114, 120,   8, 166, 162, 212, 190,  66,  43, 
-	158, 115,   0, 243, 194,  21, 127, 232, 167,  51, 
-	224, 111,  84,  87, 203, 165, 176,  11, 154,   0, 
-	  3, 220, 244,  24, 189,  16, 206,  14, 214, 182, 
-	 11, 108,   8, 105, 107, 211, 239,  36,  12, 150, 
-	 29,  39,  30, 176,   5, 172, 208,  11,  14, 205, 
-	 12, 218,  80,  11, 235,  73,   9,  44,  42, 155, 
-	134, 128,  49, 181,  60,   9, 170,  48,  10, 230, 
-	161,   5,  31, 240,   0, 125, 253,   0, 160, 182, 
-	 23, 147,  64, 180,  23,  58, 117,  84,  23,   5, 
-	130, 112,  42, 174,   0,   3, 150, 240, 151, 171, 
-	144,  58,   1, 205, 174, 114,  80, 205, 160, 108, 
-	214,   3,  25, 209, 185, 160,  13, 202, 208,   0, 
-	  3, 224,   1, 151,  32, 166, 152,  57,  48, 134, 
-	254, 112,  83,  16, 115,  45, 114, 184,   6, 125, 
-	112,   7, 123, 160,   5, 241, 178,   0, 125,  61, 
-	  2, 216, 196,  23, 144,  80,  96,  21,  91, 177, 
-	253,  19,   5,  83, 112, 216, 192,  80,   2,  95, 
-	 96,  23,  82, 234,   9, 165, 128,   8,  65,  27, 
-	180, 110,  74,   8, 163, 221, 182,  54, 157, 205, 
-	181, 192, 128, 185, 240,  10, 208, 160,  11,  13, 
-	160,   0,  24,   0,   6, 208,  32, 158, 208, 208, 
-	 30, 234,  42, 223,  85, 144,   5, 216,  45,  23, 
-	 57, 208, 218,  44, 227, 221,  22, 240,   4,  90, 
-	241,  29, 170,  64, 157, 215, 170, 147, 196, 147, 
-	208, 201, 128,   4, 102,  96,  25,  32,  94,  23, 
-	147, 120,   7, 125, 176,   6, 113, 160,   6, 214, 
-	 60,  55, 106, 122, 223, 114,   4,  79,  39, 148, 
-	 11, 255,  77,   1,  20, 112,   5, 170,  48, 182, 
-	205,  12, 205, 159,  64,  57, 120, 144, 221, 219, 
-	157,   3,  38,  80,  43, 101, 195,  50,  19, 238, 
-	203, 189,   1, 185, 243, 188, 188,  62,  48,   5, 
-	202, 128,  13, 201, 192,   6, 110, 224,  86, 121, 
-	  0, 226,  82, 174,   4,  34, 126,   6,  36, 222, 
-	  7, 120,  96, 226, 220, 226,  56,  17,  44, 154, 
-	151, 227, 148, 118, 201,  10, 124,  50,  10, 142, 
-	176,  33, 215, 225, 227,  77,   2, 228, 182, 242, 
-	  0,  53, 240,   5,  68,  94,  34, 229, 120, 169, 
-	137, 169,   2,   6, 150,   5, 229, 186, 206,  48, 
-	 64,  16, 166, 160,   8, 192,  81,  62, 229,  32, 
-	142,  25,  84, 238, 222, 115,  49, 232, 132, 110, 
-	 23, 215, 113,  25, 218,  17,  34,  78, 178, 232, 
-	181,  98,   1, 109,  30,  32,  37, 162,  16, 151, 
-	 64, 184, 152,  26, 127,  73,  94,  10,  73,   9, 
-	 12,  56, 128,  16, 218, 148,   7, 121, 240,   5, 
-	182,  17, 234, 162, 158,   3, 184, 129,  27, 218, 
-	113, 234, 218, 209,  31, 253,  17,  34, 172, 206, 
-	232,  38, 160,   3,   0,  82, 225, 145, 206,  16, 
-	148, 142, 169, 116, 126, 164, 186, 144,  12, 187, 
-	237,  16, 150,  20,   9, 118,  96,   7,  95, 240, 
-	  5, 216, 145,  29, 168, 158, 234, 170, 174,   1, 
-	 31, 160,   3, 184,  17, 236, 120,  33, 235, 179, 
-	254,  16, 144,  75, 184, 136, 153, 106,  22, 185, 
-	  6, 147, 192,  10, 174, 176,   1,  60,  65,  19, 
-	145, 240, 230, 207, 222,  17, 128,  64, 184,  33, 
-	 96, 164,  86, 144,   6, 225, 226, 165, 154,  32, 
-	  1, 223, 190, 238,  21, 225,  10,  75, 128,   2, 
-	 54, 240,   3,  66, 148,   6, 228, 178,  11, 192, 
-	192,   4, 236, 158, 239,   2,  17,  16,   0,  59};
-
diff -up php-5.3.0/main/php_logos.c.easter php-5.3.0/main/php_logos.c
--- php-5.3.0/main/php_logos.c.easter	2008-12-31 12:15:47.000000000 +0100
+++ php-5.3.0/main/php_logos.c	2009-07-12 13:45:50.000000000 +0200
@@ -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.3.0-gnusrc.patch:

--- NEW FILE php-5.3.0-gnusrc.patch ---
diff -up php-5.3.0RC3/configure.in.gnusrc php-5.3.0RC3/configure.in
--- php-5.3.0RC3/configure.in.gnusrc	2009-06-10 20:18:43.000000000 +0200
+++ php-5.3.0RC3/configure.in	2009-06-12 07:38:08.000000000 +0200
@@ -58,6 +58,8 @@ AC_DEFUN([PHP_EXT_DIR],[ext/$1])dnl
 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 -up php-5.3.0RC3/ext/interbase/interbase.c.gnusrc php-5.3.0RC3/ext/interbase/interbase.c
--- php-5.3.0RC3/ext/interbase/interbase.c.gnusrc	2008-12-31 12:15:38.000000000 +0100
+++ php-5.3.0RC3/ext/interbase/interbase.c	2009-06-12 07:38:08.000000000 +0200
@@ -24,7 +24,6 @@
 #include "config.h"
 #endif
 
-#define _GNU_SOURCE
 
 #include "php.h"
 
diff -up php-5.3.0RC3/ext/pdo_firebird/firebird_driver.c.gnusrc php-5.3.0RC3/ext/pdo_firebird/firebird_driver.c
--- php-5.3.0RC3/ext/pdo_firebird/firebird_driver.c.gnusrc	2009-04-18 20:56:11.000000000 +0200
+++ php-5.3.0RC3/ext/pdo_firebird/firebird_driver.c	2009-06-12 07:38:08.000000000 +0200
@@ -22,7 +22,6 @@
 #include "config.h"
 #endif
 
-#define _GNU_SOURCE
 
 #include "php.h"
 #ifdef ZEND_ENGINE_2
diff -up php-5.3.0RC3/ext/standard/file.c.gnusrc php-5.3.0RC3/ext/standard/file.c
--- php-5.3.0RC3/ext/standard/file.c.gnusrc	2009-05-24 18:01:47.000000000 +0200
+++ php-5.3.0RC3/ext/standard/file.c	2009-06-12 07:40:44.000000000 +0200
@@ -123,9 +123,6 @@ php_file_globals file_globals;
 #endif
 
 #if defined(HAVE_FNMATCH) && !defined(PHP_WIN32)
-# ifndef _GNU_SOURCE
-#  define _GNU_SOURCE
-# endif
 # include <fnmatch.h>
 #endif
 
diff -up php-5.3.0RC3/ext/zlib/zlib_fopen_wrapper.c.gnusrc php-5.3.0RC3/ext/zlib/zlib_fopen_wrapper.c
--- php-5.3.0RC3/ext/zlib/zlib_fopen_wrapper.c.gnusrc	2009-01-20 16:41:23.000000000 +0100
+++ php-5.3.0RC3/ext/zlib/zlib_fopen_wrapper.c	2009-06-12 07:38:08.000000000 +0200
@@ -19,8 +19,6 @@
 
 /* $Id: zlib_fopen_wrapper.c,v 1.46.2.1.2.4.2.3 2009/01/20 15:41:23 felipe Exp $ */
 
-#define _GNU_SOURCE
-
 #include "php.h"
 #include "php_zlib.h"
 #include "fopen_wrappers.h"
diff -up php-5.3.0RC3/main/php.h.gnusrc php-5.3.0RC3/main/php.h
--- php-5.3.0RC3/main/php.h.gnusrc	2008-12-31 12:15:47.000000000 +0100
+++ php-5.3.0RC3/main/php.h	2009-06-12 07:38:08.000000000 +0200
@@ -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 -up php-5.3.0RC3/main/streams/cast.c.gnusrc php-5.3.0RC3/main/streams/cast.c
--- php-5.3.0RC3/main/streams/cast.c.gnusrc	2009-04-20 10:28:44.000000000 +0200
+++ php-5.3.0RC3/main/streams/cast.c	2009-06-12 07:38:08.000000000 +0200
@@ -18,7 +18,6 @@
 
 /* $Id: cast.c,v 1.12.2.1.2.1.2.6 2009/04/20 08:28:44 pajoye Exp $ */
 
-#define _GNU_SOURCE
 #include "php.h"
 #include "php_globals.h"
 #include "php_network.h"
diff -up php-5.3.0RC3/main/streams/memory.c.gnusrc php-5.3.0RC3/main/streams/memory.c
--- php-5.3.0RC3/main/streams/memory.c.gnusrc	2009-05-16 22:27:36.000000000 +0200
+++ php-5.3.0RC3/main/streams/memory.c	2009-06-12 07:41:07.000000000 +0200
@@ -18,7 +18,6 @@
 
 /* $Id: memory.c,v 1.8.2.6.2.17.2.4 2009/05/16 20:27:36 lbarnaud Exp $ */
 
-#define _GNU_SOURCE
 #include "php.h"
 
 PHPAPI int php_url_decode(char *str, int len);
diff -up php-5.3.0RC3/main/streams/streams.c.gnusrc php-5.3.0RC3/main/streams/streams.c
--- php-5.3.0RC3/main/streams/streams.c.gnusrc	2009-05-17 16:58:10.000000000 +0200
+++ php-5.3.0RC3/main/streams/streams.c	2009-06-12 07:40:53.000000000 +0200
@@ -21,7 +21,6 @@
 
 /* $Id: streams.c,v 1.82.2.6.2.18.2.28 2009/05/17 14:58:10 lbarnaud Exp $ */
 
-#define _GNU_SOURCE
 #include "php.h"
 #include "php_globals.h"
 #include "php_network.h"
diff -up php-5.3.0RC3/Zend/zend_language_parser.c.gnusrc php-5.3.0RC3/Zend/zend_language_parser.c
--- php-5.3.0RC3/Zend/zend_language_parser.c.gnusrc	2009-06-10 20:23:36.000000000 +0200
+++ php-5.3.0RC3/Zend/zend_language_parser.c	2009-06-12 07:38:08.000000000 +0200
@@ -366,6 +366,8 @@
 #include "zend_API.h"
 #include "zend_constants.h"
 
+#include <string.h>
+
 
 #define YYERROR_VERBOSE
 #define YYSTYPE znode

php-5.3.0-install.patch:

--- NEW FILE php-5.3.0-install.patch ---
diff -up php5.3-200812131330/sapi/apache2handler/config.m4.install php5.3-200812131330/sapi/apache2handler/config.m4
--- php5.3-200812131330/sapi/apache2handler/config.m4.install	2008-03-12 00:31:53.000000000 +0100
+++ php5.3-200812131330/sapi/apache2handler/config.m4	2008-12-13 16:20:06.000000000 +0100
@@ -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"

php-5.3.0-oci8conf.patch:

--- NEW FILE php-5.3.0-oci8conf.patch ---
diff -up ext/pdo_oci/config.m4.remi-oci8 ext/pdo_oci/config.m4
--- ext/pdo_oci/config.m4.remi-oci8	2008-10-22 22:35:52.000000000 +0200
+++ ext/pdo_oci/config.m4	2008-12-13 16:25:25.000000000 +0100
@@ -74,7 +74,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
@@ -91,6 +94,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/oci8/config.m4.remi-oci8	2009-03-13 00:52:37.000000000 +0100
+++ ext/oci8/config.m4	2009-03-24 20:42:39.000000000 +0100
@@ -306,6 +306,7 @@
 
     dnl Header directory for Instant Client SDK RPM install
     OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!^/usr/lib/oracle/\(.*\)/client\('${PHP_OCI8_IC_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

php-5.3.0-phpize64.patch:

--- NEW FILE php-5.3.0-phpize64.patch ---
diff -up php5.3-200812131330/scripts/Makefile.frag.phpize64 php5.3-200812131330/scripts/Makefile.frag
--- php5.3-200812131330/scripts/Makefile.frag.phpize64	2005-11-22 00:08:02.000000000 +0100
+++ php5.3-200812131330/scripts/Makefile.frag	2008-12-13 16:21:42.000000000 +0100
@@ -4,7 +4,7 @@
 #
 
 phpincludedir = $(includedir)/php
-phpbuilddir = $(libdir)/build
+phpbuilddir = $(libdir)/php/build
 
 BUILD_FILES = \
 	scripts/phpize.m4 \
diff -up php5.3-200812131330/scripts/phpize.in.phpize64 php5.3-200812131330/scripts/phpize.in
--- php5.3-200812131330/scripts/phpize.in.phpize64	2007-06-29 03:10:35.000000000 +0200
+++ php5.3-200812131330/scripts/phpize.in	2008-12-13 16:24:27.000000000 +0100
@@ -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@"

php-5.3.0-recode.patch:

--- NEW FILE php-5.3.0-recode.patch ---
diff -up php-5.3.0beta1/ext/recode/config9.m4.recode php-5.3.0beta1/ext/recode/config9.m4
--- php-5.3.0beta1/ext/recode/config9.m4.recode	2008-12-02 00:30:21.000000000 +0100
+++ php-5.3.0beta1/ext/recode/config9.m4	2009-02-28 09:46:50.000000000 +0100
@@ -4,13 +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"
-
-  if test -n "$MYSQL_LIBNAME"; then
-    PHP_CHECK_LIBRARY($MYSQL_LIBNAME, hash_insert, [
-      recode_conflict="$recode_conflict mysql"
-    ])
-  fi
 
   if test -n "$recode_conflict"; then
     AC_MSG_ERROR([recode extension can not be configured together with:$recode_conflict])

php-5.3.0-systzdata.patch:

--- NEW FILE php-5.3.0-systzdata.patch ---
diff -up ext/date/lib/parse_tz.c.systzdata ext/date/lib/parse_tz.c
--- ext/date/lib/parse_tz.c.systzdata	2008-12-31 12:15:35.000000000 +0100
+++ ext/date/lib/parse_tz.c	2009-02-28 09:51:07.000000000 +0100
@@ -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__)
@@ -253,6 +266,211 @@ 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
+
+#define SYSTEM_TZFILE "/etc/localtime"
+
+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];
+	const char *fn;
+	struct stat st;
+	char *p;
+	int fd;
+	
+	if (strcmp(timezone, TIMELIB_SYSTEM_TZID) == 0) {
+		fn = SYSTEM_TZFILE;
+	}
+	else {
+		if (strstr(timezone, "..") != NULL) {
+			return NULL;
+		}
+	    
+		snprintf(fname, sizeof fname, ZONEINFO_PREFIX "/%s", timezone);
+		fn = fname;
+	}
+	
+	fd = open(fn, 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];
+	const char *fn;
+
+	if (strcmp(timezone, TIMELIB_SYSTEM_TZID) == 0) {
+		fn = SYSTEM_TZFILE;
+	}
+	else {
+		if (strstr(timezone, "..") != NULL) {
+			return 0;
+		}
+		
+		snprintf(fname, sizeof fname, ZONEINFO_PREFIX "/%s", timezone);
+		fn = fname;
+	}
+
+	return access(fn, 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;
@@ -328,6 +546,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 -up ext/date/lib/timelib.h.systzdata ext/date/lib/timelib.h
--- ext/date/lib/timelib.h.systzdata	2008-12-31 12:15:35.000000000 +0100
+++ ext/date/lib/timelib.h	2009-02-28 09:51:07.000000000 +0100
@@ -34,6 +34,10 @@
 #define TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH      0x02
 #define TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH 0x03
 
+#ifdef HAVE_SYSTEM_TZDATA
+#define TIMELIB_SYSTEM_TZID "System/Localtime"
+#endif
+
 #ifndef LONG_MAX
 #define LONG_MAX 2147483647L
 #endif
diff -up ext/date/lib/timelib.m4.systzdata ext/date/lib/timelib.m4
--- ext/date/lib/timelib.m4.systzdata	2005-07-04 01:30:52.000000000 +0200
+++ ext/date/lib/timelib.m4	2009-02-28 09:51:07.000000000 +0100
@@ -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
+
diff -up ext/date/php_date.c.systzdata ext/date/php_date.c
--- ext/date/php_date.c.systzdata	2009-01-27 14:48:10.000000000 +0100
+++ ext/date/php_date.c	2009-02-28 09:51:07.000000000 +0100
@@ -829,6 +829,11 @@ static char* guess_timezone(const timeli
 	if (DATEG(default_timezone) && (strlen(DATEG(default_timezone)) > 0) && timelib_timezone_id_is_valid(DATEG(default_timezone), tzdb)) {
 		return DATEG(default_timezone);
 	}
+#ifdef TIMELIB_SYSTEM_TZID
+	if (timelib_timezone_id_is_valid(TIMELIB_SYSTEM_TZID, tzdb)) {
+		return TIMELIB_SYSTEM_TZID;
+	}
+#endif
 #if HAVE_TM_ZONE
 	/* Try to guess timezone from system information */
 	{


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/php/devel/.cvsignore,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -p -r1.37 -r1.38
--- .cvsignore	21 Jun 2009 09:43:29 -0000	1.37
+++ .cvsignore	12 Jul 2009 16:47:12 -0000	1.38
@@ -1 +1 @@
-php-5.2.10.tar.bz2
+php-5.3.0.tar.bz2


Index: php.ini
===================================================================
RCS file: /cvs/extras/rpms/php/devel/php.ini,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- php.ini	14 Jul 2008 11:04:39 -0000	1.8
+++ php.ini	12 Jul 2009 16:47:14 -0000	1.9
@@ -3,146 +3,264 @@
 ;;;;;;;;;;;;;;;;;;;
 ; 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.
-;
+; PHP's initialization file, generally called php.ini, is responsible for
+; configuring many of the aspects of PHP's behavior.
+
+; PHP attempts to find and load this configuration from a number of locations.
+; The following is a summary of its search order:
+; 1. SAPI module specific location.
+; 2. The PHPRC environment variable. (As of PHP 5.2.0)
+; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
+; 4. Current working directory (except CLI)
+; 5. The web server's directory (for SAPI modules), or directory of PHP
+; (otherwise in Windows)
+; 6. The directory from the --with-config-file-path compile time option, or the
+; Windows directory (C:\windows or C:\winnt)
+; See the PHP docs for more specific information.
+; http://www.php.net/manual/en/configuration.file.php
+
 ; 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.
-;
+; they might mean something in the future. 
+
+; Directives following the section heading [PATH=/www/mysite] only
+; apply to PHP files in the /www/mysite directory.  Directives
+; following the section heading [HOST=www.example.com] only apply to
+; PHP files served from www.example.com.  Directives set in these
+; special sections cannot be overridden by user-defined INI files or
+; at runtime. Currently, [PATH=] and [HOST=] sections only work under
+; CGI/FastCGI.
+; http://www.php.net/manual/en/ini.sections.php
+
 ; Directives are specified using the following syntax:
 ; directive = value
 ; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
-;
+; Directives are variables used to configure PHP or PHP extensions.
+; There is no name validation.  If PHP can't find an expected
+; directive because it is not set or is mistyped, a default value will be used.
+
 ; 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").
-;
+; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a
+; previously set variable or directive (e.g. ${foo})
+
 ; Expressions in the INI file are limited to bitwise operators and parentheses:
-; |        bitwise OR
-; &        bitwise AND
-; ~        bitwise NOT
-; !        boolean NOT
-;
+; |  bitwise OR
+; ^  bitwise XOR
+; &  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'
-;
+;  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.
+; PHP comes packaged with two INI files. One that is recommended to be used
+; in production environments and one that is recommended to be used in
+; development environments.
+
+; php.ini-production contains settings which hold security, performance and
+; best practices at its core. But please be aware, these settings may break
+; compatibility with older or less security conscience applications. We
+; recommending using the production ini in production and testing environments.
+
+; php.ini-development is very similar to its production variant, except it's
+; much more verbose when it comes to errors. We recommending using the
+; development version only in development environments as errors shown to
+; application users can inadvertently leak otherwise secure information.
+
+; This 2 files are provided, by RPM, in /usr/share/doc/php-common-*/
+; File used by RPM (the /etc/php.ini) is mainly the php.ini-production
+
+;;;;;;;;;;;;;;;;;;;
+; Quick Reference ;
+;;;;;;;;;;;;;;;;;;;
+; The following are all the settings which are different in either the production
+; or development versions of the INIs with respect to PHP's default behavior.
+; Please see the actual settings later in the document for more details as to why
+; we recommend these changes in PHP's behavior.
+
+; allow_call_time_pass_reference
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; display_errors
+;   Default Value: On
+;   Development Value: On
+;   Production Value: Off
+
+; display_startup_errors
+;   Default Value: Off
+;   Development Value: On
+;   Production Value: Off
+
+; error_reporting
+;   Default Value: E_ALL & ~E_NOTICE
+;   Development Value: E_ALL | E_STRICT
+;   Production Value: E_ALL & ~E_DEPRECATED
+
+; html_errors
+;   Default Value: On
+;   Development Value: On
+;   Production value: Off
+
+; log_errors
+;   Default Value: Off
+;   Development Value: On
+;   Production Value: On
+
+; magic_quotes_gpc
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; max_input_time
+;   Default Value: -1 (Unlimited)
+;   Development Value: 60 (60 seconds)
+;   Production Value: 60 (60 seconds)
+
+; output_buffering
+;   Default Value: Off
+;   Development Value: 4096
+;   Production Value: 4096
+
+; register_argc_argv
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; register_long_arrays
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; request_order
+;   Default Value: None
+;   Development Value: "GP"
+;   Production Value: "GP"
+
+; session.bug_compat_42
+;   Default Value: On
+;   Development Value: On
+;   Production Value: Off
+
+; session.bug_compat_warn
+;   Default Value: On
+;   Development Value: On
+;   Production Value: Off
+
+; session.gc_divisor
+;   Default Value: 100
+;   Development Value: 1000
+;   Production Value: 1000
+
+; session.hash_bits_per_character
+;   Default Value: 4
+;   Development Value: 5
+;   Production Value: 5
+
+; short_open_tag
+;   Default Value: On
+;   Development Value: Off
+;   Production Value: Off
+
+; track_errors
+;   Default Value: Off
+;   Development Value: On
+;   Production Value: Off
+
+; url_rewriter.tags
+;   Default Value: "a=href,area=href,frame=src,form=,fieldset="
+;   Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
+;   Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
+
+; variables_order
+;   Default Value: "EGPCS"
+;   Development Value: "GPCS"
+;   Production Value: "GPCS"
+
+;;;;;;;;;;;;;;;;;;;;
+; php.ini Options  ;
+;;;;;;;;;;;;;;;;;;;;
+; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
+;user_ini.filename = ".user.ini"
+
+; To disable this feature set this option to empty value
+;user_ini.filename =
+
+; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
+;user_ini.cache_ttl = 300
 
 ;;;;;;;;;;;;;;;;;;;;
 ; Language Options ;
 ;;;;;;;;;;;;;;;;;;;;
 
 ; Enable the PHP scripting language engine under Apache.
+; http://www.php.net/manual/en/apache.configuration.php#ini.engine
 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
+; This directive determines whether or not PHP will recognize code between
+; <? and ?> tags as PHP source which should be processed as such. It's been
+; recommended for several years that you not use the short tag "short cut" and
+; instead to use the full <?php and ?> tag combination. With the wide spread use
+; of XML and use of these tags by other languages, the server can become easily
+; confused and end up parsing the wrong code in the wrong context. But because
+; this short cut has been a feature for such a long time, it's currently still
+; supported for backwards compatibility, but we recommend you don't use them.
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://www.php.net/manual/en/ini.core.php#ini.short-open-tag
+short_open_tag = Off
 
 ; Allow ASP-style <% %> tags.
+; http://www.php.net/manual/en/ini.core.php#ini.asp-tags
 asp_tags = Off
 
 ; The number of significant digits displayed in floating point numbers.
-precision    =  14
+; http://www.php.net/manual/en/ini.core.php#ini.precision
+precision = 14
 
 ; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
+; http://www.php.net/manual/en/ini.core.php#ini.y2k-compliance
 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 is a mechanism for controlling how much output data
+; (excluding headers and cookies) PHP should keep internally before pushing that
+; data to the client. If your application's output exceeds this setting, PHP
+; will send that data in chunks of roughly the size you specify.
+; Turning on this setting and managing its maximum buffer size can yield some
+; interesting side-effects depending on your application and web server.
+; You may be able to send headers and cookies after you've already sent output
+; through print or echo. You also may see performance benefits if your server is
+; emitting less packets due to buffered output versus PHP streaming the output
+; as it gets it. On production servers, 4096 bytes is a good setting for performance
+; reasons.
+; Note: Output buffering can also be controlled via Output Buffering Control
+;   functions.
+; Possible Values:
+;   On = Enabled and buffer is unlimited. (Use with caution)
+;   Off = Disabled
+;   Integer = Enables the buffer and sets its maximum size in bytes.
+; Default Value: Off
+; Development Value: 4096
+; Production Value: 4096
+; http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-buffering
 output_buffering = 4096
 
 ; You can redirect all of the output of your scripts to a function.  For
@@ -150,30 +268,35 @@ output_buffering = 4096
 ; 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.
+;   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".
+;   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.
+;   Instead you must use zlib.output_handler.
+; http://www.php.net/manual/en/outcontrol.configuration.php#ini.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.
+;   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.
+;   output_handler, or otherwise the output will be corrupted.
+; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression
 zlib.output_compression = Off
+
+; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression-level
 ;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.
+; http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-handler
 ;zlib.output_handler =
 
 ; Implicit flush tells PHP to tell the output layer to flush itself
@@ -181,51 +304,56 @@ zlib.output_compression = Off
 ; 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.
+; http://www.php.net/manual/en/outcontrol.configuration.php#ini.implicit-flush
 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.
+; 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=
+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).
+; This directive allows you to enable and disable warnings which PHP will issue
+; if you pass a value by reference at function call time. Passing values by
+; reference at function call time is a deprecated feature which will be removed
+; from PHP at some point in the near future. The acceptable method for passing a
+; value by reference to a function is by declaring the reference in the functions
+; definition, not at call time. This directive does not disable this feature, it
+; only determines whether PHP will warn you about it or not. These warnings
+; should enabled in development environments only.
+; Default Value: On (Suppress warnings)
+; Development Value: Off (Issue warnings)
+; Production Value: Off (Issue warnings)
+; http://www.php.net/manual/en/ini.core.php#ini.allow-call-time-pass-reference
 allow_call_time_pass_reference = Off
 
-;
 ; Safe Mode
-;
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.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.
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.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)
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-include-dir
 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.
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-exec-dir
 safe_mode_exec_dir =
 
 ; Setting certain environment variables may be a potential security breach.
@@ -233,34 +361,39 @@ safe_mode_exec_dir =
 ; 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!
+;   environment variable!
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-allowed-env-vars
 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.
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-protected-env-vars
 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.
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.open-basedir
 ;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.
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-functions
 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.
+; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-classes
 disable_classes =
 
 ; Colors for Syntax Highlighting mode.  Anything that's acceptable in
 ; <span style="color: ???????"> would work.
+; http://www.php.net/manual/en/misc.configuration.php#ini.syntax-highlighting
 ;highlight.string  = #DD0000
 ;highlight.comment = #FF9900
 ;highlight.keyword = #007700
@@ -269,47 +402,81 @@ disable_classes =
 ;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
+; the request. Consider enabling it if executing long requests, which may end up
+; being interrupted by the user or a browser timing out. PHP's default behavior
+; is to disable this feature.
+; http://www.php.net/manual/en/misc.configuration.php#ini.ignore-user-abort
+;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
+; http://www.php.net/manual/en/ini.core.php#ini.realpath-cache-size
+;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
+; http://www.php.net/manual/en/ini.core.php#ini.realpath-cache-ttl
+;realpath_cache_ttl = 120
+
+;;;;;;;;;;;;;;;;;
+; Miscellaneous ;
+;;;;;;;;;;;;;;;;;
 
-;
-; 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.
+; http://www.php.net/manual/en/ini.core.php#ini.expose-php
 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 = 32M      ; Maximum amount of memory a script may consume (16MB)
-
+; Maximum execution time of each script, in seconds
+; http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time
+max_execution_time = 30     
+
+; Maximum amount of time each script may spend parsing request data. It's a good
+; idea to limit this time on productions servers in order to eliminate unexpectedly
+; long running scripts. 
+; Default Value: -1 (Unlimited)
+; Development Value: 60 (60 seconds)
+; Production Value: 60 (60 seconds)
+; http://www.php.net/manual/en/info.configuration.php#ini.max-input-time
+max_input_time = 60
+
+; Maximum input variable nesting level
+; http://www.php.net/manual/en/info.configuration.php#ini.max-input-nesting-level
+;max_input_nesting_level = 64
+
+; Maximum amount of memory a script may consume (128MB)
+; http://www.php.net/manual/en/ini.core.php#ini.memory-limit
+memory_limit = 128M
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ; 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)
+; This directive informs PHP of which errors, warnings and notices you would like
+; it to take action for. The recommended way of setting values for this
+; directive is through the use of the error level constants and bitwise
+; operators. The error level constants are below here for convenience as well as
+; some common settings and their meanings.
+; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
+; those related to E_NOTICE and E_STRICT, which together cover best practices and
+; recommended coding standards in PHP. For performance reasons, this is the
+; recommend error reporting setting. Your production server shouldn't be wasting
+; resources complaining about best practices and coding standards. That's what
+; development servers and development settings are for.
+; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This
+; means it pretty much reports everything which is exactly what you want during
+; development and early testing.
+;
+; Error Level Constants:
+; E_ALL             - All errors and warnings (includes E_STRICT as of PHP 6.0.0)
 ; E_ERROR           - fatal run-time errors
 ; E_RECOVERABLE_ERROR  - almost fatal run-time errors
 ; E_WARNING         - run-time warnings (non-fatal errors)
@@ -330,144 +497,223 @@ memory_limit = 32M      ; Maximum amount
 ; 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
-;
+; E_DEPRECATED      - warn about code that will not work in future versions
+;                     of PHP
+; E_USER_DEPRECATED - user-generated deprecation warnings
+;
+; Common Values:
+;   E_ALL & ~E_NOTICE  (Show all errors, except for notices and coding standards warnings.)
+;   E_ALL & ~E_NOTICE | E_STRICT  (Show all errors, except for notices)
+;   E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (Show only errors)
+;   E_ALL | E_STRICT  (Show all errors, warnings and notices including coding standards.)
+; Default Value: E_ALL & ~E_NOTICE
+; Development Value: E_ALL | E_STRICT
+; Production Value: E_ALL & ~E_DEPRECATED
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting
+error_reporting = E_ALL & ~E_DEPRECATED
+
+; This directive controls whether or not and where PHP will output errors,
+; notices and warnings too. Error output is very useful during development, but
+; it could be very dangerous in production environments. Depending on the code
+; which is triggering the error, sensitive information could potentially leak
+; out of your application such as database usernames and passwords or worse.
+; It's recommended that errors be logged on production servers rather than
+; having the errors sent to STDOUT.
+; Possible Values:
+;   Off = Do not display any errors 
+;   stderr = Display errors to STDERR (affects only CGI/CLI binaries!)   
+;   On or stdout = Display errors to STDOUT
+; Default Value: On
+; Development Value: On
+; Production Value: Off
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors
 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.
+; The display of errors which occur during PHP's startup sequence are handled
+; separately from display_errors. PHP's default behavior is to suppress those
+; errors from clients. Turning the display of startup errors on can be useful in
+; debugging configuration problems. But, it's strongly recommended that you
+; leave this setting off on production servers.
+; Default Value: Off
+; Development Value: On
+; Production Value: Off
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-startup-errors
 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.
+; Besides displaying errors, PHP can also log errors to locations such as a
+; server-specific log, STDERR, or a location specified by the error_log
+; directive found below. While errors should not be displayed on productions
+; servers they should still be monitored and logging is a great way to do that.
+; Default Value: Off
+; Development Value: On
+; Production Value: On
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors
 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.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors-max-len
 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.
+; line unless ignore_repeated_source is set true.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-errors
 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.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.ignore-repeated-source
 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
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.report-memleaks
 report_memleaks = On
 
+; This setting is on by default.
 ;report_zend_debug = 0
 
-; Store the last error/warning message in $php_errormsg (boolean).
+; Store the last error/warning message in $php_errormsg (boolean). Setting this value
+; to On can assist in debugging and is appropriate for development servers. It should
+; however be disabled on production servers.
+; Default Value: Off
+; Development Value: On
+; Production Value: Off
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.track-errors
 track_errors = Off
 
-; Disable the inclusion of HTML tags in error messages.
-; Note: Never use this feature for production boxes.
-;html_errors = Off
+; Turn off normal error reporting and emit XML-RPC error XML
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.xmlrpc-errors
+;xmlrpc_errors = 0
+
+; An XML-RPC faultCode
+;xmlrpc_error_number = 0
+
+; When PHP displays or logs an error, it has the capability of inserting html
+; links to documentation related to that error. This directive controls whether
+; those HTML links appear in error messages or not. For performance and security
+; reasons, it's recommended you disable this on production servers.
+; Default Value: On
+; Development Value: On
+; Production value: Off
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.html-errors
+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.
+; the dot. PHP's default behavior is to leave these settings empty.
 ; Note: Never use this feature for production boxes.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.docref-root
+; Examples
 ;docref_root = "/phpmanual/"
-;docref_ext = .html
 
-; String to output before an error message.
-;error_prepend_string = "<font color=ff0000>"
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.docref-ext
+;docref_ext = .html
 
-; String to output after an error message.
+; String to output before an error message. PHP's default behavior is to leave
+; this setting blank.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-prepend-string
+; Example:
+;error_prepend_string = "<font color=#ff0000>"
+
+; String to output after an error message. PHP's default behavior is to leave
+; this setting blank.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-append-string
+; Example:
 ;error_append_string = "</font>"
 
-; Log errors to specified file.
-;error_log = filename
-
+; Log errors to specified file. PHP's default behavior is to leave this value
+; empty.
+; http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log
+; Example:
+;error_log = php_errors.log
 ; 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 "&".
+; PHP's default setting is "&".
+; http://www.php.net/manual/en/ini.core.php#ini.arg-separator.output
+; Example:
 ;arg_separator.output = "&"
 
 ; List of separator(s) used by PHP to parse input URLs into variables.
-; Default is "&".
+; PHP's default setting is "&".
 ; NOTE: Every character in this directive is considered as separator!
+; http://www.php.net/manual/en/ini.core.php#ini.arg-separator.input
+; Example:
 ;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"
+; This directive determines which super global arrays are registered when PHP
+; starts up. If the register_globals directive is enabled, it also determines
+; what order variables are populated into the global space. G,P,C,E & S are
+; abbreviations for the following respective super globals: GET, POST, COOKIE,
+; ENV and SERVER. There is a performance penalty paid for the registration of
+; these arrays and because ENV is not as commonly used as the others, ENV is
+; is not recommended on productions servers. You can still get access to
+; the environment variables through getenv() should you need to.
+; Default Value: "EGPCS"
+; Development Value: "GPCS"
+; Production Value: "GPCS";
+; http://www.php.net/manual/en/ini.core.php#ini.variables-order
+variables_order = "GPCS"
+
+; This directive determines which super global data (G,P,C,E & S) should
+; be registered into the super global array REQUEST. If so, it also determines
+; the order in which that data is registered. The values for this directive are
+; specified in the same manner as the variables_order directive, EXCEPT one.
+; Leaving this value empty will cause PHP to use the value set in the 
+; variables_order directive. It does not mean it will leave the super globals
+; array REQUEST empty.
+; Default Value: None
+; Development Value: "GP"
+; Production Value: "GP"
+; http://www.php.net/manual/en/ini.core.php#ini.request-order
+request_order = "GP"
 
 ; 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.
+; http://www.php.net/manual/en/ini.core.php#ini.register-globals
 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.
+; Determines whether the deprecated long $HTTP_*_VARS type predefined variables
+; are registered by PHP or not. As they are deprecated, we obviously don't
+; recommend you use them. They are on by default for compatibility reasons but
+; they are not recommended on production servers.
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://www.php.net/manual/en/ini.core.php#ini.register-long-arrays
 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.
+; This directive determines whether PHP registers $argv & $argc each time it
+; runs. $argv contains an array of all the arguments passed to PHP when a script
+; is invoked. $argc contains an integer representing the number of arguments
+; that were passed when the script was invoked. These arrays are extremely
+; useful when running scripts from the command line. When this directive is
+; enabled, registering these variables consumes CPU cycles and memory each time
+; a script is executed. For performance reasons, this feature should be disabled
+; on production servers.
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://www.php.net/manual/en/ini.core.php#ini.register-argc-argv
 register_argc_argv = Off
 
 ; When enabled, the SERVER and ENV variables are created when they're first
@@ -475,25 +721,43 @@ register_argc_argv = Off
 ; 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.
+; http://www.php.net/manual/en/ini.core.php#ini.auto-globals-jit
 auto_globals_jit = On
 
 ; Maximum size of POST data that PHP will accept.
+; http://www.php.net/manual/en/ini.core.php#ini.post-max-size
 post_max_size = 8M
 
-; Magic quotes
-;
-
-; Magic quotes for incoming GET/POST/Cookie data.
+; Magic quotes are a preprocessing feature of PHP where PHP will attempt to
+; escape any character sequences in GET, POST, COOKIE and ENV data which might
+; otherwise corrupt data being placed in resources such as databases before
+; making that data available to you. Because of character encoding issues and
+; non-standard SQL implementations across many databases, it's not currently
+; possible for this feature to be 100% accurate. PHP's default behavior is to
+; enable the feature. We strongly recommend you use the escaping mechanisms
+; designed specifically for the database your using instead of relying on this
+; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is
+; scheduled for removal in PHP 6.
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc
 magic_quotes_gpc = Off
 
 ; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
+; http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-runtime
 magic_quotes_runtime = Off
 
 ; Use Sybase-style magic quotes (escape ' with '' instead of \').
+; http://www.php.net/manual/en/sybase.configuration.php#ini.magic-quotes-sybase
 magic_quotes_sybase = Off
 
-; Automatically add files before or after any PHP document.
+; Automatically add files before PHP document.
+; http://www.php.net/manual/en/ini.core.php#ini.auto-prepend-file
 auto_prepend_file =
+
+; Automatically add files after PHP document.
+; http://www.php.net/manual/en/ini.core.php#ini.auto-append-file
 auto_append_file =
 
 ; As of 4.0b4, PHP always outputs a character encoding by default in
@@ -501,13 +765,18 @@ auto_append_file =
 ; set it to be empty.
 ;
 ; PHP's built-in default is text/html
+; http://www.php.net/manual/en/ini.core.php#ini.default-mimetype
 default_mimetype = "text/html"
+
+; PHP's default character set is set to empty.
+; http://www.php.net/manual/en/ini.core.php#ini.default-charset
 ;default_charset = "iso-8859-1"
 
-; Always populate the $HTTP_RAW_POST_DATA variable.
+; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is
+; to disable this feature.
+; http://www.php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data
 ;always_populate_raw_post_data = On
 
-
 ;;;;;;;;;;;;;;;;;;;;;;;;;
 ; Paths and Directories ;
 ;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -517,97 +786,120 @@ default_mimetype = "text/html"
 ;
 ; Windows: "\path1;\path2"
 ;include_path = ".;c:\php\includes"
+;
+; PHP's default setting for include_path is ".;/path/to/php/pear"
+; http://www.php.net/manual/en/ini.core.php#ini.include-path
 
 ; 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
+; http://www.php.net/manual/en/ini.core.php#ini.doc-root
 doc_root =
 
 ; The directory under which PHP opens the script using /~username used only
 ; if nonempty.
+; http://www.php.net/manual/en/ini.core.php#ini.user-dir
 user_dir =
 
+; Directory in which the loadable extensions (modules) reside.
+; http://www.php.net/manual/en/ini.core.php#ini.extension-dir
+; extension_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
+; http://www.php.net/manual/en/info.configuration.php#ini.enable-dl
+enable_dl = Off
 
 ; 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
+; http://www.php.net/manual/en/ini.core.php#ini.cgi.force-redirect
+;cgi.force_redirect = 1
 
 ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
-; every request.
-; cgi.nph = 1
+; every request. PHP's default behavior is to disable this feature.
+;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 = ;
+; http://www.php.net/manual/en/ini.core.php#ini.cgi.redirect-status-env
+;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
+; this to 1 will cause PHP CGI to fix its 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
+; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
+;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;
+; http://www.php.net/manual/en/ini.core.php#ini.fastcgi.impersonate
+;fastcgi.impersonate = 1;
 
-; Disable logging through FastCGI connection
-; fastcgi.logging = 0
+; Disable logging through FastCGI connection. PHP's default behavior is to enable
+; this feature.
+;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.
+; http://www.php.net/manual/en/ini.core.php#ini.cgi.rfc2616-headers
 ;cgi.rfc2616_headers = 0
 
-
 ;;;;;;;;;;;;;;;;
 ; File Uploads ;
 ;;;;;;;;;;;;;;;;
 
 ; Whether to allow HTTP file uploads.
+; http://www.php.net/manual/en/ini.core.php#ini.file-uploads
 file_uploads = On
 
 ; Temporary directory for HTTP uploaded files (will use system default if not
 ; specified).
+; http://www.php.net/manual/en/ini.core.php#ini.upload-tmp-dir
 ;upload_tmp_dir =
 
 ; Maximum allowed size for uploaded files.
+; http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize
 upload_max_filesize = 2M
 
-
 ;;;;;;;;;;;;;;;;;;
 ; Fopen wrappers ;
 ;;;;;;;;;;;;;;;;;;
 
 ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
+; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen
 allow_url_fopen = On
 
 ; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
+; http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include
 allow_url_include = Off
 
-; Define the anonymous ftp password (your email address)
+; Define the anonymous ftp password (your email address). PHP's default setting
+; for this is empty.
+; http://www.php.net/manual/en/filesystem.configuration.php#ini.from
 ;from="john at doe.com"
 
-; Define the User-Agent string
-; user_agent="PHP"
+; Define the User-Agent string. PHP's default setting for this is empty.
+; http://www.php.net/manual/en/filesystem.configuration.php#ini.user-agent
+;user_agent="PHP"
 
 ; Default timeout for socket based streams (seconds)
+; http://www.php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout
 default_socket_timeout = 60
 
 ; If your scripts have to deal with files from Macintosh systems,
@@ -615,27 +907,29 @@ default_socket_timeout = 60
 ; 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
-
+; http://www.php.net/manual/en/filesystem.configuration.php#ini.auto-detect-line-endings
+;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:
+; 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.
+; ... or with a path:
+;
+;   extension=/path/to/extension/msql.so
+;
+; If you only provide the name of the extension, PHP will look for it in its
+; default extension directory.
 
-  
 ;;;;
 ; Note: packaged extension modules are now loaded via the .ini files
 ; found in the directory /etc/php.d; these are loaded by default.
@@ -648,16 +942,26 @@ default_socket_timeout = 60
 
 [Date]
 ; Defines the default timezone used by the date functions
+; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
 ;date.timezone =
 
+; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-latitude
 ;date.default_latitude = 31.7667
+
+; http://www.php.net/manual/en/datetime.configuration.php#ini.date.default-longitude
 ;date.default_longitude = 35.2333
 
+; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunrise-zenith
 ;date.sunrise_zenith = 90.583333
+
+; http://www.php.net/manual/en/datetime.configuration.php#ini.date.sunset-zenith
 ;date.sunset_zenith = 90.583333
 
 [filter]
+; http://www.php.net/manual/en/filter.configuration.php#ini.filter.default
 ;filter.default = unsafe_raw
+
+; http://www.php.net/manual/en/filter.configuration.php#ini.filter.default-flags
 ;filter.default_flags =
 
 [iconv]
@@ -665,38 +969,62 @@ default_socket_timeout = 60
 ;iconv.internal_encoding = ISO-8859-1
 ;iconv.output_encoding = ISO-8859-1
 
+[intl]
+;intl.default_locale = 
+
 [sqlite]
+; http://www.php.net/manual/en/sqlite.configuration.php#ini.sqlite.assoc-case
 ;sqlite.assoc_case = 0
 
-[xmlrpc]
-;xmlrpc_error_number = 0
-;xmlrpc_errors = 0
+[sqlite3]
+;sqlite3.extension_dir =
 
 [Pcre]
 ;PCRE library backtracking limit.
+; http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.backtrack-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).
+; http://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit
 ;pcre.recursion_limit=100000
 
+[Pdo]
+; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
+; http://www.php.net/manual/en/ref.pdo-odbc.php#ini.pdo-odbc.connection-pooling
+;pdo_odbc.connection_pooling=strict
+
+[Phar]
+; http://www.php.net/manual/en/phar.configuration.php#ini.phar.readonly
+;phar.readonly = On
+
+; http://www.php.net/manual/en/phar.configuration.php#ini.phar.require-hash
+;phar.require_hash = On
+
+;phar.cache_list =
+
 [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().
+; http://www.php.net/manual/en/network.configuration.php#ini.define-syslog-variables
 define_syslog_variables  = Off
 
 [mail function]
 ; For Win32 only.
+; http://www.php.net/manual/en/mail.configuration.php#ini.smtp
 SMTP = localhost
+; http://www.php.net/manual/en/mail.configuration.php#ini.smtp-port
 smtp_port = 25
 
 ; For Win32 only.
+; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-from
 ;sendmail_from = me at example.com
 
 ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
+; http://www.php.net/manual/en/mail.configuration.php#ini.sendmail-path
 sendmail_path = /usr/sbin/sendmail -t -i
 
 ; Force the addition of the specified parameters to be passed as extra parameters
@@ -704,59 +1032,86 @@ sendmail_path = /usr/sbin/sendmail -t -i
 ; the 5th parameter to mail(), even in safe mode.
 ;mail.force_extra_parameters =
 
+; Add X-PHP-Originaiting-Script: that will include uid of the script followed by the filename
+mail.add_x_header = On
+
+; Log all mail() calls including the full path of the script, line #, to address and headers
+;mail.log =
+
 [SQL]
+; http://www.php.net/manual/en/ini.core.php#ini.sql.safe-mode
 sql.safe_mode = Off
 
 [ODBC]
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-db
 ;odbc.default_db    =  Not yet implemented
+
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-user
 ;odbc.default_user  =  Not yet implemented
+
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.default-pw
 ;odbc.default_pw    =  Not yet implemented
 
 ; Allow or prevent persistent links.
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.allow-persistent
 odbc.allow_persistent = On
 
 ; Check that a connection is still valid before reuse.
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.check-persistent
 odbc.check_persistent = On
 
 ; Maximum number of persistent links.  -1 means no limit.
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.max-persistent
 odbc.max_persistent = -1
 
 ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.max-links
 odbc.max_links = -1
 
 ; Handling of LONG fields.  Returns number of bytes to variables.  0 means
 ; passthru.
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.defaultlrl
 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
+; http://www.php.net/manual/en/odbc.configuration.php#ini.uodbc.defaultbinmode
 odbc.defaultbinmode = 1
 
+;birdstep.max_links = -1
+
 [MySQL]
 ; Allow or prevent persistent links.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.allow-persistent
 mysql.allow_persistent = On
 
 ; Maximum number of persistent links.  -1 means no limit.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.max-persistent
 mysql.max_persistent = -1
 
 ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.max-links
 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.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-port
 mysql.default_port =
 
 ; Default socket name for local MySQL connects.  If empty, uses the built-in
 ; MySQL defaults.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-socket
 mysql.default_socket =
 
 ; Default host for mysql_connect() (doesn't apply in safe mode).
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-host
 mysql.default_host =
 
 ; Default user for mysql_connect() (doesn't apply in safe mode).
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-user
 mysql.default_user =
 
 ; Default password for mysql_connect() (doesn't apply in safe mode).
@@ -764,34 +1119,42 @@ mysql.default_user =
 ; *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.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-password
 mysql.default_password =
 
 ; Maximum time (in seconds) for connect timeout. -1 means no limit
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.connect-timeout
 mysql.connect_timeout = 60
 
 ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
 ; SQL-Errors will be displayed.
+; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.trace-mode
 mysql.trace_mode = Off
 
 [MySQLi]
 
 ; Maximum number of links.  -1 means no limit.
+; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.max-links
 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.
+; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-port
 mysqli.default_port = 3306
 
 ; Default socket name for local MySQL connects.  If empty, uses the built-in
 ; MySQL defaults.
+; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-socket
 mysqli.default_socket =
 
 ; Default host for mysql_connect() (doesn't apply in safe mode).
+; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-host
 mysqli.default_host =
 
 ; Default user for mysql_connect() (doesn't apply in safe mode).
+; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-user
 mysqli.default_user =
 
 ; Default password for mysqli_connect() (doesn't apply in safe mode).
@@ -799,130 +1162,79 @@ mysqli.default_user =
 ; *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.
+; http://www.php.net/manual/en/mysqli.configuration.php#ini.mysqli.default-pw
 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.
+; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.allow-persistent
 pgsql.allow_persistent = On
 
 ; Detect broken persistent links always with pg_pconnect().
 ; Auto reset feature requires a little overheads.
+; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.auto-reset-persistent
 pgsql.auto_reset_persistent = Off
 
 ; Maximum number of persistent links.  -1 means no limit.
+; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.max-persistent
 pgsql.max_persistent = -1
 
 ; Maximum number of links (persistent+non persistent).  -1 means no limit.
+; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.max-links
 pgsql.max_links = -1
 
 ; Ignore PostgreSQL backends Notice message or not.
 ; Notice message logging require a little overheads.
+; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.ignore-notice
 pgsql.ignore_notice = 0
 
 ; Log PostgreSQL backends Noitce message or not.
 ; Unless pgsql.ignore_notice=0, module cannot log notice message.
+; http://www.php.net/manual/en/pgsql.configuration.php#ini.pgsql.log-notice
 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.
+; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.allow-persistent
 sybct.allow_persistent = On
 
 ; Maximum number of persistent links.  -1 means no limit.
+; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.max-persistent
 sybct.max_persistent = -1
 
 ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
+; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.max-links
 sybct.max_links = -1
 
 ; Minimum server message severity to display.
+; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.min-server-severity
 sybct.min_server_severity = 10
 
 ; Minimum client message severity to display.
+; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.min-client-severity
 sybct.min_client_severity = 10
 
+; Set per-context timeout
+; http://www.php.net/manual/en/sybase.configuration.php#ini.sybct.timeout
+;sybct.timeout=
+
+;sybct.packet_size
+
 [bcmath]
 ; Number of decimal digits for all bcmath functions.
+; http://www.php.net/manual/en/bc.configuration.php#ini.bcmath.scale
 bcmath.scale = 0
 
 [browscap]
+; http://www.php.net/manual/en/misc.configuration.php#ini.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.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.save-handler
 session.save_handler = files
 
 ; Argument passed to save_handler.  In the case of files, this is the path
@@ -951,49 +1263,80 @@ session.save_handler = files
 ;
 ; where MODE is the octal representation of the mode. Note that this
 ; does not overwrite the process's umask.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.save-path
 session.save_path = "/var/lib/php/session"
 
 ; Whether to use cookies.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.use-cookies
 session.use_cookies = 1
 
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-secure
 ;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
+; This option forces PHP to fetch and use a cookie for storing and maintaining
+; the session id. We encourage this operation as it's very helpful in combatting
+; session hijacking when not specifying and managing your own session id. It is
+; not the end all be all of session hijacking defense, but it's a good start.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.use-only-cookies
+session.use_only_cookies = 1
 
 ; Name of the session (used as cookie name).
+; http://www.php.net/manual/en/session.configuration.php#ini.session.name
 session.name = PHPSESSID
 
 ; Initialize session on request startup.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.auto-start
 session.auto_start = 0
 
 ; Lifetime in seconds of cookie or, if 0, until browser is restarted.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime
 session.cookie_lifetime = 0
 
 ; The path for which the cookie is valid.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-path
 session.cookie_path = /
 
 ; The domain for which the cookie is valid.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-domain
 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.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-httponly
 session.cookie_httponly = 
 
 ; Handler used to serialize data.  php is the standard serializer of PHP.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.serialize-handler
 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.
-
+; Defines the probability that the 'garbage collection' process is started
+; on every session initialization. The probability is calculated by using
+; gc_probability/gc_divisor. Where session.gc_probability is the numerator
+; and gc_divisor is the denominator in the equation. Setting this value to 1
+; when the session.gc_divisor value is 100 will give you approximately a 1% chance
+; the gc will run on any give request.
+; Default Value: 1
+; Development Value: 1
+; Production Value: 1
+; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability
 session.gc_probability = 1
-session.gc_divisor     = 1000
+
+; Defines the probability that the 'garbage collection' process is started on every
+; session initialization. The probability is calculated by using the following equation: 
+; gc_probability/gc_divisor. Where session.gc_probability is the numerator and
+; session.gc_divisor is the denominator in the equation. Setting this value to 1
+; when the session.gc_divisor value is 100 will give you approximately a 1% chance
+; the gc will run on any give request. Increasing this value to 1000 will give you
+; a 0.1% chance the gc will run on any give request. For high volume production servers,
+; this is a more efficient approach.
+; Default Value: 100
+; Development Value: 1000
+; Production Value: 1000
+; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-divisor
+session.gc_divisor = 1000
 
 ; After this number of seconds, stored data will be seen as 'garbage' and
 ; cleaned up by the garbage collection process.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime
 session.gc_maxlifetime = 1440
 
 ; NOTE: If you are using the subdirectory option for storing session files
@@ -1005,34 +1348,55 @@ session.gc_maxlifetime = 1440
 ;          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
+; to initialize a session variable in the global scope, even when 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
+; the warning is only displayed, if bug_compat_42 is enabled. This feature
+; introduces some serious security problems if not handled correctly. It's
+; recommended that you do not use this feature on production servers. But you
+; should enable this on development servers and enable the warning as well. If you
+; do not enable the feature on development servers, you won't be warned when it's
+; used and debugging errors caused by this can be difficult to track down.
+; Default Value: On
+; Development Value: On
+; Production Value: Off
+; http://www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-42
+session.bug_compat_42 = Off
+
+; This setting controls whether or not you are warned by PHP when initializing a
+; session value into the global space. session.bug_compat_42 must be enabled before
+; these warnings can be issued by PHP. See the directive above for more information.
+; Default Value: On
+; Development Value: On
+; Production Value: Off
+; http://www.php.net/manual/en/session.configuration.php#ini.session.bug-compat-warn
+session.bug_compat_warn = Off
 
 ; 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.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.referer-check
 session.referer_check =
 
 ; How many bytes to read from the file.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length
 session.entropy_length = 0
 
 ; Specified here to create the session id.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-file
+;session.entropy_file = /dev/urandom
 session.entropy_file =
 
+; http://www.php.net/manual/en/session.configuration.php#ini.session.entropy-length
 ;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.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-limiter
 session.cache_limiter = nocache
 
 ; Document expires after n minutes.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.cache-expire
 session.cache_expire = 180
 
 ; trans sid support is disabled by default.
@@ -1044,19 +1408,26 @@ session.cache_expire = 180
 ;   in publically accessible computer.
 ; - User may access your site with the same session ID
 ;   always using URL stored in browser's history or bookmarks.
+; http://www.php.net/manual/en/session.configuration.php#ini.session.use-trans-sid
 session.use_trans_sid = 0
 
-; Select a hash function
-; 0: MD5   (128 bits)
-; 1: SHA-1 (160 bits)
+; Select a hash function for use in generating session ids.
+; Possible Values 
+;   0  (MD5 128 bits)
+;   1  (SHA-1 160 bits)
+; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-function
 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, "-", ","
+; Possible values:
+;   4  (4 bits: 0-9, a-f)
+;   5  (5 bits: 0-9, a-v)
+;   6  (6 bits: 0-9, a-z, A-Z, "-", ",")
+; Default Value: 4
+; Development Value: 5
+; Production Value: 5
+; http://www.php.net/manual/en/session.configuration.php#ini.session.hash-bits-per-character
 session.hash_bits_per_character = 5
 
 ; The URL rewriter will look for URLs in a defined set of HTML tags.
@@ -1064,6 +1435,10 @@ session.hash_bits_per_character = 5
 ; 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.
+; Default Value: "a=href,area=href,frame=src,form=,fieldset="
+; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
+; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
+; http://www.php.net/manual/en/session.configuration.php#ini.url-rewriter.tags
 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
 
 [MSSQL]
@@ -1120,47 +1495,65 @@ mssql.secure_connection = Off
 
 [Assertion]
 ; Assert(expr); active by default.
+; http://www.php.net/manual/en/info.configuration.php#ini.assert.active
 ;assert.active = On
 
 ; Issue a PHP warning for each failed assertion.
+; http://www.php.net/manual/en/info.configuration.php#ini.assert.warning
 ;assert.warning = On
 
 ; Don't bail out by default.
+; http://www.php.net/manual/en/info.configuration.php#ini.assert.bail
 ;assert.bail = Off
 
 ; User-function to be called if an assertion fails.
+; http://www.php.net/manual/en/info.configuration.php#ini.assert.callback
 ;assert.callback = 0
 
 ; Eval the expression with current error_reporting().  Set to true if you want
 ; error_reporting(0) around the eval().
+; http://www.php.net/manual/en/info.configuration.php#ini.assert.quiet-eval
 ;assert.quiet_eval = 0
 
 [COM]
 ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
+; http://www.php.net/manual/en/com.configuration.php#ini.com.typelib-file
 ;com.typelib_file =
+
 ; allow Distributed-COM calls
+; http://www.php.net/manual/en/com.configuration.php#ini.com.allow-dcom
 ;com.allow_dcom = true
+
 ; autoregister constants of a components typlib on com_load()
+; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-typelib
 ;com.autoregister_typelib = true
+
 ; register constants casesensitive
+; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-casesensitive
 ;com.autoregister_casesensitive = false
+
 ; show warnings on duplicate constant registrations
+; http://www.php.net/manual/en/com.configuration.php#ini.com.autoregister-verbose
 ;com.autoregister_verbose = true
 
 [mbstring]
 ; language for internal character representation.
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.language
 ;mbstring.language = Japanese
 
 ; internal/script encoding.
 ; Some encoding cannot work as internal encoding.
 ; (e.g. SJIS, BIG5, ISO-2022-*)
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.internal-encoding
 ;mbstring.internal_encoding = EUC-JP
 
 ; http input encoding.
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.http-input
 ;mbstring.http_input = auto
 
 ; http output encoding. mb_output_handler must be
 ; registered as output buffer to function
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.http-output
 ;mbstring.http_output = SJIS
 
 ; enable automatic encoding translation according to
@@ -1168,14 +1561,17 @@ mssql.secure_connection = Off
 ; converted to internal encoding by setting this to On.
 ; Note: Do _not_ use automatic encoding translation for
 ;       portable libs/applications.
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.encoding-translation
 ;mbstring.encoding_translation = Off
 
 ; automatic encoding detection order.
 ; auto means
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.detect-order
 ;mbstring.detect_order = auto
 
 ; substitute_character used when character cannot be converted
 ; one from another
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.substitute-character
 ;mbstring.substitute_character = none;
 
 ; overload(replace) single byte functions by mbstring functions.
@@ -1186,30 +1582,22 @@ mssql.secure_connection = Off
 ; 1: Overload mail() function
 ; 2: Overload str*() functions
 ; 4: Overload ereg*() functions
+; http://www.php.net/manual/en/mbstring.configuration.php#ini.mbstring.func-overload
 ;mbstring.func_overload = 0
 
 ; enable strict encoding detection.
-;mbstring.strict_encoding = Off
+;mbstring.strict_detection = 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
+; This directive specifies the regex pattern of content types for which mb_output_handler()
+; is activated.
+; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)
+;mbstring.http_output_conv_mimetype=
 
 [gd]
-; Tell the jpeg decode to libjpeg warnings and try to create
+; Tell the jpeg decode to ignore warnings and try to create
 ; a gd image. The warning will then be displayed as notices
 ; disabled by default
+; http://www.php.net/manual/en/image.configuration.php#ini.image.jpeg-ignore-warning
 ;gd.jpeg_ignore_warning = 0
 
 [exif]
@@ -1218,31 +1606,54 @@ mssql.secure_connection = Off
 ; 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.
+; http://www.php.net/manual/en/exif.configuration.php#ini.exif.encode-unicode
 ;exif.encode_unicode = ISO-8859-15
+
+; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-unicode-motorola
 ;exif.decode_unicode_motorola = UCS-2BE
+
+; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-unicode-intel
 ;exif.decode_unicode_intel    = UCS-2LE
+
+; http://www.php.net/manual/en/exif.configuration.php#ini.exif.encode-jis
 ;exif.encode_jis =
+
+; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-jis-motorola
 ;exif.decode_jis_motorola = JIS
+
+; http://www.php.net/manual/en/exif.configuration.php#ini.exif.decode-jis-intel
 ;exif.decode_jis_intel    = JIS
 
 [Tidy]
 ; The path to a default tidy configuration file to use when using tidy
+; http://www.php.net/manual/en/tidy.configuration.php#ini.tidy.default-config
 ;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
+; http://www.php.net/manual/en/tidy.configuration.php#ini.tidy.clean-output
 tidy.clean_output = Off
 
 [soap]
 ; Enables or disables WSDL caching feature.
+; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-enabled
 soap.wsdl_cache_enabled=1
+
 ; Sets the directory name where SOAP extension will put cache files.
+; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-dir
 soap.wsdl_cache_dir="/tmp"
+
 ; (time to live) Sets the number of second while cached file will be used 
 ; instead of original one.
+; http://www.php.net/manual/en/soap.configuration.php#ini.soap.wsdl-cache-ttl
 soap.wsdl_cache_ttl=86400
 
+[sysvshm]
+; A default size of the shared memory segment
+;sysvshm.init_mem = 10000
+
+
 ; Local Variables:
 ; tab-width: 4
 ; End:


Index: php.spec
===================================================================
RCS file: /cvs/extras/rpms/php/devel/php.spec,v
retrieving revision 1.176
retrieving revision 1.177
diff -u -p -r1.176 -r1.177
--- php.spec	21 Jun 2009 09:43:29 -0000	1.176
+++ php.spec	12 Jul 2009 16:47:14 -0000	1.177
@@ -1,12 +1,18 @@
-%define contentdir /var/www
-%define apiver 20041225
-%define zendver 20060613
-%define pdover 20060511
+%global contentdir  /var/www
+# API/ABI check
+%global apiver      20090626
+%global zendver     20090626
+%global pdover      20080721
+# Extension version
+%global fileinfover 1.0.5-dev
+%global pharver     2.0.0-dev
+%global zipver      1.9.1
+
 %define httpd_mmn %(cat %{_includedir}/httpd/.mmn || echo missing-httpd-devel)
 
 Summary: PHP scripting language for creating dynamic web sites
 Name: php
-Version: 5.2.10
+Version: 5.3.0
 Release: 1%{?dist}
 License: PHP
 Group: Development/Languages
@@ -18,13 +24,13 @@ Source2: php.ini
 Source3: macros.php
 
 # Build fixes
-Patch1: php-5.2.10-gnusrc.patch
-Patch2: php-5.2.8-install.patch
+Patch1: php-5.3.0-gnusrc.patch
+Patch2: php-5.3.0-install.patch
 Patch3: php-5.2.4-norpath.patch
-Patch4: php-5.2.8-phpize64.patch
+Patch4: php-5.3.0-phpize64.patch
 Patch5: php-5.2.0-includedir.patch
 Patch6: php-5.2.4-embed.patch
-Patch7: php-5.2.8-recode.patch
+Patch7: php-5.3.0-recode.patch
 
 # Fixes for extension modules
 Patch20: php-4.3.11-shutdown.patch
@@ -32,18 +38,17 @@ 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.6-systzdata.patch
+Patch41: php-5.3.0-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
 
 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: libstdc++-devel, openssl-devel, sqlite-devel >= 3.6.0
 BuildRequires: zlib-devel, pcre-devel >= 6.6, smtpdaemon, readline-devel
 BuildRequires: bzip2, perl, libtool >= 1.4.3, gcc-c++
 Obsoletes: php-dbg, php3, phpfi, stronghold-php
@@ -97,8 +102,12 @@ Provides: php-bz2, php-calendar, php-cty
 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
+Provides: php-zlib, php-json, php-zip, php-fileinfo
+Obsoletes: php-openssl, php-pecl-zip, php-pecl-json, php-json, php-pecl-phar, php-pecl-Fileinfo
+# For obsoleted pecl extension
+Provides: php-pecl-zip = %{zipver}, php-pecl(zip) = %{zipver}
+Provides: php-pecl-phar = %{pharver}, php-pecl(phar) = %{pharver}
+Provides: php-pecl-Fileinfo = %{fileinfover}, php-pecl(Fileinfo) = %{fileinfover}
 
 %description common
 The php-common package contains files used by both the php
@@ -152,6 +161,7 @@ Group: Development/Languages
 Requires: php-common = %{version}-%{release}
 Obsoletes: php-pecl-pdo-sqlite, php-pecl-pdo
 Provides: php-pdo-abi = %{pdover}
+Provides: php-sqlite3, php-pdo_sqlite
 
 %description pdo
 The php-pdo package contains a dynamic shared object that will add
@@ -163,7 +173,7 @@ databases.
 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
+Provides: php_database, php-mysqli, php-pdo_mysql
 Obsoletes: mod_php3-mysql, stronghold-php-mysql
 BuildRequires: mysql-devel >= 4.1.0
 
@@ -178,7 +188,7 @@ this package and the php package.
 Summary: A PostgreSQL database module for PHP
 Group: Development/Languages
 Requires: php-common = %{version}-%{release}, php-pdo
-Provides: php_database
+Provides: php_database, php-pdo_pgsql
 Obsoletes: mod_php3-pgsql, stronghold-php-pgsql
 BuildRequires: krb5-devel, openssl-devel, postgresql-devel
 
@@ -206,7 +216,7 @@ communication.
 Group: Development/Languages
 Requires: php-common = %{version}-%{release}, php-pdo
 Summary: A module for PHP applications that use ODBC databases
-Provides: php_database
+Provides: php_database, php-pdo_odbc
 Obsoletes: stronghold-php-odbc
 BuildRequires: unixODBC-devel
 
@@ -292,16 +302,6 @@ Requires: php-common = %{version}-%{rele
 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
@@ -341,16 +341,6 @@ BuildRequires: libmcrypt-devel
 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
@@ -366,6 +356,7 @@ Summary: MSSQL database module for PHP
 Group: Development/Languages
 Requires: php-common = %{version}-%{release}, php-pdo
 BuildRequires: freetds-devel
+Provides: php-pdo_dblib
 
 %description mssql
 The php-mssql package contains a dynamic shared object that will
@@ -404,6 +395,27 @@ BuildRequires: recode-devel
 The php-recode package contains a dynamic shared object that will add
 support for using the recode library to PHP.
 
+%package intl
+Summary: Internationalization extension for PHP applications
+Group: System Environment/Libraries
+Requires: php-common = %{version}-%{release}
+BuildRequires: libicu-devel >= 3.6
+
+%description intl
+The php-intl package contains a dynamic shared object that will add
+support for using the ICU library to PHP.
+
+%package enchant
+Summary: Human Language and Character Encoding Support
+Group: System Environment/Libraries
+Requires: php-common = %{version}-%{release}
+BuildRequires: enchant-devel >= 1.2.4
+
+%description enchant
+The php-intl package contains a dynamic shared object that will add
+support for using the enchant library to PHP.
+
+
 %prep
 %setup -q
 %patch1 -p1 -b .gnusrc
@@ -421,13 +433,12 @@ support for using the recode library to 
 %patch41 -p1 -b .easter
 %patch42 -p1 -b .systzdata
 
-%patch60 -p1 -b .tests-dashn
 %patch61 -p1 -b .tests-wddx
 
 # Prevent %%doc confusion over LICENSE files
 cp Zend/LICENSE Zend/ZEND_LICENSE
 cp TSRM/LICENSE TSRM_LICENSE
-cp regex/COPYRIGHT regex_COPYRIGHT
+cp ext/ereg/regex/COPYRIGHT regex_COPYRIGHT
 cp ext/gd/libgd/README gd_README
 
 # Multiple builds for multiple SAPIs
@@ -464,6 +475,27 @@ if test "x${vpdo}" != "x%{pdover}"; then
    exit 1
 fi
 
+# Check for some extension version
+ver=$(sed -n '/#define PHP_FILEINFO_VERSION /{s/.* "//;s/".*$//;p}' ext/fileinfo/php_fileinfo.h)
+if test "$ver" != "%{fileinfover}"; then
+   : Error: Upstream FILEINFO version is now ${ver}, expecting %{fileinfover}.
+   : Update the fileinfover macro and rebuild.
+   exit 1
+fi
+ver=$(sed -n '/#define PHP_PHAR_VERSION /{s/.* "//;s/".*$//;p}' ext/phar/php_phar.h)
+if test "$ver" != "%{pharver}"; then
+   : Error: Upstream PHAR version is now ${ver}, expecting %{pharver}.
+   : Update the pharver macro and rebuild.
+   exit 1
+fi
+ver=$(sed -n '/#define PHP_ZIP_VERSION_STRING /{s/.* "//;s/".*$//;p}' ext/zip/php_zip.h)
+if test "$ver" != "%{zipver}"; then
+   : Error: Upstream ZIP version is now ${ver}, expecting %{zipver}.
+   : Update the zipver macro and rebuild.
+   exit 1
+fi
+
+
 %build
 # aclocal workaround - to be improved
 cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >>aclocal.m4
@@ -547,7 +579,6 @@ build --enable-force-cgi-redirect \
       --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} \
@@ -572,25 +603,29 @@ build --enable-force-cgi-redirect \
       --with-pdo-pgsql=shared,%{_prefix} \
       --with-pdo-sqlite=shared,%{_prefix} \
       --with-pdo-dblib=shared,%{_prefix} \
+      --with-sqlite3=shared,%{_prefix} \
       --enable-json=shared \
       --enable-zip=shared \
       --with-readline \
-      --enable-dbase=shared \
       --with-pspell=shared \
+      --enable-phar=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} \
+      --enable-fileinfo=shared \
+      --enable-intl=shared \
+      --with-icu-dir=%{_prefix} \
+      --with-enchant=shared,%{_prefix} \
       --with-recode=shared,%{_prefix}
 popd
 
 without_shared="--without-mysql --without-gd \
-      --without-unixODBC --disable-dom \
-      --disable-dba --without-unixODBC \
+      --disable-dom --disable-dba --without-unixODBC \
       --disable-pdo --disable-xmlreader --disable-xmlwriter \
+      --without-sqlite3 --disable-phar --disable-fileinfo \
       --disable-json --without-pspell --disable-wddx \
       --without-curl --disable-posix \
       --disable-sysvmsg --disable-sysvshm --disable-sysvsem"
@@ -668,11 +703,15 @@ install -m 755 -d $RPM_BUILD_ROOT%{_sysc
 install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php
 install -m 700 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php/session
 
+# Fix the link
+(cd $RPM_BUILD_ROOT%{_bindir}; ln -sfn phar.phar phar)
+
 # 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 \
+    mbstring gd dom xsl soap bcmath dba xmlreader xmlwriter \
     pdo pdo_mysql pdo_pgsql pdo_odbc pdo_sqlite json zip \
-    dbase mcrypt mhash tidy pdo_dblib mssql pspell curl wddx \
+    sqlite3 enchant phar fileinfo intl \
+    mcrypt 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
@@ -700,12 +739,13 @@ cat files.pdo_firebird >> files.interbas
 # sysv* and posix in packaged in php-process
 cat files.sysv* files.posix > files.process
 
-# Package pdo_sqlite with pdo; isolating the sqlite dependency
+# Package sqlite3 and pdo_sqlite with pdo; isolating the sqlite dependency
 # isn't useful at this time since rpm itself requires sqlite.
 cat files.pdo_sqlite >> files.pdo
+cat files.sqlite3 >> files.pdo
 
-# Package json, dbase and zip in -common.
-cat files.json files.dbase files.zip files.curl > files.common
+# Package json, zip, curl, phar and fileinfo in -common.
+cat files.json files.zip files.curl files.phar files.fileinfo > files.common
 
 # Install the macros file:
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm
@@ -753,6 +793,8 @@ rm files.* macros.php
 %defattr(-,root,root)
 %{_bindir}/php
 %{_bindir}/php-cgi
+%{_bindir}/phar.phar
+%{_bindir}/phar
 %{_mandir}/man1/php.1*
 %doc sapi/cgi/README* sapi/cli/README
 
@@ -784,7 +826,6 @@ rm files.* macros.php
 %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
@@ -792,15 +833,23 @@ rm files.* macros.php
 %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 intl -f files.intl
 %files process -f files.process
 %files recode -f files.recode
 %files interbase -f files.interbase
+%files enchant -f files.enchant
 
 %changelog
+* Sun Jul 12 2009 Remi Collet <Fedora at famillecollet.com> 5.3.0-1
+- update to 5.3.0
+- remove ncurses, dbase, mhash extensions
+- add enchant, sqlite3, intl, phar, fileinfo extensions
+- raise sqlite version to 3.6.0 (for sqlite3, build with --enable-load-extension)
+- sync with upstream "production" php.ini
+
 * Sat Jun 21 2009 Remi Collet <Fedora at famillecollet.com> 5.2.10-1
 - update to 5.2.10
 - add interbase sub-package


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/php/devel/sources,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -p -r1.40 -r1.41
--- sources	21 Jun 2009 09:43:29 -0000	1.40
+++ sources	12 Jul 2009 16:47:14 -0000	1.41
@@ -1 +1 @@
-15c7b5a87f57332d6fc683528e28247b  php-5.2.10.tar.bz2
+846760cd655c98dfd86d6d97c3d964b0  php-5.3.0.tar.bz2


--- php-5.2.10-gnusrc.patch DELETED ---


--- php-5.2.4-easter.patch DELETED ---


--- php-5.2.8-install.patch DELETED ---


--- php-5.2.8-phpize64.patch DELETED ---


--- php-5.2.8-recode.patch DELETED ---




More information about the fedora-extras-commits mailing list