From: Marcin Krol Date: Tue, 30 Jul 2013 07:01:28 +0000 (+0000) Subject: - PHP_5_5 branch from PLD, TLDized, updated to 5.5.1 X-Git-Url: https://git.tld-linux.org/?a=commitdiff_plain;h=e59f178bd07ce379ba67394098da351eb0f2737a;p=packages%2Fphp.git - PHP_5_5 branch from PLD, TLDized, updated to 5.5.1 --- diff --git a/bug-52448.patch b/bug-52448.patch deleted file mode 100644 index b15ea82..0000000 --- a/bug-52448.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- php-5.3.3/ext/curl/tests/curl_error_basic.phpt~ 2009-07-03 03:09:08.000000000 +0300 -+++ php-5.3.3/ext/curl/tests/curl_error_basic.phpt 2010-07-26 21:02:34.822382923 +0300 -@@ -30,4 +30,4 @@ - ?> - --EXPECT-- - == Testing curl_error with a fake URL == --Error: Couldn't resolve host 'fakeURL' -+Error: Could not resolve host: fakeURL (Domain name not found) diff --git a/bug-test-pcntl-55479.patch b/bug-test-pcntl-55479.patch deleted file mode 100644 index 8f20b23..0000000 --- a/bug-test-pcntl-55479.patch +++ /dev/null @@ -1,35 +0,0 @@ -need to setup extension dir to current build instead of defaulting to system -defaults (which may be different php version) -also use preprocessed PHP.INI from test framework - ---- php-5.4.0alpha3/ext/pcntl/tests/pcntl_exec.phpt 2011-06-24 22:18:06.000000000 +0300 -+++ php-5.4.0alpha3/ext/pcntl/tests/pcntl_exec.phpt 2011-08-22 09:36:01.105334996 +0300 -@@ -8,7 +8,10 @@ - --FILE-- - - --EXPECT-- ---- php-5.4.0alpha3/ext/pcntl/tests/pcntl_exec_2.phpt~ 2011-06-24 22:18:06.000000000 +0300 -+++ php-5.4.0alpha3/ext/pcntl/tests/pcntl_exec_2.phpt 2011-08-22 19:57:12.780576314 +0300 -@@ -14,7 +14,13 @@ - exit; - } - echo "ok\n"; --pcntl_exec(getenv("TEST_PHP_EXECUTABLE"), array(__FILE__), array( -+ -+$php = getenv("TEST_PHP_EXECUTABLE"); -+$extension_dir = ini_get("extension_dir"); -+$inipath = php_ini_loaded_file(); -+$args = array("-n", "-d$extension_dir", "-c$inipath", __FILE__); -+ -+pcntl_exec($php, $args, array( - b"PCNTL_EXEC_TEST_IS_CHILD" => b"1", - b"FOO" => b"BAR", - 1 => b"long") diff --git a/dep-tests.sh b/dep-tests.sh old mode 100644 new mode 100755 index 3ee6a4f..f28ab54 --- a/dep-tests.sh +++ b/dep-tests.sh @@ -34,7 +34,7 @@ conf_dir=${CONFIG_DIR:-$(php-config --sysconfdir)/conf.d $(php-config --sysconfd tmpini=$(mktemp) # poldek --sn ac-ready -u php-* -for ext in $ext_dir/*.so; do +for ext in ${1:-$ext_dir/*.so}; do [ -f $ext ] || continue ext=${ext##*/}; ext=${ext%.so} @@ -44,7 +44,10 @@ for ext in $ext_dir/*.so; do echo -n "$ext (deps: ${deps# })..." - grep -rlE '^extension=('$(echo "${deps# }" | tr ' ' '|')').so$' $conf_dir | LC_CTYPE=C LC_ALL= sort | xargs cat > $tmpini + # special: opcache is listed as "Zend Opcache" + [ "$ext" = "opcache" ] && ext="zend opcache" + + grep -rlE '^(zend_)?extension=('$(echo "${deps# }" | tr ' ' '|')').so$' $conf_dir | LC_CTYPE=C LC_ALL= sort | xargs cat > $tmpini $php -n -d extension_dir=$ext_dir -c $tmpini -r "exit(extension_loaded('${ext}') ? 0 : 1);" rc=$? if [ $rc = 0 ]; then diff --git a/fix-test-run.patch b/fix-test-run.patch index 33d072c..3de5b43 100644 --- a/fix-test-run.patch +++ b/fix-test-run.patch @@ -12,8 +12,8 @@ PHP_SUBST_OLD(PHP_INSTALLED_SAPIS) PHP_SUBST(PHP_EXECUTABLE) ---- php-5.3.4/Makefile.global~ 2010-12-12 23:08:32.000000000 +0200 -+++ php-5.3.4/Makefile.global 2010-12-12 23:09:31.246644108 +0200 +--- php-5.5.0alpha2/Makefile.global~ 2013-01-02 15:26:29.000000000 +0200 ++++ php-5.5.0alpha2/Makefile.global 2013-01-02 15:29:53.064968422 +0200 @@ -77,7 +77,8 @@ done; \ fi @@ -37,7 +37,7 @@ fi` PHP_DEPRECATED_DIRECTIVES_REGEX = '^(define_syslog_variables|register_(globals|long_arrays)?|safe_mode|magic_quotes_(gpc|runtime|sybase)?|(zend_)?extension(_debug)?(_ts)?)[\t\ ]*=' -@@ -114,7 +114,10 @@ +@@ -118,7 +118,10 @@ TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \ TEST_PHP_SRCDIR=$(top_srcdir) \ CC="$(CC)" \ @@ -46,9 +46,9 @@ + -d extension_dir=$(top_builddir)/modules/ -d 'extension=$(EXTENSION_DIR)/pcre.$(SHLIB_DL_SUFFIX_NAME)' \ + $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini \ + -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(RUN_TESTS_SETTINGS) $(TESTS); \ + TEST_RESULT_EXIT_CODE=$$?; \ rm $(top_builddir)/tmp-php.ini; \ - else \ - echo "ERROR: Cannot run tests without CLI sapi."; \ + exit $$TEST_RESULT_EXIT_CODE; \ --- php-5.3.2/Makefile.global 2010-03-16 16:31:36.972576955 +0200 +++ php-5.3.2/Makefile.global 2010-03-16 16:31:36.972576955 +0200 @@ -296,7 +296,7 @@ diff --git a/pcre-shared.patch b/pcre-shared.patch index 6bb1a70..642207d 100644 --- a/pcre-shared.patch +++ b/pcre-shared.patch @@ -1,5 +1,5 @@ ---- php-5.3.1/ext/pcre/config0.m4 2009-11-30 22:09:24.385647500 +0000 -+++ php-5.3.24/ext/pcre/config0.m4 2013-04-17 13:37:52.761509001 +0300 +--- php-5.5.0alpha6/ext/pcre/config0.m4~ 2013-03-19 18:08:15.000000000 +0200 ++++ php-5.5.0alpha6/ext/pcre/config0.m4 2013-03-19 18:09:26.732804962 +0200 @@ -11,7 +11,7 @@ if test "$PHP_PCRE_REGEX" != "yes" && test "$PHP_PCRE_REGEX" != "no"; then @@ -18,7 +18,7 @@ test -f $j/libpcre.a || test -f $j/libpcre.$SHLIB_SUFFIX_NAME && PCRE_LIBDIR=$j done -@@ -43,12 +43,14 @@ +@@ -43,12 +43,13 @@ AC_MSG_ERROR([The PCRE extension requires PCRE library version >= 6.6]) fi @@ -29,12 +29,20 @@ PHP_ADD_INCLUDE($PCRE_INCDIR) - PHP_NEW_EXTENSION(pcre, php_pcre.c, no) + PHP_NEW_EXTENSION(pcre, php_pcre.c, $ext_shared) -+ PHP_SUBST(PCRE_SHARED_LIBADD) PHP_INSTALL_HEADERS([ext/pcre], [php_pcre.h]) + EXTRA_LIBS="$EXTRA_LIBS -lpcre" else AC_MSG_CHECKING([for PCRE library to use]) AC_MSG_RESULT([bundled]) +@@ -61,7 +61,7 @@ + pcrelib/pcre_tables.c pcrelib/pcre_valid_utf8.c \ + pcrelib/pcre_version.c pcrelib/pcre_xclass.c" + PHP_PCRE_CFLAGS="-DHAVE_CONFIG_H -I@ext_srcdir@/pcrelib" +- PHP_NEW_EXTENSION(pcre, $pcrelib_sources php_pcre.c, no,,$PHP_PCRE_CFLAGS) ++ PHP_NEW_EXTENSION(pcre, $pcrelib_sources php_pcre.c, $ext_shared,,$PHP_PCRE_CFLAGS) + PHP_ADD_BUILD_DIR($ext_builddir/pcrelib) + PHP_INSTALL_HEADERS([ext/pcre], [php_pcre.h pcrelib/]) + AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ]) --- php-5.3.1/ext/pcre/php_pcre.h 2009-11-30 20:59:04.046581246 +0200 +++ php-5.3.1.pcre/ext/pcre/php_pcre.h 2009-11-30 21:38:06.435493243 +0000 @@ -34,7 +34,12 @@ diff --git a/php-buff_ovf.patch b/php-buff_ovf.patch deleted file mode 100644 index 0b9c006..0000000 --- a/php-buff_ovf.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -ur php-5.3.6-orig//ext/sockets/sockets.c php-5.3.6//ext/sockets/sockets.c ---- php-5.3.6-orig//ext/sockets/sockets.c 2011-01-01 03:19:59.000000000 +0100 -+++ php-5.3.6//ext/sockets/sockets.c 2011-05-24 07:09:54.592779164 +0200 -@@ -1333,6 +1333,11 @@ - break; - - case AF_UNIX: -+ if (addr_len >= sizeof(s_un.sun_path)) { -+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Path too long", php_sock->type); -+ RETURN_FALSE; -+ } -+ - memset(&s_un, 0, sizeof(struct sockaddr_un)); - - s_un.sun_family = AF_UNIX; -Tylko w php-5.3.6//ext/sockets: sockets.c~ diff --git a/php-curl-limit-speed.patch b/php-curl-limit-speed.patch deleted file mode 100644 index 8348dd4..0000000 --- a/php-curl-limit-speed.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- php-5.2.5.orig/ext/curl/interface.c 2008-03-26 17:05:19.000000000 +0100 -+++ php-5.2.5/ext/curl/interface.c 2008-03-26 17:09:05.000000000 +0100 -@@ -462,6 +462,14 @@ - REGISTER_CURL_CONSTANT(CURLOPT_TCP_NODELAY); - #endif - REGISTER_CURL_CONSTANT(CURLOPT_HTTP200ALIASES); -+ -+/* Added constants to support limiting the transfer speed in PHP */ -+/* Fixed by Tijnema (admin@tijnema.info) */ -+#if LIBCURL_VERSION_NUM > 0x070fff /* CURLOPT_MAX_SEND_SPEED_LARGE and CURLOPT_MAX_SEND_SPEED_LARGE are available since curl 7.16.0 */ -+ REGISTER_CURL_CONSTANT(CURLOPT_MAX_SEND_SPEED_LARGE); -+ REGISTER_CURL_CONSTANT(CURLOPT_MAX_RECV_SPEED_LARGE); -+#endif -+ - REGISTER_CURL_CONSTANT(CURL_TIMECOND_IFMODSINCE); - REGISTER_CURL_CONSTANT(CURL_TIMECOND_IFUNMODSINCE); - REGISTER_CURL_CONSTANT(CURL_TIMECOND_LASTMOD); -@@ -1288,6 +1296,12 @@ - #if LIBCURL_VERSION_NUM > 0x070b01 /* CURLOPT_TCP_NODELAY is available since curl 7.11.2 */ - case CURLOPT_TCP_NODELAY: - #endif -+/* Added case options to support limiting the transfer speed in PHP */ -+/* Fixed by Tijnema (admin@tijnema.info) */ -+#if LIBCURL_VERSION_NUM > 0x070fff /* CURLOPT_MAX_SEND_SPEED_LARGE and CURLOPT_MAX_SEND_SPEED_LARGE are available since curl 7.16.0 */ -+ case CURLOPT_MAX_SEND_SPEED_LARGE: -+ case CURLOPT_MAX_RECV_SPEED_LARGE: -+#endif - convert_to_long_ex(zvalue); - error = curl_easy_setopt(ch->cp, option, Z_LVAL_PP(zvalue)); - break; diff --git a/php-krb5-ac.patch b/php-krb5-ac.patch deleted file mode 100644 index c7bddd1..0000000 --- a/php-krb5-ac.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- php-5.3.3/acinclude.m4.orig 2010-10-19 21:38:42.000000000 +0200 -+++ php-5.3.3/acinclude.m4 2010-10-19 22:53:11.792893220 +0200 -@@ -2252,7 +2252,7 @@ - KERBEROS_LIBS=`$KRB5_CONFIG --libs gssapi` - KERBEROS_CFLAGS=`$KRB5_CONFIG --cflags gssapi` - -- if test -n "$KERBEROS_LIBS" && test -n "$KERBEROS_CFLAGS"; then -+ if test -n "$KERBEROS_LIBS" || test -n "$KERBEROS_CFLAGS"; then - found_kerberos=yes - PHP_EVAL_LIBLINE($KERBEROS_LIBS, $1) - PHP_EVAL_INCLINE($KERBEROS_CFLAGS) diff --git a/php-m4-divert.patch b/php-m4-divert.patch deleted file mode 100644 index f4e5bb5..0000000 --- a/php-m4-divert.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -ur php-5.3.0.org/configure.in php-5.3.0/configure.in ---- php-5.3.0.org/configure.in 2009-06-26 17:44:18.000000000 +0200 -+++ php-5.3.0/configure.in 2009-08-18 12:45:19.126841759 +0200 -@@ -1,7 +1,7 @@ - ## $Id$ -*- autoconf -*- - dnl ## Process this file with autoconf to produce a configure script. - --divert(1) -+divert(1001) - - dnl ## Diversion 1 is the autoconf + automake setup phase. We also - dnl ## set the PHP version, deal with platform-specific compile -@@ -308,7 +308,7 @@ - sinclude(TSRM/tsrm.m4) - - --divert(2) -+divert(1002) - - dnl ## Diversion 2 is where we set PHP-specific options and come up - dnl ## with reasonable default values for them. We check for pthreads here -@@ -347,7 +347,7 @@ - PTHREADS_FLAGS - fi - --divert(3) -+divert(1003) - - dnl ## In diversion 3 we check for compile-time options to the PHP - dnl ## core and how to deal with different system dependencies. -@@ -702,7 +702,7 @@ - PHP_CRYPT_R_STYLE - fi - --divert(4) -+divert(1004) - - dnl ## In diversion 4 we check user-configurable general settings. - -@@ -943,7 +943,7 @@ - AC_MSG_RESULT([using system default]) - fi - --divert(5) -+divert(1005) - - dnl ## In diversion 5 we check which extensions should be compiled. - dnl ## All of these are normally in the extension directories. -diff -ur php-5.3.0.org/ext/standard/config.m4 php-5.3.0/ext/standard/config.m4 ---- php-5.3.0.org/ext/standard/config.m4 2009-01-12 00:37:16.000000000 +0100 -+++ php-5.3.0/ext/standard/config.m4 2009-08-18 12:45:19.130174674 +0200 -@@ -1,6 +1,6 @@ - dnl $Id$ -*- autoconf -*- - --divert(3)dnl -+divert(1003)dnl - - dnl - dnl Check if flush should be called explicitly after buffered io -@@ -220,7 +220,7 @@ - AC_CHECK_FUNCS(getcwd getwd asinh acosh atanh log1p hypot glob strfmon nice fpclass isinf isnan) - AC_FUNC_FNMATCH - --divert(5)dnl -+divert(1005)dnl - - dnl - dnl Check if there is a support means of creating a new process -diff -ur php-5.3.0.org/scripts/phpize.m4 php-5.3.0/scripts/phpize.m4 ---- php-5.3.0.org/scripts/phpize.m4 2009-06-02 21:54:03.000000000 +0200 -+++ php-5.3.0/scripts/phpize.m4 2009-08-18 12:45:19.126841759 +0200 -@@ -1,6 +1,6 @@ - dnl This file becomes configure.in for self-contained extensions. - --divert(1) -+divert(1001) - - AC_PREREQ(2.13) - AC_INIT(config.m4) diff --git a/php-m4.patch b/php-m4.patch deleted file mode 100644 index e7981a4..0000000 --- a/php-m4.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- php-5.3.7/build/buildcheck.sh~ 2011-05-18 21:55:34.000000000 +0200 -+++ php-5.3.7/build/buildcheck.sh 2011-08-20 18:28:38.223862911 +0200 -@@ -51,7 +51,7 @@ - echo " On Debian/Ubuntu both autoconf2.13 and autoconf2.59 packages exist." - echo " Install autoconf2.13 and set the PHP_AUTOCONF env var to " - echo " autoconf2.13 and try again." -- exit 1 -+ echo " CONTINUING ANYWAY." - else - echo "buildconf: autoconf version $ac_version (ok)" - fi diff --git a/php-mail.patch b/php-mail.patch index 272b2f9..5a79197 100644 --- a/php-mail.patch +++ b/php-mail.patch @@ -1,14 +1,5 @@ --- php-5.2.0/ext/standard/mail.c 2006-12-01 14:20:27.881416250 +0100 +++ php-5.2.4/ext/standard/mail.c 2007-08-31 19:25:50.777713042 +0300 -@@ -21,6 +21,8 @@ - #include - #include - #include -+#include -+#include - #include "php.h" - #include "ext/standard/info.h" - @@ -35,6 +37,8 @@ #include "php_ini.h" #include "safe_mode.h" @@ -44,8 +35,8 @@ - fprintf(sendmail, "To: %s\n", to); - fprintf(sendmail, "Subject: %s\n", subject); + TSRMLS_FETCH(); -+ -+ if ((to != NULL) && (strlen(to)!=0)) { ++ ++ if ((to != NULL) && (strlen(to)!=0)) { + fprintf(sendmail, "To: %s\n", to); + } + if ((subject != NULL) && (strlen(subject)!=0)) { @@ -55,7 +46,7 @@ + if (PG(http_globals)[TRACK_VARS_SERVER]) { + zval **remote_addr, **server_name, **server_port, + **script_name, **http_user_agent; -+ ++ + if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "REMOTE_ADDR", sizeof("REMOTE_ADDR"), (void **) &remote_addr)==SUCCESS) { + convert_to_string_ex(remote_addr); + fprintf(sendmail, "HTTP-Posting-Client: %s\n", Z_STRVAL_PP(remote_addr)); @@ -66,7 +57,7 @@ + if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "SERVER_PORT", sizeof("SERVER_PORT"), (void **) &server_port)==SUCCESS) { + convert_to_string_ex(server_port); + fprintf(sendmail, ":%s", Z_STRVAL_PP(server_port)); -+ } ++ } + if (zend_hash_find(PG(http_globals)[TRACK_VARS_SERVER]->value.ht, "SCRIPT_NAME", sizeof("SCRIPT_NAME"), (void **) &script_name)==SUCCESS) { + convert_to_string_ex(script_name); + fprintf(sendmail, "%s", Z_STRVAL_PP(script_name)); diff --git a/php-mysql-charsetphpini.patch b/php-mysql-charsetphpini.patch index cd3e132..37ff15b 100644 --- a/php-mysql-charsetphpini.patch +++ b/php-mysql-charsetphpini.patch @@ -1,5 +1,5 @@ ---- php-5.2.5_p20080206.orig/ext/mysql/php_mysql.c 2008-02-06 14:22:57.652600900 +0100 -+++ php-5.2.5_p20080206/ext/mysql/php_mysql.c 2008-02-06 14:24:40.216655403 +0100 +--- php-5.5.0RC2/ext/mysql/php_mysql.c~ 2013-06-11 22:12:11.000000000 +0300 ++++ php-5.5.0RC2/ext/mysql/php_mysql.c 2013-06-11 22:16:04.192270533 +0300 @@ -360,6 +360,7 @@ PHP_INI_ENTRY("mysql.default_port", NULL, PHP_INI_ALL, OnMySQLPort) STD_PHP_INI_ENTRY("mysql.default_socket", NULL, PHP_INI_ALL, OnUpdateStringUnempty, default_socket, zend_mysql_globals, mysql_globals) @@ -16,7 +16,7 @@ mysql_globals->trace_mode = 0; mysql_globals->result_allocated = 0; } -@@ -515,6 +517,7 @@ +@@ -723,6 +723,7 @@ { char *user=NULL, *passwd=NULL, *host_and_port=NULL, *socket=NULL, *tmp=NULL, *host=NULL; int user_len = 0, passwd_len = 0, host_len = 0; diff --git a/php-pldlogo.patch b/php-pldlogo.patch index 2b67aac..6b037ce 100644 --- a/php-pldlogo.patch +++ b/php-pldlogo.patch @@ -1,176 +1,31 @@ ---- php-4.3.3RC3/ext/standard/info.c.orig 2003-06-19 18:43:41.000000000 +0200 -+++ php-4.3.3RC3/ext/standard/info.c 2003-08-16 21:37:18.705836072 +0200 -@@ -518,6 +518,21 @@ - PUTS(!sapi_module.phpinfo_as_text?"
":"\n"); - PUTS(zend_version); +--- php-5.5.0alpha1/ext/standard/info.c~ 2012-11-13 22:00:16.000000000 +0200 ++++ php-5.5.0alpha1/ext/standard/info.c 2012-11-18 23:37:48.607735302 +0200 +@@ -794,6 +794,18 @@ + zend_html_puts(zend_version, strlen(zend_version) TSRMLS_CC); + } php_info_print_box_end(); + /* PLD Linux */ + php_info_print_box_start(0); -+ if (expose_php && !sapi_module.phpinfo_as_text) { -+ PUTS("\"PLD\n"); ++ if (!sapi_module.phpinfo_as_text) { ++ php_info_print("\"PLD\n"); + } -+ PUTS("This server is using PLD Linux."); ++ php_info_print("This server is using PLD Linux."); + if (!sapi_module.phpinfo_as_text) -+ PUTS("
More information at http://www.pld-linux.org/.
\n"); ++ php_info_print("
More information at http://www.pld-linux.org/.
\n"); + else -+ PUTS("\nMore information at http://www.pld-linux.org/.\n"); ++ php_info_print("\nMore information at http://www.pld-linux.org/.\n"); + php_info_print_box_end(); efree(php_uname); } -diff -urN php-4.2.1RC2.org/ext/standard/info.h php-4.2.1RC2/ext/standard/info.h ---- php-4.2.1RC2.org/ext/standard/info.h Sat May 11 20:49:24 2002 -+++ php-4.2.1RC2/ext/standard/info.h Sat May 11 20:49:40 2002 -@@ -54,6 +54,7 @@ - #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" -+#define PLD_LOGO_GUID "PHPE9568F40-D428-11d2-A769-00AA001ACF42" +--- php-5.5.0alpha1/ext/standard/info.h~ 2012-11-13 22:00:16.000000000 +0200 ++++ php-5.5.0alpha1/ext/standard/info.h 2012-11-18 18:15:20.199502283 +0200 +@@ -53,6 +53,7 @@ + #define PHP_LOGO_DATA_URI "data:image/gif;base64,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" + #define PHP_EGG_LOGO_DATA_URI "data:image/gif;base64,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" + #define ZEND_LOGO_DATA_URI "data:image/gif;base64,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" ++#define PLD_LOGO_DATA_URI "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAyCAMAAAD886zOAAACLlBMVEXAwMAAAGMAAGEAAGAAAF8AAF4AAF0AAFsCAmIGBmYGBmULC2UODm8PD2cQEGsVFW8aGm8bG3AcHHMbG20dHXIeHnIfH3MiInckJHgjI3UkJHckJHUmJngoKHkqKnsqKnopKXYqKngsLH0vL4AuLngxMXw1NYI3N4U7O4U/P4o9PYY8PIM6On1AQIk/P4c8PIE9PYFBQYdDQ4pAQINFRYxHR41GRotGRolGRohHR4lERINMTI5PT5JOTo9PT5BPT49KSoZKSoVTU5NZWZpSUo1aWppaWplYWJZbW5laWpddXZhiYp9gYJxbW5RgYJteXphYWI5ZWY9kZKBdXZNnZ6JlZZ9cXJBgYJVqaqRiYphgYJRsbKVqaqJlZZpmZptnZ5xvb6dnZ5twcKdoaJtwcKR0dKhtbZx2dqh/f7F9fa59fa1vb5p/f698fKuAgLCJibiJibeAgKt9faaMjLl+fqeJibSPj7mNjbeSkryQkLmUlL2Kiq+Jia6UlLuVlbmensOdncGZmbukpMempsmlpcicnLybm7ugoMCrq8ypqcqqqsqxsdGenruurs2mpsOtrcutrcqpqcWnp8KoqMK4uNStrca7u9W5udK3t9C9vdbCwtq9vdW4uM+3t87Dw9rHx97IyN7ExNnGxtrCwta8vM/MzODFxdfR0ePQ0OLPz+HOzuDNzd/Q0OHNzd7ExNTT0+POzt7V1eXR0eDY2OfU1OPKytjb2+nZ2efMzNni4uuYJsmBAAAAAXRSTlMAQObYZgAAAAFiS0dEuTq4FmAAAAI5SURBVHjaY2AYnCDDz1y0n4rmFXutZQiUpJ55+dJAYoYK9QzkCQMSndnUMxDs2aQeqpmnXAIkOmSoZp5zFIjMTKGWed3GIHKW7DxqGSg2HUQaNVDLPPE+EBnURi3zNGtAZLMWtcyb7wKmlGqpZaAEmEwqpJZ53tVgyoxa5m1zB1Ouk6hlYMUWEDnFAki0UMXAnWBSPZGBYSa7E7VcyRDB2Qokfdk0qGTeCvm0IhAdzipFHQObYOVqMJs1VQwMcYCxVFnmUsPA6AAYax2zHDUMTDCAMyNZp1LBwFJeBJvDkgoGTmDeAWfbMlHDz0zxcOZElslUMNCfZRmczZVMDScK8EEZCzZ4ChKriRFOYIKt3PwrwYyFce0cIGVAQJGBDAyOOpUbQbRhoxBUGUET8RsIBEtARG6sHtxAsDMRCExBGXA/MMIUYTF60WwgsVjRHmYg1FSogRACiYdwIVwEDdSngkgRbZi9MAOhEC6EkCNgYJkJiLTTR1cLdxgDhjn4DawyBZHpCvDwYGRkRNILcxg0aFHCEHvkdMWAyHJhgukFZ5Sjgd5QEDndilrmMazOAlM1ZLkQG1jjBqbmQEOGEZbkkPgw9zAiUzjBNB8wtYkBnnaRDETRT0S+BIGVOahOQDcQYQ6SC+FuR9YCld/sQZ6BDAhDkBMUA8P2PLIMZMBp4OYCJAPRI4V4AxHKlusuRQ91yly4yga/gRixjGEgI6qBDGodmAYyMqLEJYowuk9RBRkY1tcRlbrIAADaI0jmkAFRKgAAAABJRU5ErkJggg==" + BEGIN_EXTERN_C() PHP_FUNCTION(phpversion); - PHP_FUNCTION(phpinfo); ---- php-4.3.0.org/main/logos.h Sat May 11 20:49:24 2002 -+++ php-4.3.0/main/logos.h Sat May 11 20:50:32 2002 -@@ -1503,1 +1503,127 @@ - 249, 249, 207, 233, 5, 4, 0, 59 }; -+ -+ -+unsigned char pld_logo[] = { -+ 137, 80, 78, 71, 13, 10, 26, 10, 0, 0, -+ 0, 13, 73, 72, 68, 82, 0, 0, 0, 80, -+ 0, 0, 0, 50, 8, 3, 0, 0, 0, 252, -+ 243, 172, 206, 0, 0, 2, 46, 80, 76, 84, -+ 69, 192, 192, 192, 0, 0, 99, 0, 0, 97, -+ 0, 0, 96, 0, 0, 95, 0, 0, 94, 0, -+ 0, 93, 0, 0, 91, 2, 2, 98, 6, 6, -+ 102, 6, 6, 101, 11, 11, 101, 14, 14, 111, -+ 15, 15, 103, 16, 16, 107, 21, 21, 111, 26, -+ 26, 111, 27, 27, 112, 28, 28, 115, 27, 27, -+ 109, 29, 29, 114, 30, 30, 114, 31, 31, 115, -+ 34, 34, 119, 36, 36, 120, 35, 35, 117, 36, -+ 36, 119, 36, 36, 117, 38, 38, 120, 40, 40, -+ 121, 42, 42, 123, 42, 42, 122, 41, 41, 118, -+ 42, 42, 120, 44, 44, 125, 47, 47, 128, 46, -+ 46, 120, 49, 49, 124, 53, 53, 130, 55, 55, -+ 133, 59, 59, 133, 63, 63, 138, 61, 61, 134, -+ 60, 60, 131, 58, 58, 125, 64, 64, 137, 63, -+ 63, 135, 60, 60, 129, 61, 61, 129, 65, 65, -+ 135, 67, 67, 138, 64, 64, 131, 69, 69, 140, -+ 71, 71, 141, 70, 70, 139, 70, 70, 137, 70, -+ 70, 136, 71, 71, 137, 68, 68, 131, 76, 76, -+ 142, 79, 79, 146, 78, 78, 143, 79, 79, 144, -+ 79, 79, 143, 74, 74, 134, 74, 74, 133, 83, -+ 83, 147, 89, 89, 154, 82, 82, 141, 90, 90, -+ 154, 90, 90, 153, 88, 88, 150, 91, 91, 153, -+ 90, 90, 151, 93, 93, 152, 98, 98, 159, 96, -+ 96, 156, 91, 91, 148, 96, 96, 155, 94, 94, -+ 152, 88, 88, 142, 89, 89, 143, 100, 100, 160, -+ 93, 93, 147, 103, 103, 162, 101, 101, 159, 92, -+ 92, 144, 96, 96, 149, 106, 106, 164, 98, 98, -+ 152, 96, 96, 148, 108, 108, 165, 106, 106, 162, -+ 101, 101, 154, 102, 102, 155, 103, 103, 156, 111, -+ 111, 167, 103, 103, 155, 112, 112, 167, 104, 104, -+ 155, 112, 112, 164, 116, 116, 168, 109, 109, 156, -+ 118, 118, 168, 127, 127, 177, 125, 125, 174, 125, -+ 125, 173, 111, 111, 154, 127, 127, 175, 124, 124, -+ 171, 128, 128, 176, 137, 137, 184, 137, 137, 183, -+ 128, 128, 171, 125, 125, 166, 140, 140, 185, 126, -+ 126, 167, 137, 137, 180, 143, 143, 185, 141, 141, -+ 183, 146, 146, 188, 144, 144, 185, 148, 148, 189, -+ 138, 138, 175, 137, 137, 174, 148, 148, 187, 149, -+ 149, 185, 158, 158, 195, 157, 157, 193, 153, 153, -+ 187, 164, 164, 199, 166, 166, 201, 165, 165, 200, -+ 156, 156, 188, 155, 155, 187, 160, 160, 192, 171, -+ 171, 204, 169, 169, 202, 170, 170, 202, 177, 177, -+ 209, 158, 158, 187, 174, 174, 205, 166, 166, 195, -+ 173, 173, 203, 173, 173, 202, 169, 169, 197, 167, -+ 167, 194, 168, 168, 194, 184, 184, 212, 173, 173, -+ 198, 187, 187, 213, 185, 185, 210, 183, 183, 208, -+ 189, 189, 214, 194, 194, 218, 189, 189, 213, 184, -+ 184, 207, 183, 183, 206, 195, 195, 218, 199, 199, -+ 222, 200, 200, 222, 196, 196, 217, 198, 198, 218, -+ 194, 194, 214, 188, 188, 207, 204, 204, 224, 197, -+ 197, 215, 209, 209, 227, 208, 208, 226, 207, 207, -+ 225, 206, 206, 224, 205, 205, 223, 208, 208, 225, -+ 205, 205, 222, 196, 196, 212, 211, 211, 227, 206, -+ 206, 222, 213, 213, 229, 209, 209, 224, 216, 216, -+ 231, 212, 212, 227, 202, 202, 216, 219, 219, 233, -+ 217, 217, 231, 204, 204, 217, 226, 226, 235, 152, -+ 38, 201, 129, 0, 0, 0, 1, 116, 82, 78, -+ 83, 0, 64, 230, 216, 102, 0, 0, 0, 1, -+ 98, 75, 71, 68, 185, 58, 184, 22, 96, 0, -+ 0, 2, 57, 73, 68, 65, 84, 120, 218, 99, -+ 96, 24, 156, 32, 195, 207, 92, 180, 159, 138, -+ 230, 21, 123, 173, 101, 8, 148, 164, 158, 121, -+ 249, 210, 64, 98, 134, 10, 245, 12, 228, 9, -+ 3, 18, 157, 217, 212, 51, 16, 236, 217, 164, -+ 30, 170, 153, 167, 92, 2, 36, 58, 100, 168, -+ 102, 158, 115, 20, 136, 204, 76, 161, 150, 121, -+ 221, 198, 32, 114, 150, 236, 60, 106, 25, 40, -+ 54, 29, 68, 26, 53, 80, 203, 60, 241, 62, -+ 16, 25, 212, 70, 45, 243, 52, 107, 64, 100, -+ 179, 22, 181, 204, 155, 239, 2, 166, 148, 106, -+ 169, 101, 160, 4, 152, 76, 42, 164, 150, 121, -+ 222, 213, 96, 202, 140, 90, 230, 109, 115, 7, -+ 83, 174, 147, 168, 101, 96, 197, 22, 16, 57, -+ 197, 2, 72, 180, 80, 197, 192, 157, 96, 82, -+ 61, 145, 129, 97, 38, 187, 19, 181, 92, 201, -+ 16, 193, 217, 10, 36, 125, 217, 52, 168, 100, -+ 222, 10, 249, 180, 34, 16, 29, 206, 42, 69, -+ 29, 3, 155, 96, 229, 106, 48, 155, 53, 85, -+ 12, 12, 113, 128, 177, 84, 89, 230, 82, 195, -+ 192, 232, 0, 24, 107, 29, 179, 28, 53, 12, -+ 76, 48, 128, 51, 35, 89, 167, 82, 193, 192, -+ 82, 94, 4, 155, 195, 146, 10, 6, 78, 96, -+ 222, 1, 103, 219, 50, 81, 195, 207, 76, 241, -+ 112, 230, 68, 150, 201, 84, 48, 208, 159, 101, -+ 25, 156, 205, 149, 76, 13, 39, 10, 240, 65, -+ 25, 11, 54, 120, 10, 18, 171, 137, 17, 78, -+ 96, 130, 173, 220, 252, 43, 193, 140, 133, 113, -+ 237, 28, 32, 101, 64, 64, 145, 129, 12, 12, -+ 142, 58, 149, 27, 65, 180, 97, 163, 16, 84, -+ 25, 65, 19, 241, 27, 8, 4, 75, 64, 68, -+ 110, 172, 30, 220, 64, 176, 51, 17, 8, 76, -+ 65, 25, 112, 63, 48, 194, 20, 97, 49, 122, -+ 209, 108, 32, 177, 88, 209, 30, 102, 32, 212, -+ 84, 168, 129, 16, 2, 137, 135, 112, 33, 92, -+ 4, 13, 212, 167, 130, 72, 17, 109, 152, 189, -+ 48, 3, 161, 16, 46, 132, 144, 35, 96, 96, -+ 153, 9, 136, 180, 211, 71, 87, 11, 119, 24, -+ 3, 134, 57, 248, 13, 172, 50, 5, 145, 233, -+ 10, 240, 240, 96, 100, 100, 68, 210, 11, 115, -+ 24, 52, 104, 81, 194, 16, 123, 228, 116, 197, -+ 128, 200, 114, 97, 130, 233, 5, 103, 148, 163, -+ 129, 222, 80, 16, 57, 221, 138, 90, 230, 49, -+ 172, 206, 2, 83, 53, 100, 185, 16, 27, 88, -+ 227, 6, 166, 230, 64, 67, 134, 17, 150, 228, -+ 144, 248, 48, 247, 48, 34, 83, 56, 193, 52, -+ 31, 48, 181, 137, 1, 158, 118, 145, 12, 68, -+ 209, 79, 68, 190, 4, 129, 149, 57, 168, 78, -+ 64, 55, 16, 97, 14, 146, 11, 225, 110, 71, -+ 214, 2, 149, 223, 236, 65, 158, 129, 12, 8, -+ 67, 144, 19, 20, 3, 195, 246, 60, 178, 12, -+ 100, 192, 105, 224, 230, 2, 36, 3, 209, 35, -+ 133, 120, 3, 17, 202, 150, 235, 46, 69, 15, -+ 117, 202, 92, 184, 202, 6, 191, 129, 24, 177, -+ 140, 97, 32, 35, 170, 129, 12, 106, 29, 152, -+ 6, 50, 50, 162, 196, 37, 138, 48, 186, 79, -+ 81, 5, 25, 24, 214, 215, 17, 149, 186, 200, -+ 0, 0, 218, 35, 72, 230, 144, 1, 81, 42, -+ 0, 0, 0, 0, 73, 69, 78, 68, 174, 66, -+ 96, 130 }; -diff -urN php-4.2.1RC2.org/main/php_logos.c php-4.2.1RC2/main/php_logos.c ---- php-4.2.1RC2.org/main/php_logos.c Sat May 11 20:49:24 2002 -+++ php-4.2.1RC2/main/php_logos.c Sat May 11 20:51:05 2002 -@@ -56,6 +56,7 @@ - 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)); -+ php_register_info_logo(PLD_LOGO_GUID , "image/png", pld_logo , sizeof(pld_logo)); - - return SUCCESS; - } diff --git a/php-threads-acfix.patch b/php-threads-acfix.patch deleted file mode 100644 index 2245eac..0000000 --- a/php-threads-acfix.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -burN php-5.0.4RC1.orig/TSRM/threads.m4 php-5.0.4RC1/TSRM/threads.m4 ---- php-5.0.4RC1.orig/TSRM/threads.m4 2005-03-15 18:02:27.630294512 +0100 -+++ php-5.0.4RC1/TSRM/threads.m4 2005-03-15 18:07:05.301082136 +0100 -@@ -116,7 +116,6 @@ - else - save_CFLAGS=$CFLAGS - save_LIBS=$LIBS -- PTHREADS_ASSIGN_VARS - PTHREADS_CHECK_COMPILE - LIBS=$save_LIBS - CFLAGS=$save_CFLAGS -@@ -134,9 +133,10 @@ - break - fi - done -+ pthreads_working= - fi --fi - ]) -+fi - - AC_CACHE_CHECK(for pthreads_lib, ac_cv_pthreads_lib,[ - ac_cv_pthreads_lib= -@@ -163,6 +163,7 @@ - dnl - dnl - AC_DEFUN([PTHREADS_ASSIGN_VARS],[ -+if test "$pthreads_assign_done" != "yes" ; then - if test -n "$ac_cv_pthreads_lib"; then - LIBS="$LIBS -l$ac_cv_pthreads_lib" - fi -@@ -170,4 +171,6 @@ - if test -n "$ac_cv_pthreads_cflags"; then - CFLAGS="$CFLAGS $ac_cv_pthreads_cflags" - fi -+pthreads_assign_done="yes" -+fi - ])dnl diff --git a/php-zlib.patch b/php-zlib.patch deleted file mode 100644 index 1ee4b30..0000000 --- a/php-zlib.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -burN php-5.0.0b3/ext/zlib/zlib.c php-5.0.0b3-zlib/ext/zlib/zlib.c ---- php-5.0.0b3/ext/zlib/zlib.c 2003-09-26 10:09:53.000000000 +0200 -+++ php-5.0.0b3-zlib/ext/zlib/zlib.c 2003-12-27 00:40:53.000000000 +0100 -@@ -979,6 +979,11 @@ - - if (ZLIBG(output_handler) && strlen(ZLIBG(output_handler))) { - php_start_ob_buffer_named(ZLIBG(output_handler), 0, 1 TSRMLS_CC); -+ if (sapi_add_header("Content-Encoding: gzip", sizeof("Content-Encoding: gzip") - 1 , 1)!=FAILURE) { -+ if (sapi_add_header("Vary: Accept-Encoding", sizeof("Vary: Accept-Encoding") - 1, 1)==FAILURE) { -+ SG(sapi_headers).send_default_content_type = 0; -+ } -+ } - } - return SUCCESS; - } diff --git a/php.spec b/php.spec index 7654d32..e3598f9 100644 --- a/php.spec +++ b/php.spec @@ -1,3 +1,6 @@ +# TODO 5.5: +# - enable --with-fpm-systemd, but ensure it checks for sd_booted() +# - build with system libgd 2.1, see 73c5128 # TODO 5.4: # - do not remove PatchX: definitions until merged to HEAD, needed for tracking their state # - check php-sapi-ini-file.patch for safe mode removal @@ -61,6 +64,7 @@ %bcond_with mysqlnd # with mysqlnd support in mysql related extensions %bcond_without mysqli # without mysqli support (Requires mysql > 4.1) %bcond_without odbc # without ODBC extension module +%bcond_without opcache # without Enable Zend OPcache extension support %bcond_without openssl # without OpenSSL support and OpenSSL extension (module) %bcond_without pcre # without PCRE extension module %bcond_without pdo_sqlite # without PDO SQLite extension module @@ -124,9 +128,9 @@ ERROR: You need to select at least one Apache SAPI to build shared modules. %undefine with_filter %endif -%define rel 1 +%define rel 0.1 %define orgname php -%define ver_suffix 54 +%define ver_suffix 55 %define php_suffix %{!?with_default_php:%{ver_suffix}} Summary: PHP: Hypertext Preprocessor Summary(fr.UTF-8): Le langage de script embarque-HTML PHP @@ -135,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.4.17 +Version: 5.5.1 Release: %{rel}%{?with_type_hints:.th}%{?with_oci8:.oci} Epoch: 4 License: PHP Group: Libraries Source0: http://www.php.net/distributions/%{orgname}-%{version}.tar.bz2 -# Source0-md5: 1e027e99e2a874310fd518e87e3947af +# Source0-md5: e6520ba8f86e03451f1e9226ca2be681 Source2: %{orgname}-mod_%{orgname}.conf Source3: %{orgname}-cgi-fcgi.ini Source4: %{orgname}-apache.ini @@ -236,13 +240,12 @@ BuildRequires: freetds-devel >= 0.82 %endif BuildRequires: freetype-devel >= 2.0 %if %{with system_gd} -BuildRequires: gd-devel >= 2.0.28-4 -BuildRequires: gd-devel(imagerotate) = 5.2.0 +BuildRequires: gd-devel >= 2.1 %endif BuildRequires: gdbm-devel BuildRequires: gmp-devel %{?with_imap:BuildRequires: imap-devel >= 1:2007e-2} -%{?with_intl:BuildRequires: libicu-devel} +%{?with_intl:BuildRequires: libicu-devel >= 4.4} BuildRequires: libjpeg-devel BuildRequires: libltdl-devel >= 1.4 BuildRequires: libmcrypt-devel >= 2.4.4 @@ -273,6 +276,8 @@ BuildRequires: readline-devel BuildRequires: rpm >= 4.4.9-56 BuildRequires: rpm-build >= 4.4.0 BuildRequires: rpmbuild(macros) >= 1.566 +BuildRequires: tar >= 1:1.22 +BuildRequires: xz %if %{with sqlite3} || %{with pdo_sqlite} BuildRequires: sqlite3-devel >= 3.3.9 %endif @@ -299,19 +304,20 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sysconfdir %{php_sysconfdir} # must be in sync with source. extra check ensuring that it is so is done in %%build -%define php_api_version 20100412 -%define zend_module_api 20100525 -%define zend_extension_api 220100525 +%define php_api_version 20121113 +%define zend_module_api 20121212 +%define zend_extension_api 220121212 # Extension versions %define bz2ver 1.0 %define enchantver 1.1.0 -%define fileinfover 1.0.5 +%define fileinfover 1.0.5-dev %define hashver 1.0 %define intlver 1.1.0 %define jsonver 1.2.1 +%define opcachever 7.0.2-dev %define pharver 2.0.1 -%define sqlite3ver 0.7 +%define sqlite3ver 0.7-dev %define zipver 1.11.0 %define zend_zts %{!?with_zts:0}%{?with_zts:1} @@ -1160,6 +1166,21 @@ Moduł PHP ze wsparciem dla ODBC. %description odbc -l pt_BR.UTF-8 Um módulo para aplicações PHP que usam ODBC. +%package opcache +Summary: Zend Optimizer+ - PHP code optimizer +Group: Libraries +URL: https://wiki.php.net/rfc/optimizerplus +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Provides: php(opcache) = %{opcachever} + +%description opcache +The Zend OPcache provides faster PHP execution through opcode caching +and optimization. It improves PHP performance by storing precompiled +script bytecode in the shared memory. This eliminates the stages of +reading code from the disk and compiling it on future access. In +addition, it applies a few bytecode optimization patterns that make +code execution faster. + %package openssl Summary: OpenSSL extension module for PHP Summary(pl.UTF-8): Moduł OpenSSL dla PHP @@ -2032,6 +2053,12 @@ if test "$ver" != "%{jsonver}"; then : Update the jsonver macro and rebuild. exit 1 fi +ver=$(sed -n '/#define ACCELERATOR_VERSION /{s/.* "//;s/".*$//;p}' ext/opcache/ZendAccelerator.h) +if test "$ver" != "%{opcachever}"; then + : Error: Upstream Zend Opcachge version is now ${ver}, expecting %{opcachever}. + : Update the opcachever macro and rebuild. + exit 1 +fi ver=$(sed -rne 's,.*(.+),\1,p' ext/bz2/package.xml) if test "$ver" != "%{bz2ver}"; then : Error: Upstream BZIP2 version is now ${ver}, expecting %{bz2ver}. @@ -2209,6 +2236,7 @@ for sapi in $sapis; do --with-mysql=shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd} \ %{?with_mysqli:--with-mysqli=shared,%{!?with_mysqlnd:/usr/bin/mysql_config}%{?with_mysqlnd:mysqlnd}} \ %{?with_oci8:--with-oci8=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ + %{?with_opcache:--enable-opcache=shared} \ %{?with_openssl:--with-openssl=shared} \ %{?with_kerberos5:--with-kerberos} \ --with-tcadb=/usr \ @@ -2292,6 +2320,9 @@ install -d conf.d generate_inifiles() { for so in modules/*.so; do mod=$(basename $so .so) + ext=extension + # opcache.so is zend extension + nm $so | grep -q zend_extension_entry && ext=zend_extension conf="$mod.ini" # xml needs to be loaded before wddx [ "$mod" = "wddx" ] && conf="xml_$mod.ini" @@ -2305,8 +2336,8 @@ generate_inifiles() { [ "$mod" = "mysqlnd" ] && conf="MySQLND.ini" echo "+ $conf" cat > conf.d/$conf <<-EOF - ; Enable $mod extension module - extension=$mod.so + ; Enable $mod $ext module + $ext=$mod.so EOF done } @@ -2615,6 +2646,7 @@ fi %extension_scripts mysqlnd %extension_scripts oci8 %extension_scripts odbc +%extension_scripts opcache %extension_scripts openssl %extension_scripts pcre %extension_scripts pdo @@ -2951,6 +2983,14 @@ fi %attr(755,root,root) %{php_extensiondir}/odbc.so %endif +%if %{with opcache} +%files opcache +%defattr(644,root,root,755) +%doc ext/opcache/README +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/opcache.ini +%attr(755,root,root) %{php_extensiondir}/opcache.so +%endif + %if %{with openssl} %files openssl %defattr(644,root,root,755) diff --git a/suhosin.patch b/suhosin.patch index 8431555..07dc037 100644 --- a/suhosin.patch +++ b/suhosin.patch @@ -9,16 +9,16 @@ the following modifications have been made: * removed changes to ./configure & ./main/php_config.h.in since those files are autogenerated * "quilt refresh" has been run to clean up the offsets, etc - * chunk adjusted for PLD Logo patch ---- a/Zend/Makefile.am -+++ b/Zend/Makefile.am -@@ -17,7 +17,8 @@ libZend_la_SOURCES=\ - zend_objects_API.c zend_ts_hash.c zend_stream.c \ + * logo patch disabled (needs porting to DATA_URIs) + * expose php disabled (unref symbols) +--- php-5.5.0alpha1/Zend/Makefile.am~ 2012-11-13 22:00:16.000000000 +0200 ++++ php-5.5.0alpha1/Zend/Makefile.am 2012-11-17 13:37:04.263279745 +0200 +@@ -18,7 +18,7 @@ zend_default_classes.c \ zend_iterators.c zend_interfaces.c zend_exceptions.c \ -- zend_strtod.c zend_closures.c zend_float.c zend_string.c zend_signal.c -+ zend_strtod.c zend_closures.c zend_float.c zend_string.c zend_signal.c \ -+ zend_canary.c zend_alloc_canary.c + zend_strtod.c zend_closures.c zend_float.c zend_string.c zend_signal.c \ +- zend_generators.c ++ zend_generators.c zend_canary.c zend_alloc_canary.c libZend_la_LDFLAGS = libZend_la_LIBADD = @ZEND_EXTRA_LIBS@ @@ -3833,8 +3833,8 @@ the following modifications have been made: #endif /* ZEND_ERRORS_H */ /* ---- a/Zend/zend_hash.c -+++ b/Zend/zend_hash.c +--- php-5.5.0/Zend/zend_hash.c~ 2013-06-20 23:57:44.000000000 +0300 ++++ php-5.5.0/Zend/zend_hash.c 2013-06-20 23:58:38.383348644 +0300 @@ -21,6 +21,7 @@ #include "zend.h" @@ -4075,10 +4075,10 @@ the following modifications have been made: if (ht->pDestructor) { ht->pDestructor(p->pData); } -@@ -527,6 +725,7 @@ ZEND_API int zend_hash_del_key_or_index( - if (ht->pInternalPointer == p) { +@@ -726,6 +726,7 @@ ht->pInternalPointer = p->pListNext; } + ht->nNumOfElements--; + zend_hash_check_destructor(ht->pDestructor); if (ht->pDestructor) { ht->pDestructor(p->pData); @@ -4447,8 +4447,8 @@ the following modifications have been made: break; case IS_ARRAY: case IS_CONSTANT_ARRAY: ---- a/configure.in -+++ b/configure.in +--- php-5.5.0alpha1/configure.in~ 2012-11-17 13:36:25.000000000 +0200 ++++ php-5.5.0alpha1/configure.in 2012-11-17 13:37:55.705648875 +0200 @@ -359,6 +359,7 @@ case $host_alias in ;; esac @@ -4457,21 +4457,22 @@ the following modifications have been made: dnl Include Zend and TSRM configurations. dnl ------------------------------------------------------------------------- -@@ -1440,7 +1441,7 @@ PHP_ADD_SOURCES(main, main.c snprintf.c +@@ -1439,7 +1439,7 @@ php_ini.c SAPI.c rfc1867.c php_content_types.c strlcpy.c \ strlcat.c mergesort.c reentrancy.c php_variables.c php_ticks.c \ - network.c php_open_temporary_file.c php_logos.c \ + network.c php_open_temporary_file.c \ - output.c getopt.c) -+ output.c getopt.c suhosin_patch.c ) ++ output.c getopt.c suhosin_patch.c) PHP_ADD_SOURCES(main/streams, streams.c cast.c memory.c filter.c \ plain_wrapper.c userspace.c transports.c xp_socket.c mmap.c \ -@@ -1468,7 +1469,7 @@ PHP_ADD_SOURCES(Zend, \ +@@ -1467,7 +1467,8 @@ zend_list.c zend_indent.c zend_builtin_functions.c zend_sprintf.c \ zend_ini.c zend_qsort.c zend_multibyte.c zend_ts_hash.c zend_stream.c \ zend_iterators.c zend_interfaces.c zend_exceptions.c zend_strtod.c zend_gc.c \ -- zend_closures.c zend_float.c zend_string.c zend_signal.c) -+ zend_closures.c zend_float.c zend_string.c zend_signal.c zend_canary.c zend_alloc_canary.c ) +- zend_closures.c zend_float.c zend_string.c zend_signal.c zend_generators.c) ++ zend_closures.c zend_float.c zend_string.c zend_signal.c zend_generators.c \ ++ zend_canary.c zend_alloc_canary.c) if test -r "$abs_srcdir/Zend/zend_objects.c"; then PHP_ADD_SOURCES(Zend, zend_objects.c zend_object_handlers.c zend_objects_API.c zend_default_classes.c) @@ -4501,42 +4502,42 @@ the following modifications have been made: return SUCCESS; } /* }}} */ ---- a/ext/standard/info.c -+++ b/ext/standard/info.c -@@ -785,6 +785,33 @@ PHPAPI void php_print_info(int flag TSRM - - php_info_print_table_end(); - -+ /* Suhosin Patch */ -+ php_info_print_box_start(0); -+ if (expose_php && !sapi_module.phpinfo_as_text) { -+ PUTS("\"Suhosin\n"); -+ } -+ PUTS("This server is protected with the Suhosin Patch "); -+ if (sapi_module.phpinfo_as_text) { -+ PUTS(SUHOSIN_PATCH_VERSION); -+ } else { -+ zend_html_puts(SUHOSIN_PATCH_VERSION, strlen(SUHOSIN_PATCH_VERSION) TSRMLS_CC); -+ } -+ PUTS(!sapi_module.phpinfo_as_text?"
":"\n"); -+ if (sapi_module.phpinfo_as_text) { -+ PUTS("Copyright (c) 2006-2007 Hardened-PHP Project\n"); -+ PUTS("Copyright (c) 2007-2009 SektionEins GmbH\n"); -+ } else { -+ PUTS("Copyright (c) 2006-2007 Hardened-PHP Project\n"); -+ PUTS("Copyright (c) 2007-2009 SektionEins GmbH\n"); -+ } -+ php_info_print_box_end(); -+ - /* Zend Engine */ - php_info_print_box_start(0); - if (expose_php && !sapi_module.phpinfo_as_text) { +#--- a/ext/standard/info.c +#+++ b/ext/standard/info.c +#@@ -785,6 +785,33 @@ PHPAPI void php_print_info(int flag TSRM +# +# php_info_print_table_end(); +# +#+ /* Suhosin Patch */ +#+ php_info_print_box_start(0); +#+ if (expose_php && !sapi_module.phpinfo_as_text) { +#+ PUTS("\"Suhosin\n"); +#+ } +#+ PUTS("This server is protected with the Suhosin Patch "); +#+ if (sapi_module.phpinfo_as_text) { +#+ PUTS(SUHOSIN_PATCH_VERSION); +#+ } else { +#+ zend_html_puts(SUHOSIN_PATCH_VERSION, strlen(SUHOSIN_PATCH_VERSION) TSRMLS_CC); +#+ } +#+ PUTS(!sapi_module.phpinfo_as_text?"
":"\n"); +#+ if (sapi_module.phpinfo_as_text) { +#+ PUTS("Copyright (c) 2006-2007 Hardened-PHP Project\n"); +#+ PUTS("Copyright (c) 2007-2009 SektionEins GmbH\n"); +#+ } else { +#+ PUTS("Copyright (c) 2006-2007 Hardened-PHP Project\n"); +#+ PUTS("Copyright (c) 2007-2009 SektionEins GmbH\n"); +#+ } +#+ php_info_print_box_end(); +#+ +# /* Zend Engine */ +# php_info_print_box_start(0); +# if (expose_php && !sapi_module.phpinfo_as_text) { --- a/ext/standard/syslog.c +++ b/ext/standard/syslog.c @@ -40,6 +40,7 @@ @@ -4641,30 +4642,30 @@ the following modifications have been made: #endif /* ---- php-5.4.6/main/php_logos.c~ 2012-08-23 12:04:01.000000000 +0300 -+++ php-5.4.6/main/php_logos.c 2012-08-23 12:04:39.401608052 +0300 -@@ -50,6 +50,10 @@ PHPAPI int php_unregister_info_logo(char - return zend_hash_del(&phpinfo_logo_hash, logo_string, strlen(logo_string)); - } - -+#if SUHOSIN_PATCH -+#include "suhosin_logo.h" -+#endif -+ - int php_init_info_logos(void) - { - if(zend_hash_init(&phpinfo_logo_hash, 0, NULL, NULL, 1)==FAILURE) -@@ -64,6 +64,10 @@ - php_register_info_logo(ZEND_LOGO_GUID , "image/gif", zend_logo , sizeof(zend_logo)); - php_register_info_logo(PLD_LOGO_GUID , "image/png", pld_logo , sizeof(pld_logo)); - -+#if SUHOSIN_PATCH -+ php_register_info_logo(SUHOSIN_LOGO_GUID, "image/jpeg", suhosin_logo , sizeof(suhosin_logo)); -+#endif -+ - return SUCCESS; - } - +#--- php-5.4.6/main/php_logos.c~ 2012-08-23 12:04:01.000000000 +0300 +#+++ php-5.4.6/main/php_logos.c 2012-08-23 12:04:39.401608052 +0300 +#@@ -50,6 +50,10 @@ PHPAPI int php_unregister_info_logo(char +# return zend_hash_del(&phpinfo_logo_hash, logo_string, strlen(logo_string)); +# } +# +#+#if SUHOSIN_PATCH +#+#include "suhosin_logo.h" +#+#endif +#+ +# int php_init_info_logos(void) +# { +# if(zend_hash_init(&phpinfo_logo_hash, 0, NULL, NULL, 1)==FAILURE) +#@@ -64,6 +64,10 @@ +# php_register_info_logo(ZEND_LOGO_GUID , "image/gif", zend_logo , sizeof(zend_logo)); +# php_register_info_logo(PLD_LOGO_GUID , "image/png", pld_logo , sizeof(pld_logo)); +# +#+#if SUHOSIN_PATCH +#+ php_register_info_logo(SUHOSIN_LOGO_GUID, "image/jpeg", suhosin_logo , sizeof(suhosin_logo)); +#+#endif +#+ +# return SUCCESS; +# } +# --- a/main/snprintf.c +++ b/main/snprintf.c @@ -782,6 +782,10 @@ static int format_converter(register buf @@ -5615,12 +5616,12 @@ the following modifications have been made: PHP_VERSION, cli_sapi_module.name, __DATE__, __TIME__, #if ZEND_DEBUG && defined(HAVE_GCOV) "(DEBUG GCOV)", ---- php-5.4.8/sapi/litespeed/lsapi_main.c~ 2012-10-16 13:05:41.000000000 +0300 -+++ php-5.4.8/sapi/litespeed/lsapi_main.c 2012-11-09 09:30:54.304162453 +0200 -@@ -718,11 +718,19 @@ - break; - case 'v': - if (php_request_startup(TSRMLS_C) != FAILURE) { +--- php-5.5.0alpha1/sapi/litespeed/lsapi_main.c~ 2012-11-13 22:00:16.000000000 +0200 ++++ php-5.5.0alpha1/sapi/litespeed/lsapi_main.c 2012-11-17 13:47:51.979828334 +0200 +@@ -546,11 +546,19 @@ + break; + case 'v': + if (php_request_startup(TSRMLS_C) != FAILURE) { +#if SUHOSIN_PATCH +#if ZEND_DEBUG + php_printf("PHP %s with Suhosin-Patch (%s) (built: %s %s) (DEBUG)\nCopyright (c) 1997-2013 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); @@ -5629,9 +5630,9 @@ the following modifications have been made: +#endif +#else #if ZEND_DEBUG - php_printf("PHP %s (%s) (built: %s %s) (DEBUG)\nCopyright (c) 1997-2013 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); + php_printf("PHP %s (%s) (built: %s %s) (DEBUG)\nCopyright (c) 1997-2013 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); #else - php_printf("PHP %s (%s) (built: %s %s)\nCopyright (c) 1997-2013 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); + php_printf("PHP %s (%s) (built: %s %s)\nCopyright (c) 1997-2013 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); #endif +#endif #ifdef PHP_OUTPUT_NEWAPI @@ -5651,14 +5652,14 @@ the following modifications have been made: php_output_teardown(); exit(1); break; ---- a/win32/build/config.w32 -+++ b/win32/build/config.w32 -@@ -333,7 +333,7 @@ ADD_SOURCES("Zend", "zend_language_parse +--- php-5.5.0alpha1/win32/build/config.w32~ 2012-11-17 13:39:12.000000000 +0200 ++++ php-5.5.0alpha1/win32/build/config.w32 2012-11-17 13:48:11.720739542 +0200 +@@ -364,7 +364,7 @@ zend_stream.c zend_iterators.c zend_interfaces.c zend_objects.c \ zend_object_handlers.c zend_objects_API.c \ zend_default_classes.c zend_execute.c zend_strtod.c zend_gc.c zend_closures.c \ -- zend_float.c zend_string.c"); -+ zend_float.c zend_string.c zend_canary.c zend_alloc_canary.c"); +- zend_float.c zend_string.c zend_generators.c"); ++ zend_float.c zend_string.c zend_generators.c zend_canary.c zend_alloc_canary.c"); if (VCVERS == 1200) { AC_DEFINE('ZEND_DVAL_TO_LVAL_CAST_OK', 1);