packages (DEVEL): php/php-sapi-ini-file.patch, php/php.spec - restore sapi....

arekm arekm at pld-linux.org
Mon Jul 6 17:49:47 CEST 2009


Author: arekm                        Date: Mon Jul  6 15:49:47 2009 GMT
Module: packages                      Tag: DEVEL
---- Log message:
- restore sapi.d support

---- Files affected:
packages/php:
   php-sapi-ini-file.patch (1.9.2.1 -> 1.9.2.2) , php.spec (1.688.2.36 -> 1.688.2.37) 

---- Diffs:

================================================================
Index: packages/php/php-sapi-ini-file.patch
diff -u packages/php/php-sapi-ini-file.patch:1.9.2.1 packages/php/php-sapi-ini-file.patch:1.9.2.2
--- packages/php/php-sapi-ini-file.patch:1.9.2.1	Mon Jul  6 15:57:32 2009
+++ packages/php/php-sapi-ini-file.patch	Mon Jul  6 17:49:41 2009
@@ -1,154 +1,18 @@
---- php-src/main/php_ini.c	2009/05/18 21:28:42	1.173
-+++ php-src/main/php_ini.c	2009/06/27 15:22:06	1.174
-@@ -349,7 +349,8 @@
- 	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;
- 	}
-@@ -372,7 +373,6 @@
- 		char *default_location;
- 		char *env_location;
- 		char *binary_location;
--		static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 };
- #ifdef PHP_WIN32
- 		char *reg_location;
- #endif
-@@ -608,72 +608,83 @@
- 
- 	/* 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 fh;
+--- php-5.3.0/main/php_ini.c.org	2009-07-06 17:32:30.309904482 +0200
++++ php-5.3.0/main/php_ini.c	2009-07-06 17:36:45.529879052 +0200
+@@ -620,12 +620,14 @@
  		zend_llist scanned_ini_list;
  		zend_llist_element *element;
  		int l, total_l = 0;
++		const char *fmt = "%s:" PHP_CONFIG_FILE_PATH "/%s.d";
+ 
+ 		/* 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);
++		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);
  
--		/* Reset active ini section */
--		RESET_ACTIVE_INI_HASH();
--
--		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(&fh, 0, sizeof(fh));
--
--			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;
--				}
--				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 ((fh.handle.fp = VCWD_FOPEN(ini_file, "r"))) {
--							fh.filename = ini_file;
--							fh.type = ZEND_HANDLE_FP;
--
--							if (zend_parse_ini_file(&fh, 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(&fh, 0, sizeof(fh));
-+
-+				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;
-+					}
-+					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 ((fh.handle.fp = VCWD_FOPEN(ini_file, "r"))) {
-+								fh.filename = ini_file;
-+								fh.type = ZEND_HANDLE_FP;
-+								
-+								/* Reset active ini section */
-+								RESET_ACTIVE_INI_HASH();
-+
-+								if (zend_parse_ini_file(&fh, 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;
+ 		while (ini_path != NULL) {

================================================================
Index: packages/php/php.spec
diff -u packages/php/php.spec:1.688.2.36 packages/php/php.spec:1.688.2.37
--- packages/php/php.spec:1.688.2.36	Mon Jul  6 14:45:50 2009
+++ packages/php/php.spec	Mon Jul  6 17:49:41 2009
@@ -79,7 +79,7 @@
 ERROR: You need to select at least one Apache SAPI to build shared modules.
 %endif
 
-%define		rel		0.1
+%define		rel		0.3
 Summary:	PHP: Hypertext Preprocessor
 Summary(fr.UTF-8):	Le langage de script embarque-HTML PHP
 Summary(pl.UTF-8):	Język skryptowy PHP
@@ -107,7 +107,8 @@
 Patch4:		%{name}-libpq_fs_h_path.patch
 Patch5:		%{name}-filter-shared.patch
 Patch6:		%{name}-build_modules.patch
-Patch7:		%{name}-sapi-ini-file.patch
+Patch7:		%{name}-config-file-scan-dir.patch
+Patch8:		%{name}-sapi-ini-file.patch
 Patch9:		%{name}-sh.patch
 Patch12:	%{name}-threads-acfix.patch
 Patch14:	%{name}-no_pear_install.patch
@@ -1595,7 +1596,8 @@
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
-####%patch7 -p1 UPDATE
+%patch7 -p1
+%patch8 -p1
 %patch9 -p1
 
 cp php.ini-production php.ini
@@ -2718,6 +2720,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.688.2.37  2009/07/06 15:49:41  arekm
+- restore sapi.d support
+
 Revision 1.688.2.36  2009/07/06 12:45:50  arekm
 - split ini config style is back; php-cgi is php-fcgi, too
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/php/php-sapi-ini-file.patch?r1=1.9.2.1&r2=1.9.2.2&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/php/php.spec?r1=1.688.2.36&r2=1.688.2.37&f=u



More information about the pld-cvs-commit mailing list