summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2014-02-28 10:56:33 +0100
committerRemi Collet <fedora@famillecollet.com>2014-02-28 10:56:33 +0100
commitd284eecbe0ed687db9c307753f9a6fcb35827c43 (patch)
treeeea6f893b8f1a7d7c3feac1203ccca35bcf06a8a
parent85ff99087b33995f15de968e2e89c81ef446d8d6 (diff)
PHP 5.6.0alpha3
-rw-r--r--php-5.5.0-opcache.patch149
-rw-r--r--php-5.5.0-systemd.patch301
-rw-r--r--php-5.5.10-bug66762.patch97
-rw-r--r--php-5.5.10-leak.patch25
-rw-r--r--php-5.5.2-system-libzip.patch587
-rw-r--r--php.ini127
-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)
-+
diff --git a/php.ini b/php.ini
index c9ece6c..bc53066 100644
--- a/php.ini
+++ b/php.ini
@@ -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()
diff --git a/php55.spec b/php56.spec
index c47ae05..e15f362 100644
--- a/php55.spec
+++ b/php56.spec
@@ -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