[packages/php/sapi-inis: 2/2] replace php-sapi-ini-file.patch with symlinks

glen glen at pld-linux.org
Sat Aug 10 19:47:26 CEST 2019


commit ac79d2622ee62f08c2a497d2fe1cf7fc53a6313e
Author: Elan Ruusamäe <glen at pld-linux.org>
Date:   Sat Aug 10 14:19:16 2019 +0300

    replace php-sapi-ini-file.patch with symlinks

 php-sapi-ini-file.patch | 128 ------------------------------------------------
 php.spec                |   9 +++-
 2 files changed, 7 insertions(+), 130 deletions(-)
---
diff --git a/php.spec b/php.spec
index bbbde11..889324f 100644
--- a/php.spec
+++ b/php.spec
@@ -184,7 +184,7 @@ Patch1:		%{orgname}-pldlogo.patch
 Patch2:		%{orgname}-mail.patch
 Patch3:		%{orgname}-link-libs.patch
 Patch4:		intl-stdc++.patch
-Patch7:		%{orgname}-sapi-ini-file.patch
+
 Patch8:		milter.patch
 Patch9:		libtool-tag.patch
 Patch10:	%{orgname}-ini.patch
@@ -1877,7 +1877,6 @@ cp -p php.ini-production php.ini
 %patch3 -p1
 %patch4 -p1
 
-%patch7 -p1
 %{?with_milter:%patch8 -p1}
 %patch9 -p1
 %patch10 -p1
@@ -2480,6 +2479,7 @@ libtool --mode=install install -p libphp_common.la $RPM_BUILD_ROOT%{_libdir}
 libtool --mode=install install -p sapi/cgi/php-cgi $RPM_BUILD_ROOT%{_bindir}/%{name}.cgi
 ln -sf %{name}.cgi $RPM_BUILD_ROOT%{_bindir}/%{name}.fcgi
 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/php-cgi-fcgi.ini
+ln -s ../php-cgi-fcgi.ini $RPM_BUILD_ROOT%{_sysconfdir}/cgi-fcgi.d/php.ini
 %endif
 
 # install FCGI PM
@@ -2527,10 +2527,12 @@ ln -sf php%{ver_suffix} $RPM_BUILD_ROOT%{_bindir}/php
 
 cp -p php.ini $RPM_BUILD_ROOT%{_sysconfdir}/php.ini
 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-cli.ini
+ln -s ../php-cli.ini $RPM_BUILD_ROOT%{_sysconfdir}/cli.d/php.ini
 
 %if %{with apache2}
 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/httpd/conf.d/70_mod_php.conf
 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-apache2handler.ini
+ln -s ../php-apache2handler.ini $RPM_BUILD_ROOT%{_sysconfdir}/apache2handler.d/php.ini
 %{__rm} -f $RPM_BUILD_ROOT%{_libdir}/apache/libphp7.la
 %endif
 
@@ -2767,6 +2769,7 @@ fi
 %defattr(644,root,root,755)
 %dir %{_sysconfdir}/apache2handler.d
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-apache2handler.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache2handler.d/php.ini
 %attr(755,root,root) %{_libdir}/apache/libphp7-*.*.so
 %endif
 
@@ -2781,6 +2784,7 @@ fi
 %defattr(644,root,root,755)
 %dir %{_sysconfdir}/cgi-fcgi.d
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-cgi-fcgi.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cgi-fcgi.d/php.ini
 %attr(755,root,root) %{_bindir}/%{name}.cgi
 %attr(755,root,root) %{_bindir}/%{name}.fcgi
 %endif
@@ -2795,6 +2799,7 @@ fi
 %defattr(644,root,root,755)
 %dir %{_sysconfdir}/cli.d
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-cli.ini
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cli.d/php.ini
 %attr(755,root,root) %{_bindir}/php%{ver_suffix}
 %{_mandir}/man1/php%{ver_suffix}.1*
 
