[packages/php/PHP_5_5] - up to 5.5.10; config-file-scan-dir.patch functionality seems to be merged (https://bugs.php.net/bu

arekm arekm at pld-linux.org
Thu Mar 13 11:56:44 CET 2014


commit 2e0e7ed6b5614f6390a0a1e20c72466a2dc9b63d
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Thu Mar 13 11:56:38 2014 +0100

    - up to 5.5.10; config-file-scan-dir.patch functionality seems to be merged (https://bugs.php.net/bug.php?id=66574)

 php-config-file-scan-dir.patch | 155 -----------------------------------------
 php-sapi-ini-file.patch        |  32 +++++----
 php.spec                       |   8 +--
 3 files changed, 20 insertions(+), 175 deletions(-)
---
diff --git a/php.spec b/php.spec
index c669ddd..7613fa5 100644
--- a/php.spec
+++ b/php.spec
@@ -139,13 +139,13 @@ Summary(pt_BR.UTF-8):	A linguagem de script PHP
 Summary(ru.UTF-8):	PHP Версии 5 - язык препроцессирования HTML-файлов, выполняемый на сервере
 Summary(uk.UTF-8):	PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері
 Name:		%{orgname}%{php_suffix}
-Version:	5.5.9
+Version:	5.5.10
 Release:	%{rel}%{?with_type_hints:.th}%{?with_oci8:.oci}
 Epoch:		4
 License:	PHP
 Group:		Libraries
 Source0:	http://www.php.net/distributions/%{orgname}-%{version}.tar.xz
-# Source0-md5:	139e2ac02fddd4c80cc31de000c6f7e3
+# Source0-md5:	ff7ac75abd986f591fd6fc8e997be33e
 Source2:	%{orgname}-mod_%{orgname}.conf
 Source3:	%{orgname}-cgi-fcgi.ini
 Source4:	%{orgname}-apache.ini
@@ -165,7 +165,6 @@ Patch4:		%{orgname}-libpq_fs_h_path.patch
 Patch5:		%{orgname}-filter-shared.patch
 Patch6:		%{orgname}-build_modules.patch
 Patch7:		%{orgname}-sapi-ini-file.patch
-Patch8:		%{orgname}-config-file-scan-dir.patch
 
 Patch10:	%{orgname}-ini.patch
 Patch11:	embed.patch
@@ -318,7 +317,7 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # Extension versions
 %define		bz2ver		1.0
 %define		enchantver	1.1.0
-%define		fileinfover	1.0.5-dev
+%define		fileinfover	1.0.5
 %define		hashver		1.0
 %define		intlver		1.1.0
 %define		jsonver		1.2.1
@@ -1900,7 +1899,6 @@ Moduł PHP umożliwiający używanie kompresji zlib.
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
-%patch8 -p1
 %patch7 -p1
 
 cp -p php.ini-production php.ini
diff --git a/php-config-file-scan-dir.patch b/php-config-file-scan-dir.patch
deleted file mode 100644
index a01906e..0000000
--- a/php-config-file-scan-dir.patch
+++ /dev/null
@@ -1,155 +0,0 @@
---- php-5.4.0RC3/main/php_ini.c~	2011-12-10 03:26:15.000000000 +0200
-+++ php-5.4.0RC3/main/php_ini.c	2011-12-10 03:26:54.901295707 +0200
-@@ -376,6 +376,7 @@
- 	char *open_basedir;
- 	int free_ini_search_path = 0;
- 	zend_file_handle fh;
-+	static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 };
- 
- 	if (zend_hash_init(&configuration_hash, 0, NULL, (dtor_func_t) config_zval_dtor, 1) == FAILURE) {
- 		return FAILURE;
-@@ -398,7 +399,6 @@
- 		int search_path_size;
- 		char *default_location;
- 		char *env_location;
--		static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 };
- #ifdef PHP_WIN32
- 		char *reg_location;
- 		char phprc_path[MAXPATHLEN];
-@@ -608,72 +608,86 @@
- 
- 	/* Scan and parse any .ini files found in scan path if path not empty. */
- 	if (!sapi_module.php_ini_ignore && php_ini_scanned_path_len) {
--		struct dirent **namelist;
- 		int ndir, i;
- 		struct stat sb;
- 		char ini_file[MAXPATHLEN];
--		char *p;
-+		char *p, *last, *path_copy, *ini_path = NULL;
- 		zend_file_handle fh2;
- 		zend_llist scanned_ini_list;
- 		zend_llist_element *element;
- 		int l, total_l = 0;
- 
--		if ((ndir = php_scandir(php_ini_scanned_path, &namelist, 0, php_alphasort)) > 0) {
--			zend_llist_init(&scanned_ini_list, sizeof(char *), (llist_dtor_func_t) free_estring, 1);
--			memset(&fh2, 0, sizeof(fh2));
--
--			for (i = 0; i < ndir; i++) {
--
--				/* check for any file with .ini extension */
--				if (!(p = strrchr(namelist[i]->d_name, '.')) || (p && strcmp(p, ".ini"))) {
--					free(namelist[i]);
--					continue;
--				}
--				/* Reset active ini section */
--				RESET_ACTIVE_INI_HASH();
--
--				if (IS_SLASH(php_ini_scanned_path[php_ini_scanned_path_len - 1])) {
--					snprintf(ini_file, MAXPATHLEN, "%s%s", php_ini_scanned_path, namelist[i]->d_name);
--				} else {
--					snprintf(ini_file, MAXPATHLEN, "%s%c%s", php_ini_scanned_path, DEFAULT_SLASH, namelist[i]->d_name);
--				}
--				if (VCWD_STAT(ini_file, &sb) == 0) {
--					if (S_ISREG(sb.st_mode)) {
--						if ((fh2.handle.fp = VCWD_FOPEN(ini_file, "r"))) {
--							fh2.filename = ini_file;
--							fh2.type = ZEND_HANDLE_FP;
--
--							if (zend_parse_ini_file(&fh2, 1, ZEND_INI_SCANNER_NORMAL, (zend_ini_parser_cb_t) php_ini_parser_cb, &configuration_hash TSRMLS_CC) == SUCCESS) {
--								/* Here, add it to the list of ini files read */
--								l = strlen(ini_file);
--								total_l += l + 2;
--								p = estrndup(ini_file, l);
--								zend_llist_add_element(&scanned_ini_list, &p);
-+		/* List of found ini files */
-+		zend_llist_init(&scanned_ini_list, sizeof(char *), (llist_dtor_func_t) free_estring, 1);
-+
-+		/* Split by paths_separator and load ini-files from all paths */
-+		path_copy = estrdup(php_ini_scanned_path);
-+		ini_path  = php_strtok_r(path_copy, paths_separator, &last);
-+
-+		while (ini_path != NULL) {
-+			struct dirent **namelist;
-+			int ini_path_len = strlen(ini_path);
-+
-+			if ((ndir = php_scandir(ini_path, &namelist, 0, php_alphasort)) > 0) {
-+				memset(&fh2, 0, sizeof(fh2));
-+
-+				for (i = 0; i < ndir; i++) {
-+					/* check for any file with .ini extension */
-+					if (!(p = strrchr(namelist[i]->d_name, '.')) || (p && strcmp(p, ".ini"))) {
-+						free(namelist[i]);
-+						continue;
-+					}
-+					/* Reset active ini section */
-+					RESET_ACTIVE_INI_HASH();
-+
-+					if (IS_SLASH(ini_path[ini_path_len - 1])) {
-+						snprintf(ini_file, MAXPATHLEN, "%s%s", ini_path, namelist[i]->d_name);
-+					} else {
-+						snprintf(ini_file, MAXPATHLEN, "%s%c%s", ini_path, DEFAULT_SLASH, namelist[i]->d_name);
-+					}
-+					if (VCWD_STAT(ini_file, &sb) == 0) {
-+						if (S_ISREG(sb.st_mode)) {
-+							if ((fh2.handle.fp = VCWD_FOPEN(ini_file, "r"))) {
-+								fh2.filename = ini_file;
-+								fh2.type = ZEND_HANDLE_FP;
-+
-+								/* Reset active ini section */
-+								RESET_ACTIVE_INI_HASH();
-+
-+								if (zend_parse_ini_file(&fh2, 1, ZEND_INI_SCANNER_NORMAL, (zend_ini_parser_cb_t) php_ini_parser_cb, &configuration_hash TSRMLS_CC) == SUCCESS) {
-+									/* Here, add it to the list of ini files read */
-+									l = strlen(ini_file);
-+									total_l += l + 2;
-+									p = estrndup(ini_file, l);
-+									zend_llist_add_element(&scanned_ini_list, &p);
-+								}
- 							}
- 						}
- 					}
-+					free(namelist[i]);
- 				}
--				free(namelist[i]);
-+				free(namelist);
- 			}
--			free(namelist);
--
--			if (total_l) {
--				int php_ini_scanned_files_len = (php_ini_scanned_files) ? strlen(php_ini_scanned_files) + 1 : 0;
--				php_ini_scanned_files = (char *) realloc(php_ini_scanned_files, php_ini_scanned_files_len + total_l + 1);
--				if (!php_ini_scanned_files_len) {
--					*php_ini_scanned_files = '\0';
--				}
--				total_l += php_ini_scanned_files_len;
--				for (element = scanned_ini_list.head; element; element = element->next) {
--					if (php_ini_scanned_files_len) {
--						strlcat(php_ini_scanned_files, ",\n", total_l);
--					}
--					strlcat(php_ini_scanned_files, *(char **)element->data, total_l);
--					strlcat(php_ini_scanned_files, element->next ? ",\n" : "\n", total_l);
-+			ini_path = php_strtok_r(NULL, paths_separator, &last);
-+		}
-+
-+		if (total_l) {
-+			int php_ini_scanned_files_len = (php_ini_scanned_files) ? strlen(php_ini_scanned_files) + 1 : 0;
-+			php_ini_scanned_files = (char *) realloc(php_ini_scanned_files, php_ini_scanned_files_len + total_l + 1);
-+			if (!php_ini_scanned_files_len) {
-+				*php_ini_scanned_files = '\0';
-+			}
-+			total_l += php_ini_scanned_files_len;
-+			for (element = scanned_ini_list.head; element; element = element->next) {
-+				if (php_ini_scanned_files_len) {
-+					strlcat(php_ini_scanned_files, ",\n", total_l);
- 				}
-+				strlcat(php_ini_scanned_files, *(char **)element->data, total_l);
-+				strlcat(php_ini_scanned_files, element->next ? ",\n" : "\n", total_l);
- 			}
--			zend_llist_destroy(&scanned_ini_list);
- 		}
-+		efree(path_copy);
-+		zend_llist_destroy(&scanned_ini_list);
- 	} else {
- 		/* Make sure an empty php_ini_scanned_path ends up as NULL */
- 		php_ini_scanned_path = NULL;
diff --git a/php-sapi-ini-file.patch b/php-sapi-ini-file.patch
index 7ceb984..7dab0cc 100644
--- a/php-sapi-ini-file.patch
+++ b/php-sapi-ini-file.patch
@@ -52,28 +52,30 @@
  	}
  
  	if (free_ini_search_path) {
-@@ -627,12 +627,14 @@
+@@ -645,13 +645,15 @@ int php_init_config(TSRMLS_D)
  		zend_llist scanned_ini_list;
  		zend_llist_element *element;
  		int l, total_l = 0;
 +		const char *fmt = "%s:" PHP_CONFIG_FILE_PATH "/%s.d";
+ 		char *bufpath, *debpath, *endpath;
+ 		int lenpath;
  
- 		/* List of found ini files */
  		zend_llist_init(&scanned_ini_list, sizeof(char *), (llist_dtor_func_t) free_estring, 1);
+ 		memset(&fh2, 0, sizeof(fh2));
  
- 		/* Split by paths_separator and load ini-files from all paths */
--		path_copy = estrdup(php_ini_scanned_path);
-+		path_copy = emalloc(strlen(php_ini_scanned_path) + strlen(fmt) + strlen(sapi_module.name));
-+		sprintf(path_copy, fmt, php_ini_scanned_path, sapi_module.name);
- 		ini_path  = php_strtok_r(path_copy, paths_separator, &last);
- 
- 		while (ini_path != NULL) {
-@@ -636,7 +653,7 @@
- 			struct dirent **namelist;
- 			int ini_path_len = strlen(ini_path);
+-		bufpath = estrdup(php_ini_scanned_path);
++		bufpath = emalloc(strlen(php_ini_scanned_path) + strlen(fmt) + strlen(sapi_module.name));
++		sprintf(bufpath, fmt, php_ini_scanned_path, sapi_module.name);
+ 		for (debpath = bufpath ; debpath ; debpath=endpath) {
+ 			endpath = strchr(debpath, DEFAULT_DIR_SEPARATOR);
+ 			if (endpath) {
+@@ -664,7 +666,7 @@ int php_init_config(TSRMLS_D)
+ 			}
+ 			lenpath = strlen(debpath);
  
--			if ((ndir = php_scandir(ini_path, &namelist, 0, php_alphasort)) > 0) {
-+			if ((ndir = php_scandir(ini_path, &namelist, 0, php_csort)) > 0) {
- 				memset(&fh2, 0, sizeof(fh2));
+-			if (lenpath > 0 && (ndir = php_scandir(debpath, &namelist, 0, php_alphasort)) > 0) {
++			if (lenpath > 0 && (ndir = php_scandir(debpath, &namelist, 0, php_csort)) > 0) {
  
  				for (i = 0; i < ndir; i++) {
+ 
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/php.git/commitdiff/2e0e7ed6b5614f6390a0a1e20c72466a2dc9b63d



More information about the pld-cvs-commit mailing list