diff options
author | Remi Collet <fedora@famillecollet.com> | 2014-02-28 10:56:33 +0100 |
---|---|---|
committer | Remi Collet <fedora@famillecollet.com> | 2014-02-28 10:56:33 +0100 |
commit | d284eecbe0ed687db9c307753f9a6fcb35827c43 (patch) | |
tree | eea6f893b8f1a7d7c3feac1203ccca35bcf06a8a | |
parent | 85ff99087b33995f15de968e2e89c81ef446d8d6 (diff) |
PHP 5.6.0alpha3
-rw-r--r-- | php-5.5.0-opcache.patch | 149 | ||||
-rw-r--r-- | php-5.5.0-systemd.patch | 301 | ||||
-rw-r--r-- | php-5.5.10-bug66762.patch | 97 | ||||
-rw-r--r-- | php-5.5.10-leak.patch | 25 | ||||
-rw-r--r-- | php-5.5.2-system-libzip.patch | 587 | ||||
-rw-r--r-- | php.ini | 127 | ||||
-rw-r--r-- | php56.spec (renamed from php55.spec) | 125 |
7 files changed, 131 insertions, 1280 deletions
diff --git a/php-5.5.0-opcache.patch b/php-5.5.0-opcache.patch deleted file mode 100644 index 8ef74e9..0000000 --- a/php-5.5.0-opcache.patch +++ /dev/null @@ -1,149 +0,0 @@ -From af967de2afc584c602c0b6d4d6731e411323d94e Mon Sep 17 00:00:00 2001 -From: Dmitry Stogov <dmitry@zend.com> -Date: Wed, 10 Apr 2013 21:41:30 +0400 -Subject: [PATCH] Allow wilcards in opcache.blacklist_filename - ---- - ext/opcache/README | 8 +++---- - ext/opcache/tests/blacklist.phpt | 20 ++++++++++++++++++ - ext/opcache/tests/opcache-1.blacklist | 5 +++++ - ext/opcache/tests/opcache-2.blacklist | 1 + - ext/opcache/zend_accelerator_blacklist.c | 36 ++++++++++++++++++++++++++++++++ - 5 files changed, 66 insertions(+), 4 deletions(-) - create mode 100644 ext/opcache/tests/blacklist.phpt - create mode 100644 ext/opcache/tests/opcache-1.blacklist - create mode 100644 ext/opcache/tests/opcache-2.blacklist - -diff --git a/ext/opcache/README b/ext/opcache/README -index 03386a0..3110012 100644 ---- a/ext/opcache/README -+++ b/ext/opcache/README -@@ -151,13 +151,13 @@ opcache.dups_fix (default "0") - Enable this hack as a workaround for "Cannot redeclare class" errors. - - opcache.blacklist_filename -- The location of the OPcache blacklist file. -- The OPcache blacklist file is a text file that holds the names of files -+ The location of the OPcache blacklist file (wildcards allowed). -+ Each OPcache blacklist file is a text file that holds the names of files - that should not be accelerated. The file format is to add each filename - to a new line. The filename may be a full path or just a file prefix - (i.e., /var/www/x blacklists all the files and directories in /var/www -- that start with 'x'). Files are usually triggered by one of the following -- three reasons: -+ that start with 'x'). Line starting with a ; are ignored (comments). -+ Files are usually triggered by one of the following three reasons: - 1) Directories that contain auto generated code, like Smarty or ZFW cache. - 2) Code that does not work well when accelerated, due to some delayed - compile time evaluation. -diff --git a/ext/opcache/tests/blacklist.phpt b/ext/opcache/tests/blacklist.phpt -new file mode 100644 -index 0000000..f4a3472 ---- /dev/null -+++ b/ext/opcache/tests/blacklist.phpt -@@ -0,0 +1,20 @@ -+--TEST-- -+Blacklist (with glob, quote and comments) -+--INI-- -+opcache.enable=1 -+opcache.enable_cli=1 -+opcache.blacklist_filename={PWD}/opcache-*.blacklist -+--SKIPIF-- -+<?php require_once('skipif.inc'); ?> -+--FILE-- -+<?php -+$conf = opcache_get_configuration(); -+print_r($conf['blacklist']); -+?> -+--EXPECT-- -+Array -+( -+ [0] => /path/to/foo -+ [1] => /path/to/foo2 -+ [2] => /path/to/bar -+) -\ No newline at end of file -diff --git a/ext/opcache/tests/opcache-1.blacklist b/ext/opcache/tests/opcache-1.blacklist -new file mode 100644 -index 0000000..5f498d6 ---- /dev/null -+++ b/ext/opcache/tests/opcache-1.blacklist -@@ -0,0 +1,5 @@ -+; comments are allowed in blacklist file -+; and empty line are ignored -+ -+/path/to/foo -+"/path/to/foo2" -\ No newline at end of file -diff --git a/ext/opcache/tests/opcache-2.blacklist b/ext/opcache/tests/opcache-2.blacklist -new file mode 100644 -index 0000000..4f6580a ---- /dev/null -+++ b/ext/opcache/tests/opcache-2.blacklist -@@ -0,0 +1 @@ -+/path/to/bar -diff --git a/ext/opcache/zend_accelerator_blacklist.c b/ext/opcache/zend_accelerator_blacklist.c -index 764c950..b09d0e5 100644 ---- a/ext/opcache/zend_accelerator_blacklist.c -+++ b/ext/opcache/zend_accelerator_blacklist.c -@@ -36,6 +36,14 @@ - # define REGEX_MODE (REG_EXTENDED|REG_NOSUB) - #endif - -+#ifdef HAVE_GLOB -+#ifdef PHP_WIN32 -+#include "win32/glob.h" -+#else -+#include <glob.h> -+#endif -+#endif -+ - #define ZEND_BLACKLIST_BLOCK_SIZE 32 - - struct _zend_regexp_list { -@@ -168,7 +176,11 @@ static inline void zend_accel_blacklist_allocate(zend_blacklist *blacklist) - } - } - -+#ifdef HAVE_GLOB -+static void zend_accel_blacklist_loadone(zend_blacklist *blacklist, char *filename) -+#else - void zend_accel_blacklist_load(zend_blacklist *blacklist, char *filename) -+#endif - { - char buf[MAXPATHLEN + 1], real_path[MAXPATHLEN + 1]; - FILE *fp; -@@ -238,6 +250,30 @@ void zend_accel_blacklist_load(zend_blacklist *blacklist, char *filename) - zend_accel_blacklist_update_regexp(blacklist); - } - -+#ifdef HAVE_GLOB -+void zend_accel_blacklist_load(zend_blacklist *blacklist, char *filename) -+{ -+ glob_t globbuf; -+ int ret, i; -+ -+ memset(&globbuf, 0, sizeof(glob_t)); -+ -+ ret = glob(filename, 0, NULL, &globbuf); -+#ifdef GLOB_NOMATCH -+ if (ret == GLOB_NOMATCH || !globbuf.gl_pathc) { -+#else -+ if (!globbuf.gl_pathc) { -+#endif -+ zend_accel_error(ACCEL_LOG_WARNING, "No blacklist file found matching: %s\n", filename); -+ } else { -+ for(i=0 ; i<globbuf.gl_pathc; i++) { -+ zend_accel_blacklist_loadone(blacklist, globbuf.gl_pathv[i]); -+ } -+ globfree(&globbuf); -+ } -+} -+#endif -+ - zend_bool zend_accel_blacklist_is_blacklisted(zend_blacklist *blacklist, char *verify_path) - { - int ret = 0; --- -1.7.11.5 - diff --git a/php-5.5.0-systemd.patch b/php-5.5.0-systemd.patch deleted file mode 100644 index 3da0f83..0000000 --- a/php-5.5.0-systemd.patch +++ /dev/null @@ -1,301 +0,0 @@ -diff -up ../sapi/fpm/config.m4.systemd ../sapi/fpm/config.m4 ---- ../sapi/fpm/config.m4.systemd 2012-12-05 11:40:54.000000000 +0100 -+++ ../sapi/fpm/config.m4 2013-05-20 09:44:23.436365510 +0200 -@@ -563,6 +563,26 @@ if test "$PHP_FPM" != "no"; then - [ --with-fpm-group[=GRP] Set the group for php-fpm to run as. For a system user, this - should usually be set to match the fpm username (default: nobody)], nobody, no) - -+ PHP_ARG_WITH(fpm-systemd,, -+ [ --with-fpm-systemd Activate systemd integration], no, no) -+ -+ if test "$PHP_FPM_SYSTEMD" != "no" ; then -+ AC_CHECK_LIB(systemd-daemon, sd_notify, SYSTEMD_LIBS="-lsystemd-daemon") -+ AC_CHECK_HEADERS(systemd/sd-daemon.h, [HAVE_SD_DAEMON_H="yes"], [HAVE_SD_DAEMON_H="no"]) -+ if test $HAVE_SD_DAEMON_H = "no" || test -z "${SYSTEMD_LIBS}"; then -+ AC_MSG_ERROR([Your system does not support systemd.]) -+ else -+ AC_DEFINE(HAVE_SYSTEMD, 1, [FPM use systemd integration]) -+ PHP_FPM_SD_FILES="fpm/fpm_systemd.c" -+ PHP_ADD_LIBRARY(systemd-daemon) -+ php_fpm_systemd=notify -+ fi -+ else -+ php_fpm_systemd=simple -+ fi -+ PHP_SUBST_OLD(php_fpm_systemd) -+ AC_DEFINE_UNQUOTED(PHP_FPM_SYSTEMD, "$php_fpm_systemd", [fpm systemd service type]) -+ - if test -z "$PHP_FPM_USER" -o "$PHP_FPM_USER" = "yes" -o "$PHP_FPM_USER" = "no"; then - php_fpm_user="nobody" - else -@@ -631,7 +651,7 @@ if test "$PHP_FPM" != "no"; then - fpm/events/port.c \ - " - -- PHP_SELECT_SAPI(fpm, program, $PHP_FPM_FILES $PHP_FPM_TRACE_FILES, $PHP_FPM_CFLAGS, '$(SAPI_FPM_PATH)') -+ PHP_SELECT_SAPI(fpm, program, $PHP_FPM_FILES $PHP_FPM_TRACE_FILES $PHP_FPM_SD_FILES, $PHP_FPM_CFLAGS, '$(SAPI_FPM_PATH)') - - case $host_alias in - *aix*) -diff -up ../sapi/fpm/fpm/fpm_conf.c.systemd ../sapi/fpm/fpm/fpm_conf.c ---- ../sapi/fpm/fpm/fpm_conf.c.systemd 2013-05-02 14:36:45.000000000 +0200 -+++ ../sapi/fpm/fpm/fpm_conf.c 2013-05-20 09:59:29.632807378 +0200 -@@ -45,6 +45,10 @@ - #include "fpm_log.h" - #include "fpm_events.h" - #include "zlog.h" -+#ifdef HAVE_SYSTEMD -+#include "fpm_systemd.h" -+#endif -+ - - #define STR2STR(a) (a ? a : "undefined") - #define BOOL2STR(a) (a ? "yes" : "no") -@@ -73,6 +77,10 @@ struct fpm_global_config_s fpm_global_co - #endif - .process_max = 0, - .process_priority = 64, /* 64 means unset */ -+#ifdef HAVE_SYSTEMD -+ .systemd_watchdog = 0, -+ .systemd_interval = -1, /* -1 means not set */ -+#endif - }; - static struct fpm_worker_pool_s *current_wp = NULL; - static int ini_recursion = 0; -@@ -100,6 +108,9 @@ static struct ini_value_parser_s ini_fpm - { "rlimit_files", &fpm_conf_set_integer, GO(rlimit_files) }, - { "rlimit_core", &fpm_conf_set_rlimit_core, GO(rlimit_core) }, - { "events.mechanism", &fpm_conf_set_string, GO(events_mechanism) }, -+#ifdef HAVE_SYSTEMD -+ { "systemd_interval", &fpm_conf_set_time, GO(systemd_interval) }, -+#endif - { 0, 0, 0 } - }; - -@@ -1152,6 +1163,12 @@ static int fpm_conf_post_process(int for - fpm_global_config.error_log = strdup("log/php-fpm.log"); - } - -+#ifdef HAVE_SYSTEMD -+ if (0 > fpm_systemd_conf()) { -+ return -1; -+ } -+#endif -+ - #ifdef HAVE_SYSLOG_H - if (!fpm_global_config.syslog_ident) { - fpm_global_config.syslog_ident = strdup("php-fpm"); -@@ -1540,6 +1557,9 @@ static void fpm_conf_dump() /* {{{ */ - zlog(ZLOG_NOTICE, "\trlimit_files = %d", fpm_global_config.rlimit_files); - zlog(ZLOG_NOTICE, "\trlimit_core = %d", fpm_global_config.rlimit_core); - zlog(ZLOG_NOTICE, "\tevents.mechanism = %s", fpm_event_machanism_name()); -+#ifdef HAVE_SYSTEMD -+ zlog(ZLOG_NOTICE, "\tsystemd_interval = %ds", fpm_global_config.systemd_interval/1000); -+#endif - zlog(ZLOG_NOTICE, " "); - - for (wp = fpm_worker_all_pools; wp; wp = wp->next) { -diff -up ../sapi/fpm/fpm/fpm_conf.h.systemd ../sapi/fpm/fpm/fpm_conf.h ---- ../sapi/fpm/fpm/fpm_conf.h.systemd 2012-12-05 11:40:39.000000000 +0100 -+++ ../sapi/fpm/fpm/fpm_conf.h 2013-05-20 09:44:23.438365518 +0200 -@@ -40,6 +40,10 @@ struct fpm_global_config_s { - int rlimit_files; - int rlimit_core; - char *events_mechanism; -+#ifdef HAVE_SYSTEMD -+ int systemd_watchdog; -+ int systemd_interval; -+#endif - }; - - extern struct fpm_global_config_s fpm_global_config; -diff -up ../sapi/fpm/fpm/fpm_events.c.systemd ../sapi/fpm/fpm/fpm_events.c ---- ../sapi/fpm/fpm/fpm_events.c.systemd 2012-12-05 11:40:39.000000000 +0100 -+++ ../sapi/fpm/fpm/fpm_events.c 2013-05-20 09:44:23.439365522 +0200 -@@ -29,6 +29,10 @@ - #include "events/port.h" - #include "events/kqueue.h" - -+#ifdef HAVE_SYSTEMD -+#include "fpm_systemd.h" -+#endif -+ - #define fpm_event_set_timeout(ev, now) timeradd(&(now), &(ev)->frequency, &(ev)->timeout); - - static void fpm_event_cleanup(int which, void *arg); -@@ -361,6 +365,10 @@ void fpm_event_loop(int err) /* {{{ */ - - zlog(ZLOG_DEBUG, "%zu bytes have been reserved in SHM", fpm_shm_get_size_allocated()); - zlog(ZLOG_NOTICE, "ready to handle connections"); -+ -+#ifdef HAVE_SYSTEMD -+ fpm_systemd_heartbeat(NULL, 0, NULL); -+#endif - } - - while (1) { -diff -up ../sapi/fpm/fpm/fpm_systemd.c.systemd ../sapi/fpm/fpm/fpm_systemd.c ---- ../sapi/fpm/fpm/fpm_systemd.c.systemd 2013-05-20 09:44:23.439365522 +0200 -+++ ../sapi/fpm/fpm/fpm_systemd.c 2013-05-20 09:44:23.439365522 +0200 -@@ -0,0 +1,113 @@ -+#include "fpm_config.h" -+ -+#include <sys/types.h> -+#include <systemd/sd-daemon.h> -+ -+#include "fpm.h" -+#include "fpm_clock.h" -+#include "fpm_worker_pool.h" -+#include "fpm_scoreboard.h" -+#include "zlog.h" -+#include "fpm_systemd.h" -+ -+ -+static void fpm_systemd() /* {{{ */ -+{ -+ static unsigned long int last=0; -+ struct fpm_worker_pool_s *wp; -+ unsigned long int requests=0, slow_req=0; -+ int active=0, idle=0; -+ -+ -+ for (wp = fpm_worker_all_pools; wp; wp = wp->next) { -+ if (wp->scoreboard) { -+ active += wp->scoreboard->active; -+ idle += wp->scoreboard->idle; -+ requests += wp->scoreboard->requests; -+ slow_req += wp->scoreboard->slow_rq; -+ } -+ } -+ -+/* -+ zlog(ZLOG_DEBUG, "systemd %s (Processes active:%d, idle:%d, Requests:%lu, slow:%lu, Traffic:%.3greq/sec)", -+ fpm_global_config.systemd_watchdog ? "watchdog" : "heartbeat", -+ active, idle, requests, slow_req, ((float)requests - last) * 1000.0 / fpm_global_config.systemd_interval); -+*/ -+ -+ if (0 > sd_notifyf(0, "READY=1\n%s" -+ "STATUS=Processes active: %d, idle: %d, Requests: %lu, slow: %lu, Traffic: %.3greq/sec", -+ fpm_global_config.systemd_watchdog ? "WATCHDOG=1\n" : "", -+ active, idle, requests, slow_req, ((float)requests - last) * 1000.0 / fpm_global_config.systemd_interval)) { -+ zlog(ZLOG_NOTICE, "failed to notify status to systemd"); -+ } -+ -+ last = requests; -+} -+/* }}} */ -+ -+void fpm_systemd_heartbeat(struct fpm_event_s *ev, short which, void *arg) /* {{{ */ -+{ -+ static struct fpm_event_s heartbeat; -+ -+ if (fpm_globals.parent_pid != getpid()) { -+ return; /* sanity check */ -+ } -+ -+ if (which == FPM_EV_TIMEOUT) { -+ fpm_systemd(); -+ -+ return; -+ } -+ -+ if (0 > sd_notifyf(0, "READY=1\n" -+ "STATUS=Ready to handle connections\n" -+ "MAINPID=%lu", -+ (unsigned long) getpid())) { -+ zlog(ZLOG_WARNING, "failed to notify start to systemd"); -+ } else { -+ zlog(ZLOG_DEBUG, "have notify start to systemd"); -+ } -+ -+ /* first call without setting which to initialize the timer */ -+ if (fpm_global_config.systemd_interval > 0) { -+ fpm_event_set_timer(&heartbeat, FPM_EV_PERSIST, &fpm_systemd_heartbeat, NULL); -+ fpm_event_add(&heartbeat, fpm_global_config.systemd_interval); -+ zlog(ZLOG_NOTICE, "systemd monitor interval set to %dms", fpm_global_config.systemd_interval); -+ } else { -+ zlog(ZLOG_NOTICE, "systemd monitor disabled"); -+ } -+} -+/* }}} */ -+ -+int fpm_systemd_conf() /* {{{ */ -+{ -+ char *watchdog; -+ int interval = 0; -+ -+ watchdog = getenv("WATCHDOG_USEC"); -+ if (watchdog) { -+ /* usec to msec, and half the configured delay */ -+ interval = (int)(atol(watchdog) / 2000L); -+ zlog(ZLOG_DEBUG, "WATCHDOG_USEC=%s, interval=%d", watchdog, interval); -+ } -+ -+ if (interval > 1000) { -+ if (fpm_global_config.systemd_interval > 0) { -+ zlog(ZLOG_WARNING, "systemd_interval option ignored"); -+ } -+ zlog(ZLOG_NOTICE, "systemd watchdog configured to %.3gsec", (float)interval / 1000.0); -+ fpm_global_config.systemd_watchdog = 1; -+ fpm_global_config.systemd_interval = interval; -+ -+ } else if (fpm_global_config.systemd_interval < 0) { -+ /* not set => default value */ -+ fpm_global_config.systemd_interval = FPM_SYSTEMD_DEFAULT_HEARTBEAT; -+ -+ } else { -+ /* sec to msec */ -+ fpm_global_config.systemd_interval *= 1000; -+ } -+ return 0; -+} -+/* }}} */ -+ -diff -up ../sapi/fpm/fpm/fpm_systemd.h.systemd ../sapi/fpm/fpm/fpm_systemd.h ---- ../sapi/fpm/fpm/fpm_systemd.h.systemd 2013-05-20 09:44:23.440365526 +0200 -+++ ../sapi/fpm/fpm/fpm_systemd.h 2013-05-20 09:44:23.440365526 +0200 -@@ -0,0 +1,13 @@ -+#ifndef FPM_SYSTEMD_H -+#define FPM_SYSTEMD_H 1 -+ -+#include "fpm_events.h" -+ -+/* 10s (in ms) heartbeat for systemd status */ -+#define FPM_SYSTEMD_DEFAULT_HEARTBEAT (10000) -+ -+void fpm_systemd_heartbeat(struct fpm_event_s *ev, short which, void *arg); -+int fpm_systemd_conf(); -+ -+#endif -+ -diff -up ../sapi/fpm/php-fpm.conf.in.systemd ../sapi/fpm/php-fpm.conf.in ---- ../sapi/fpm/php-fpm.conf.in.systemd 2013-05-20 09:53:48.718512646 +0200 -+++ ../sapi/fpm/php-fpm.conf.in 2013-05-20 09:58:26.831568875 +0200 -@@ -105,7 +105,15 @@ - ; - /dev/poll (Solaris >= 7) - ; - port (Solaris >= 10) - ; Default Value: not set (auto detection) --; events.mechanism = epoll -+;events.mechanism = epoll -+ -+; When FPM is build with systemd integration, specify the interval, -+; in second, between health report notification to systemd. -+; Set to 0 to disable. -+; Available Units: s(econds), m(inutes), h(ours) -+; Default Unit: seconds -+; Default value: 10 -+;systemd_interval = 10 - - ;;;;;;;;;;;;;;;;;;;; - ; Pool Definitions ; -diff -up ../sapi/fpm/php-fpm.service.in.systemd ../sapi/fpm/php-fpm.service.in ---- ../sapi/fpm/php-fpm.service.in.systemd 2012-12-05 11:40:39.000000000 +0100 -+++ ../sapi/fpm/php-fpm.service.in 2013-05-20 09:44:23.440365526 +0200 -@@ -3,6 +3,7 @@ Description=The PHP FastCGI Process Mana - After=syslog.target network.target - - [Service] -+Type=@php_fpm_systemd@ - PIDFile=@localstatedir@/run/php-fpm.pid - ExecStart=@sbindir@/php-fpm --nodaemonize --fpm-config @sysconfdir@/php-fpm.conf - ExecReload=/bin/kill -USR2 $MAINPID diff --git a/php-5.5.10-bug66762.patch b/php-5.5.10-bug66762.patch deleted file mode 100644 index f45f44f..0000000 --- a/php-5.5.10-bug66762.patch +++ /dev/null @@ -1,97 +0,0 @@ -diff -up ext/mysqli/mysqli_api.c.orig ext/mysqli/mysqli_api.c ---- ext/mysqli/mysqli_api.c.orig 2014-02-05 11:00:36.000000000 +0100 -+++ ext/mysqli/mysqli_api.c 2014-02-25 08:16:43.597710792 +0100 -@@ -1869,6 +1869,10 @@ PHP_FUNCTION(mysqli_prepare) - efree(stmt); - RETURN_FALSE; - } -+#ifndef MYSQLI_USE_MYSQLND -+ stmt->link_handle = Z_OBJ_HANDLE(*mysql_link); -+ zend_objects_store_add_ref_by_handle(stmt->link_handle TSRMLS_CC); -+#endif - - mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE)); - mysqli_resource->ptr = (void *)stmt; -@@ -2413,6 +2417,10 @@ PHP_FUNCTION(mysqli_stmt_init) - efree(stmt); - RETURN_FALSE; - } -+#ifndef MYSQLI_USE_MYSQLND -+ stmt->link_handle = Z_OBJ_HANDLE(*mysql_link); -+ zend_objects_store_add_ref_by_handle(stmt->link_handle TSRMLS_CC); -+#endif - - mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE)); - mysqli_resource->status = MYSQLI_STATUS_INITIALIZED; -diff -up ext/mysqli/mysqli.c.orig ext/mysqli/mysqli.c ---- ext/mysqli/mysqli.c.orig 2014-02-05 11:00:36.000000000 +0100 -+++ ext/mysqli/mysqli.c 2014-02-25 08:21:37.336860837 +0100 -@@ -176,8 +176,11 @@ void php_clear_stmt_bind(MY_STMT *stmt T - php_free_stmt_bind_buffer(stmt->param, FETCH_SIMPLE); - /* Clean output bind */ - php_free_stmt_bind_buffer(stmt->result, FETCH_RESULT); --#endif - -+ if (stmt->link_handle) { -+ zend_objects_store_del_ref_by_handle(stmt->link_handle TSRMLS_CC); -+ } -+#endif - if (stmt->query) { - efree(stmt->query); - } -@@ -1069,6 +1072,10 @@ PHP_FUNCTION(mysqli_stmt_construct) - efree(stmt); - RETURN_FALSE; - } -+#ifndef MYSQLI_USE_MYSQLND -+ stmt->link_handle = Z_OBJ_HANDLE(*mysql_link); -+ zend_objects_store_add_ref_by_handle(stmt->link_handle TSRMLS_CC); -+#endif - - mysqli_resource = (MYSQLI_RESOURCE *)ecalloc (1, sizeof(MYSQLI_RESOURCE)); - mysqli_resource->ptr = (void *)stmt; -diff -up ext/mysqli/php_mysqli_structs.h.orig ext/mysqli/php_mysqli_structs.h ---- ext/mysqli/php_mysqli_structs.h.orig 2014-02-05 11:00:36.000000000 +0100 -+++ ext/mysqli/php_mysqli_structs.h 2014-02-25 08:16:43.598710795 +0100 -@@ -116,6 +116,10 @@ typedef struct { - BIND_BUFFER param; - BIND_BUFFER result; - char *query; -+#ifndef MYSQLI_USE_MYSQLND -+ /* used to manage refcount with libmysql (already implement in mysqlnd) */ -+ zend_object_handle link_handle; -+#endif - } MY_STMT; - - typedef struct { -diff -up ext/mysqli/tests/bug66762.phpt.orig ext/mysqli/tests/bug66762.phpt ---- ext/mysqli/tests/bug66762.phpt.orig 2014-02-25 08:16:17.118619251 +0100 -+++ ext/mysqli/tests/bug66762.phpt 2014-02-25 08:31:33.252385139 +0100 -@@ -0,0 +1,26 @@ -+--TEST-- -+Bug #66762 mysqli@libmysql segfault in mysqli_stmt::bind_result() when link closed -+--SKIPIF-- -+<?php -+require_once('skipif.inc'); -+require_once('skipifconnectfailure.inc'); -+?> -+--FILE-- -+<?php -+ require_once("connect.inc"); -+ -+ $mysqli = new mysqli($host, $user, $passwd, $db); -+ -+ $read_stmt = $mysqli->prepare("SELECT 1"); -+ -+ var_dump($read_stmt->bind_result($data)); -+ -+ unset($mysqli); -+ var_dump($read_stmt->bind_result($data)); -+ -+?> -+done! -+--EXPECT-- -+bool(true) -+bool(true) -+done! -\ Pas de fin de ligne à la fin du fichier diff --git a/php-5.5.10-leak.patch b/php-5.5.10-leak.patch deleted file mode 100644 index 5c8e9dc..0000000 --- a/php-5.5.10-leak.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 10eb0070700382f966bf260e44135e1f724a15d2 Mon Sep 17 00:00:00 2001 -From: Anatol Belski <ab@php.net> -Date: Thu, 20 Feb 2014 18:53:53 +0100 -Subject: [PATCH] fixed leak introduced after CVE/upgrade - ---- - ext/fileinfo/libmagic/softmagic.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/ext/fileinfo/libmagic/softmagic.c b/ext/fileinfo/libmagic/softmagic.c -index 7c5f628..33970e5 100644 ---- a/ext/fileinfo/libmagic/softmagic.c -+++ b/ext/fileinfo/libmagic/softmagic.c -@@ -1701,6 +1701,8 @@ mget(struct magic_set *ms, const unsigned char *s, struct magic *m, - return -1; - if (file_printf(ms, "%s", rbuf) == -1) - return -1; -+ } -+ if (rbuf) { - efree(rbuf); - } - return rv; --- -1.8.4.3 - diff --git a/php-5.5.2-system-libzip.patch b/php-5.5.2-system-libzip.patch deleted file mode 100644 index d6bc1bb..0000000 --- a/php-5.5.2-system-libzip.patch +++ /dev/null @@ -1,587 +0,0 @@ -diff -up php-5.5.2RC1/ext/zip/config.m4.systzip php-5.5.2RC1/ext/zip/config.m4 ---- php-5.5.2RC1/ext/zip/config.m4.systzip 2013-07-31 10:41:15.000000000 +0200 -+++ php-5.5.2RC1/ext/zip/config.m4 2013-08-08 09:24:07.577567241 +0200 -@@ -13,65 +13,116 @@ fi - PHP_ARG_WITH(pcre-dir, pcre install prefix, - [ --with-pcre-dir ZIP: pcre install prefix], no, no) - -+PHP_ARG_WITH(libzip, libzip, -+[ --with-libzip[=DIR] ZIP: use libzip], no, no) -+ - if test "$PHP_ZIP" != "no"; then -+ if test "$PHP_LIBZIP" != "no"; then -+ -+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no) -+ -+ dnl system libzip, depends on libzip -+ AC_MSG_CHECKING(for libzip) -+ if test -r $PHP_LIBZIP/include/zip.h; then -+ LIBZIP_CFLAGS="-I$PHP_LIBZIP/include" -+ LIBZIP_LIBDIR="$PHP_LIBZIP/$PHP_LIBDIR" -+ AC_MSG_RESULT(from option: found in $PHP_LIBZIP) -+ -+ elif test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libzip; then -+ LIBZIP_CFLAGS=`$PKG_CONFIG libzip --cflags` -+ LIBZIP_LIBDIR=`$PKG_CONFIG libzip --variable=libdir` -+ AC_MSG_RESULT(from pkgconfig: found in $LIBZIP_LIBDIR) - -- if test "$PHP_ZLIB_DIR" != "no" && test "$PHP_ZLIB_DIR" != "yes"; then -- if test -f "$PHP_ZLIB_DIR/include/zlib/zlib.h"; then -- PHP_ZLIB_DIR="$PHP_ZLIB_DIR" -- PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include/zlib" -- elif test -f "$PHP_ZLIB_DIR/include/zlib.h"; then -- PHP_ZLIB_DIR="$PHP_ZLIB_DIR" -- PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include" - else -- AC_MSG_ERROR([Can not find zlib headers under "$PHP_ZLIB_DIR"]) -+ for i in /usr/local /usr; do -+ if test -r $i/include/zip.h; then -+ LIBZIP_CFLAGS="-I$i/include" -+ LIBZIP_LIBDIR="$i/$PHP_LIBDIR" -+ AC_MSG_RESULT(in default path: found in $i) -+ break -+ fi -+ done - fi -+ -+ if test -z "$LIBZIP_LIBDIR"; then -+ AC_MSG_RESULT(not found) -+ AC_MSG_ERROR(Please reinstall the libzip distribution) -+ fi -+ -+ dnl Could not think of a simple way to check libzip for overwrite support -+ PHP_CHECK_LIBRARY(zip, zip_open, -+ [ -+ PHP_ADD_LIBRARY_WITH_PATH(zip, $LIBZIP_LIBDIR, ZIP_SHARED_LIBADD) -+ AC_DEFINE(HAVE_LIBZIP,1,[ ]) -+ ], [ -+ AC_MSG_ERROR(could not find usable libzip) -+ ], [ -+ -L$LIBZIP_LIBDIR -+ ]) -+ -+ AC_DEFINE(HAVE_ZIP,1,[ ]) -+ PHP_NEW_EXTENSION(zip, php_zip.c zip_stream.c, $ext_shared,, $LIBZIP_CFLAGS) -+ PHP_SUBST(ZIP_SHARED_LIBADD) - else -- for i in /usr/local /usr; do -- if test -f "$i/include/zlib/zlib.h"; then -- PHP_ZLIB_DIR="$i" -- PHP_ZLIB_INCDIR="$i/include/zlib" -- elif test -f "$i/include/zlib.h"; then -- PHP_ZLIB_DIR="$i" -- PHP_ZLIB_INCDIR="$i/include" -+ -+ dnl bundled libzip, depends on zlib -+ if test "$PHP_ZLIB_DIR" != "no" && test "$PHP_ZLIB_DIR" != "yes"; then -+ if test -f "$PHP_ZLIB_DIR/include/zlib/zlib.h"; then -+ PHP_ZLIB_DIR="$PHP_ZLIB_DIR" -+ PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include/zlib" -+ elif test -f "$PHP_ZLIB_DIR/include/zlib.h"; then -+ PHP_ZLIB_DIR="$PHP_ZLIB_DIR" -+ PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include" -+ else -+ AC_MSG_ERROR([Can not find zlib headers under "$PHP_ZLIB_DIR"]) - fi -- done -- fi -+ else -+ for i in /usr/local /usr; do -+ if test -f "$i/include/zlib/zlib.h"; then -+ PHP_ZLIB_DIR="$i" -+ PHP_ZLIB_INCDIR="$i/include/zlib" -+ elif test -f "$i/include/zlib.h"; then -+ PHP_ZLIB_DIR="$i" -+ PHP_ZLIB_INCDIR="$i/include" -+ fi -+ done -+ fi - -- dnl # zlib -- AC_MSG_CHECKING([for the location of zlib]) -- if test "$PHP_ZLIB_DIR" = "no"; then -- AC_MSG_ERROR([zip support requires ZLIB. Use --with-zlib-dir=<DIR> to specify prefix where ZLIB include and library are located]) -- else -- AC_MSG_RESULT([$PHP_ZLIB_DIR]) -- PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/$PHP_LIBDIR, ZIP_SHARED_LIBADD) -- PHP_ADD_INCLUDE($PHP_ZLIB_INCDIR) -- fi -+ dnl # zlib -+ AC_MSG_CHECKING([for the location of zlib]) -+ if test "$PHP_ZLIB_DIR" = "no"; then -+ AC_MSG_ERROR([zip support requires ZLIB. Use --with-zlib-dir=<DIR> to specify prefix where ZLIB include and library are located]) -+ else -+ AC_MSG_RESULT([$PHP_ZLIB_DIR]) -+ PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR/$PHP_LIBDIR, ZIP_SHARED_LIBADD) -+ PHP_ADD_INCLUDE($PHP_ZLIB_INCDIR) -+ fi - -- dnl This is PECL build, check if bundled PCRE library is used -- old_CPPFLAGS=$CPPFLAGS -- CPPFLAGS=$INCLUDES -- AC_EGREP_CPP(yes,[ -+ dnl This is PECL build, check if bundled PCRE library is used -+ old_CPPFLAGS=$CPPFLAGS -+ CPPFLAGS=$INCLUDES -+ AC_EGREP_CPP(yes,[ - #include <main/php_config.h> - #if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE) - yes - #endif -- ],[ -- PHP_PCRE_REGEX=yes -- ],[ -- AC_EGREP_CPP(yes,[ -+ ],[ -+ PHP_PCRE_REGEX=yes -+ ],[ -+ AC_EGREP_CPP(yes,[ - #include <main/php_config.h> - #if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE) - yes - #endif -- ],[ -- PHP_PCRE_REGEX=pecl -- ],[ -- PHP_PCRE_REGEX=no -+ ],[ -+ PHP_PCRE_REGEX=pecl -+ ],[ -+ PHP_PCRE_REGEX=no -+ ]) - ]) -- ]) -- CPPFLAGS=$old_CPPFLAGS -+ CPPFLAGS=$old_CPPFLAGS - -- PHP_ZIP_SOURCES="$PHP_ZIP_SOURCES lib/zip_add.c lib/zip_error.c lib/zip_fclose.c \ -+ PHP_ZIP_SOURCES="$PHP_ZIP_SOURCES lib/zip_add.c lib/zip_error.c lib/zip_fclose.c \ - lib/zip_fread.c lib/zip_open.c lib/zip_source_filep.c \ - lib/zip_strerror.c lib/zip_close.c lib/zip_error_get.c \ - lib/zip_file_error_get.c lib/zip_free.c lib/zip_rename.c \ -@@ -98,10 +149,11 @@ yes - lib/zip_source_open.c lib/zip_source_pkware.c lib/zip_source_pop.c \ - lib/zip_source_read.c lib/zip_source_stat.c" - -- AC_DEFINE(HAVE_ZIP,1,[ ]) -- PHP_NEW_EXTENSION(zip, php_zip.c zip_stream.c $PHP_ZIP_SOURCES, $ext_shared) -- PHP_ADD_BUILD_DIR($ext_builddir/lib, 1) -- PHP_SUBST(ZIP_SHARED_LIBADD) -+ AC_DEFINE(HAVE_ZIP,1,[ ]) -+ PHP_NEW_EXTENSION(zip, php_zip.c zip_stream.c $PHP_ZIP_SOURCES, $ext_shared) -+ PHP_ADD_BUILD_DIR($ext_builddir/lib, 1) -+ PHP_SUBST(ZIP_SHARED_LIBADD) -+ fi - - dnl so we always include the known-good working hack. - PHP_ADD_MAKEFILE_FRAGMENT -diff -up php-5.5.2RC1/ext/zip/libzip-missing-0.10.h.systzip php-5.5.2RC1/ext/zip/libzip-missing-0.10.h ---- php-5.5.2RC1/ext/zip/libzip-missing-0.10.h.systzip 2013-08-08 09:34:53.338910267 +0200 -+++ php-5.5.2RC1/ext/zip/libzip-missing-0.10.h 2013-08-08 09:26:21.244072278 +0200 -@@ -0,0 +1,219 @@ -+/* Copied from libzip 0.10 */ -+ -+/* state of change of a file in zip archive */ -+ -+enum zip_state { ZIP_ST_UNCHANGED, ZIP_ST_DELETED, ZIP_ST_REPLACED, -+ ZIP_ST_ADDED, ZIP_ST_RENAMED }; -+ -+/* error source for layered sources */ -+ -+enum zip_les { ZIP_LES_NONE, ZIP_LES_UPPER, ZIP_LES_LOWER, ZIP_LES_INVAL }; -+ -+typedef zip_int64_t (*zip_source_layered_callback)(struct zip_source *, void *, -+ void *, zip_uint64_t, -+ enum zip_source_cmd); -+ -+struct zip_error { -+ int zip_err; /* libzip error code (ZIP_ER_*) */ -+ int sys_err; /* copy of errno (E*) or zlib error code */ -+ char *str; /* string representation or NULL */ -+}; -+ -+/* zip archive, part of API */ -+ -+struct zip { -+ char *zn; /* file name */ -+ FILE *zp; /* file */ -+ struct zip_error error; /* error information */ -+ -+ unsigned int flags; /* archive global flags */ -+ unsigned int ch_flags; /* changed archive global flags */ -+ -+ char *default_password; /* password used when no other supplied */ -+ -+ struct zip_cdir *cdir; /* central directory */ -+ char *ch_comment; /* changed archive comment */ -+ int ch_comment_len; /* length of changed zip archive -+ * comment, -1 if unchanged */ -+ zip_uint64_t nentry; /* number of entries */ -+ zip_uint64_t nentry_alloc; /* number of entries allocated */ -+ struct zip_entry *entry; /* entries */ -+ int nfile; /* number of opened files within archive */ -+ int nfile_alloc; /* number of files allocated */ -+ struct zip_file **file; /* opened files within archive */ -+}; -+ -+/* file in zip archive, part of API */ -+ -+struct zip_file { -+ struct zip *za; /* zip archive containing this file */ -+ struct zip_error error; /* error information */ -+ int eof; -+ struct zip_source *src; /* data source */ -+}; -+ -+/* zip archive directory entry (central or local) */ -+ -+struct zip_dirent { -+ unsigned short version_madeby; /* (c) version of creator */ -+ unsigned short version_needed; /* (cl) version needed to extract */ -+ unsigned short bitflags; /* (cl) general purpose bit flag */ -+ unsigned short comp_method; /* (cl) compression method used */ -+ time_t last_mod; /* (cl) time of last modification */ -+ unsigned int crc; /* (cl) CRC-32 of uncompressed data */ -+ unsigned int comp_size; /* (cl) size of commpressed data */ -+ unsigned int uncomp_size; /* (cl) size of uncommpressed data */ -+ char *filename; /* (cl) file name (NUL-terminated) */ -+ unsigned short filename_len; /* (cl) length of filename (w/o NUL) */ -+ char *extrafield; /* (cl) extra field */ -+ unsigned short extrafield_len; /* (cl) length of extra field */ -+ char *comment; /* (c) file comment */ -+ unsigned short comment_len; /* (c) length of file comment */ -+ unsigned short disk_number; /* (c) disk number start */ -+ unsigned short int_attrib; /* (c) internal file attributes */ -+ unsigned int ext_attrib; /* (c) external file attributes */ -+ unsigned int offset; /* (c) offset of local header */ -+}; -+ -+/* zip archive central directory */ -+ -+struct zip_cdir { -+ struct zip_dirent *entry; /* directory entries */ -+ int nentry; /* number of entries */ -+ -+ unsigned int size; /* size of central direcotry */ -+ unsigned int offset; /* offset of central directory in file */ -+ char *comment; /* zip archive comment */ -+ unsigned short comment_len; /* length of zip archive comment */ -+}; -+ -+struct zip_source { -+ struct zip_source *src; -+ union { -+ zip_source_callback f; -+ zip_source_layered_callback l; -+ } cb; -+ void *ud; -+ enum zip_les error_source; -+ int is_open; -+}; -+ -+/* entry in zip archive directory */ -+ -+struct zip_entry { -+ enum zip_state state; -+ struct zip_source *source; -+ char *ch_filename; -+ char *ch_extra; -+ int ch_extra_len; -+ char *ch_comment; -+ int ch_comment_len; -+}; -+ -+void _zip_dirent_finalize(struct zip_dirent *zde) -+{ -+ free(zde->filename); -+ zde->filename = NULL; -+ free(zde->extrafield); -+ zde->extrafield = NULL; -+ free(zde->comment); -+ zde->comment = NULL; -+} -+ -+void _zip_cdir_free(struct zip_cdir *cd) -+{ -+ int i; -+ -+ if (!cd) -+ return; -+ -+ for (i=0; i<cd->nentry; i++) -+ _zip_dirent_finalize(cd->entry+i); -+ free(cd->comment); -+ free(cd->entry); -+ free(cd); -+} -+ -+void _zip_error_fini(struct zip_error *err) -+{ -+ free(err->str); -+ err->str = NULL; -+} -+ -+void _zip_error_init(struct zip_error *err) -+{ -+ err->zip_err = ZIP_ER_OK; -+ err->sys_err = 0; -+ err->str = NULL; -+} -+ -+void _zip_unchange_data(struct zip_entry *ze) -+{ -+ if (ze->source) { -+ zip_source_free(ze->source); -+ ze->source = NULL; -+ } -+ -+ ze->state = ze->ch_filename ? ZIP_ST_RENAMED : ZIP_ST_UNCHANGED; -+} -+ -+void _zip_entry_free(struct zip_entry *ze) -+{ -+ free(ze->ch_filename); -+ ze->ch_filename = NULL; -+ free(ze->ch_extra); -+ ze->ch_extra = NULL; -+ ze->ch_extra_len = -1; -+ free(ze->ch_comment); -+ ze->ch_comment = NULL; -+ ze->ch_comment_len = -1; -+ -+ _zip_unchange_data(ze); -+} -+ -+void -+_zip_error_set(struct zip_error *err, int ze, int se) -+{ -+ if (err) { -+ err->zip_err = ze; -+ err->sys_err = se; -+ } -+} -+ -+void _zip_free(struct zip *za) -+{ -+ int i; -+ -+ if (za == NULL) -+ return; -+ -+ if (za->zn) -+ free(za->zn); -+ -+ if (za->zp) -+ fclose(za->zp); -+ -+ free(za->default_password); -+ _zip_cdir_free(za->cdir); -+ free(za->ch_comment); -+ -+ if (za->entry) { -+ for (i=0; i<za->nentry; i++) { -+ _zip_entry_free(za->entry+i); -+ } -+ free(za->entry); -+ } -+ -+ for (i=0; i<za->nfile; i++) { -+ if (za->file[i]->error.zip_err == ZIP_ER_OK) { -+ _zip_error_set(&za->file[i]->error, ZIP_ER_ZIPCLOSED, 0); -+ za->file[i]->za = NULL; -+ } -+ } -+ -+ free(za->file); -+ free(za); -+ return; -+} -+ -+ -diff -up php-5.5.2RC1/ext/zip/php_zip.c.systzip php-5.5.2RC1/ext/zip/php_zip.c ---- php-5.5.2RC1/ext/zip/php_zip.c.systzip 2013-07-31 10:41:15.000000000 +0200 -+++ php-5.5.2RC1/ext/zip/php_zip.c 2013-08-08 09:33:59.367735224 +0200 -@@ -30,8 +30,20 @@ - #include "ext/pcre/php_pcre.h" - #include "ext/standard/php_filestat.h" - #include "php_zip.h" -+ -+#if defined(HAVE_LIBZIP) -+#include <zip.h> -+ -+#if LIBZIP_VERSION_MAJOR == 0 && LIBZIP_VERSION_MINOR == 10 -+#include "libzip-missing-0.10.h" -+#elif LIBZIP_VERSION_MAJOR == 0 && LIBZIP_VERSION_MINOR == 11 -+#include "libzip-missing-0.11.h" -+#endif -+ -+#else - #include "lib/zip.h" - #include "lib/zipint.h" -+#endif - - /* zip_open is a macro for renaming libzip zipopen, so we need to use PHP_NAMED_FUNCTION */ - static PHP_NAMED_FUNCTION(zif_zip_open); -@@ -1631,6 +1643,10 @@ static ZIPARCHIVE_METHOD(addEmptyDir) - } - - idx = zip_stat(intern, s, 0, &sb); -+ /* We don't care about the NOENT status error here. */ -+ if (intern->error.zip_err == ZIP_ER_NOENT) { -+ _zip_error_set(&intern->error, ZIP_ER_OK, 0); -+ } - if (idx >= 0) { - RETVAL_FALSE; - } else { -@@ -1853,6 +1869,10 @@ static ZIPARCHIVE_METHOD(addFromString) - } - - cur_idx = zip_name_locate(intern, (const char *)name, 0); -+ /* We don't care about the NOENT status error here. */ -+ if (intern->error.zip_err == ZIP_ER_NOENT) { -+ _zip_error_set(&intern->error, ZIP_ER_OK, 0); -+ } - /* TODO: fix _zip_replace */ - if (cur_idx >= 0) { - if (zip_delete(intern, cur_idx) == -1) { -@@ -2877,5 +2897,9 @@ static PHP_MINFO_FUNCTION(zip) - php_info_print_table_row(2, "Zip version", PHP_ZIP_VERSION_STRING); -- php_info_print_table_row(2, "Libzip version", LIBZIP_VERSION); -+#if defined(HAVE_LIBZIP) -+ php_info_print_table_row(2, "Compiled against libzip version", LIBZIP_VERSION); -+#else -+ php_info_print_table_row(2, "Bundled libzip version", LIBZIP_VERSION); -+#endif - - php_info_print_table_end(); - } -diff -up php-5.5.2RC1/ext/zip/php_zip.h.systzip php-5.5.2RC1/ext/zip/php_zip.h ---- php-5.5.2RC1/ext/zip/php_zip.h.systzip 2013-07-31 10:41:15.000000000 +0200 -+++ php-5.5.2RC1/ext/zip/php_zip.h 2013-08-08 09:24:07.579567249 +0200 -@@ -28,7 +28,11 @@ extern zend_module_entry zip_module_entr - #include "TSRM.h" - #endif - -+#if defined(HAVE_LIBZIP) -+#include <zip.h> -+#else - #include "lib/zip.h" -+#endif - - #define PHP_ZIP_VERSION_STRING "1.11.0" - -diff -up php-5.5.2RC1/ext/zip/tests/bug38943.phpt.systzip php-5.5.2RC1/ext/zip/tests/bug38943.phpt ---- php-5.5.2RC1/ext/zip/tests/bug38943.phpt.systzip 2013-07-31 10:41:15.000000000 +0200 -+++ php-5.5.2RC1/ext/zip/tests/bug38943.phpt 2013-08-08 09:24:07.579567249 +0200 -@@ -27,7 +27,7 @@ array(1) { - [0]=> - int(1) - } --object(myZip)#1 (%d) { -+object(myZip)#%d (%d) { - ["test":"myZip":private]=> - int(0) - ["testp"]=> -diff -up php-5.5.2RC1/ext/zip/tests/pecl12414.phpt.systzip php-5.5.2RC1/ext/zip/tests/pecl12414.phpt ---- php-5.5.2RC1/ext/zip/tests/pecl12414.phpt.systzip 2013-07-31 10:41:15.000000000 +0200 -+++ php-5.5.2RC1/ext/zip/tests/pecl12414.phpt 2013-08-08 09:24:07.579567249 +0200 -@@ -5,6 +5,8 @@ Bug #12414 ( extracting files from damag - /*$ */ - if(!extension_loaded('zip')) die('skip'); - ?> -+--XFAIL-- -+Doesn't work with system libzip (zip_readfile could not read from ...) - --FILE-- - <?php - $filename = 'MYLOGOV2.GFX'; -diff -up php-5.5.2RC1/ext/zip/zip_stream.c.systzip php-5.5.2RC1/ext/zip/zip_stream.c ---- php-5.5.2RC1/ext/zip/zip_stream.c.systzip 2013-07-31 10:41:15.000000000 +0200 -+++ php-5.5.2RC1/ext/zip/zip_stream.c 2013-08-08 09:24:07.580567252 +0200 -@@ -6,7 +6,11 @@ - #if HAVE_ZIP - #ifdef ZEND_ENGINE_2 - -+#if defined(HAVE_LIBZIP) -+#include <zip.h> -+#else - #include "lib/zip.h" -+#endif - - #include "php_streams.h" - #include "ext/standard/file.h" ---- php-5.5.2RC1/ext/zip/libzip-missing-0.11.h.systzip 2013-08-08 11:24:29.214626577 +0200 -+++ php-5.5.2RC1/ext/zip/libzip-missing-0.11.h 2013-08-08 11:39:16.058225056 +0200 -@@ -0,0 +1,73 @@ -+/* Copied from libzip 0.11.1 */ -+ -+/* error information */ -+ -+struct zip_error { -+ int zip_err; /* libzip error code (ZIP_ER_*) */ -+ int sys_err; /* copy of errno (E*) or zlib error code */ -+ char *str; /* string representation or NULL */ -+}; -+ -+/* zip archive, part of API */ -+ -+struct zip { -+ char *zn; /* file name */ -+ FILE *zp; /* file */ -+ unsigned int open_flags; /* flags passed to zip_open */ -+ struct zip_error error; /* error information */ -+ -+ unsigned int flags; /* archive global flags */ -+ unsigned int ch_flags; /* changed archive global flags */ -+ -+ char *default_password; /* password used when no other supplied */ -+ -+ struct zip_string *comment_orig; /* archive comment */ -+ struct zip_string *comment_changes; /* changed archive comment */ -+ int comment_changed; /* whether archive comment was changed */ -+ -+ zip_uint64_t nentry; /* number of entries */ -+ zip_uint64_t nentry_alloc; /* number of entries allocated */ -+ struct zip_entry *entry; /* entries */ -+ -+ unsigned int nfile; /* number of opened files within archive */ -+ unsigned int nfile_alloc; /* number of files allocated */ -+ struct zip_file **file; /* opened files within archive */ -+ -+ char *tempdir; /* custom temp dir (needed e.g. for OS X sandboxing) */ -+}; -+ -+/* file in zip archive, part of API */ -+ -+struct zip_file { -+ struct zip *za; /* zip archive containing this file */ -+ struct zip_error error; /* error information */ -+ int eof; -+ struct zip_source *src; /* data source */ -+}; -+ -+void -+_zip_error_fini(struct zip_error *err) -+{ -+ free(err->str); -+ err->str = NULL; -+} -+ -+void -+_zip_error_init(struct zip_error *err) -+{ -+ err->zip_err = ZIP_ER_OK; -+ err->sys_err = 0; -+ err->str = NULL; -+} -+ -+void -+_zip_error_set(struct zip_error *err, int ze, int se) -+{ -+ if (err) { -+ err->zip_err = ze; -+ err->sys_err = se; -+ } -+} -+ -+#define _zip_free(za) zip_discard(za) -+ @@ -78,9 +78,9 @@ ; 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 +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to ; application users can inadvertently leak otherwise secure information. ; This is php.ini-production INI file. @@ -138,16 +138,6 @@ ; 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 @@ -433,7 +423,7 @@ memory_limit = 128M ; E_NOTICE - run-time notices (these are warnings which often result ; from a bug in your code, but it's possible that it was ; intentional (e.g., using an uninitialized variable and -; relying on the fact it's automatically initialized to an +; relying on the fact it is automatically initialized to an ; empty string) ; E_STRICT - run-time notices, enable to have PHP suggest changes ; to your code which will ensure the best interoperability @@ -466,8 +456,8 @@ error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT ; 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. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. ; Possible Values: ; Off = Do not display any errors ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) @@ -481,8 +471,8 @@ display_errors = Off ; 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. +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. ; Default Value: Off ; Development Value: On ; Production Value: Off @@ -690,13 +680,29 @@ default_mimetype = "text/html" ; PHP's default character set is set to empty. ; http://php.net/default-charset -;default_charset = "UTF-8" +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; mbstring or iconv output handler is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = ; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is -; to disable this feature. If post reading is disabled through -; enable_post_data_reading, $HTTP_RAW_POST_DATA is *NOT* populated. +; to disable this feature and it will be removed in a future version. +; If post reading is disabled through enable_post_data_reading, +; $HTTP_RAW_POST_DATA is *NOT* populated. ; http://php.net/always-populate-raw-post-data -;always_populate_raw_post_data = On +;always_populate_raw_post_data = -1 ;;;;;;;;;;;;;;;;;;;;;;;;; ; Paths and Directories ; @@ -780,8 +786,8 @@ enable_dl = Off ;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 +; use when sending HTTP response code. If set to 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://php.net/cgi.rfc2616-headers @@ -902,9 +908,17 @@ cli_server.color = On ;filter.default_flags = [iconv] -;iconv.input_encoding = ISO-8859-1 -;iconv.internal_encoding = ISO-8859-1 -;iconv.output_encoding = ISO-8859-1 +; Use of this INI entory is deprecated, use global input_encoding instead. +; If empty, input_encoding is used. +;iconv.input_encoding = + +; Use of this INI entory is deprecated, use global internal_encoding instead. +; If empty, internal_encoding is used. +;iconv.internal_encoding = + +; Use of this INI entory is deprecated, use global output_encoding instead. +; If empty, output_encoding is used. +;iconv.output_encoding = [intl] ;intl.default_locale = @@ -1330,9 +1344,9 @@ session.save_handler = files ; ; where N is an integer. Instead of storing all the session files in ; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if you -; or your OS have problems with lots of files in one directory, and is -; a more efficient layout for servers that handle lots of sessions. +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. ; ; NOTE 1: PHP will not create this directory structure automatically. ; You can use the script in the ext/session dir for that purpose. @@ -1371,7 +1385,7 @@ session.use_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 combating ; 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. +; not the be-all and end-all of session hijacking defense, but it's a good start. ; http://php.net/session.use-only-cookies session.use_only_cookies = 1 @@ -1442,31 +1456,6 @@ session.gc_maxlifetime = 1440 ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): ; find /path/to/sessions -cmin +24 -type f | 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. -; 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. 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://php.net/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://php.net/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. @@ -1496,7 +1485,7 @@ session.cache_limiter = nocache session.cache_expire = 180 ; trans sid support is disabled by default. -; Use of trans sid may risk your users security. +; Use of trans sid may risk your users' security. ; Use this option with caution. ; - User may send URL contains active session ID ; to other person via. email/irc/etc. @@ -1661,23 +1650,30 @@ mssql.secure_connection = Off [mbstring] ; language for internal character representation. +; This affects mb_send_mail() and mbstrig.detect_order. ; http://php.net/mbstring.language ;mbstring.language = Japanese +; Use of this INI entory is deprecated, use global internal_encoding instead. ; internal/script encoding. -; Some encoding cannot work as internal encoding. -; (e.g. SJIS, BIG5, ISO-2022-*) +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding is used in order. ; http://php.net/mbstring.internal-encoding -;mbstring.internal_encoding = UTF-8 +;mbstring.internal_encoding = +; Use of this INI entory is deprecated, use global input_encoding instead. ; http input encoding. +; If empty, input_encoding is used. +; mbstring.encoding_traslation = On is needed to use this setting. ; http://php.net/mbstring.http-input -;mbstring.http_input = UTF-8 +;mbstring.http_input = -; http output encoding. mb_output_handler must be -; registered as output buffer to function +; Use of this INI entory is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, output_encoding is used. ; http://php.net/mbstring.http-output -;mbstring.http_output = pass +;mbstring.http_output = ; enable automatic encoding translation according to ; mbstring.internal_encoding setting. Input chars are @@ -1688,7 +1684,7 @@ mssql.secure_connection = Off ;mbstring.encoding_translation = Off ; automatic encoding detection order. -; auto means +; "auto" detect order is changed accoding to mbstring.language ; http://php.net/mbstring.detect-order ;mbstring.detect_order = auto @@ -1709,6 +1705,7 @@ mssql.secure_connection = Off ;mbstring.func_overload = 0 ; enable strict encoding detection. +; Default: Off ;mbstring.strict_detection = On ; This directive specifies the regex pattern of content types for which mb_output_handler() @@ -1,19 +1,19 @@ # API/ABI check -%global apiver 20121113 -%global zendver 20121212 +%global apiver 20131106 +%global zendver 20131226 %global pdover 20080721 # Extension version -%global opcachever 7.0.3 -%global oci8ver 1.4.10 +%global opcachever 7.0.4-dev +%global oci8ver 2.0.7 # Use for first build of PHP (before pecl/zip and pecl/jsonc) -%global php_bootstrap 0 +%global php_bootstrap 1 # Adds -z now to the linker flags %global _hardened_build 1 # version used for php embedded library soname -%global embed_version 5.5 +%global embed_version 5.6 %global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock) @@ -107,14 +107,14 @@ %global db_devel libdb-devel %endif -#global snapdate 201308300430 -%global rcver RC1 +#global snapdate 201402280830 +%global rcver alpha3 Summary: PHP scripting language for creating dynamic web sites Name: php -Version: 5.5.10 +Version: 5.6.0 %if 0%{?snapdate:1}%{?rcver:1} -Release: 0.4.%{?snapdate}%{?rcver}%{?dist} +Release: 0.1.%{?snapdate}%{?rcver}%{?dist} %else Release: 1%{?dist} %endif @@ -126,7 +126,7 @@ Group: Development/Languages URL: http://www.php.net/ %if 0%{?snapdate} -Source0: http://snaps.php.net/php5.5-%{snapdate}.tar.xz +Source0: http://snaps.php.net/php5.6-%{snapdate}.tar.xz %else # Need to download official tarball and strip non-free stuff # wget http://www.php.net/distributions/php-%{version}%{?rcver}.tar.xz @@ -164,8 +164,6 @@ Patch40: php-5.4.0-dlopen.patch Patch42: php-5.3.1-systzdata-v10.patch # See http://bugs.php.net/53436 Patch43: php-5.4.0-phpize.patch -# Use system libzip instead of bundled one -Patch44: php-5.5.2-system-libzip.patch # Use -lldap_r for OpenLDAP Patch45: php-5.4.8-ldap_r.patch # Make php_config.h constant across builds @@ -177,8 +175,6 @@ Patch47: php-5.4.9-phpinfo.patch Patch91: php-5.3.7-oci8conf.patch # Upstream fixes (100+) -Patch101: php-5.5.10-leak.patch -Patch102: php-5.5.10-bug66762.patch # Security fixes (200+) @@ -257,13 +253,23 @@ Requires: php-common%{?_isa} = %{version}-%{release} Provides: php-cgi = %{version}-%{release}, php-cgi%{?_isa} = %{version}-%{release} Provides: php-pcntl, php-pcntl%{?_isa} Provides: php-readline, php-readline%{?_isa} -Obsoletes: php53-cli, php53u-cli, php54-cli, php55u-cli +Obsoletes: php53-cli, php53u-cli, php54-cli, php55u-cli, php56u-cli %description cli The php-cli package contains the command-line interface executing PHP scripts, /usr/bin/php, and the CGI interface. +%package dbg +Group: Development/Languages +Summary: The interactive PHP debugger +Requires: php-common%{?_isa} = %{version}-%{release} +Obsoletes: php56u-dbg + +%description dbg +The php-dbg package contains the interactive PHP debugger. + + %package fpm Group: Development/Languages Summary: PHP FastCGI Process Manager @@ -291,7 +297,7 @@ Requires(post): systemd-sysv Requires(preun): initscripts Requires(postun): initscripts %endif -Obsoletes: php53-fpm, php53u-fpm, php54-fpm, php55u-fpm +Obsoletes: php53-fpm, php53u-fpm, php54-fpm, php55u-fpm, php56u-fpm %description fpm PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI @@ -352,7 +358,7 @@ Obsoletes: php-pecl-phar < 1.2.4 Obsoletes: php-pecl-Fileinfo < 1.0.5 Obsoletes: php-mhash < 5.3.0 Obsoletes: php53-mhash, php53u-mhash -Obsoletes: php53-common, php53u-common, php54-common, php55u-common +Obsoletes: php53-common, php53u-common, php54-common, php55u-common, php56u-common %description common The php-common package contains files used by both the php @@ -370,7 +376,7 @@ Obsoletes: php-pecl-pdo-devel Provides: php-zts-devel = %{version}-%{release} Provides: php-zts-devel%{?_isa} = %{version}-%{release} %endif -Obsoletes: php53-devel, php53u-devel, php54-devel, php55u-devel +Obsoletes: php53-devel, php53u-devel, php54-devel, php55u-devel, php56u-devel %if ! %{php_bootstrap} Requires: php-pecl-jsonc-devel%{?_isa} %endif @@ -406,7 +412,7 @@ License: PHP Requires: php-common%{?_isa} = %{version}-%{release} Obsoletes: mod_php3-imap, stronghold-php-imap BuildRequires: krb5-devel, openssl-devel, libc-client-devel -Obsoletes: php53-imap, php53u-imap, php54-imap, php55u-imap +Obsoletes: php53-imap, php53u-imap, php54-imap, php55u-imap, php56u-imap %description imap The php-imap module will add IMAP (Internet Message Access Protocol) @@ -420,7 +426,7 @@ Group: Development/Languages License: PHP Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: cyrus-sasl-devel, openldap-devel, openssl-devel -Obsoletes: php53-ldap, php53u-ldap, php54-ldap, php55u-ldap +Obsoletes: php53-ldap, php53u-ldap, php54-ldap, php55u-ldap, php56u-ldap %description ldap The php-ldap adds Lightweight Directory Access Protocol (LDAP) @@ -439,7 +445,7 @@ Provides: php-pdo-abi = %{pdover}%{isasuffix} Provides: php(pdo-abi) = %{pdover}%{isasuffix} Provides: php-sqlite3, php-sqlite3%{?_isa} Provides: php-pdo_sqlite, php-pdo_sqlite%{?_isa} -Obsoletes: php53-pdo, php53u-pdo, php54-pdo, php55u-pdo +Obsoletes: php53-pdo, php53u-pdo, php54-pdo, php55u-pdo, php56u-pdo %description pdo The php-pdo package contains a dynamic shared object that will add @@ -460,7 +466,7 @@ Provides: php-mysqli%{?_isa} = %{version}-%{release} Provides: php-pdo_mysql, php-pdo_mysql%{?_isa} BuildRequires: mysql-devel >= 4.1.0 Conflicts: php-mysqlnd -Obsoletes: php53-mysql, php53u-mysql, php54-mysql, php55u-mysql +Obsoletes: php53-mysql, php53u-mysql, php54-mysql, php55u-mysql, php56u-mysql %description mysql The php-mysql package contains a dynamic shared object that will add @@ -485,7 +491,7 @@ Provides: php-pdo_mysql, php-pdo_mysql%{?_isa} %if ! %{with_libmysql} Obsoletes: php-mysql < %{version}-%{release} %endif -Obsoletes: php53-mysqlnd, php53u-mysqlnd, php54-mysqlnd, php55u-mysqlnd +Obsoletes: php53-mysqlnd, php53u-mysqlnd, php54-mysqlnd, php55u-mysqlnd, php56u-mysqlnd %description mysqlnd The php-mysqlnd package contains a dynamic shared object that will add @@ -505,7 +511,7 @@ Requires: php-pdo%{?_isa} = %{version}-%{release} Provides: php_database Provides: php-pdo_pgsql, php-pdo_pgsql%{?_isa} BuildRequires: krb5-devel, openssl-devel, postgresql-devel -Obsoletes: php53-pgsql, php53u-pgsql, php54-pgsql, php55u-pgsql +Obsoletes: php53-pgsql, php53u-pgsql, php54-pgsql, php55u-pgsql, php56u-pgsql %description pgsql The php-pgsql package add PostgreSQL database support to PHP. @@ -526,7 +532,7 @@ Provides: php-shmop, php-shmop%{?_isa} Provides: php-sysvsem, php-sysvsem%{?_isa} Provides: php-sysvshm, php-sysvshm%{?_isa} Provides: php-sysvmsg, php-sysvmsg%{?_isa} -Obsoletes: php53-process, php53u-process, php54-process, php55u-process +Obsoletes: php53-process, php53u-process, php54-process, php55u-process, php56u-process %description process The php-process package contains dynamic shared objects which add @@ -543,7 +549,7 @@ Requires: php-pdo%{?_isa} = %{version}-%{release} Provides: php_database Provides: php-pdo_odbc, php-pdo_odbc%{?_isa} BuildRequires: unixODBC-devel -Obsoletes: php53-odbc, php53u-odbc, php54-odbc, php55u-odbc +Obsoletes: php53-odbc, php53u-odbc, php54-odbc, php55u-odbc, php56u-odbc %description odbc The php-odbc package contains a dynamic shared object that will add @@ -561,7 +567,7 @@ Group: Development/Languages License: PHP Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: libxml2-devel -Obsoletes: php53-soap, php53u-soap, php54-soap, php55u-soap +Obsoletes: php53-soap, php53u-soap, php54-soap, php55u-soap, php56u-soap %description soap The php-soap package contains a dynamic shared object that will add @@ -577,7 +583,7 @@ Requires: php-pdo%{?_isa} = %{version}-%{release} Provides: php_database Provides: php-firebird, php-firebird%{?_isa} Provides: php-pdo_firebird, php-pdo_firebird%{?_isa} -Obsoletes: php53-interbase, php53u-interbase, php54-interbase, php55u-interbase +Obsoletes: php53-interbase, php53u-interbase, php54-interbase, php55u-interbase, php56u-interbase %description interbase The php-interbase package contains a dynamic shared object that will add @@ -606,7 +612,7 @@ Provides: php-pecl-oci8 = %{oci8ver}, php-pecl-oci8%{?_isa} = %{oci8ver} Provides: php-pecl(oci8) = %{oci8ver}, php-pecl(oci8)%{?_isa} = %{oci8ver} # Should requires libclntsh.so.11.1, but it's not provided by Oracle RPM. AutoReq: 0 -Obsoletes: php53-oci8, php53u-oci8, php54-oci8, php55u-oci8 +Obsoletes: php53-oci8, php53u-oci8, php54-oci8, php55u-oci8, php56u-oci8 %description oci8 The php-oci8 package contains a dynamic shared object that will add @@ -620,7 +626,7 @@ Group: Development/Languages License: PHP Requires: php-common%{?_isa} = %{version}-%{release}, net-snmp BuildRequires: net-snmp-devel -Obsoletes: php53-snmp, php53u-snmp, php54-snmp, php55u-snmp +Obsoletes: php53-snmp, php53u-snmp, php54-snmp, php55u-snmp, php56u-snmp %description snmp The php-snmp package contains a dynamic shared object that will add @@ -642,7 +648,7 @@ Provides: php-xmlreader, php-xmlreader%{?_isa} Provides: php-xmlwriter, php-xmlwriter%{?_isa} Provides: php-xsl, php-xsl%{?_isa} BuildRequires: libxslt-devel >= 1.0.18-1, libxml2-devel >= 2.4.14-1 -Obsoletes: php53-xml, php53u-xml, php54-xml, php55u-xml +Obsoletes: php53-xml, php53u-xml, php54-xml, php55u-xml, php56u-xml %description xml The php-xml package contains dynamic shared objects which add support @@ -656,7 +662,7 @@ Group: Development/Languages # libXMLRPC is licensed under BSD License: PHP and BSD Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php53-xmlrpc, php53u-xmlrpc, php54-xmlrpc, php55u-xmlrpc +Obsoletes: php53-xmlrpc, php53u-xmlrpc, php54-xmlrpc, php55u-xmlrpc, php56u-xmlrpc %description xmlrpc The php-xmlrpc package contains a dynamic shared object that will add @@ -671,7 +677,7 @@ Group: Development/Languages # ucgendat is licensed under OpenLDAP License: PHP and LGPLv2 and BSD and OpenLDAP Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php53-mbstring, php53u-mbstring, php54-mbstring, php55u-mbstring +Obsoletes: php53-mbstring, php53u-mbstring, php54-mbstring, php55u-mbstring, php56u-mbstring %description mbstring The php-mbstring package contains a dynamic shared object that will add @@ -701,7 +707,7 @@ BuildRequires: libXpm-devel BuildRequires: libvpx-devel %endif -Obsoletes: php53-gd, php53u-gd, php54-gd, php55u-gd +Obsoletes: php53-gd, php53u-gd, php54-gd, php55u-gd, php56u-gd %description gd The php-gd package contains a dynamic shared object that will add @@ -714,7 +720,7 @@ Group: Development/Languages # libbcmath is licensed under LGPLv2+ License: PHP and LGPLv2+ Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php53-bcmath, php53u-bcmath, php54-bcmath, php55u-bcmath +Obsoletes: php53-bcmath, php53u-bcmath, php54-bcmath, php55u-bcmath, php56u-bcmath %description bcmath The php-bcmath package contains a dynamic shared object that will add @@ -727,7 +733,7 @@ Group: Development/Languages License: PHP BuildRequires: gmp-devel Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php53-gmp, php53u-gmp, php54-gmp, php55u-gmp +Obsoletes: php53-gmp, php53u-gmp, php54-gmp, php55u-gmp, php56u-gmp %description gmp These functions allow you to work with arbitrary-length integers @@ -740,7 +746,7 @@ Group: Development/Languages License: PHP BuildRequires: %{db_devel}, gdbm-devel, tokyocabinet-devel Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php53-dba, php53u-dba, php54-dba, php55u-dba +Obsoletes: php53-dba, php53u-dba, php54-dba, php55u-dba, php56u-dba %description dba The php-dba package contains a dynamic shared object that will add @@ -753,7 +759,7 @@ Group: Development/Languages License: PHP Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: libmcrypt-devel -Obsoletes: php53-mcrypt, php53u-mcrypt, php54-mcrypt, php55u-mcrypt +Obsoletes: php53-mcrypt, php53u-mcrypt, php54-mcrypt, php55u-mcrypt, php56u-mcrypt %description mcrypt The php-mcrypt package contains a dynamic shared object that will add @@ -766,7 +772,7 @@ Group: Development/Languages License: PHP Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: libtidy-devel -Obsoletes: php53-tidy, php53u-tidy, php54-tidy, php55u-tidy +Obsoletes: php53-tidy, php53u-tidy, php54-tidy, php55u-tidy, php56u-tidy %description tidy The php-tidy package contains a dynamic shared object that will add @@ -780,7 +786,7 @@ License: PHP Requires: php-pdo%{?_isa} = %{version}-%{release} BuildRequires: freetds-devel >= 0.91 Provides: php-pdo_dblib, php-pdo_dblib%{?_isa} -Obsoletes: php53-mssql, php53u-mssql, php54-mssql, php55u-mssql +Obsoletes: php53-mssql, php53u-mssql, php54-mssql, php55u-mssql, php56u-mssql %description mssql The php-mssql package contains a dynamic shared object that will @@ -795,7 +801,7 @@ Requires: php-common%{?_isa} = %{version}-%{release} # doing a real -devel package for just the .so symlink is a bit overkill Provides: php-embedded-devel = %{version}-%{release} Provides: php-embedded-devel%{?_isa} = %{version}-%{release} -Obsoletes: php53-embedded, php53u-embedded, php54-embedded, php55u-embedded +Obsoletes: php53-embedded, php53u-embedded, php54-embedded, php55u-embedded, php56u-embedded %description embedded The php-embedded package contains a library which can be embedded @@ -808,7 +814,7 @@ Group: System Environment/Libraries License: PHP Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: aspell-devel >= 0.50.0 -Obsoletes: php53-pspell, php53u-pspell, php54-pspell, php55u-pspell +Obsoletes: php53-pspell, php53u-pspell, php54-pspell, php55u-pspell, php56u-pspell %description pspell The php-pspell package contains a dynamic shared object that will add @@ -821,7 +827,7 @@ Group: System Environment/Libraries License: PHP Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: recode-devel -Obsoletes: php53-recode, php53u-recode, php54-recode, php55u-recode +Obsoletes: php53-recode, php53u-recode, php54-recode, php55u-recode, php56u-recode %description recode The php-recode package contains a dynamic shared object that will add @@ -835,7 +841,7 @@ License: PHP Requires: php-common%{?_isa} = %{version}-%{release} # Upstream requires 4.0, we require 50 to ensure use of libicu-last BuildRequires: libicu-devel >= 50 -Obsoletes: php53-intl, php53u-intl, php54-intl, php55u-intl +Obsoletes: php53-intl, php53u-intl, php54-intl, php55u-intl, php56u-intl %description intl The php-intl package contains a dynamic shared object that will add @@ -848,7 +854,7 @@ Group: System Environment/Libraries License: PHP Requires: php-common%{?_isa} = %{version}-%{release} BuildRequires: enchant-devel >= 1.2.4 -Obsoletes: php53-enchant, php53u-enchant, php54-enchant, php55u-enchant +Obsoletes: php53-enchant, php53u-enchant, php54-enchant, php55u-enchant, php56u-enchant %description enchant The php-enchant package contains a dynamic shared object that will add @@ -862,7 +868,7 @@ echo CIBLE = %{name}-%{version}-%{release} oci8=%{with_oci8} libzip=%{with_libzi httpd -V | grep -q 'threaded:.*yes' && exit 1 %if 0%{?snapdate} -%setup -q -n php5.5-%{snapdate} +%setup -q -n php5.6-%{snapdate} rm -rf ext/json %else %setup -q -n php-%{version}%{?rcver} @@ -880,9 +886,6 @@ rm -rf ext/json %patch42 -p1 -b .systzdata %endif %patch43 -p1 -b .headers -%if %{with_libzip} -%patch44 -p1 -b .systzip -%endif %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 %patch45 -p1 -b .ldap_r %endif @@ -892,8 +895,6 @@ rm -rf ext/json %patch91 -p1 -b .remi-oci8 # upstream patches -%patch101 -p1 -b .memleak -%patch102 -p0 -b .66762 # security patches @@ -901,7 +902,7 @@ rm -rf ext/json %if %{with_libpcre} %if 0%{?fedora} < 21 # Only apply when system libpcre < 8.34 -%patch301 -p1 -R -b .pcre84 +#patch301 -p1 -R -b .pcre84 %endif %endif @@ -974,9 +975,9 @@ if test "$ver" != "%{oci8ver}"; then exit 1 fi -ver=$(sed -n '/#define ACCELERATOR_VERSION /{s/.* "//;s/".*$//;p}' ext/opcache/ZendAccelerator.h) +ver=$(sed -n '/#define PHP_ZENDOPCACHE_VERSION /{s/.* "//;s/".*$//;p}' ext/opcache/ZendAccelerator.h) if test "$ver" != "%{opcachever}"; then - : Error: Upstream PHAR version is now ${ver}, expecting %{opcachever}. + : Error: Upstream OPCACHE version is now ${ver}, expecting %{opcachever}. : Update the opcachever macro and rebuild. exit 1 fi @@ -1113,6 +1114,7 @@ pushd build-cgi build --libdir=%{_libdir}/php \ --enable-pcntl \ --enable-opcache \ + --enable-phpdbg \ --with-imap=shared --with-imap-ssl \ --enable-mbstring=shared \ --enable-mbregex \ @@ -1774,6 +1776,7 @@ fi %files cli %defattr(-,root,root) %{_bindir}/php +%{_bindir}/zts-php %{_bindir}/php-cgi %{_bindir}/phar.phar %{_bindir}/phar @@ -1786,6 +1789,11 @@ fi %{_mandir}/man1/phpize.1* %doc sapi/cgi/README* sapi/cli/README +%files dbg +%defattr(-,root,root) +%{_bindir}/phpdbg +%doc sapi/phpdbg/{README.md,CREDITS} + %files fpm %defattr(-,root,root) %doc php-fpm.conf.default @@ -1825,7 +1833,6 @@ fi %{_includedir}/php-zts %{_bindir}/zts-phpize # usefull only to test other module during build -%{_bindir}/zts-php %{_libdir}/php-zts/build %endif %{_mandir}/man1/php-config.1* @@ -1881,6 +1888,12 @@ fi %changelog +* Fri Feb 28 2014 Remi Collet <remi@fedoraproject.org> 5.6.0-0.1.alpha3 +- php 5.6.0alpha3 +- add php-dbg subpackage +- update php.ini from upstream production template +- move /usr/bin/zts-php to php-cli subpackage + * Wed Feb 26 2014 Remi Collet <rcollet@redhat.com> 5.5.10-0.4.RC1 - php-fpm should own /var/lib/php/session and wsdlcache |