diff --git a/php-sapi-ini-file.patch b/php-sapi-ini-file.patch
deleted file mode 100644
index 0ed4d79..0000000
--- a/php-sapi-ini-file.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-to test which is main php.ini:
-$ php -r 'var_dump(array(get_cfg_var("cfg_file_path"),php_ini_loaded_file()));'
-
-https://github.com/pld-linux/php/commit/762ec2e
-
---- php-7.0.0RC6.orig/main/php_ini.c	2015-11-10 23:58:52.227101032 +0200
-+++ php-7.0.0RC6/main/php_ini.c	2015-11-11 00:01:43.502674750 +0200
-@@ -375,12 +375,19 @@
- }
- /* }}} */
- 
-+static int php_csort(const struct dirent **a, const struct dirent **b)
-+{
-+	return strcmp((*a)->d_name,(*b)->d_name);
-+}
-+
- /* {{{ php_init_config
-  */
- int php_init_config(void)
- {
- 	char *php_ini_file_name = NULL;
- 	char *php_ini_search_path = NULL;
-+	// value for php_ini_loaded_file() to be stored into php_ini_opened_path
-+	char *php_ini_loaded_file = NULL;
- 	int php_ini_scanned_path_len;
- 	char *open_basedir;
- 	int free_ini_search_path = 0;
-@@ -557,8 +564,26 @@
- 				}
- 			}
- 		}
-+		/* Search (global) php.ini file in search path */
-+		if (!fh.handle.fp) {
-+			fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &opened_path);
-+			if (fh.handle.fp) {
-+				fh.filename = ZSTR_VAL(opened_path);
-+
-+				// parse the ini file now
-+				PG(open_basedir) = open_basedir;
-+				fh.type = ZEND_HANDLE_FP;
-+				zend_parse_ini_file(&fh, 1, ZEND_INI_SCANNER_NORMAL, (zend_ini_parser_cb_t) php_ini_parser_cb, &configuration_hash TSRMLS_CC);
-+				open_basedir = PG(open_basedir);
-+				PG(open_basedir) = NULL;
-+				fh.handle.fp = NULL;
-+
-+				php_ini_loaded_file = estrdup(fh.filename);
-+				fh.filename = NULL;
-+			}
-+		}
- 
--		/* Otherwise search for php-%sapi-module-name%.ini file in search path */
-+		/* Also search for php-%sapi-module-name%.ini file in search path */
- 		if (!fh.handle.fp) {
- 			const char *fmt = "php-%s.ini";
- 			char *ini_fname;
-@@ -568,15 +593,8 @@
- 			if (fh.handle.fp) {
- 				fh.filename = ZSTR_VAL(opened_path);
- 			}
--		}
- 
--		/* If still no ini file found, search for php.ini file in search path */
--		if (!fh.handle.fp) {
--			fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &opened_path);
--			if (fh.handle.fp) {
--				fh.filename = ZSTR_VAL(opened_path);
--			}
--		}
-+ 		}
- 	}
- 
- 	if (free_ini_search_path) {
-@@ -593,14 +611,28 @@
- 
- 		{
- 			zval tmp;
-+			// use main php.ini if loaded
-+			// see https://github.com/pld-linux/php/commit/762ec2e
-+			// test with:
-+			// php -r 'var_dump(array(get_cfg_var("cfg_file_path"),php_ini_loaded_file()));'
-+			if (php_ini_loaded_file) {
-+				if (fh.filename) {
-+					efree((char *)fh.filename);
-+				}
-+				fh.filename = php_ini_loaded_file;
-+			}
- 
- 			ZVAL_NEW_STR(&tmp, zend_string_init(fh.filename, strlen(fh.filename), 1));
- 			zend_hash_str_update(&configuration_hash, "cfg_file_path", sizeof("cfg_file_path")-1, &tmp);
- 			if (opened_path) {
- 				zend_string_release_ex(opened_path, 0);
--			} else {
-+			}
-+
-+			if (fh.filename) {
- 				efree((char *)fh.filename);
-+				fh.filename = NULL;
- 			}
-+
- 			php_ini_opened_path = zend_strndup(Z_STRVAL(tmp), Z_STRLEN(tmp));
- 		}
- 	}
-@@ -624,13 +656,15 @@
- 		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;
- 
- 		zend_llist_init(&scanned_ini_list, sizeof(char *), (llist_dtor_func_t) free_estring, 1);
- 		memset(&fh2, 0, sizeof(fh2));
- 
--		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) {
-@@ -643,7 +677,7 @@
- 			}
- 			lenpath = (int)strlen(debpath);
- 
--			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/ac79d2622ee62f08c2a497d2fe1cf7fc53a6313e



More information about the pld-cvs-commit mailing list