From d284eecbe0ed687db9c307753f9a6fcb35827c43 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 28 Feb 2014 10:56:33 +0100 Subject: PHP 5.6.0alpha3 --- php-5.5.0-opcache.patch | 149 --- php-5.5.0-systemd.patch | 301 ----- php-5.5.10-bug66762.patch | 97 -- php-5.5.10-leak.patch | 25 - php-5.5.2-system-libzip.patch | 587 ---------- php.ini | 127 ++- php55.spec | 2467 ---------------------------------------- php56.spec | 2480 +++++++++++++++++++++++++++++++++++++++++ 8 files changed, 2542 insertions(+), 3691 deletions(-) delete mode 100644 php-5.5.0-opcache.patch delete mode 100644 php-5.5.0-systemd.patch delete mode 100644 php-5.5.10-bug66762.patch delete mode 100644 php-5.5.10-leak.patch delete mode 100644 php-5.5.2-system-libzip.patch delete mode 100644 php55.spec create mode 100644 php56.spec 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 -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-- -+ -+--FILE-- -+ -+--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 -+#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 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 -+#include -+ -+#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-- -+ -+--FILE-- -+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 -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= 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= 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
- #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
- #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; inentry; 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; inentry; i++) { -+ _zip_entry_free(za->entry+i); -+ } -+ free(za->entry); -+ } -+ -+ for (i=0; infile; 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 -+ -+#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 -+#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-- - -+#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/php55.spec deleted file mode 100644 index c47ae05..0000000 --- a/php55.spec +++ /dev/null @@ -1,2467 +0,0 @@ -# API/ABI check -%global apiver 20121113 -%global zendver 20121212 -%global pdover 20080721 -# Extension version -%global opcachever 7.0.3 -%global oci8ver 1.4.10 - -# Use for first build of PHP (before pecl/zip and pecl/jsonc) -%global php_bootstrap 0 - -# Adds -z now to the linker flags -%global _hardened_build 1 - -# version used for php embedded library soname -%global embed_version 5.5 - -%global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock) - -%ifarch ppc ppc64 -%global oraclever 10.2.0.2 -%else -%global oraclever 12.1 -%endif - -# Regression tests take a long time, you can skip 'em with this -%{!?runselftest: %{expand: %%global runselftest 1}} - -# Use the arch-specific mysql_config binary to avoid mismatch with the -# arch detection heuristic used by bindir/mysql_config. -%global mysql_config %{_libdir}/mysql/mysql_config - -# Optional components; pass "--with mssql" etc to rpmbuild. -%global with_oci8 %{?_with_oci8:1}%{!?_with_oci8:0} - -# Build mysql/mysqli/pdo extensions using libmysqlclient or only mysqlnd -%global with_libmysql 0 - -%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 -%global with_libpcre 1 -%else -%global with_libpcre 0 -%endif - -# Build ZTS extension or only NTS -%global with_zts 1 - -# Debuild build -%global with_debug %{?_with_debug:1}%{!?_with_debug:0} - -%if 0%{?__isa_bits:1} -%global isasuffix -%{__isa_bits} -%else -%global isasuffix %nil -%endif - -# /usr/sbin/apsx with httpd < 2.4 and defined as /usr/bin/apxs with httpd >= 2.4 -%{!?_httpd_apxs: %{expand: %%global _httpd_apxs %%{_sbindir}/apxs}} -%{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo 0-0)}} -%{!?_httpd_confdir: %{expand: %%global _httpd_confdir %%{_sysconfdir}/httpd/conf.d}} -# /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4 -%{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}} -%{!?_httpd_moddir: %{expand: %%global _httpd_moddir %%{_libdir}/httpd/modules}} -%{!?_httpd_contentdir: %{expand: %%global _httpd_contentdir /var/www}} - -%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) - -# systemd to manage the service -%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 -%global with_systemd 1 -%else -%global with_systemd 0 -%endif -# systemd with notify mode -%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7 -%global with_systemdfull 1 -%else -%global with_systemdfull 0 -%endif -# systemd with additional service config -%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7 -%global with_systemdmax 1 -%else -%global with_systemdmax 0 -%endif - -%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 -%global with_dtrace 1 -%else -%global with_dtrace 0 -%endif -%if 0%{?fedora} < 14 && 0%{?rhel} < 5 -%global with_libgd 0 -%else -%global with_libgd 1 -%endif -%if 0%{?fedora} < 17 && 0%{?rhel} < 7 -%global with_libzip 0 -%else -%global with_libzip 1 -%endif -%global with_zip 0 - -%if 0%{?fedora} < 18 && 0%{?rhel} < 7 -%global db_devel db4-devel -%else -%global db_devel libdb-devel -%endif - -#global snapdate 201308300430 -%global rcver RC1 - -Summary: PHP scripting language for creating dynamic web sites -Name: php -Version: 5.5.10 -%if 0%{?snapdate:1}%{?rcver:1} -Release: 0.4.%{?snapdate}%{?rcver}%{?dist} -%else -Release: 1%{?dist} -%endif -# All files licensed under PHP version 3.01, except -# Zend is licensed under Zend -# TSRM is licensed under BSD -License: PHP and Zend and BSD -Group: Development/Languages -URL: http://www.php.net/ - -%if 0%{?snapdate} -Source0: http://snaps.php.net/php5.5-%{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 -# ./strip.sh %{version} -Source0: php-%{version}%{?rcver}-strip.tar.xz -%endif -Source1: php.conf -Source2: php.ini -Source3: macros.php -Source4: php-fpm.conf -Source5: php-fpm-www.conf -Source6: php-fpm.service -Source7: php-fpm.logrotate -Source8: php-fpm.sysconfig -Source9: php.modconf -Source10: php.ztsmodconf -Source11: strip.sh -# Configuration files for some extensions -Source50: opcache.ini -Source51: opcache-default.blacklist -Source99: php-fpm.init - -# Build fixes -Patch5: php-5.2.0-includedir.patch -Patch6: php-5.2.4-embed.patch -Patch7: php-5.3.0-recode.patch -Patch8: php-5.4.7-libdb.patch - -# Fixes for extension modules -# https://bugs.php.net/63171 no odbc call during timeout -Patch21: php-5.4.7-odbctimer.patch - -# Functional changes -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 -Patch46: php-5.4.9-fixheader.patch -# drop "Configure command" from phpinfo output -Patch47: php-5.4.9-phpinfo.patch - -# RC 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+) - -# Fixes for tests (300+) -# Revert change for pcre 8.34 -Patch301: php-5.5.10-pcre834.patch - -# WIP - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -BuildRequires: bzip2-devel, curl-devel >= 7.9 -BuildRequires: httpd-devel >= 2.0.46-1, pam-devel -BuildRequires: libstdc++-devel, openssl-devel -%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 -# For Sqlite3 extension -BuildRequires: sqlite-devel >= 3.6.0 -%else -BuildRequires: sqlite-devel >= 3.0.0 -%endif -BuildRequires: zlib-devel, smtpdaemon, libedit-devel -%if %{with_libpcre} -BuildRequires: pcre-devel >= 8.20 -%endif -BuildRequires: bzip2, perl, libtool >= 1.4.3, gcc-c++ -BuildRequires: libtool-ltdl-devel -%if %{with_libzip} -BuildRequires: libzip-devel >= 0.10 -%endif -%if %{with_dtrace} -BuildRequires: systemtap-sdt-devel -%endif -%if 0%{?snapdate} -BuildRequires: bison -%endif - -Obsoletes: php53, php53u, php54, php55u -%if %{with_zts} -Obsoletes: php-zts < 5.3.7 -Provides: php-zts = %{version}-%{release} -Provides: php-zts%{?_isa} = %{version}-%{release} -%endif - -Requires: httpd-mmn = %{_httpd_mmn} -Provides: mod_php = %{version}-%{release} -Requires: php-common%{?_isa} = %{version}-%{release} -# For backwards-compatibility, require php-cli for the time being: -Requires: php-cli%{?_isa} = %{version}-%{release} -# To ensure correct /var/lib/php/session ownership: -Requires(pre): httpd - -%if 0%{?fedora} < 20 -# Don't provides extensions, which are not shared library, as .so -%{?filter_provides_in: %filter_provides_in %{_libdir}/php/modules/.*\.so$} -%{?filter_provides_in: %filter_provides_in %{_libdir}/php-zts/modules/.*\.so$} -%{?filter_provides_in: %filter_provides_in %{_httpd_moddir}/.*\.so$} -%{?filter_setup} -%endif - - -%description -PHP is an HTML-embedded scripting language. PHP attempts to make it -easy for developers to write dynamically generated web pages. PHP also -offers built-in database integration for several commercial and -non-commercial database management systems, so writing a -database-enabled webpage with PHP is fairly simple. The most common -use of PHP coding is probably as a replacement for CGI scripts. - -The php package contains the module (often referred to as mod_php) -which adds support for the PHP language to Apache HTTP Server. - -%package cli -Group: Development/Languages -Summary: Command-line interface for PHP -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 - -%description cli -The php-cli package contains the command-line interface -executing PHP scripts, /usr/bin/php, and the CGI interface. - - -%package fpm -Group: Development/Languages -Summary: PHP FastCGI Process Manager -# All files licensed under PHP version 3.01, except -# Zend is licensed under Zend -# TSRM and fpm are licensed under BSD -License: PHP and Zend and BSD -Requires: php-common%{?_isa} = %{version}-%{release} -Requires(pre): /usr/sbin/useradd -%if %{with_systemdfull} -BuildRequires: systemd-devel -%endif -%if %{with_systemd} -BuildRequires: systemd-units -Requires: systemd-units -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units -# This is actually needed for the %%triggerun script but Requires(triggerun) -# is not valid. We can use %%post because this particular %%triggerun script -# should fire just after this package is installed. -Requires(post): systemd-sysv -%else -# This is for /sbin/service -Requires(preun): initscripts -Requires(postun): initscripts -%endif -Obsoletes: php53-fpm, php53u-fpm, php54-fpm, php55u-fpm - -%description fpm -PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI -implementation with some additional features useful for sites of -any size, especially busier sites. - -%package common -Group: Development/Languages -Summary: Common files for PHP -# All files licensed under PHP version 3.01, except -# fileinfo is licensed under PHP version 3.0 -# regex, libmagic are licensed under BSD -# main/snprintf.c, main/spprintf.c and main/rfc1867.c are ASL 1.0 -License: PHP and BSD and ASL 1.0 -# ABI/API check - Arch specific -Provides: php(api) = %{apiver}%{isasuffix} -Provides: php(zend-abi) = %{zendver}%{isasuffix} -Provides: php(language) = %{version}, php(language)%{?_isa} = %{version} -# Provides for all builtin/shared modules: -Provides: php-bz2, php-bz2%{?_isa} -Provides: php-calendar, php-calendar%{?_isa} -Provides: php-core = %{version}, php-core%{?_isa} = %{version} -Provides: php-ctype, php-ctype%{?_isa} -Provides: php-curl, php-curl%{?_isa} -Provides: php-date, php-date%{?_isa} -Provides: php-ereg, php-ereg%{?_isa} -Provides: php-exif, php-exif%{?_isa} -Provides: php-fileinfo, php-fileinfo%{?_isa} -Provides: php-filter, php-filter%{?_isa} -Provides: php-ftp, php-ftp%{?_isa} -Provides: php-gettext, php-gettext%{?_isa} -Provides: php-hash, php-hash%{?_isa} -Provides: php-mhash = %{version}, php-mhash%{?_isa} = %{version} -Provides: php-iconv, php-iconv%{?_isa} -Provides: php-libxml, php-libxml%{?_isa} -Provides: php-openssl, php-openssl%{?_isa} -Provides: php-phar, php-phar%{?_isa} -Provides: php-pcre, php-pcre%{?_isa} -Provides: php-reflection, php-reflection%{?_isa} -Provides: php-session, php-session%{?_isa} -Provides: php-sockets, php-sockets%{?_isa} -Provides: php-spl, php-spl%{?_isa} -Provides: php-standard = %{version}, php-standard%{?_isa} = %{version} -Provides: php-tokenizer, php-tokenizer%{?_isa} -%if ! %{php_bootstrap} -Requires: php-pecl-jsonc%{?_isa} -%endif -%if %{with_zip} -Provides: php-zip, php-zip%{?_isa} -Obsoletes: php-pecl-zip < 1.11 -%else -%if ! %{php_bootstrap} -Requires: php-pecl-zip%{?_isa} -%endif -%endif -Provides: php-zlib, php-zlib%{?_isa} -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 - -%description common -The php-common package contains files used by both the php -package and the php-cli package. - -%package devel -Group: Development/Libraries -Summary: Files needed for building PHP extensions -Requires: php-cli%{?_isa} = %{version}-%{release}, autoconf, automake -%if %{with_libpcre} -Requires: pcre-devel%{?_isa} -%endif -Obsoletes: php-pecl-pdo-devel -%if %{with_zts} -Provides: php-zts-devel = %{version}-%{release} -Provides: php-zts-devel%{?_isa} = %{version}-%{release} -%endif -Obsoletes: php53-devel, php53u-devel, php54-devel, php55u-devel -%if ! %{php_bootstrap} -Requires: php-pecl-jsonc-devel%{?_isa} -%endif - -%description devel -The php-devel package contains the files needed for building PHP -extensions. If you need to compile your own PHP extensions, you will -need to install this package. - -%package opcache -Summary: The Zend OPcache -Group: Development/Languages -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php-pecl-zendopcache -Provides: php-pecl-zendopcache = %{opcachever} -Provides: php-pecl-zendopcache%{?_isa} = %{opcachever} -Provides: php-pecl(opcache) = %{opcachever} -Provides: php-pecl(opcache)%{?_isa} = %{opcachever} - -%description opcache -The Zend OPcache provides faster PHP execution through opcode caching and -optimization. It improves PHP performance by storing precompiled script -bytecode in the shared memory. This eliminates the stages of reading code from -the disk and compiling it on future access. In addition, it applies a few -bytecode optimization patterns that make code execution faster. - -%package imap -Summary: A module for PHP applications that use IMAP -Group: Development/Languages -# All files licensed under PHP version 3.01 -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 - -%description imap -The php-imap module will add IMAP (Internet Message Access Protocol) -support to PHP. IMAP is a protocol for retrieving and uploading e-mail -messages on mail servers. PHP is an HTML-embedded scripting language. - -%package ldap -Summary: A module for PHP applications that use LDAP -Group: Development/Languages -# All files licensed under PHP version 3.01 -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 - -%description ldap -The php-ldap adds Lightweight Directory Access Protocol (LDAP) -support to PHP. LDAP is a set of protocols for accessing directory -services over the Internet. PHP is an HTML-embedded scripting -language. - -%package pdo -Summary: A database access abstraction module for PHP applications -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release} -# ABI/API check - Arch specific -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 - -%description pdo -The php-pdo package contains a dynamic shared object that will add -a database access abstraction layer to PHP. This module provides -a common interface for accessing MySQL, PostgreSQL or other -databases. - -%if %{with_libmysql} -%package mysql -Summary: A module for PHP applications that use MySQL databases -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: php-pdo%{?_isa} = %{version}-%{release} -Provides: php_database -Provides: php-mysqli = %{version}-%{release} -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 - -%description mysql -The php-mysql package contains a dynamic shared object that will add -MySQL database support to PHP. MySQL is an object-relational database -management system. PHP is an HTML-embeddable scripting language. If -you need MySQL support for PHP applications, you will need to install -this package and the php package. -%endif - -%package mysqlnd -Summary: A module for PHP applications that use MySQL databases -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: php-pdo%{?_isa} = %{version}-%{release} -Provides: php_database -Provides: php-mysql = %{version}-%{release} -Provides: php-mysql%{?_isa} = %{version}-%{release} -Provides: php-mysqli = %{version}-%{release} -Provides: php-mysqli%{?_isa} = %{version}-%{release} -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 - -%description mysqlnd -The php-mysqlnd package contains a dynamic shared object that will add -MySQL database support to PHP. MySQL is an object-relational database -management system. PHP is an HTML-embeddable scripting language. If -you need MySQL support for PHP applications, you will need to install -this package and the php package. - -This package use the MySQL Native Driver - -%package pgsql -Summary: A PostgreSQL database module for PHP -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -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 - -%description pgsql -The php-pgsql package add PostgreSQL database support to PHP. -PostgreSQL is an object-relational database management -system that supports almost all SQL constructs. PHP is an -HTML-embedded scripting language. If you need back-end support for -PostgreSQL, you should install this package in addition to the main -php package. - -%package process -Summary: Modules for PHP script using system process interfaces -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release} -Provides: php-posix, php-posix%{?_isa} -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 - -%description process -The php-process package contains dynamic shared objects which add -support to PHP using system interfaces for inter-process -communication. - -%package odbc -Summary: A module for PHP applications that use ODBC databases -Group: Development/Languages -# All files licensed under PHP version 3.01, except -# pdo_odbc is licensed under PHP version 3.0 -License: PHP -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 - -%description odbc -The php-odbc package contains a dynamic shared object that will add -database support through ODBC to PHP. ODBC is an open specification -which provides a consistent API for developers to use for accessing -data sources (which are often, but not always, databases). PHP is an -HTML-embeddable scripting language. If you need ODBC support for PHP -applications, you will need to install this package and the php -package. - -%package soap -Summary: A module for PHP applications that use the SOAP protocol -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release} -BuildRequires: libxml2-devel -Obsoletes: php53-soap, php53u-soap, php54-soap, php55u-soap - -%description soap -The php-soap package contains a dynamic shared object that will add -support to PHP for using the SOAP web services protocol. - -%package interbase -Summary: A module for PHP applications that use Interbase/Firebird databases -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -BuildRequires: firebird-devel -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 - -%description interbase -The php-interbase package contains a dynamic shared object that will add -database support through Interbase/Firebird to PHP. - -InterBase is the name of the closed-source variant of this RDBMS that was -developed by Borland/Inprise. - -Firebird is a commercially independent project of C and C++ programmers, -technical advisors and supporters developing and enhancing a multi-platform -relational database management system based on the source code released by -Inprise Corp (now known as Borland Software Corp) under the InterBase Public -License. - -%if %{with_oci8} -%package oci8 -Summary: A module for PHP applications that use OCI8 databases -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -BuildRequires: oracle-instantclient-devel >= %{oraclever} -Requires: php-pdo%{?_isa} = %{version}-%{release} -Provides: php_database -Provides: php-pdo_oci = %{oci8ver}, php-pdo_oci%{?_isa} = %{oci8ver} -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 - -%description oci8 -The php-oci8 package contains a dynamic shared object that will add -support for accessing OCI8 databases to PHP. -%endif - -%package snmp -Summary: A module for PHP applications that query SNMP-managed devices -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release}, net-snmp -BuildRequires: net-snmp-devel -Obsoletes: php53-snmp, php53u-snmp, php54-snmp, php55u-snmp - -%description snmp -The php-snmp package contains a dynamic shared object that will add -support for querying SNMP devices to PHP. PHP is an HTML-embeddable -scripting language. If you need SNMP support for PHP applications, you -will need to install this package and the php package. - -%package xml -Summary: A module for PHP applications which use XML -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release} -Provides: php-dom, php-dom%{?_isa} -Provides: php-domxml, php-domxml%{?_isa} -Provides: php-simplexml, php-simplexml%{?_isa} -Provides: php-wddx, php-wddx%{?_isa} -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 - -%description xml -The php-xml package contains dynamic shared objects which add support -to PHP for manipulating XML documents using the DOM tree, -and performing XSL transformations on XML documents. - -%package xmlrpc -Summary: A module for PHP applications which use the XML-RPC protocol -Group: Development/Languages -# All files licensed under PHP version 3.01, except -# libXMLRPC is licensed under BSD -License: PHP and BSD -Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php53-xmlrpc, php53u-xmlrpc, php54-xmlrpc, php55u-xmlrpc - -%description xmlrpc -The php-xmlrpc package contains a dynamic shared object that will add -support for the XML-RPC protocol to PHP. - -%package mbstring -Summary: A module for PHP applications which need multi-byte string handling -Group: Development/Languages -# All files licensed under PHP version 3.01, except -# libmbfl is licensed under LGPLv2 -# onigurama is licensed under BSD -# 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 - -%description mbstring -The php-mbstring package contains a dynamic shared object that will add -support for multi-byte string handling to PHP. - -%package gd -Summary: A module for PHP applications for using the gd graphics library -Group: Development/Languages -# All files licensed under PHP version 3.01 -%if %{with_libgd} -License: PHP -%else -# bundled libgd is licensed under BSD -License: PHP and BSD -%endif -Requires: php-common%{?_isa} = %{version}-%{release} -BuildRequires: t1lib-devel -%if %{with_libgd} -BuildRequires: gd-devel >= 2.1.0 -%else -# Required to build the bundled GD library -BuildRequires: libjpeg-devel -BuildRequires: libpng-devel -BuildRequires: freetype-devel -BuildRequires: libXpm-devel -BuildRequires: libXpm-devel -BuildRequires: libvpx-devel -%endif - -Obsoletes: php53-gd, php53u-gd, php54-gd, php55u-gd - -%description gd -The php-gd package contains a dynamic shared object that will add -support for using the gd graphics library to PHP. - -%package bcmath -Summary: A module for PHP applications for using the bcmath library -Group: Development/Languages -# All files licensed under PHP version 3.01, except -# libbcmath is licensed under LGPLv2+ -License: PHP and LGPLv2+ -Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php53-bcmath, php53u-bcmath, php54-bcmath, php55u-bcmath - -%description bcmath -The php-bcmath package contains a dynamic shared object that will add -support for using the bcmath library to PHP. - -%package gmp -Summary: A module for PHP applications for using the GNU MP library -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -BuildRequires: gmp-devel -Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php53-gmp, php53u-gmp, php54-gmp, php55u-gmp - -%description gmp -These functions allow you to work with arbitrary-length integers -using the GNU MP library. - -%package dba -Summary: A database abstraction layer module for PHP applications -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -BuildRequires: %{db_devel}, gdbm-devel, tokyocabinet-devel -Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php53-dba, php53u-dba, php54-dba, php55u-dba - -%description dba -The php-dba package contains a dynamic shared object that will add -support for using the DBA database abstraction layer to PHP. - -%package mcrypt -Summary: Standard PHP module provides mcrypt library support -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release} -BuildRequires: libmcrypt-devel -Obsoletes: php53-mcrypt, php53u-mcrypt, php54-mcrypt, php55u-mcrypt - -%description mcrypt -The php-mcrypt package contains a dynamic shared object that will add -support for using the mcrypt library to PHP. - -%package tidy -Summary: Standard PHP module provides tidy library support -Group: Development/Languages -# All files licensed under PHP version 3.01 -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release} -BuildRequires: libtidy-devel -Obsoletes: php53-tidy, php53u-tidy, php54-tidy, php55u-tidy - -%description tidy -The php-tidy package contains a dynamic shared object that will add -support for using the tidy library to PHP. - -%package mssql -Summary: MSSQL database module for PHP -Group: Development/Languages -# All files licensed under PHP version 3.01 -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 - -%description mssql -The php-mssql package contains a dynamic shared object that will -add MSSQL database support to PHP. It uses the TDS (Tabular -DataStream) protocol through the freetds library, hence any -database server which supports TDS can be accessed. - -%package embedded -Summary: PHP library for embedding in applications -Group: System Environment/Libraries -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 - -%description embedded -The php-embedded package contains a library which can be embedded -into applications to provide PHP scripting language support. - -%package pspell -Summary: A module for PHP applications for using pspell interfaces -Group: System Environment/Libraries -# All files licensed under PHP version 3.01 -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release} -BuildRequires: aspell-devel >= 0.50.0 -Obsoletes: php53-pspell, php53u-pspell, php54-pspell, php55u-pspell - -%description pspell -The php-pspell package contains a dynamic shared object that will add -support for using the pspell library to PHP. - -%package recode -Summary: A module for PHP applications for using the recode library -Group: System Environment/Libraries -# All files licensed under PHP version 3.01 -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release} -BuildRequires: recode-devel -Obsoletes: php53-recode, php53u-recode, php54-recode, php55u-recode - -%description recode -The php-recode package contains a dynamic shared object that will add -support for using the recode library to PHP. - -%package intl -Summary: Internationalization extension for PHP applications -Group: System Environment/Libraries -# All files licensed under PHP version 3.01 -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 - -%description intl -The php-intl package contains a dynamic shared object that will add -support for using the ICU library to PHP. - -%package enchant -Summary: Enchant spelling extension for PHP applications -Group: System Environment/Libraries -# All files licensed under PHP version 3.0 -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release} -BuildRequires: enchant-devel >= 1.2.4 -Obsoletes: php53-enchant, php53u-enchant, php54-enchant, php55u-enchant - -%description enchant -The php-enchant package contains a dynamic shared object that will add -support for using the enchant library to PHP. - - -%prep -echo CIBLE = %{name}-%{version}-%{release} oci8=%{with_oci8} libzip=%{with_libzip} - -# ensure than current httpd use prefork MPM. -httpd -V | grep -q 'threaded:.*yes' && exit 1 - -%if 0%{?snapdate} -%setup -q -n php5.5-%{snapdate} -rm -rf ext/json -%else -%setup -q -n php-%{version}%{?rcver} -%endif - -%patch5 -p1 -b .includedir -%patch6 -p1 -b .embed -%patch7 -p1 -b .recode -%patch8 -p1 -b .libdb - -%patch21 -p1 -b .odbctimer - -%patch40 -p1 -b .dlopen -%if 0%{?fedora} >= 19 || 0%{?rhel} >= 5 -%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 -%patch46 -p1 -b .fixheader -%patch47 -p1 -b .phpinfo - -%patch91 -p1 -b .remi-oci8 - -# upstream patches -%patch101 -p1 -b .memleak -%patch102 -p0 -b .66762 - -# security patches - -# Fixes for tests -%if %{with_libpcre} -%if 0%{?fedora} < 21 -# Only apply when system libpcre < 8.34 -%patch301 -p1 -R -b .pcre84 -%endif -%endif - -# WIP patch - -# Prevent %%doc confusion over LICENSE files -cp Zend/LICENSE Zend/ZEND_LICENSE -cp TSRM/LICENSE TSRM_LICENSE -cp ext/ereg/regex/COPYRIGHT regex_COPYRIGHT -%if ! %{with_libgd} -cp ext/gd/libgd/README libgd_README -cp ext/gd/libgd/COPYING libgd_COPYING -%endif -cp sapi/fpm/LICENSE fpm_LICENSE -cp ext/mbstring/libmbfl/LICENSE libmbfl_LICENSE -cp ext/mbstring/oniguruma/COPYING oniguruma_COPYING -cp ext/mbstring/ucgendat/OPENLDAP_LICENSE ucgendat_LICENSE -cp ext/fileinfo/libmagic/LICENSE libmagic_LICENSE -cp ext/phar/LICENSE phar_LICENSE -cp ext/bcmath/libbcmath/COPYING.LIB libbcmath_COPYING - -# Multiple builds for multiple SAPIs -mkdir build-cgi build-apache build-embedded \ -%if %{with_zts} - build-zts build-ztscli \ -%endif - build-fpm - -# ----- Manage known as failed test ------- -# affected by systzdata patch -rm -f ext/date/tests/timezone_location_get.phpt -# fails sometime -rm -f ext/sockets/tests/mcast_ipv?_recv.phpt - -# Safety check for API version change. -pver=$(sed -n '/#define PHP_VERSION /{s/.* "//;s/".*$//;p}' main/php_version.h) -if test "x${pver}" != "x%{version}%{?rcver}%{?snapdate:-dev}"; then - : Error: Upstream PHP version is now ${pver}, expecting %{version}%{?rcver}%{?snapdate:-dev}. - : Update the version/rcver macros and rebuild. - exit 1 -fi - -vapi=`sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h` -if test "x${vapi}" != "x%{apiver}"; then - : Error: Upstream API version is now ${vapi}, expecting %{apiver}. - : Update the apiver macro and rebuild. - exit 1 -fi - -vzend=`sed -n '/#define ZEND_MODULE_API_NO/{s/^[^0-9]*//;p;}' Zend/zend_modules.h` -if test "x${vzend}" != "x%{zendver}"; then - : Error: Upstream Zend ABI version is now ${vzend}, expecting %{zendver}. - : Update the zendver macro and rebuild. - exit 1 -fi - -# Safety check for PDO ABI version change -vpdo=`sed -n '/#define PDO_DRIVER_API/{s/.*[ ]//;p}' ext/pdo/php_pdo_driver.h` -if test "x${vpdo}" != "x%{pdover}"; then - : Error: Upstream PDO ABI version is now ${vpdo}, expecting %{pdover}. - : Update the pdover macro and rebuild. - exit 1 -fi - -# Check for some extension version -ver=$(sed -n '/#define PHP_OCI8_VERSION /{s/.* "//;s/".*$//;p}' ext/oci8/php_oci8.h) -if test "$ver" != "%{oci8ver}"; then - : Error: Upstream OCI8 version is now ${ver}, expecting %{oci8ver}. - : Update the oci8ver macro and rebuild. - exit 1 -fi - -ver=$(sed -n '/#define ACCELERATOR_VERSION /{s/.* "//;s/".*$//;p}' ext/opcache/ZendAccelerator.h) -if test "$ver" != "%{opcachever}"; then - : Error: Upstream PHAR version is now ${ver}, expecting %{opcachever}. - : Update the opcachever macro and rebuild. - exit 1 -fi - -# https://bugs.php.net/63362 - Not needed but installed headers. -# Drop some Windows specific headers to avoid installation, -# before build to ensure they are really not needed. -rm -f TSRM/tsrm_win32.h \ - TSRM/tsrm_config.w32.h \ - Zend/zend_config.w32.h \ - ext/mysqlnd/config-win.h \ - ext/standard/winver.h \ - main/win32_internal_function_disabled.h \ - main/win95nt.h - -# Fix some bogus permissions -find . -name \*.[ch] -exec chmod 644 {} \; -chmod 644 README.* - -# php-fpm configuration files for tmpfiles.d -echo "d /run/php-fpm 755 root root" >php-fpm.tmpfiles - -# Some extensions have their own configuration file -cp %{SOURCE50} . - -# Regenerated bison files -# to force, rm Zend/zend_{language,ini}_parser.[ch] -if [ ! -f Zend/zend_language_parser.c ]; then - ./genfiles -fi - - -%build -%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 -# aclocal workaround - to be improved -cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >>aclocal.m4 -%endif - -# Force use of system libtool: -libtoolize --force --copy -%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 -cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >build/libtool.m4 -%else -cat `aclocal --print-ac-dir`/libtool.m4 > build/libtool.m4 -%endif - -# Regenerate configure scripts (patches change config.m4's) -touch configure.in -./buildconf --force -%if %{with_debug} -LDFLAGS="-fsanitize=address" -export LDFLAGS -CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-pointer-sign -fsanitize=address -ggdb" -%else -CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-pointer-sign" -%endif -export CFLAGS - -# Install extension modules in %{_libdir}/php/modules. -EXTENSION_DIR=%{_libdir}/php/modules; export EXTENSION_DIR - -# Set PEAR_INSTALLDIR to ensure that the hard-coded include_path -# includes the PEAR directory even though pear is packaged -# separately. -PEAR_INSTALLDIR=%{_datadir}/pear; export PEAR_INSTALLDIR - -# Shell function to configure and build a PHP tree. -build() { -# Old/recent bison version seems to produce a broken parser; -# upstream uses GNU Bison 2.3. Workaround: -# Only provided in official tarball (not in snapshot) -if [ -f ../Zend/zend_language_parser.c ]; then -mkdir Zend && cp ../Zend/zend_{language,ini}_{parser,scanner}.[ch] Zend -fi - -# Always static: -# date, ereg, filter, libxml, reflection, spl: not supported -# hash: for PHAR_SIG_SHA256 and PHAR_SIG_SHA512 -# session: dep on hash, used by soap and wddx -# pcre: used by filter, zip -# pcntl, readline: only used by CLI sapi -# openssl: for PHAR_SIG_OPENSSL -# zlib: used by image -ln -sf ../configure -%configure \ - --cache-file=../config.cache \ - --with-libdir=%{_lib} \ - --with-config-file-path=%{_sysconfdir} \ - --with-config-file-scan-dir=%{_sysconfdir}/php.d \ - --disable-debug \ - --with-pic \ - --disable-rpath \ - --without-pear \ - --with-exec-dir=%{_bindir} \ - --with-freetype-dir=%{_prefix} \ - --with-png-dir=%{_prefix} \ - --with-xpm-dir=%{_prefix} \ - --with-vpx-dir=%{_prefix} \ - --enable-gd-native-ttf \ - --with-t1lib=%{_prefix} \ - --without-gdbm \ - --with-jpeg-dir=%{_prefix} \ - --with-openssl \ -%if %{with_libpcre} - --with-pcre-regex=%{_prefix} \ -%endif - --with-zlib \ - --with-layout=GNU \ - --with-kerberos \ - --with-libxml-dir=%{_prefix} \ -%if 0%{?fedora} >= 19 || 0%{?rhel} >= 5 - --with-system-tzdata \ -%endif - --with-mhash \ -%if %{with_dtrace} - --enable-dtrace \ -%endif -%if %{with_debug} - --enable-debug \ -%endif - $* -if test $? != 0; then - tail -500 config.log - : configure failed - exit 1 -fi - -make %{?_smp_mflags} -} - -# Build /usr/bin/php-cgi with the CGI SAPI, and most shared extensions -pushd build-cgi - -build --libdir=%{_libdir}/php \ - --enable-pcntl \ - --enable-opcache \ - --with-imap=shared --with-imap-ssl \ - --enable-mbstring=shared \ - --enable-mbregex \ -%if %{with_libgd} - --with-gd=shared,%{_prefix} \ -%else - --with-gd=shared \ -%endif - --with-gmp=shared \ - --enable-calendar=shared \ - --enable-bcmath=shared \ - --with-bz2=shared \ - --enable-ctype=shared \ - --enable-dba=shared --with-db4=%{_prefix} \ - --with-gdbm=%{_prefix} \ - --with-tcadb=%{_prefix} \ - --enable-exif=shared \ - --enable-ftp=shared \ - --with-gettext=shared \ - --with-iconv=shared \ - --enable-sockets=shared \ - --enable-tokenizer=shared \ - --with-xmlrpc=shared \ - --with-ldap=shared --with-ldap-sasl \ - --enable-mysqlnd=shared \ - --with-mysql=shared,mysqlnd \ - --with-mysqli=shared,mysqlnd \ - --with-mysql-sock=%{mysql_sock} \ -%ifarch x86_64 - %{?_with_oci8:--with-oci8=shared,instantclient,%{_libdir}/oracle/%{oraclever}/client64/lib,%{oraclever}} \ -%else - %{?_with_oci8:--with-oci8=shared,instantclient,%{_libdir}/oracle/%{oraclever}/client/lib,%{oraclever}} \ -%endif - %{?_with_oci8:--with-pdo-oci=shared,instantclient,/usr,%{oraclever}} \ - --with-interbase=shared,%{_libdir}/firebird \ - --with-pdo-firebird=shared,%{_libdir}/firebird \ - --enable-dom=shared \ - --with-pgsql=shared \ - --enable-simplexml=shared \ - --enable-xml=shared \ - --enable-wddx=shared \ - --with-snmp=shared,%{_prefix} \ - --enable-soap=shared \ - --with-xsl=shared,%{_prefix} \ - --enable-xmlreader=shared --enable-xmlwriter=shared \ - --with-curl=shared,%{_prefix} \ - --enable-pdo=shared \ - --with-pdo-odbc=shared,unixODBC,%{_prefix} \ - --with-pdo-mysql=shared,mysqlnd \ - --with-pdo-pgsql=shared,%{_prefix} \ - --with-pdo-sqlite=shared,%{_prefix} \ - --with-pdo-dblib=shared,%{_prefix} \ -%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 - --with-sqlite3=shared,%{_prefix} \ -%else - --without-sqlite3 \ -%endif -%if %{with_zip} - --enable-zip=shared \ -%if %{with_libzip} - --with-libzip \ -%endif -%endif - --without-readline \ - --with-libedit \ - --with-pspell=shared \ - --enable-phar=shared \ - --with-mcrypt=shared,%{_prefix} \ - --with-tidy=shared,%{_prefix} \ - --with-mssql=shared,%{_prefix} \ - --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \ - --enable-shmop=shared \ - --enable-posix=shared \ - --with-unixODBC=shared,%{_prefix} \ - --enable-fileinfo=shared \ - --enable-intl=shared \ - --with-icu-dir=%{_prefix} \ - --with-enchant=shared,%{_prefix} \ - --with-recode=shared,%{_prefix} -popd - -without_shared="--without-gd \ - --disable-dom --disable-dba --without-unixODBC \ - --disable-opcache \ - --disable-xmlreader --disable-xmlwriter \ - --without-sqlite3 --disable-phar --disable-fileinfo \ - --without-pspell --disable-wddx \ - --without-curl --disable-posix --disable-xml \ - --disable-simplexml --disable-exif --without-gettext \ - --without-iconv --disable-ftp --without-bz2 --disable-ctype \ - --disable-shmop --disable-sockets --disable-tokenizer \ - --disable-sysvmsg --disable-sysvshm --disable-sysvsem" - -# Build Apache module, and the CLI SAPI, /usr/bin/php -pushd build-apache -build --with-apxs2=%{_httpd_apxs} \ - --libdir=%{_libdir}/php \ -%if %{with_libmysql} - --enable-pdo=shared \ - --with-mysql=shared,%{_prefix} \ - --with-mysqli=shared,%{mysql_config} \ - --with-pdo-mysql=shared,%{mysql_config} \ - --without-pdo-sqlite \ -%else - --without-mysql \ - --disable-pdo \ -%endif - ${without_shared} -popd - -# Build php-fpm -pushd build-fpm -build --enable-fpm \ -%if %{with_systemdfull} - --with-fpm-systemd \ -%endif - --libdir=%{_libdir}/php \ - --without-mysql \ - --disable-pdo \ - ${without_shared} -popd - -# Build for inclusion as embedded script language into applications, -# /usr/lib[64]/libphp5.so -pushd build-embedded -build --enable-embed \ - --without-mysql --disable-pdo \ - ${without_shared} -popd - -%if %{with_zts} -# Build a special thread-safe (mainly for modules) -pushd build-ztscli - -EXTENSION_DIR=%{_libdir}/php-zts/modules -build --includedir=%{_includedir}/php-zts \ - --libdir=%{_libdir}/php-zts \ - --enable-maintainer-zts \ - --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \ - --enable-pcntl \ - --enable-opcache \ - --with-imap=shared --with-imap-ssl \ - --enable-mbstring=shared \ - --enable-mbregex \ -%if %{with_libgd} - --with-gd=shared,%{_prefix} \ -%else - --with-gd=shared \ -%endif - --with-gmp=shared \ - --enable-calendar=shared \ - --enable-bcmath=shared \ - --with-bz2=shared \ - --enable-ctype=shared \ - --enable-dba=shared --with-db4=%{_prefix} \ - --with-gdbm=%{_prefix} \ - --with-tcadb=%{_prefix} \ - --with-gettext=shared \ - --with-iconv=shared \ - --enable-sockets=shared \ - --enable-tokenizer=shared \ - --enable-exif=shared \ - --enable-ftp=shared \ - --with-xmlrpc=shared \ - --with-ldap=shared --with-ldap-sasl \ - --enable-mysqlnd=shared \ - --with-mysql=shared,mysqlnd \ - --with-mysqli=shared,mysqlnd \ - --with-mysql-sock=%{mysql_sock} \ - --enable-mysqlnd-threading \ -%ifarch x86_64 - %{?_with_oci8:--with-oci8=shared,instantclient,%{_libdir}/oracle/%{oraclever}/client64/lib,%{oraclever}} \ -%else - %{?_with_oci8:--with-oci8=shared,instantclient,%{_libdir}/oracle/%{oraclever}/client/lib,%{oraclever}} \ -%endif - %{?_with_oci8:--with-pdo-oci=shared,instantclient,/usr,%{oraclever}} \ - --with-interbase=shared,%{_libdir}/firebird \ - --with-pdo-firebird=shared,%{_libdir}/firebird \ - --enable-dom=shared \ - --with-pgsql=shared \ - --enable-simplexml=shared \ - --enable-xml=shared \ - --enable-wddx=shared \ - --with-snmp=shared,%{_prefix} \ - --enable-soap=shared \ - --with-xsl=shared,%{_prefix} \ - --enable-xmlreader=shared --enable-xmlwriter=shared \ - --with-curl=shared,%{_prefix} \ - --enable-pdo=shared \ - --with-pdo-odbc=shared,unixODBC,%{_prefix} \ - --with-pdo-mysql=shared,mysqlnd \ - --with-pdo-pgsql=shared,%{_prefix} \ - --with-pdo-sqlite=shared,%{_prefix} \ - --with-pdo-dblib=shared,%{_prefix} \ -%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 - --with-sqlite3=shared,%{_prefix} \ -%else - --without-sqlite3 \ -%endif -%if %{with_zip} - --enable-zip=shared \ -%if %{with_libzip} - --with-libzip \ -%endif -%endif - --without-readline \ - --with-libedit \ - --with-pspell=shared \ - --enable-phar=shared \ - --with-mcrypt=shared,%{_prefix} \ - --with-tidy=shared,%{_prefix} \ - --with-mssql=shared,%{_prefix} \ - --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \ - --enable-shmop=shared \ - --enable-posix=shared \ - --with-unixODBC=shared,%{_prefix} \ - --enable-fileinfo=shared \ - --enable-intl=shared \ - --with-icu-dir=%{_prefix} \ - --with-enchant=shared,%{_prefix} \ - --with-recode=shared,%{_prefix} -popd - -# Build a special thread-safe Apache SAPI -pushd build-zts -build --with-apxs2=%{_httpd_apxs} \ - --includedir=%{_includedir}/php-zts \ - --libdir=%{_libdir}/php-zts \ - --enable-maintainer-zts \ - --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \ -%if %{with_libmysql} - --enable-pdo=shared \ - --with-mysql=shared,%{_prefix} \ - --with-mysqli=shared,%{mysql_config} \ - --with-pdo-mysql=shared,%{mysql_config} \ - --without-pdo-sqlite \ -%else - --without-mysql \ - --disable-pdo \ -%endif - ${without_shared} -popd - -### NOTE!!! EXTENSION_DIR was changed for the -zts build, so it must remain -### the last SAPI to be built. -%endif - - -%check -%if %runselftest -cd build-apache - -# Increase stack size (required by bug54268.phpt) -ulimit -s 32712 - -# Run tests, using the CLI SAPI -export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2 -export SKIP_ONLINE_TESTS=1 -unset TZ LANG LC_ALL -if ! make test; then - set +x - for f in $(find .. -name \*.diff -type f -print); do - if ! grep -q XFAIL "${f/.diff/.phpt}" - then - echo "TEST FAILURE: $f --" - cat "$f" - echo -e "\n-- $f result ends." - fi - done - set -x - #exit 1 -fi -unset NO_INTERACTION REPORT_EXIT_STATUS MALLOC_CHECK_ -%endif - -%install -%if %{with_zts} -# Install the extensions for the ZTS version -make -C build-ztscli install \ - INSTALL_ROOT=$RPM_BUILD_ROOT - -# rename extensions build with mysqlnd -mv $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysql.so \ - $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysqlnd_mysql.so -mv $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysqli.so \ - $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysqlnd_mysqli.so -mv $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/pdo_mysql.so \ - $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/pdo_mysqlnd.so - -%if %{with_libmysql} -# Install the extensions for the ZTS version modules for libmysql -make -C build-zts install-modules \ - INSTALL_ROOT=$RPM_BUILD_ROOT -%endif - -# rename ZTS binary -mv $RPM_BUILD_ROOT%{_bindir}/php $RPM_BUILD_ROOT%{_bindir}/zts-php -mv $RPM_BUILD_ROOT%{_bindir}/phpize $RPM_BUILD_ROOT%{_bindir}/zts-phpize -mv $RPM_BUILD_ROOT%{_bindir}/php-config $RPM_BUILD_ROOT%{_bindir}/zts-php-config -%endif - -# Install the version for embedded script language in applications + php_embed.h -make -C build-embedded install-sapi install-headers \ - INSTALL_ROOT=$RPM_BUILD_ROOT - -# Install the php-fpm binary -make -C build-fpm install-fpm \ - INSTALL_ROOT=$RPM_BUILD_ROOT - -# Install everything from the CGI SAPI build -make -C build-cgi install \ - INSTALL_ROOT=$RPM_BUILD_ROOT - -# rename extensions build with mysqlnd -mv $RPM_BUILD_ROOT%{_libdir}/php/modules/mysql.so \ - $RPM_BUILD_ROOT%{_libdir}/php/modules/mysqlnd_mysql.so -mv $RPM_BUILD_ROOT%{_libdir}/php/modules/mysqli.so \ - $RPM_BUILD_ROOT%{_libdir}/php/modules/mysqlnd_mysqli.so -mv $RPM_BUILD_ROOT%{_libdir}/php/modules/pdo_mysql.so \ - $RPM_BUILD_ROOT%{_libdir}/php/modules/pdo_mysqlnd.so - -%if %{with_libmysql} -# Install the mysql extension build with libmysql -make -C build-apache install-modules \ - INSTALL_ROOT=$RPM_BUILD_ROOT -%endif - -# Install the default configuration file and icons -install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/ -install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/php.ini -install -m 755 -d $RPM_BUILD_ROOT%{_httpd_contentdir}/icons -install -m 644 php.gif $RPM_BUILD_ROOT%{_httpd_contentdir}/icons/php.gif - -# For third-party packaging: -install -m 755 -d $RPM_BUILD_ROOT%{_datadir}/php - -# install the DSO -install -m 755 -d $RPM_BUILD_ROOT%{_httpd_moddir} -install -m 755 build-apache/libs/libphp5.so $RPM_BUILD_ROOT%{_httpd_moddir} - -%if %{with_zts} -# install the ZTS DSO -install -m 755 build-zts/libs/libphp5.so $RPM_BUILD_ROOT%{_httpd_moddir}/libphp5-zts.so -%endif - -# Apache config fragment -%if "%{_httpd_modconfdir}" == "%{_httpd_confdir}" -# Single config file with httpd < 2.4 (fedora <= 17) -install -D -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_httpd_confdir}/php.conf -%if %{with_zts} -cat %{SOURCE10} >>$RPM_BUILD_ROOT%{_httpd_confdir}/php.conf -%endif -cat %{SOURCE1} >>$RPM_BUILD_ROOT%{_httpd_confdir}/php.conf -%else -# Dual config file with httpd >= 2.4 (fedora >= 18) -install -D -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_httpd_modconfdir}/10-php.conf -%if %{with_zts} -cat %{SOURCE10} >>$RPM_BUILD_ROOT%{_httpd_modconfdir}/10-php.conf -%endif -install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_confdir}/php.conf -%endif - -install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php.d -%if %{with_zts} -install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d -%endif -install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php -install -m 700 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php/session -install -m 700 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php/wsdlcache - -# PHP-FPM stuff -# Log -install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/log/php-fpm -# Config -install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d -install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf -install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d/www.conf -mv $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf.default . -# LogRotate -install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d -install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/php-fpm -# Environment file -install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig -install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/php-fpm -%if %{with_systemd} -install -m 755 -d $RPM_BUILD_ROOT/run/php-fpm -# tmpfiles.d -install -m 755 -d $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d -install -m 644 php-fpm.tmpfiles $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/php-fpm.conf -# install systemd unit files and scripts for handling server startup -%if %{with_systemdmax} -# this folder requires systemd >= 204 -install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/php-fpm.service.d -%endif -install -m 755 -d $RPM_BUILD_ROOT%{_unitdir} -install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_unitdir}/ -%if ! %{with_systemdfull} -# PrivateTmp and Notif mode only work on fedora >= 16 -sed -e '/^PrivateTmp/s/true/false/' \ - -e '/^Type/s/notify/simple/' \ - -i ${RPM_BUILD_ROOT}%{_unitdir}/php-fpm.service -%endif -%else -sed -ne '1,2p' -i $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/php-fpm -install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/run/php-fpm -sed -i -e 's:/run:/var/run:' $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf -sed -i -e 's:/run:/var/run:' $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/php-fpm -# Service -install -m 755 -d $RPM_BUILD_ROOT%{_initrddir} -install -m 755 %{SOURCE99} $RPM_BUILD_ROOT%{_initrddir}/php-fpm -%endif - -# Fix the link -(cd $RPM_BUILD_ROOT%{_bindir}; ln -sfn phar.phar phar) - -# Generate files lists and stub .ini files for each subpackage -for mod in pgsql odbc ldap snmp xmlrpc imap \ - mysqlnd mysqlnd_mysql mysqlnd_mysqli pdo_mysqlnd \ - mbstring gd dom xsl soap bcmath dba xmlreader xmlwriter \ - simplexml bz2 calendar ctype exif ftp gettext gmp iconv \ - sockets tokenizer opcache \ - pdo pdo_pgsql pdo_odbc pdo_sqlite \ -%if %{with_zip} - zip \ -%endif - %{?_with_oci8:oci8} %{?_with_oci8:pdo_oci} interbase pdo_firebird \ -%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 - sqlite3 \ -%endif - enchant phar fileinfo intl \ - mcrypt tidy pdo_dblib mssql pspell curl wddx \ - posix shmop sysvshm sysvsem sysvmsg recode xml \ -%if %{with_libmysql} - mysql mysqli pdo_mysql \ -%endif - ; do -if [ "$mod" = "wddx" ] -then ini=xml_${mod}.ini -else ini=${mod}.ini -fi - if [ -f ${ini} ]; then - cp -p ${ini} $RPM_BUILD_ROOT%{_sysconfdir}/php.d/${ini} - cp -p ${ini} $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/${ini} - else - cat > $RPM_BUILD_ROOT%{_sysconfdir}/php.d/${ini} < $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/${ini} < files.${mod} <> files.xml - -# The mysql and mysqli modules are both packaged in php-mysql -%if %{with_libmysql} -cat files.mysqli >> files.mysql -cat files.pdo_mysql >> files.mysql -%endif -# mysqlnd -cat files.mysqlnd_mysql \ - files.mysqlnd_mysqli \ - files.pdo_mysqlnd \ - >> files.mysqlnd - -# Split out the PDO modules -cat files.pdo_dblib >> files.mssql -cat files.pdo_pgsql >> files.pgsql -cat files.pdo_odbc >> files.odbc -%if %{with_oci8} -cat files.pdo_oci >> files.oci8 -%endif -cat files.pdo_firebird >> files.interbase - -# sysv* and posix in packaged in php-process -cat files.shmop files.sysv* files.posix > files.process - -# Package sqlite3 and pdo_sqlite with pdo; isolating the sqlite dependency -# isn't useful at this time since rpm itself requires sqlite. -cat files.pdo_sqlite >> files.pdo -%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 -cat files.sqlite3 >> files.pdo -%endif - -# Package zip, curl, phar and fileinfo in -common. -cat files.curl files.phar files.fileinfo \ - files.exif files.gettext files.iconv files.calendar \ - files.ftp files.bz2 files.ctype files.sockets \ - files.tokenizer > files.common -%if %{with_zip} -cat files.zip >> files.common -%endif - -# The default Zend OPcache blacklist file -install -m 644 %{SOURCE51} $RPM_BUILD_ROOT%{_sysconfdir}/php.d/opcache-default.blacklist -install -m 644 %{SOURCE51} $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/opcache-default.blacklist -sed -e '/blacklist_filename/s/php.d/php-zts.d/' \ - -i $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/opcache.ini - -# Install the macros file: -sed -e "s/@PHP_APIVER@/%{apiver}%{isasuffix}/" \ - -e "s/@PHP_ZENDVER@/%{zendver}%{isasuffix}/" \ - -e "s/@PHP_PDOVER@/%{pdover}%{isasuffix}/" \ - -e "s/@PHP_VERSION@/%{version}/" \ -%if ! %{with_zts} - -e "/zts/d" \ -%endif - < %{SOURCE3} > macros.php -install -m 644 -D macros.php \ - $RPM_BUILD_ROOT%{macrosdir}/macros.php - -# Remove unpackaged files -rm -rf $RPM_BUILD_ROOT%{_libdir}/php/modules/*.a \ - $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/*.a \ - $RPM_BUILD_ROOT%{_bindir}/{phptar} \ - $RPM_BUILD_ROOT%{_datadir}/pear \ - $RPM_BUILD_ROOT%{_libdir}/libphp5.la - -# Remove irrelevant docs -rm -f README.{Zeus,QNX,CVS-RULES} - - -%pre common -echo -e "\nWARNING : These %{name}-* RPM are not official Fedora / Red Hat build and" -echo -e "overrides the official ones. Don't file bugs on Fedora Project nor Red Hat.\n" -echo -e "Use dedicated forums http://forums.famillecollet.com/\n" - -%if %{?fedora}%{!?fedora:99} < 19 -echo -e "WARNING : Fedora %{fedora} is now EOL :" -echo -e "You should consider upgrading to a supported release.\n" -%endif - - -%pre fpm -# Add the "apache" user as we don't require httpd -getent group apache >/dev/null || \ - groupadd -g 48 -r apache -getent passwd apache >/dev/null || \ - useradd -r -u 48 -g apache -s /sbin/nologin \ - -d %{_httpd_contentdir} -c "Apache" apache -exit 0 - -%post fpm -%if 0%{?systemd_post:1} -%systemd_post php-fpm.service -%else -if [ $1 = 1 ]; then - # Initial installation -%if 0%{?fedora} >= 15 - /bin/systemctl daemon-reload >/dev/null 2>&1 || : -%else - /sbin/chkconfig --add php-fpm -%endif -fi -%endif - -%preun fpm -%if 0%{?systemd_preun:1} -%systemd_preun php-fpm.service -%else -if [ $1 = 0 ]; then - # Package removal, not upgrade -%if 0%{?fedora} >= 15 - /bin/systemctl --no-reload disable php-fpm.service >/dev/null 2>&1 || : - /bin/systemctl stop php-fpm.service >/dev/null 2>&1 || : -%else - /sbin/service php-fpm stop >/dev/null 2>&1 - /sbin/chkconfig --del php-fpm -%endif -fi -%endif - -%postun fpm -%if 0%{?systemd_postun_with_restart:1} -%systemd_postun_with_restart php-fpm.service -%else -%if 0%{?fedora} >= 15 -/bin/systemctl daemon-reload >/dev/null 2>&1 || : -if [ $1 -ge 1 ]; then - # Package upgrade, not uninstall - /bin/systemctl try-restart php-fpm.service >/dev/null 2>&1 || : -fi -%else -if [ $1 -ge 1 ]; then - /sbin/service php-fpm condrestart >/dev/null 2>&1 || : -fi -%endif -%endif - -# Handle upgrading from SysV initscript to native systemd unit. -# We can tell if a SysV version of php-fpm was previously installed by -# checking to see if the initscript is present. -%triggerun fpm -- php-fpm -%if 0%{?fedora} >= 15 -if [ -f /etc/rc.d/init.d/php-fpm ]; then - # Save the current service runlevel info - # User must manually run systemd-sysv-convert --apply php-fpm - # to migrate them to systemd targets - /usr/bin/systemd-sysv-convert --save php-fpm >/dev/null 2>&1 || : - - # Run these because the SysV package being removed won't do them - /sbin/chkconfig --del php-fpm >/dev/null 2>&1 || : - /bin/systemctl try-restart php-fpm.service >/dev/null 2>&1 || : -fi -%endif - -%post embedded -p /sbin/ldconfig -%postun embedded -p /sbin/ldconfig - -%files -%defattr(-,root,root) -%{_httpd_moddir}/libphp5.so -%if %{with_zts} -%{_httpd_moddir}/libphp5-zts.so -%endif -%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/session -%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/wsdlcache -%config(noreplace) %{_httpd_confdir}/php.conf -%if "%{_httpd_modconfdir}" != "%{_httpd_confdir}" -%config(noreplace) %{_httpd_modconfdir}/10-php.conf -%endif -%{_httpd_contentdir}/icons/php.gif - -%files common -f files.common -%defattr(-,root,root) -%doc CODING_STANDARDS CREDITS EXTENSIONS LICENSE NEWS README* -%doc Zend/ZEND_* TSRM_LICENSE regex_COPYRIGHT -%doc libmagic_LICENSE -%doc phar_LICENSE -%doc php.ini-* -%config(noreplace) %{_sysconfdir}/php.ini -%dir %{_sysconfdir}/php.d -%dir %{_libdir}/php -%dir %{_libdir}/php/modules -%if %{with_zts} -%dir %{_sysconfdir}/php-zts.d -%dir %{_libdir}/php-zts -%dir %{_libdir}/php-zts/modules -%endif -%dir %{_localstatedir}/lib/php -%dir %{_datadir}/php - -%files cli -%defattr(-,root,root) -%{_bindir}/php -%{_bindir}/php-cgi -%{_bindir}/phar.phar -%{_bindir}/phar -# provides phpize here (not in -devel) for pecl command -%{_bindir}/phpize -%{_mandir}/man1/php.1* -%{_mandir}/man1/php-cgi.1* -%{_mandir}/man1/phar.1* -%{_mandir}/man1/phar.phar.1* -%{_mandir}/man1/phpize.1* -%doc sapi/cgi/README* sapi/cli/README - -%files fpm -%defattr(-,root,root) -%doc php-fpm.conf.default -%doc fpm_LICENSE -%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/session -%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/wsdlcache -%config(noreplace) %{_sysconfdir}/php-fpm.conf -%config(noreplace) %{_sysconfdir}/php-fpm.d/www.conf -%config(noreplace) %{_sysconfdir}/logrotate.d/php-fpm -%config(noreplace) %{_sysconfdir}/sysconfig/php-fpm -%if %{with_systemd} -%{_prefix}/lib/tmpfiles.d/php-fpm.conf -%{_unitdir}/php-fpm.service -%if %{with_systemdmax} -%dir %{_sysconfdir}/systemd/system/php-fpm.service.d -%endif -%dir /run/php-fpm -%else -%{_initrddir}/php-fpm -%dir %{_localstatedir}/run/php-fpm -%endif -%{_sbindir}/php-fpm -%dir %{_sysconfdir}/php-fpm.d -# log owned by apache for log -%attr(770,apache,root) %dir %{_localstatedir}/log/php-fpm -%{_mandir}/man8/php-fpm.8* -%dir %{_datadir}/fpm -%{_datadir}/fpm/status.html - -%files devel -%defattr(-,root,root) -%{_bindir}/php-config -%{_includedir}/php -%{_libdir}/php/build -%if %{with_zts} -%{_bindir}/zts-php-config -%{_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* -%{macrosdir}/macros.php - -%files embedded -%defattr(-,root,root,-) -%{_libdir}/libphp5.so -%{_libdir}/libphp5-%{embed_version}.so - -%files pgsql -f files.pgsql -%if %{with_libmysql} -%files mysql -f files.mysql -%endif -%files odbc -f files.odbc -%files imap -f files.imap -%files ldap -f files.ldap -%files snmp -f files.snmp -%files xml -f files.xml -%files xmlrpc -f files.xmlrpc -%files mbstring -f files.mbstring -%doc libmbfl_LICENSE -%doc oniguruma_COPYING -%doc ucgendat_LICENSE -%files gd -f files.gd -%defattr(-,root,root,-) -%if ! %{with_libgd} -%doc libgd_README -%doc libgd_COPYING -%endif -%files soap -f files.soap -%files bcmath -f files.bcmath -%doc libbcmath_COPYING -%files gmp -f files.gmp -%files dba -f files.dba -%files pdo -f files.pdo -%files mcrypt -f files.mcrypt -%files tidy -f files.tidy -%files mssql -f files.mssql -%files pspell -f files.pspell -%files intl -f files.intl -%files process -f files.process -%files recode -f files.recode -%files interbase -f files.interbase -%files enchant -f files.enchant -%files mysqlnd -f files.mysqlnd -%files opcache -f files.opcache -%config(noreplace) %{_sysconfdir}/php.d/opcache-default.blacklist -%config(noreplace) %{_sysconfdir}/php-zts.d/opcache-default.blacklist -%if %{with_oci8} -%files oci8 -f files.oci8 -%endif - - -%changelog -* Wed Feb 26 2014 Remi Collet 5.5.10-0.4.RC1 -- php-fpm should own /var/lib/php/session and wsdlcache - -* Tue Feb 25 2014 Remi Collet 5.5.10-0.3.RC1 -- test build for https://bugs.php.net/66762 - -* Fri Feb 21 2014 Remi Collet 5.5.10-0.2.RC1 -- another test build of 5.5.10RC1 -- fix memleak in fileinfo ext -- revert test changes for pcre 8.34 - -* Thu Feb 20 2014 Remi Collet 5.5.10-0.1.RC1 -- test build of 5.5.10RC1 - -* Tue Feb 18 2014 Remi Collet 5.5.9-2 -- upstream patch for https://bugs.php.net/66731 - -* Tue Feb 11 2014 Remi Collet 5.5.9-1 -- Update to 5.5.9 - http://www.php.net/ChangeLog-5.php#5.5.9 -- Install macros to /usr/lib/rpm/macros.d where available. -- Add configtest option to php-fpm ini script (EL) - -* Thu Jan 23 2014 Remi Collet 5.5.9-0.1.RC1 -- test build of 5.5.9RC1 - -* Thu Jan 23 2014 Joe Orton - 5.5.8-2 -- fix _httpd_mmn expansion in absence of httpd-devel - -* Mon Jan 20 2014 Remi Collet 5.5.8-2 -- test build for https://bugs.php.net/66412 - -* Wed Jan 8 2014 Remi Collet 5.5.8-1 -- update to 5.5.8 -- drop conflicts with other opcode caches as both can - be used only for user data cache - -* Wed Jan 8 2014 Remi Collet 5.5.8-0.2.RC1 -- another test build of 5.5.8RC1 - -* Sat Dec 28 2013 Remi Collet 5.5.8-0.1.RC1 -- test build of 5.5.8RC1 - -* Fri Dec 20 2013 Remi Collet 5.5.7-1.1 -- test build for https://bugs.php.net/66331 - -* Wed Dec 11 2013 Remi Collet 5.5.7-1 -- update to 5.5.7, fix for CVE-2013-6420 -- fix zend_register_functions breaks reflection, php bug 66218 -- fix Heap buffer over-read in DateInterval, php bug 66060 -- fix fix overflow handling bug in non-x86 - -* Tue Dec 10 2013 Remi Collet 5.5.7-0.4.RC1 -- test build - -* Wed Dec 04 2013 Remi Collet 5.5.7-0.3.RC1 -- test build - -* Mon Dec 02 2013 Remi Collet 5.5.7-0.2.RC1 -- test build for https://bugs.php.net/66218 - zend_register_functions breaks reflection - -* Thu Nov 28 2013 Remi Collet 5.5.7-0.1.RC1 -- test build of 5.5.7RC1 - -* Wed Nov 13 2013 Remi Collet 5.5.6-1 -- update to 5.5.6 - -* Tue Nov 12 2013 Remi Collet 5.5.6-0.7 -- update to 5.5.6, test build - -* Fri Nov 8 2013 Remi Collet 5.5.6-0.6.RC1 -- add --with debug option for debug build - -* Wed Nov 6 2013 Remi Collet 5.5.6-0.5.RC1 -- test buid with opcache changes reverted - -* Mon Nov 4 2013 Remi Collet 5.5.6-0.4.RC1 -- test build opcache with phar build shared - https://github.com/zendtech/ZendOptimizerPlus/issues/147 - -* Mon Nov 4 2013 Remi Collet 5.5.6-0.3.RC1 -- build phar shared, opcache loaded with RTLD_LAZY - -* Sat Nov 2 2013 Remi Collet 5.5.6-0.2.RC1 -- build phar static for opcache dep. - -* Sat Nov 2 2013 Remi Collet 5.5.6-0.1.RC1 -- test build of 5.5.6RC1 - -* Sun Oct 27 2013 Remi Collet 5.5.5-2 -- rebuild using libicu-last 50.1.2 - -* Tue Oct 15 2013 Remi Collet - 5.5.5-1 -- update to 5.5.5 - -* Mon Sep 23 2013 Remi Collet - 5.5.4-2 -- test build - -* Thu Sep 19 2013 Remi Collet - 5.5.4-1 -- update to 5.5.4 -- improve security, use specific soap.wsdl_cache_dir - use /var/lib/php/wsdlcache for mod_php and php-fpm -- sync short_tag comments in php.ini with upstream - -* Fri Aug 30 2013 Remi Collet - 5.5.4.0.1-201308300430 -- test build with -fsanitize=address -- test build for https://bugs.php.net/65564 - -* Wed Aug 21 2013 Remi Collet - 5.5.3-1 -- update to 5.5.3 -- build without zip extension, requires php-pecl-zip -- fix typo and add missing entries in php.ini - -* Tue Aug 20 2013 Remi Collet - 5.5.3-0 -- update to 5.5.3 -- test build without zip extension -- fix typo and add missing entries in php.ini - -* Mon Aug 19 2013 Remi Collet - 5.5.2-1 -- update to 5.5.2 - -* Thu Aug 8 2013 Remi Collet - 5.5.2-0.2.RC1 -- improve system libzip patch - -* Thu Aug 1 2013 Remi Collet - 5.5.2-0.1.RC1 -- 5.5.2RC1 - -* Fri Jul 26 2013 Remi Collet - 5.5.1-2 -- test build with oracle instantclient 12.1 - -* Mon Jul 22 2013 Remi Collet - 5.5.1-1 -- update to 5.5.1 -- add Provides: php(pdo-abi), for consistency with php(api) - and php(zend-abi) -- improved description for mod_php -- fix opcache ZTS configuration (blacklists in /etc/php-zts.d) -- add missing man pages (phar, php-cgi) -- fix php-enchant summary and description - -* Fri Jul 12 2013 Remi Collet - 5.5.0-2 -- add security fix for CVE-2013-4113 -- add missing ASL 1.0 license -- 32k stack size seems ok for tests on both 32/64bits build - -* Mon Jun 24 2013 Remi Collet 5.5.1-0.1.201306240630 -- test build (bundled libgd) - -* Thu Jun 20 2013 Remi Collet 5.5.0-1 -- update to 5.5.0 final - -* Fri Jun 14 2013 Remi Collet 5.5.0-0.11.RC3 -- also drop JSON from sources -- clean conditional for JSON (as removed from the sources) -- clean conditional for FPM (always build) - -* Fri Jun 14 2013 Remi Collet 5.5.0-0.36.RC3.1 -- EL-5 rebuild with gd-last - -* Thu Jun 13 2013 Remi Collet 5.5.0-0.36.RC3 -- drop JSON extension -- build with system GD when 2.1.0 is available - -* Thu Jun 6 2013 Remi Collet 5.5.0-0.35.RC3 -- update to 5.5.0RC3 - -* Mon May 27 2013 Remi Collet 5.5.0-0.34.201305271230. --test build with systemd gd - -* Thu May 23 2013 Remi Collet 5.5.0-0.33.RC2 -- update to 5.5.0RC2 -- add missing options in php-fpm.conf -- improved systemd configuration, documentation about - /etc/sysconfig/php-fpm being deprecated - -* Wed May 22 2013 Remi Collet 5.5.0-0.32.201305220430 -- test build for https://bugs.php.net/64895 - -* Sat May 18 2013 Remi Collet 5.5.0-0.32.201305181030 -- test build with systemd integration (type=notify) - -* Wed May 8 2013 Remi Collet 5.5.0-0.31.RC1 -- update to 5.5.0RC1 - -* Sat Apr 27 2013 Remi Collet 5.5.0-0.30.201305041230 -- test build for libgd - -* Sat Apr 27 2013 Remi Collet 5.5.0-0.29.201304291030 -- new snapshot -- review some sub-packages description -- add option to disable json extension - -* Thu Apr 25 2013 Remi Collet 5.5.0-0.28.beta4 -- update to 5.5.0beta4, rebuild with new sources - -* Thu Apr 25 2013 Remi Collet 5.5.0-0.27.beta4 -- update to 5.5.0beta4 - -* Mon Apr 22 2013 Remi Collet 5.5.0-0.27-201304221230 -- new snapshot -- try build with system gd 2.1.0 - -* Thu Apr 18 2013 Remi Collet 5.5.0-0.26-201304181030 -- new snapshot -- zend_extension doesn't requires full path -- refresh system libzip patch -- drop opcache patch merged upstream - -* Thu Apr 11 2013 Remi Collet 5.5.0-0.25.beta3 -- allow wildcard in opcache.blacklist_filename and provide - default /etc/php.d/opcache-default.blacklist - -* Wed Apr 10 2013 Remi Collet 5.5.0-0.24.beta3 -- update to 5.5.0beta3 - -* Thu Apr 4 2013 Remi Collet 5.5.0-0.23-201304040630 -- new snapshot -- clean old deprecated options - -* Thu Mar 28 2013 Remi Collet 5.5.0-0.22.beta2 -- update to 5.5.0beta2 -- Zend Optimizer+ renamed to Zend OPcache -- sync provided configuration with upstream - -* Mon Mar 25 2013 Remi Collet 5.5.0-0.21-201303251230 -- new snapshot -- generated parser using system bison, test for https://bugs.php.net/64503 - -* Wed Mar 20 2013 Remi Collet 5.5.0-0.20-201303201430 -- new snapshot (beta1) - -* Mon Mar 18 2013 Remi Collet 5.5.0-0.19-201303180830 -- new snapshot -- temporary disable dtrace -- new extension opcache in php-opccache sub-package - -* Thu Mar 14 2013 Remi Collet 5.5.0-0.18-201303141230 -- new snapshot -- hardened build (links with -z now option) -- remove %%config from /etc/rpm/macros.php - -* Fri Mar 8 2013 Remi Collet 5.5.0-0.17-201303081230 -- new snapshot (post alpha 6) -- make php-mysql package optional (and disabled) -- make ZTS build optional (still enabled) - -* Thu Feb 28 2013 Remi Collet 5.5.0-0.16-201302281430 -- new snapshot - -* Thu Feb 21 2013 Remi Collet 5.5.0-0.16-201302211230 -- new snapshot (post alpha 5) - -* Wed Feb 13 2013 Remi Collet 5.5.0-0.16-201302131030 -- enable tokyocabinet and gdbm dba handlers - -* Tue Feb 12 2013 Remi Collet 5.5.0-0.15-201302121230 -- new snapshot - -* Mon Feb 4 2013 Remi Collet 5.5.0-0.14-201302040630 -- new snapshot - -* Fri Feb 1 2013 Remi Collet 5.5.0-0.14-201302010630 -- new snapshot - -* Mon Jan 28 2013 Remi Collet 5.5.0-0.13-201301281030 -- new snapshot -- don't display XFAIL tests in report - -* Wed Jan 23 2013 Remi Collet 5.5.0-0.12-201301230630 -- new snapshot, alpha4 - -* Thu Jan 17 2013 Remi Collet 5.5.0-0.11-201301170830 -- new snapshot -- fix php.conf to allow MultiViews managed by php scripts - -* Thu Jan 10 2013 Remi Collet 5.5.0-0.10-201301100830 -- new snapshot, alpha3 - -* Wed Jan 2 2013 Remi Collet 5.5.0-0.10-201301021430 -- new snapshot - -* Mon Dec 24 2012 Remi Collet 5.5.0-0.9.201212241030 -- new snapshot (post alpha2) -- use xz compressed tarball - -* Tue Dec 18 2012 Remi Collet 5.5.0-0.9.201212181230 -- new snapshot - -* Wed Dec 12 2012 Remi Collet 5.5.0-0.8.201212121430 -- new snapshot - -* Tue Dec 11 2012 Remi Collet 5.5.0-0.8.201212110630 -- patch for unpack - -* Tue Dec 11 2012 Remi Collet 5.5.0-0.7.201212110630 -- prevent php_config.h changes across (otherwise identical) rebuilds -- drop "Configure Command" from phpinfo output - -* Tue Dec 11 2012 Remi Collet 5.5.0-0.6.201212110630 -- new snapshot -- move gmp in new sub-package - -* Mon Dec 10 2012 Remi Collet 5.5.0-0.6.201212100830 -- build sockets, tokenizer extensions shared - -* Mon Dec 10 2012 Remi Collet 5.5.0-0.5.201212100830 -- new snapshot -- enable dtrace - -* Tue Dec 4 2012 Remi Collet 5.5.0-0.4.201211301534 -- build simplexml and xml extensions shared (in php-xml) -- build bz2, calendar, ctype, exif, ftp, gettext and iconv - extensions shared (in php-common) -- build gmp extension shared (in php-bcmath) -- build shmop extension shared (in php-process) - -* Mon Dec 3 2012 Remi Collet 5.5.0-0.3.201211301534 -- drop some old compatibility provides (php-api, php-zend-abi, php-pecl-*) -- obsoletes php55-* - -* Fri Nov 30 2012 Remi Collet 5.5.0-0.2.201211301534 -- update to have zend_execute_ex for xDebug - -* Fri Nov 30 2012 Remi Collet 5.5.0-0.1.201211300857 -- Initial work on 5.5.0-dev - -* Fri Nov 23 2012 Remi Collet 5.4.9-2 -- add patch for https://bugs.php.net/63588 - duplicated implementation of php_next_utf8_char - -* Thu Nov 22 2012 Remi Collet 5.4.9-1 -- update to 5.4.9 - -* Thu Nov 15 2012 Remi Collet 5.4.9-0.5.RC1 -- switch back to upstream generated scanner/parser - -* Thu Nov 15 2012 Remi Collet 5.4.9-0.4.RC1 -- use _httpd_contentdir macro and fix php.gif path - -* Wed Nov 14 2012 Remi Collet 5.4.9-0.3.RC1 -- improve system libzip patch to use pkg-config - -* Wed Nov 14 2012 Remi Collet 5.4.9-0.2.RC1 -- use _httpd_moddir macro - -* Wed Nov 14 2012 Remi Collet 5.4.9-0.1.RC1 -- update to 5.4.9RC1 -- improves php.conf (use FilesMatch + SetHandler) -- improves filter (httpd module) -- apply ldap_r patch on fedora >= 18 only - -* Fri Nov 9 2012 Remi Collet 5.4.9-0.2.RC1 -- sync with rawhide - -* Fri Nov 9 2012 Remi Collet 5.4.8-6 -- clarify Licenses -- missing provides xmlreader and xmlwriter -- modernize spec - -* Thu Nov 8 2012 Remi Collet 5.4.9-0.1.RC1 -- update to 5.4.9RC1 -- change php embedded library soname version to 5.4 - -* Tue Nov 6 2012 Remi Collet 5.4.8-5 -- fix _httpd_mmn macro definition - -* Mon Nov 5 2012 Remi Collet 5.4.8-4 -- fix mysql_sock macro definition - -* Thu Oct 25 2012 Remi Collet 5.4.8-3 -- fix installed headers - -* Tue Oct 23 2012 Joe Orton - 5.4.8-2 -- use libldap_r for ldap extension - -* Thu Oct 18 2012 Remi Collet 5.4.8-1 -- update to 5.4.8 -- define both session.save_handler and session.save_path -- fix possible segfault in libxml (#828526) -- php-fpm: create apache user if needed -- use SKIP_ONLINE_TEST during make test -- php-devel requires pcre-devel and php-cli (instead of php) - -* Fri Oct 5 2012 Remi Collet 5.4.8-0.3.RC1 -- provides php-phar - -* Thu Oct 4 2012 Remi Collet 5.4.8-0.2.RC1 -- update systzdata patch to v10, timezone are case insensitive - -* Thu Oct 4 2012 Remi Collet 5.4.8-0.1.RC1 -- update to 5.4.8RC1 - -* Mon Oct 1 2012 Remi Collet 5.4.7-10 -- fix typo in systemd macro - -* Mon Oct 1 2012 Remi Collet 5.4.7-9 -- php-fpm: enable PrivateTmp -- php-fpm: new systemd macros (#850268) -- php-fpm: add upstream patch for startup issue (#846858) - -* Fri Sep 28 2012 Remi Collet 5.4.7-8 -- systemd integration, https://bugs.php.net/63085 -- no odbc call during timeout, https://bugs.php.net/63171 -- check sqlite3_column_table_name, https://bugs.php.net/63149 - -* Mon Sep 24 2012 Remi Collet 5.4.7-7 -- most failed tests explained (i386, x86_64) - -* Wed Sep 19 2012 Remi Collet 5.4.7-6 -- fix for http://bugs.php.net/63126 (#783967) - -* Wed Sep 19 2012 Remi Collet 5.4.7-6 -- add --daemonize / --nodaemonize options to php-fpm - upstream RFE: https://bugs.php.net/63085 - -* Wed Sep 19 2012 Remi Collet 5.4.7-5 -- sync with rawhide -- patch to report libdb version https://bugs.php.net/63117 - -* Wed Sep 19 2012 Remi Collet 5.4.7-5 -- patch to ensure we use latest libdb (not libdb4) - -* Wed Sep 19 2012 Remi Collet 5.4.7-4 -- really fix rhel tests (use libzip and libdb) - -* Tue Sep 18 2012 Remi Collet 5.4.7-3 -- fix test to enable zip extension on RHEL-7 - -* Mon Sep 17 2012 Remi Collet 5.4.7-2 -- remove session.save_path from php.ini - move it to apache and php-fpm configuration files - -* Fri Sep 14 2012 Remi Collet 5.4.7-1 -- update to 5.4.7 - http://www.php.net/releases/5_4_7.php -- php-fpm: don't daemonize - -* Thu Sep 13 2012 Remi Collet 5.4.7-1 -- update to 5.4.7 - -* Mon Sep 3 2012 Remi Collet 5.4.7-0.2.RC1 -- obsoletes php53* and php54* - -* Fri Aug 31 2012 Remi Collet 5.4.7-0.1.RC1 -- update to 5.4.7RC1 - -* Mon Aug 20 2012 Remi Collet 5.4.6-2 -- enable php-fpm on secondary arch (#849490) - -* Thu Aug 16 2012 Remi Collet 5.4.6-1 -- update to 5.4.6 - -* Thu Aug 02 2012 Remi Collet 5.4.6-0.1.RC1 -- update to 5.4.6RC1 - -* Fri Jul 20 2012 Remi Collet 5.4.5-1 -- update to 5.4.5 - -* Sat Jul 07 2012 Remi Collet 5.4.5-0.2.RC1 -- update patch for system libzip - -* Wed Jul 04 2012 Remi Collet 5.4.5-0.1.RC1 -- update to 5.4.5RC1 with bundled libzip. - -* Mon Jul 02 2012 Remi Collet 5.4.4-4 -- use system pcre only on fedora >= 14 (version 8.10) -- drop BR for libevent (#835671) -- provide php(language) to allow version check -- define %%{php_version} - -* Thu Jun 21 2012 Remi Collet 5.4.4-2 -- clean spec, sync with rawhide -- add missing provides (core, ereg, filter, standard) - -* Wed Jun 13 2012 Remi Collet 5.4.4-1 -- update to 5.4.4 finale -- fedora >= 15: use /usr/lib/tmpfiles.d instead of /etc/tmpfiles.d -- fedora >= 15: use /run/php-fpm instead of /var/run/php-fpm - -* Thu May 31 2012 Remi Collet 5.4.4-0.2.RC2 -- update to 5.4.4RC2 - -* Thu May 17 2012 Remi Collet 5.4.4-0.1.RC1 -- update to 5.4.4RC1 - -* Wed May 09 2012 Remi Collet 5.4.3-1 -- update to 5.4.3 (CVE-2012-2311, CVE-2012-2329) - -* Thu May 03 2012 Remi Collet 5.4.2-1 -- update to 5.4.2 (CVE-2012-1823) - -* Fri Apr 27 2012 Remi Collet 5.4.1-1 -- update to 5.4.1 -- use libdb in fedora >= 18 instead of db4 - -* Fri Apr 13 2012 Remi Collet 5.4.1-0.3.RC2 -- update to 5.4.1RC2 - -* Sat Mar 31 2012 Remi Collet 5.4.1-0.2.RC1 -- rebuild - -* Sat Mar 31 2012 Remi Collet 5.4.1-0.1.RC1 -- update to 5.4.1RC1, split php conf when httpd 2.4 - -* Tue Mar 27 2012 Remi Collet 5.4.0-1.1 -- sync with rawhide (httpd 2.4 stuff) - -* Mon Mar 26 2012 Joe Orton - 5.4.0-2 -- rebuild against httpd 2.4 -- use _httpd_mmn, _httpd_apxs macros -- fix --without-system-tzdata build for Debian et al - -* Fri Mar 02 2012 Remi Collet 5.4.0-1 -- update to PHP 5.4.0 finale - -* Sat Feb 18 2012 Remi Collet 5.4.0-0.16.RC8 -- update to 5.4.0RC8 - -* Sat Feb 04 2012 Remi Collet 5.4.0-0.15.RC7 -- update to 5.4.0RC7 - -* Fri Jan 27 2012 Remi Collet 5.4.0-0.14.RC6 -- build against system libzip (fedora >= 17), patch from spot - -* Thu Jan 26 2012 Remi Collet 5.4.0-0.13.RC6 -- add /etc/sysconfig/php-fpm environment file (#784770) - -* Wed Jan 25 2012 Remi Collet 5.4.0-0.12.RC6 -- keep all ZTS binaries in /usr/bin (with zts prefix) - -* Thu Jan 19 2012 Remi Collet 5.4.0-0.11.RC6 -- update to 5.4.0RC6 - -* Wed Jan 18 2012 Remi Collet 5.4.0-0.10.RC5 -- add some fedora patches back (dlopen, easter, phpize) - -* Mon Jan 16 2012 Remi Collet 5.4.0-0.9.RC5 -- improves mysql.sock default path - -* Fri Jan 13 2012 Remi Collet 5.4.0-0.8.RC5 -- update to 5.4.0RC5 -- patch for https://bugs.php.net/60748 (mysql.sock hardcoded) -- move session.path from php.ini to httpd/conf.d/php.conf -- provides both ZTS mysql extensions (libmysql/mysqlnd) -- build php cli ZTS binary, in -devel, mainly for test - -* Wed Jan 04 2012 Remi Collet 5.4.0-0.7.201201041830 -- new snapshot (5.4.0RC5-dev) with fix for https://bugs.php.net/60627 - -* Fri Dec 30 2011 Remi Collet 5.4.0-0.6.201112300630 -- new snapshot (5.4.0RC5-dev) - -* Mon Dec 26 2011 Remi Collet 5.4.0-0.6.201112261030 -- new snapshot (5.4.0RC5-dev) - -* Sat Dec 17 2011 Remi Collet 5.4.0-0.5.201112170630 -- new snapshot (5.4.0RC4-dev) - -* Mon Dec 12 2011 Remi Collet 5.4.0-0.4.201112121330 -- new snapshot (5.4.0RC4-dev) -- switch to systemd - -* Fri Dec 09 2011 Remi Collet 5.4.0-0.3.201112091730 -- new snapshot (5.4.0RC4-dev) -- removed patch merged upstream for https://bugs.php.net/60392 -- clean ini (from upstream production default) - -* Sun Nov 13 2011 Remi Collet 5.4.0-0.3.201111260730 -- new snapshot (5.4.0RC3-dev) -- patch for https://bugs.php.net/60392 (old libicu on EL-5) - -* Sun Nov 13 2011 Remi Collet 5.4.0-0.3.201111130730 -- new snapshot (5.4.0RC2-dev) -- sync with latest changes in 5.3 spec - -* Thu Sep 08 2011 Remi Collet 5.4.0-0.2.201109081430 -- new snapshot -- build mysql/mysqli against both libmysql and mysqlnd (new mysqlnd sub-package) - -* Sat Sep 03 2011 Remi Collet 5.4.0-0.1.201109031230 -- first work on php 5.4 -- remove -sqlite subpackage -- move php/modules-zts to php-zts/modules - diff --git a/php56.spec b/php56.spec new file mode 100644 index 0000000..e15f362 --- /dev/null +++ b/php56.spec @@ -0,0 +1,2480 @@ +# API/ABI check +%global apiver 20131106 +%global zendver 20131226 +%global pdover 20080721 +# Extension version +%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 1 + +# Adds -z now to the linker flags +%global _hardened_build 1 + +# version used for php embedded library soname +%global embed_version 5.6 + +%global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock) + +%ifarch ppc ppc64 +%global oraclever 10.2.0.2 +%else +%global oraclever 12.1 +%endif + +# Regression tests take a long time, you can skip 'em with this +%{!?runselftest: %{expand: %%global runselftest 1}} + +# Use the arch-specific mysql_config binary to avoid mismatch with the +# arch detection heuristic used by bindir/mysql_config. +%global mysql_config %{_libdir}/mysql/mysql_config + +# Optional components; pass "--with mssql" etc to rpmbuild. +%global with_oci8 %{?_with_oci8:1}%{!?_with_oci8:0} + +# Build mysql/mysqli/pdo extensions using libmysqlclient or only mysqlnd +%global with_libmysql 0 + +%if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 +%global with_libpcre 1 +%else +%global with_libpcre 0 +%endif + +# Build ZTS extension or only NTS +%global with_zts 1 + +# Debuild build +%global with_debug %{?_with_debug:1}%{!?_with_debug:0} + +%if 0%{?__isa_bits:1} +%global isasuffix -%{__isa_bits} +%else +%global isasuffix %nil +%endif + +# /usr/sbin/apsx with httpd < 2.4 and defined as /usr/bin/apxs with httpd >= 2.4 +%{!?_httpd_apxs: %{expand: %%global _httpd_apxs %%{_sbindir}/apxs}} +%{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo 0-0)}} +%{!?_httpd_confdir: %{expand: %%global _httpd_confdir %%{_sysconfdir}/httpd/conf.d}} +# /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4 +%{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}} +%{!?_httpd_moddir: %{expand: %%global _httpd_moddir %%{_libdir}/httpd/modules}} +%{!?_httpd_contentdir: %{expand: %%global _httpd_contentdir /var/www}} + +%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) + +# systemd to manage the service +%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 +%global with_systemd 1 +%else +%global with_systemd 0 +%endif +# systemd with notify mode +%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7 +%global with_systemdfull 1 +%else +%global with_systemdfull 0 +%endif +# systemd with additional service config +%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7 +%global with_systemdmax 1 +%else +%global with_systemdmax 0 +%endif + +%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 +%global with_dtrace 1 +%else +%global with_dtrace 0 +%endif +%if 0%{?fedora} < 14 && 0%{?rhel} < 5 +%global with_libgd 0 +%else +%global with_libgd 1 +%endif +%if 0%{?fedora} < 17 && 0%{?rhel} < 7 +%global with_libzip 0 +%else +%global with_libzip 1 +%endif +%global with_zip 0 + +%if 0%{?fedora} < 18 && 0%{?rhel} < 7 +%global db_devel db4-devel +%else +%global db_devel libdb-devel +%endif + +#global snapdate 201402280830 +%global rcver alpha3 + +Summary: PHP scripting language for creating dynamic web sites +Name: php +Version: 5.6.0 +%if 0%{?snapdate:1}%{?rcver:1} +Release: 0.1.%{?snapdate}%{?rcver}%{?dist} +%else +Release: 1%{?dist} +%endif +# All files licensed under PHP version 3.01, except +# Zend is licensed under Zend +# TSRM is licensed under BSD +License: PHP and Zend and BSD +Group: Development/Languages +URL: http://www.php.net/ + +%if 0%{?snapdate} +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 +# ./strip.sh %{version} +Source0: php-%{version}%{?rcver}-strip.tar.xz +%endif +Source1: php.conf +Source2: php.ini +Source3: macros.php +Source4: php-fpm.conf +Source5: php-fpm-www.conf +Source6: php-fpm.service +Source7: php-fpm.logrotate +Source8: php-fpm.sysconfig +Source9: php.modconf +Source10: php.ztsmodconf +Source11: strip.sh +# Configuration files for some extensions +Source50: opcache.ini +Source51: opcache-default.blacklist +Source99: php-fpm.init + +# Build fixes +Patch5: php-5.2.0-includedir.patch +Patch6: php-5.2.4-embed.patch +Patch7: php-5.3.0-recode.patch +Patch8: php-5.4.7-libdb.patch + +# Fixes for extension modules +# https://bugs.php.net/63171 no odbc call during timeout +Patch21: php-5.4.7-odbctimer.patch + +# Functional changes +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 -lldap_r for OpenLDAP +Patch45: php-5.4.8-ldap_r.patch +# Make php_config.h constant across builds +Patch46: php-5.4.9-fixheader.patch +# drop "Configure command" from phpinfo output +Patch47: php-5.4.9-phpinfo.patch + +# RC Patch +Patch91: php-5.3.7-oci8conf.patch + +# Upstream fixes (100+) + +# Security fixes (200+) + +# Fixes for tests (300+) +# Revert change for pcre 8.34 +Patch301: php-5.5.10-pcre834.patch + +# WIP + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: bzip2-devel, curl-devel >= 7.9 +BuildRequires: httpd-devel >= 2.0.46-1, pam-devel +BuildRequires: libstdc++-devel, openssl-devel +%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 +# For Sqlite3 extension +BuildRequires: sqlite-devel >= 3.6.0 +%else +BuildRequires: sqlite-devel >= 3.0.0 +%endif +BuildRequires: zlib-devel, smtpdaemon, libedit-devel +%if %{with_libpcre} +BuildRequires: pcre-devel >= 8.20 +%endif +BuildRequires: bzip2, perl, libtool >= 1.4.3, gcc-c++ +BuildRequires: libtool-ltdl-devel +%if %{with_libzip} +BuildRequires: libzip-devel >= 0.10 +%endif +%if %{with_dtrace} +BuildRequires: systemtap-sdt-devel +%endif +%if 0%{?snapdate} +BuildRequires: bison +%endif + +Obsoletes: php53, php53u, php54, php55u +%if %{with_zts} +Obsoletes: php-zts < 5.3.7 +Provides: php-zts = %{version}-%{release} +Provides: php-zts%{?_isa} = %{version}-%{release} +%endif + +Requires: httpd-mmn = %{_httpd_mmn} +Provides: mod_php = %{version}-%{release} +Requires: php-common%{?_isa} = %{version}-%{release} +# For backwards-compatibility, require php-cli for the time being: +Requires: php-cli%{?_isa} = %{version}-%{release} +# To ensure correct /var/lib/php/session ownership: +Requires(pre): httpd + +%if 0%{?fedora} < 20 +# Don't provides extensions, which are not shared library, as .so +%{?filter_provides_in: %filter_provides_in %{_libdir}/php/modules/.*\.so$} +%{?filter_provides_in: %filter_provides_in %{_libdir}/php-zts/modules/.*\.so$} +%{?filter_provides_in: %filter_provides_in %{_httpd_moddir}/.*\.so$} +%{?filter_setup} +%endif + + +%description +PHP is an HTML-embedded scripting language. PHP attempts to make it +easy for developers to write dynamically generated web pages. PHP also +offers built-in database integration for several commercial and +non-commercial database management systems, so writing a +database-enabled webpage with PHP is fairly simple. The most common +use of PHP coding is probably as a replacement for CGI scripts. + +The php package contains the module (often referred to as mod_php) +which adds support for the PHP language to Apache HTTP Server. + +%package cli +Group: Development/Languages +Summary: Command-line interface for PHP +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, 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 +# All files licensed under PHP version 3.01, except +# Zend is licensed under Zend +# TSRM and fpm are licensed under BSD +License: PHP and Zend and BSD +Requires: php-common%{?_isa} = %{version}-%{release} +Requires(pre): /usr/sbin/useradd +%if %{with_systemdfull} +BuildRequires: systemd-devel +%endif +%if %{with_systemd} +BuildRequires: systemd-units +Requires: systemd-units +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units +# This is actually needed for the %%triggerun script but Requires(triggerun) +# is not valid. We can use %%post because this particular %%triggerun script +# should fire just after this package is installed. +Requires(post): systemd-sysv +%else +# This is for /sbin/service +Requires(preun): initscripts +Requires(postun): initscripts +%endif +Obsoletes: php53-fpm, php53u-fpm, php54-fpm, php55u-fpm, php56u-fpm + +%description fpm +PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI +implementation with some additional features useful for sites of +any size, especially busier sites. + +%package common +Group: Development/Languages +Summary: Common files for PHP +# All files licensed under PHP version 3.01, except +# fileinfo is licensed under PHP version 3.0 +# regex, libmagic are licensed under BSD +# main/snprintf.c, main/spprintf.c and main/rfc1867.c are ASL 1.0 +License: PHP and BSD and ASL 1.0 +# ABI/API check - Arch specific +Provides: php(api) = %{apiver}%{isasuffix} +Provides: php(zend-abi) = %{zendver}%{isasuffix} +Provides: php(language) = %{version}, php(language)%{?_isa} = %{version} +# Provides for all builtin/shared modules: +Provides: php-bz2, php-bz2%{?_isa} +Provides: php-calendar, php-calendar%{?_isa} +Provides: php-core = %{version}, php-core%{?_isa} = %{version} +Provides: php-ctype, php-ctype%{?_isa} +Provides: php-curl, php-curl%{?_isa} +Provides: php-date, php-date%{?_isa} +Provides: php-ereg, php-ereg%{?_isa} +Provides: php-exif, php-exif%{?_isa} +Provides: php-fileinfo, php-fileinfo%{?_isa} +Provides: php-filter, php-filter%{?_isa} +Provides: php-ftp, php-ftp%{?_isa} +Provides: php-gettext, php-gettext%{?_isa} +Provides: php-hash, php-hash%{?_isa} +Provides: php-mhash = %{version}, php-mhash%{?_isa} = %{version} +Provides: php-iconv, php-iconv%{?_isa} +Provides: php-libxml, php-libxml%{?_isa} +Provides: php-openssl, php-openssl%{?_isa} +Provides: php-phar, php-phar%{?_isa} +Provides: php-pcre, php-pcre%{?_isa} +Provides: php-reflection, php-reflection%{?_isa} +Provides: php-session, php-session%{?_isa} +Provides: php-sockets, php-sockets%{?_isa} +Provides: php-spl, php-spl%{?_isa} +Provides: php-standard = %{version}, php-standard%{?_isa} = %{version} +Provides: php-tokenizer, php-tokenizer%{?_isa} +%if ! %{php_bootstrap} +Requires: php-pecl-jsonc%{?_isa} +%endif +%if %{with_zip} +Provides: php-zip, php-zip%{?_isa} +Obsoletes: php-pecl-zip < 1.11 +%else +%if ! %{php_bootstrap} +Requires: php-pecl-zip%{?_isa} +%endif +%endif +Provides: php-zlib, php-zlib%{?_isa} +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, php56u-common + +%description common +The php-common package contains files used by both the php +package and the php-cli package. + +%package devel +Group: Development/Libraries +Summary: Files needed for building PHP extensions +Requires: php-cli%{?_isa} = %{version}-%{release}, autoconf, automake +%if %{with_libpcre} +Requires: pcre-devel%{?_isa} +%endif +Obsoletes: php-pecl-pdo-devel +%if %{with_zts} +Provides: php-zts-devel = %{version}-%{release} +Provides: php-zts-devel%{?_isa} = %{version}-%{release} +%endif +Obsoletes: php53-devel, php53u-devel, php54-devel, php55u-devel, php56u-devel +%if ! %{php_bootstrap} +Requires: php-pecl-jsonc-devel%{?_isa} +%endif + +%description devel +The php-devel package contains the files needed for building PHP +extensions. If you need to compile your own PHP extensions, you will +need to install this package. + +%package opcache +Summary: The Zend OPcache +Group: Development/Languages +License: PHP +Requires: php-common%{?_isa} = %{version}-%{release} +Obsoletes: php-pecl-zendopcache +Provides: php-pecl-zendopcache = %{opcachever} +Provides: php-pecl-zendopcache%{?_isa} = %{opcachever} +Provides: php-pecl(opcache) = %{opcachever} +Provides: php-pecl(opcache)%{?_isa} = %{opcachever} + +%description opcache +The Zend OPcache provides faster PHP execution through opcode caching and +optimization. It improves PHP performance by storing precompiled script +bytecode in the shared memory. This eliminates the stages of reading code from +the disk and compiling it on future access. In addition, it applies a few +bytecode optimization patterns that make code execution faster. + +%package imap +Summary: A module for PHP applications that use IMAP +Group: Development/Languages +# All files licensed under PHP version 3.01 +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, php56u-imap + +%description imap +The php-imap module will add IMAP (Internet Message Access Protocol) +support to PHP. IMAP is a protocol for retrieving and uploading e-mail +messages on mail servers. PHP is an HTML-embedded scripting language. + +%package ldap +Summary: A module for PHP applications that use LDAP +Group: Development/Languages +# All files licensed under PHP version 3.01 +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, php56u-ldap + +%description ldap +The php-ldap adds Lightweight Directory Access Protocol (LDAP) +support to PHP. LDAP is a set of protocols for accessing directory +services over the Internet. PHP is an HTML-embedded scripting +language. + +%package pdo +Summary: A database access abstraction module for PHP applications +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +Requires: php-common%{?_isa} = %{version}-%{release} +# ABI/API check - Arch specific +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, php56u-pdo + +%description pdo +The php-pdo package contains a dynamic shared object that will add +a database access abstraction layer to PHP. This module provides +a common interface for accessing MySQL, PostgreSQL or other +databases. + +%if %{with_libmysql} +%package mysql +Summary: A module for PHP applications that use MySQL databases +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +Requires: php-pdo%{?_isa} = %{version}-%{release} +Provides: php_database +Provides: php-mysqli = %{version}-%{release} +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, php56u-mysql + +%description mysql +The php-mysql package contains a dynamic shared object that will add +MySQL database support to PHP. MySQL is an object-relational database +management system. PHP is an HTML-embeddable scripting language. If +you need MySQL support for PHP applications, you will need to install +this package and the php package. +%endif + +%package mysqlnd +Summary: A module for PHP applications that use MySQL databases +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +Requires: php-pdo%{?_isa} = %{version}-%{release} +Provides: php_database +Provides: php-mysql = %{version}-%{release} +Provides: php-mysql%{?_isa} = %{version}-%{release} +Provides: php-mysqli = %{version}-%{release} +Provides: php-mysqli%{?_isa} = %{version}-%{release} +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, php56u-mysqlnd + +%description mysqlnd +The php-mysqlnd package contains a dynamic shared object that will add +MySQL database support to PHP. MySQL is an object-relational database +management system. PHP is an HTML-embeddable scripting language. If +you need MySQL support for PHP applications, you will need to install +this package and the php package. + +This package use the MySQL Native Driver + +%package pgsql +Summary: A PostgreSQL database module for PHP +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +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, php56u-pgsql + +%description pgsql +The php-pgsql package add PostgreSQL database support to PHP. +PostgreSQL is an object-relational database management +system that supports almost all SQL constructs. PHP is an +HTML-embedded scripting language. If you need back-end support for +PostgreSQL, you should install this package in addition to the main +php package. + +%package process +Summary: Modules for PHP script using system process interfaces +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +Requires: php-common%{?_isa} = %{version}-%{release} +Provides: php-posix, php-posix%{?_isa} +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, php56u-process + +%description process +The php-process package contains dynamic shared objects which add +support to PHP using system interfaces for inter-process +communication. + +%package odbc +Summary: A module for PHP applications that use ODBC databases +Group: Development/Languages +# All files licensed under PHP version 3.01, except +# pdo_odbc is licensed under PHP version 3.0 +License: PHP +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, php56u-odbc + +%description odbc +The php-odbc package contains a dynamic shared object that will add +database support through ODBC to PHP. ODBC is an open specification +which provides a consistent API for developers to use for accessing +data sources (which are often, but not always, databases). PHP is an +HTML-embeddable scripting language. If you need ODBC support for PHP +applications, you will need to install this package and the php +package. + +%package soap +Summary: A module for PHP applications that use the SOAP protocol +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +Requires: php-common%{?_isa} = %{version}-%{release} +BuildRequires: libxml2-devel +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 +support to PHP for using the SOAP web services protocol. + +%package interbase +Summary: A module for PHP applications that use Interbase/Firebird databases +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +BuildRequires: firebird-devel +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, php56u-interbase + +%description interbase +The php-interbase package contains a dynamic shared object that will add +database support through Interbase/Firebird to PHP. + +InterBase is the name of the closed-source variant of this RDBMS that was +developed by Borland/Inprise. + +Firebird is a commercially independent project of C and C++ programmers, +technical advisors and supporters developing and enhancing a multi-platform +relational database management system based on the source code released by +Inprise Corp (now known as Borland Software Corp) under the InterBase Public +License. + +%if %{with_oci8} +%package oci8 +Summary: A module for PHP applications that use OCI8 databases +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +BuildRequires: oracle-instantclient-devel >= %{oraclever} +Requires: php-pdo%{?_isa} = %{version}-%{release} +Provides: php_database +Provides: php-pdo_oci = %{oci8ver}, php-pdo_oci%{?_isa} = %{oci8ver} +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, php56u-oci8 + +%description oci8 +The php-oci8 package contains a dynamic shared object that will add +support for accessing OCI8 databases to PHP. +%endif + +%package snmp +Summary: A module for PHP applications that query SNMP-managed devices +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +Requires: php-common%{?_isa} = %{version}-%{release}, net-snmp +BuildRequires: net-snmp-devel +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 +support for querying SNMP devices to PHP. PHP is an HTML-embeddable +scripting language. If you need SNMP support for PHP applications, you +will need to install this package and the php package. + +%package xml +Summary: A module for PHP applications which use XML +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +Requires: php-common%{?_isa} = %{version}-%{release} +Provides: php-dom, php-dom%{?_isa} +Provides: php-domxml, php-domxml%{?_isa} +Provides: php-simplexml, php-simplexml%{?_isa} +Provides: php-wddx, php-wddx%{?_isa} +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, php56u-xml + +%description xml +The php-xml package contains dynamic shared objects which add support +to PHP for manipulating XML documents using the DOM tree, +and performing XSL transformations on XML documents. + +%package xmlrpc +Summary: A module for PHP applications which use the XML-RPC protocol +Group: Development/Languages +# All files licensed under PHP version 3.01, except +# libXMLRPC is licensed under BSD +License: PHP and BSD +Requires: php-common%{?_isa} = %{version}-%{release} +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 +support for the XML-RPC protocol to PHP. + +%package mbstring +Summary: A module for PHP applications which need multi-byte string handling +Group: Development/Languages +# All files licensed under PHP version 3.01, except +# libmbfl is licensed under LGPLv2 +# onigurama is licensed under BSD +# 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, php56u-mbstring + +%description mbstring +The php-mbstring package contains a dynamic shared object that will add +support for multi-byte string handling to PHP. + +%package gd +Summary: A module for PHP applications for using the gd graphics library +Group: Development/Languages +# All files licensed under PHP version 3.01 +%if %{with_libgd} +License: PHP +%else +# bundled libgd is licensed under BSD +License: PHP and BSD +%endif +Requires: php-common%{?_isa} = %{version}-%{release} +BuildRequires: t1lib-devel +%if %{with_libgd} +BuildRequires: gd-devel >= 2.1.0 +%else +# Required to build the bundled GD library +BuildRequires: libjpeg-devel +BuildRequires: libpng-devel +BuildRequires: freetype-devel +BuildRequires: libXpm-devel +BuildRequires: libXpm-devel +BuildRequires: libvpx-devel +%endif + +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 +support for using the gd graphics library to PHP. + +%package bcmath +Summary: A module for PHP applications for using the bcmath library +Group: Development/Languages +# All files licensed under PHP version 3.01, except +# libbcmath is licensed under LGPLv2+ +License: PHP and LGPLv2+ +Requires: php-common%{?_isa} = %{version}-%{release} +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 +support for using the bcmath library to PHP. + +%package gmp +Summary: A module for PHP applications for using the GNU MP library +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +BuildRequires: gmp-devel +Requires: php-common%{?_isa} = %{version}-%{release} +Obsoletes: php53-gmp, php53u-gmp, php54-gmp, php55u-gmp, php56u-gmp + +%description gmp +These functions allow you to work with arbitrary-length integers +using the GNU MP library. + +%package dba +Summary: A database abstraction layer module for PHP applications +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +BuildRequires: %{db_devel}, gdbm-devel, tokyocabinet-devel +Requires: php-common%{?_isa} = %{version}-%{release} +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 +support for using the DBA database abstraction layer to PHP. + +%package mcrypt +Summary: Standard PHP module provides mcrypt library support +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +Requires: php-common%{?_isa} = %{version}-%{release} +BuildRequires: libmcrypt-devel +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 +support for using the mcrypt library to PHP. + +%package tidy +Summary: Standard PHP module provides tidy library support +Group: Development/Languages +# All files licensed under PHP version 3.01 +License: PHP +Requires: php-common%{?_isa} = %{version}-%{release} +BuildRequires: libtidy-devel +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 +support for using the tidy library to PHP. + +%package mssql +Summary: MSSQL database module for PHP +Group: Development/Languages +# All files licensed under PHP version 3.01 +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, php56u-mssql + +%description mssql +The php-mssql package contains a dynamic shared object that will +add MSSQL database support to PHP. It uses the TDS (Tabular +DataStream) protocol through the freetds library, hence any +database server which supports TDS can be accessed. + +%package embedded +Summary: PHP library for embedding in applications +Group: System Environment/Libraries +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, php56u-embedded + +%description embedded +The php-embedded package contains a library which can be embedded +into applications to provide PHP scripting language support. + +%package pspell +Summary: A module for PHP applications for using pspell interfaces +Group: System Environment/Libraries +# All files licensed under PHP version 3.01 +License: PHP +Requires: php-common%{?_isa} = %{version}-%{release} +BuildRequires: aspell-devel >= 0.50.0 +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 +support for using the pspell library to PHP. + +%package recode +Summary: A module for PHP applications for using the recode library +Group: System Environment/Libraries +# All files licensed under PHP version 3.01 +License: PHP +Requires: php-common%{?_isa} = %{version}-%{release} +BuildRequires: recode-devel +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 +support for using the recode library to PHP. + +%package intl +Summary: Internationalization extension for PHP applications +Group: System Environment/Libraries +# All files licensed under PHP version 3.01 +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, php56u-intl + +%description intl +The php-intl package contains a dynamic shared object that will add +support for using the ICU library to PHP. + +%package enchant +Summary: Enchant spelling extension for PHP applications +Group: System Environment/Libraries +# All files licensed under PHP version 3.0 +License: PHP +Requires: php-common%{?_isa} = %{version}-%{release} +BuildRequires: enchant-devel >= 1.2.4 +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 +support for using the enchant library to PHP. + + +%prep +echo CIBLE = %{name}-%{version}-%{release} oci8=%{with_oci8} libzip=%{with_libzip} + +# ensure than current httpd use prefork MPM. +httpd -V | grep -q 'threaded:.*yes' && exit 1 + +%if 0%{?snapdate} +%setup -q -n php5.6-%{snapdate} +rm -rf ext/json +%else +%setup -q -n php-%{version}%{?rcver} +%endif + +%patch5 -p1 -b .includedir +%patch6 -p1 -b .embed +%patch7 -p1 -b .recode +%patch8 -p1 -b .libdb + +%patch21 -p1 -b .odbctimer + +%patch40 -p1 -b .dlopen +%if 0%{?fedora} >= 19 || 0%{?rhel} >= 5 +%patch42 -p1 -b .systzdata +%endif +%patch43 -p1 -b .headers +%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 +%patch45 -p1 -b .ldap_r +%endif +%patch46 -p1 -b .fixheader +%patch47 -p1 -b .phpinfo + +%patch91 -p1 -b .remi-oci8 + +# upstream patches + +# security patches + +# Fixes for tests +%if %{with_libpcre} +%if 0%{?fedora} < 21 +# Only apply when system libpcre < 8.34 +#patch301 -p1 -R -b .pcre84 +%endif +%endif + +# WIP patch + +# Prevent %%doc confusion over LICENSE files +cp Zend/LICENSE Zend/ZEND_LICENSE +cp TSRM/LICENSE TSRM_LICENSE +cp ext/ereg/regex/COPYRIGHT regex_COPYRIGHT +%if ! %{with_libgd} +cp ext/gd/libgd/README libgd_README +cp ext/gd/libgd/COPYING libgd_COPYING +%endif +cp sapi/fpm/LICENSE fpm_LICENSE +cp ext/mbstring/libmbfl/LICENSE libmbfl_LICENSE +cp ext/mbstring/oniguruma/COPYING oniguruma_COPYING +cp ext/mbstring/ucgendat/OPENLDAP_LICENSE ucgendat_LICENSE +cp ext/fileinfo/libmagic/LICENSE libmagic_LICENSE +cp ext/phar/LICENSE phar_LICENSE +cp ext/bcmath/libbcmath/COPYING.LIB libbcmath_COPYING + +# Multiple builds for multiple SAPIs +mkdir build-cgi build-apache build-embedded \ +%if %{with_zts} + build-zts build-ztscli \ +%endif + build-fpm + +# ----- Manage known as failed test ------- +# affected by systzdata patch +rm -f ext/date/tests/timezone_location_get.phpt +# fails sometime +rm -f ext/sockets/tests/mcast_ipv?_recv.phpt + +# Safety check for API version change. +pver=$(sed -n '/#define PHP_VERSION /{s/.* "//;s/".*$//;p}' main/php_version.h) +if test "x${pver}" != "x%{version}%{?rcver}%{?snapdate:-dev}"; then + : Error: Upstream PHP version is now ${pver}, expecting %{version}%{?rcver}%{?snapdate:-dev}. + : Update the version/rcver macros and rebuild. + exit 1 +fi + +vapi=`sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h` +if test "x${vapi}" != "x%{apiver}"; then + : Error: Upstream API version is now ${vapi}, expecting %{apiver}. + : Update the apiver macro and rebuild. + exit 1 +fi + +vzend=`sed -n '/#define ZEND_MODULE_API_NO/{s/^[^0-9]*//;p;}' Zend/zend_modules.h` +if test "x${vzend}" != "x%{zendver}"; then + : Error: Upstream Zend ABI version is now ${vzend}, expecting %{zendver}. + : Update the zendver macro and rebuild. + exit 1 +fi + +# Safety check for PDO ABI version change +vpdo=`sed -n '/#define PDO_DRIVER_API/{s/.*[ ]//;p}' ext/pdo/php_pdo_driver.h` +if test "x${vpdo}" != "x%{pdover}"; then + : Error: Upstream PDO ABI version is now ${vpdo}, expecting %{pdover}. + : Update the pdover macro and rebuild. + exit 1 +fi + +# Check for some extension version +ver=$(sed -n '/#define PHP_OCI8_VERSION /{s/.* "//;s/".*$//;p}' ext/oci8/php_oci8.h) +if test "$ver" != "%{oci8ver}"; then + : Error: Upstream OCI8 version is now ${ver}, expecting %{oci8ver}. + : Update the oci8ver macro and rebuild. + exit 1 +fi + +ver=$(sed -n '/#define PHP_ZENDOPCACHE_VERSION /{s/.* "//;s/".*$//;p}' ext/opcache/ZendAccelerator.h) +if test "$ver" != "%{opcachever}"; then + : Error: Upstream OPCACHE version is now ${ver}, expecting %{opcachever}. + : Update the opcachever macro and rebuild. + exit 1 +fi + +# https://bugs.php.net/63362 - Not needed but installed headers. +# Drop some Windows specific headers to avoid installation, +# before build to ensure they are really not needed. +rm -f TSRM/tsrm_win32.h \ + TSRM/tsrm_config.w32.h \ + Zend/zend_config.w32.h \ + ext/mysqlnd/config-win.h \ + ext/standard/winver.h \ + main/win32_internal_function_disabled.h \ + main/win95nt.h + +# Fix some bogus permissions +find . -name \*.[ch] -exec chmod 644 {} \; +chmod 644 README.* + +# php-fpm configuration files for tmpfiles.d +echo "d /run/php-fpm 755 root root" >php-fpm.tmpfiles + +# Some extensions have their own configuration file +cp %{SOURCE50} . + +# Regenerated bison files +# to force, rm Zend/zend_{language,ini}_parser.[ch] +if [ ! -f Zend/zend_language_parser.c ]; then + ./genfiles +fi + + +%build +%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 +# aclocal workaround - to be improved +cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >>aclocal.m4 +%endif + +# Force use of system libtool: +libtoolize --force --copy +%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 +cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >build/libtool.m4 +%else +cat `aclocal --print-ac-dir`/libtool.m4 > build/libtool.m4 +%endif + +# Regenerate configure scripts (patches change config.m4's) +touch configure.in +./buildconf --force +%if %{with_debug} +LDFLAGS="-fsanitize=address" +export LDFLAGS +CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-pointer-sign -fsanitize=address -ggdb" +%else +CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-pointer-sign" +%endif +export CFLAGS + +# Install extension modules in %{_libdir}/php/modules. +EXTENSION_DIR=%{_libdir}/php/modules; export EXTENSION_DIR + +# Set PEAR_INSTALLDIR to ensure that the hard-coded include_path +# includes the PEAR directory even though pear is packaged +# separately. +PEAR_INSTALLDIR=%{_datadir}/pear; export PEAR_INSTALLDIR + +# Shell function to configure and build a PHP tree. +build() { +# Old/recent bison version seems to produce a broken parser; +# upstream uses GNU Bison 2.3. Workaround: +# Only provided in official tarball (not in snapshot) +if [ -f ../Zend/zend_language_parser.c ]; then +mkdir Zend && cp ../Zend/zend_{language,ini}_{parser,scanner}.[ch] Zend +fi + +# Always static: +# date, ereg, filter, libxml, reflection, spl: not supported +# hash: for PHAR_SIG_SHA256 and PHAR_SIG_SHA512 +# session: dep on hash, used by soap and wddx +# pcre: used by filter, zip +# pcntl, readline: only used by CLI sapi +# openssl: for PHAR_SIG_OPENSSL +# zlib: used by image +ln -sf ../configure +%configure \ + --cache-file=../config.cache \ + --with-libdir=%{_lib} \ + --with-config-file-path=%{_sysconfdir} \ + --with-config-file-scan-dir=%{_sysconfdir}/php.d \ + --disable-debug \ + --with-pic \ + --disable-rpath \ + --without-pear \ + --with-exec-dir=%{_bindir} \ + --with-freetype-dir=%{_prefix} \ + --with-png-dir=%{_prefix} \ + --with-xpm-dir=%{_prefix} \ + --with-vpx-dir=%{_prefix} \ + --enable-gd-native-ttf \ + --with-t1lib=%{_prefix} \ + --without-gdbm \ + --with-jpeg-dir=%{_prefix} \ + --with-openssl \ +%if %{with_libpcre} + --with-pcre-regex=%{_prefix} \ +%endif + --with-zlib \ + --with-layout=GNU \ + --with-kerberos \ + --with-libxml-dir=%{_prefix} \ +%if 0%{?fedora} >= 19 || 0%{?rhel} >= 5 + --with-system-tzdata \ +%endif + --with-mhash \ +%if %{with_dtrace} + --enable-dtrace \ +%endif +%if %{with_debug} + --enable-debug \ +%endif + $* +if test $? != 0; then + tail -500 config.log + : configure failed + exit 1 +fi + +make %{?_smp_mflags} +} + +# Build /usr/bin/php-cgi with the CGI SAPI, and most shared extensions +pushd build-cgi + +build --libdir=%{_libdir}/php \ + --enable-pcntl \ + --enable-opcache \ + --enable-phpdbg \ + --with-imap=shared --with-imap-ssl \ + --enable-mbstring=shared \ + --enable-mbregex \ +%if %{with_libgd} + --with-gd=shared,%{_prefix} \ +%else + --with-gd=shared \ +%endif + --with-gmp=shared \ + --enable-calendar=shared \ + --enable-bcmath=shared \ + --with-bz2=shared \ + --enable-ctype=shared \ + --enable-dba=shared --with-db4=%{_prefix} \ + --with-gdbm=%{_prefix} \ + --with-tcadb=%{_prefix} \ + --enable-exif=shared \ + --enable-ftp=shared \ + --with-gettext=shared \ + --with-iconv=shared \ + --enable-sockets=shared \ + --enable-tokenizer=shared \ + --with-xmlrpc=shared \ + --with-ldap=shared --with-ldap-sasl \ + --enable-mysqlnd=shared \ + --with-mysql=shared,mysqlnd \ + --with-mysqli=shared,mysqlnd \ + --with-mysql-sock=%{mysql_sock} \ +%ifarch x86_64 + %{?_with_oci8:--with-oci8=shared,instantclient,%{_libdir}/oracle/%{oraclever}/client64/lib,%{oraclever}} \ +%else + %{?_with_oci8:--with-oci8=shared,instantclient,%{_libdir}/oracle/%{oraclever}/client/lib,%{oraclever}} \ +%endif + %{?_with_oci8:--with-pdo-oci=shared,instantclient,/usr,%{oraclever}} \ + --with-interbase=shared,%{_libdir}/firebird \ + --with-pdo-firebird=shared,%{_libdir}/firebird \ + --enable-dom=shared \ + --with-pgsql=shared \ + --enable-simplexml=shared \ + --enable-xml=shared \ + --enable-wddx=shared \ + --with-snmp=shared,%{_prefix} \ + --enable-soap=shared \ + --with-xsl=shared,%{_prefix} \ + --enable-xmlreader=shared --enable-xmlwriter=shared \ + --with-curl=shared,%{_prefix} \ + --enable-pdo=shared \ + --with-pdo-odbc=shared,unixODBC,%{_prefix} \ + --with-pdo-mysql=shared,mysqlnd \ + --with-pdo-pgsql=shared,%{_prefix} \ + --with-pdo-sqlite=shared,%{_prefix} \ + --with-pdo-dblib=shared,%{_prefix} \ +%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 + --with-sqlite3=shared,%{_prefix} \ +%else + --without-sqlite3 \ +%endif +%if %{with_zip} + --enable-zip=shared \ +%if %{with_libzip} + --with-libzip \ +%endif +%endif + --without-readline \ + --with-libedit \ + --with-pspell=shared \ + --enable-phar=shared \ + --with-mcrypt=shared,%{_prefix} \ + --with-tidy=shared,%{_prefix} \ + --with-mssql=shared,%{_prefix} \ + --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \ + --enable-shmop=shared \ + --enable-posix=shared \ + --with-unixODBC=shared,%{_prefix} \ + --enable-fileinfo=shared \ + --enable-intl=shared \ + --with-icu-dir=%{_prefix} \ + --with-enchant=shared,%{_prefix} \ + --with-recode=shared,%{_prefix} +popd + +without_shared="--without-gd \ + --disable-dom --disable-dba --without-unixODBC \ + --disable-opcache \ + --disable-xmlreader --disable-xmlwriter \ + --without-sqlite3 --disable-phar --disable-fileinfo \ + --without-pspell --disable-wddx \ + --without-curl --disable-posix --disable-xml \ + --disable-simplexml --disable-exif --without-gettext \ + --without-iconv --disable-ftp --without-bz2 --disable-ctype \ + --disable-shmop --disable-sockets --disable-tokenizer \ + --disable-sysvmsg --disable-sysvshm --disable-sysvsem" + +# Build Apache module, and the CLI SAPI, /usr/bin/php +pushd build-apache +build --with-apxs2=%{_httpd_apxs} \ + --libdir=%{_libdir}/php \ +%if %{with_libmysql} + --enable-pdo=shared \ + --with-mysql=shared,%{_prefix} \ + --with-mysqli=shared,%{mysql_config} \ + --with-pdo-mysql=shared,%{mysql_config} \ + --without-pdo-sqlite \ +%else + --without-mysql \ + --disable-pdo \ +%endif + ${without_shared} +popd + +# Build php-fpm +pushd build-fpm +build --enable-fpm \ +%if %{with_systemdfull} + --with-fpm-systemd \ +%endif + --libdir=%{_libdir}/php \ + --without-mysql \ + --disable-pdo \ + ${without_shared} +popd + +# Build for inclusion as embedded script language into applications, +# /usr/lib[64]/libphp5.so +pushd build-embedded +build --enable-embed \ + --without-mysql --disable-pdo \ + ${without_shared} +popd + +%if %{with_zts} +# Build a special thread-safe (mainly for modules) +pushd build-ztscli + +EXTENSION_DIR=%{_libdir}/php-zts/modules +build --includedir=%{_includedir}/php-zts \ + --libdir=%{_libdir}/php-zts \ + --enable-maintainer-zts \ + --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \ + --enable-pcntl \ + --enable-opcache \ + --with-imap=shared --with-imap-ssl \ + --enable-mbstring=shared \ + --enable-mbregex \ +%if %{with_libgd} + --with-gd=shared,%{_prefix} \ +%else + --with-gd=shared \ +%endif + --with-gmp=shared \ + --enable-calendar=shared \ + --enable-bcmath=shared \ + --with-bz2=shared \ + --enable-ctype=shared \ + --enable-dba=shared --with-db4=%{_prefix} \ + --with-gdbm=%{_prefix} \ + --with-tcadb=%{_prefix} \ + --with-gettext=shared \ + --with-iconv=shared \ + --enable-sockets=shared \ + --enable-tokenizer=shared \ + --enable-exif=shared \ + --enable-ftp=shared \ + --with-xmlrpc=shared \ + --with-ldap=shared --with-ldap-sasl \ + --enable-mysqlnd=shared \ + --with-mysql=shared,mysqlnd \ + --with-mysqli=shared,mysqlnd \ + --with-mysql-sock=%{mysql_sock} \ + --enable-mysqlnd-threading \ +%ifarch x86_64 + %{?_with_oci8:--with-oci8=shared,instantclient,%{_libdir}/oracle/%{oraclever}/client64/lib,%{oraclever}} \ +%else + %{?_with_oci8:--with-oci8=shared,instantclient,%{_libdir}/oracle/%{oraclever}/client/lib,%{oraclever}} \ +%endif + %{?_with_oci8:--with-pdo-oci=shared,instantclient,/usr,%{oraclever}} \ + --with-interbase=shared,%{_libdir}/firebird \ + --with-pdo-firebird=shared,%{_libdir}/firebird \ + --enable-dom=shared \ + --with-pgsql=shared \ + --enable-simplexml=shared \ + --enable-xml=shared \ + --enable-wddx=shared \ + --with-snmp=shared,%{_prefix} \ + --enable-soap=shared \ + --with-xsl=shared,%{_prefix} \ + --enable-xmlreader=shared --enable-xmlwriter=shared \ + --with-curl=shared,%{_prefix} \ + --enable-pdo=shared \ + --with-pdo-odbc=shared,unixODBC,%{_prefix} \ + --with-pdo-mysql=shared,mysqlnd \ + --with-pdo-pgsql=shared,%{_prefix} \ + --with-pdo-sqlite=shared,%{_prefix} \ + --with-pdo-dblib=shared,%{_prefix} \ +%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 + --with-sqlite3=shared,%{_prefix} \ +%else + --without-sqlite3 \ +%endif +%if %{with_zip} + --enable-zip=shared \ +%if %{with_libzip} + --with-libzip \ +%endif +%endif + --without-readline \ + --with-libedit \ + --with-pspell=shared \ + --enable-phar=shared \ + --with-mcrypt=shared,%{_prefix} \ + --with-tidy=shared,%{_prefix} \ + --with-mssql=shared,%{_prefix} \ + --enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \ + --enable-shmop=shared \ + --enable-posix=shared \ + --with-unixODBC=shared,%{_prefix} \ + --enable-fileinfo=shared \ + --enable-intl=shared \ + --with-icu-dir=%{_prefix} \ + --with-enchant=shared,%{_prefix} \ + --with-recode=shared,%{_prefix} +popd + +# Build a special thread-safe Apache SAPI +pushd build-zts +build --with-apxs2=%{_httpd_apxs} \ + --includedir=%{_includedir}/php-zts \ + --libdir=%{_libdir}/php-zts \ + --enable-maintainer-zts \ + --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \ +%if %{with_libmysql} + --enable-pdo=shared \ + --with-mysql=shared,%{_prefix} \ + --with-mysqli=shared,%{mysql_config} \ + --with-pdo-mysql=shared,%{mysql_config} \ + --without-pdo-sqlite \ +%else + --without-mysql \ + --disable-pdo \ +%endif + ${without_shared} +popd + +### NOTE!!! EXTENSION_DIR was changed for the -zts build, so it must remain +### the last SAPI to be built. +%endif + + +%check +%if %runselftest +cd build-apache + +# Increase stack size (required by bug54268.phpt) +ulimit -s 32712 + +# Run tests, using the CLI SAPI +export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2 +export SKIP_ONLINE_TESTS=1 +unset TZ LANG LC_ALL +if ! make test; then + set +x + for f in $(find .. -name \*.diff -type f -print); do + if ! grep -q XFAIL "${f/.diff/.phpt}" + then + echo "TEST FAILURE: $f --" + cat "$f" + echo -e "\n-- $f result ends." + fi + done + set -x + #exit 1 +fi +unset NO_INTERACTION REPORT_EXIT_STATUS MALLOC_CHECK_ +%endif + +%install +%if %{with_zts} +# Install the extensions for the ZTS version +make -C build-ztscli install \ + INSTALL_ROOT=$RPM_BUILD_ROOT + +# rename extensions build with mysqlnd +mv $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysql.so \ + $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysqlnd_mysql.so +mv $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysqli.so \ + $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/mysqlnd_mysqli.so +mv $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/pdo_mysql.so \ + $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/pdo_mysqlnd.so + +%if %{with_libmysql} +# Install the extensions for the ZTS version modules for libmysql +make -C build-zts install-modules \ + INSTALL_ROOT=$RPM_BUILD_ROOT +%endif + +# rename ZTS binary +mv $RPM_BUILD_ROOT%{_bindir}/php $RPM_BUILD_ROOT%{_bindir}/zts-php +mv $RPM_BUILD_ROOT%{_bindir}/phpize $RPM_BUILD_ROOT%{_bindir}/zts-phpize +mv $RPM_BUILD_ROOT%{_bindir}/php-config $RPM_BUILD_ROOT%{_bindir}/zts-php-config +%endif + +# Install the version for embedded script language in applications + php_embed.h +make -C build-embedded install-sapi install-headers \ + INSTALL_ROOT=$RPM_BUILD_ROOT + +# Install the php-fpm binary +make -C build-fpm install-fpm \ + INSTALL_ROOT=$RPM_BUILD_ROOT + +# Install everything from the CGI SAPI build +make -C build-cgi install \ + INSTALL_ROOT=$RPM_BUILD_ROOT + +# rename extensions build with mysqlnd +mv $RPM_BUILD_ROOT%{_libdir}/php/modules/mysql.so \ + $RPM_BUILD_ROOT%{_libdir}/php/modules/mysqlnd_mysql.so +mv $RPM_BUILD_ROOT%{_libdir}/php/modules/mysqli.so \ + $RPM_BUILD_ROOT%{_libdir}/php/modules/mysqlnd_mysqli.so +mv $RPM_BUILD_ROOT%{_libdir}/php/modules/pdo_mysql.so \ + $RPM_BUILD_ROOT%{_libdir}/php/modules/pdo_mysqlnd.so + +%if %{with_libmysql} +# Install the mysql extension build with libmysql +make -C build-apache install-modules \ + INSTALL_ROOT=$RPM_BUILD_ROOT +%endif + +# Install the default configuration file and icons +install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/ +install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/php.ini +install -m 755 -d $RPM_BUILD_ROOT%{_httpd_contentdir}/icons +install -m 644 php.gif $RPM_BUILD_ROOT%{_httpd_contentdir}/icons/php.gif + +# For third-party packaging: +install -m 755 -d $RPM_BUILD_ROOT%{_datadir}/php + +# install the DSO +install -m 755 -d $RPM_BUILD_ROOT%{_httpd_moddir} +install -m 755 build-apache/libs/libphp5.so $RPM_BUILD_ROOT%{_httpd_moddir} + +%if %{with_zts} +# install the ZTS DSO +install -m 755 build-zts/libs/libphp5.so $RPM_BUILD_ROOT%{_httpd_moddir}/libphp5-zts.so +%endif + +# Apache config fragment +%if "%{_httpd_modconfdir}" == "%{_httpd_confdir}" +# Single config file with httpd < 2.4 (fedora <= 17) +install -D -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_httpd_confdir}/php.conf +%if %{with_zts} +cat %{SOURCE10} >>$RPM_BUILD_ROOT%{_httpd_confdir}/php.conf +%endif +cat %{SOURCE1} >>$RPM_BUILD_ROOT%{_httpd_confdir}/php.conf +%else +# Dual config file with httpd >= 2.4 (fedora >= 18) +install -D -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_httpd_modconfdir}/10-php.conf +%if %{with_zts} +cat %{SOURCE10} >>$RPM_BUILD_ROOT%{_httpd_modconfdir}/10-php.conf +%endif +install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_confdir}/php.conf +%endif + +install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php.d +%if %{with_zts} +install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d +%endif +install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php +install -m 700 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php/session +install -m 700 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/php/wsdlcache + +# PHP-FPM stuff +# Log +install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/log/php-fpm +# Config +install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d +install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf +install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d/www.conf +mv $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf.default . +# LogRotate +install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d +install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/php-fpm +# Environment file +install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig +install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/php-fpm +%if %{with_systemd} +install -m 755 -d $RPM_BUILD_ROOT/run/php-fpm +# tmpfiles.d +install -m 755 -d $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d +install -m 644 php-fpm.tmpfiles $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/php-fpm.conf +# install systemd unit files and scripts for handling server startup +%if %{with_systemdmax} +# this folder requires systemd >= 204 +install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/php-fpm.service.d +%endif +install -m 755 -d $RPM_BUILD_ROOT%{_unitdir} +install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_unitdir}/ +%if ! %{with_systemdfull} +# PrivateTmp and Notif mode only work on fedora >= 16 +sed -e '/^PrivateTmp/s/true/false/' \ + -e '/^Type/s/notify/simple/' \ + -i ${RPM_BUILD_ROOT}%{_unitdir}/php-fpm.service +%endif +%else +sed -ne '1,2p' -i $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/php-fpm +install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/run/php-fpm +sed -i -e 's:/run:/var/run:' $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.conf +sed -i -e 's:/run:/var/run:' $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/php-fpm +# Service +install -m 755 -d $RPM_BUILD_ROOT%{_initrddir} +install -m 755 %{SOURCE99} $RPM_BUILD_ROOT%{_initrddir}/php-fpm +%endif + +# Fix the link +(cd $RPM_BUILD_ROOT%{_bindir}; ln -sfn phar.phar phar) + +# Generate files lists and stub .ini files for each subpackage +for mod in pgsql odbc ldap snmp xmlrpc imap \ + mysqlnd mysqlnd_mysql mysqlnd_mysqli pdo_mysqlnd \ + mbstring gd dom xsl soap bcmath dba xmlreader xmlwriter \ + simplexml bz2 calendar ctype exif ftp gettext gmp iconv \ + sockets tokenizer opcache \ + pdo pdo_pgsql pdo_odbc pdo_sqlite \ +%if %{with_zip} + zip \ +%endif + %{?_with_oci8:oci8} %{?_with_oci8:pdo_oci} interbase pdo_firebird \ +%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 + sqlite3 \ +%endif + enchant phar fileinfo intl \ + mcrypt tidy pdo_dblib mssql pspell curl wddx \ + posix shmop sysvshm sysvsem sysvmsg recode xml \ +%if %{with_libmysql} + mysql mysqli pdo_mysql \ +%endif + ; do +if [ "$mod" = "wddx" ] +then ini=xml_${mod}.ini +else ini=${mod}.ini +fi + if [ -f ${ini} ]; then + cp -p ${ini} $RPM_BUILD_ROOT%{_sysconfdir}/php.d/${ini} + cp -p ${ini} $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/${ini} + else + cat > $RPM_BUILD_ROOT%{_sysconfdir}/php.d/${ini} < $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/${ini} < files.${mod} <> files.xml + +# The mysql and mysqli modules are both packaged in php-mysql +%if %{with_libmysql} +cat files.mysqli >> files.mysql +cat files.pdo_mysql >> files.mysql +%endif +# mysqlnd +cat files.mysqlnd_mysql \ + files.mysqlnd_mysqli \ + files.pdo_mysqlnd \ + >> files.mysqlnd + +# Split out the PDO modules +cat files.pdo_dblib >> files.mssql +cat files.pdo_pgsql >> files.pgsql +cat files.pdo_odbc >> files.odbc +%if %{with_oci8} +cat files.pdo_oci >> files.oci8 +%endif +cat files.pdo_firebird >> files.interbase + +# sysv* and posix in packaged in php-process +cat files.shmop files.sysv* files.posix > files.process + +# Package sqlite3 and pdo_sqlite with pdo; isolating the sqlite dependency +# isn't useful at this time since rpm itself requires sqlite. +cat files.pdo_sqlite >> files.pdo +%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6 +cat files.sqlite3 >> files.pdo +%endif + +# Package zip, curl, phar and fileinfo in -common. +cat files.curl files.phar files.fileinfo \ + files.exif files.gettext files.iconv files.calendar \ + files.ftp files.bz2 files.ctype files.sockets \ + files.tokenizer > files.common +%if %{with_zip} +cat files.zip >> files.common +%endif + +# The default Zend OPcache blacklist file +install -m 644 %{SOURCE51} $RPM_BUILD_ROOT%{_sysconfdir}/php.d/opcache-default.blacklist +install -m 644 %{SOURCE51} $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/opcache-default.blacklist +sed -e '/blacklist_filename/s/php.d/php-zts.d/' \ + -i $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/opcache.ini + +# Install the macros file: +sed -e "s/@PHP_APIVER@/%{apiver}%{isasuffix}/" \ + -e "s/@PHP_ZENDVER@/%{zendver}%{isasuffix}/" \ + -e "s/@PHP_PDOVER@/%{pdover}%{isasuffix}/" \ + -e "s/@PHP_VERSION@/%{version}/" \ +%if ! %{with_zts} + -e "/zts/d" \ +%endif + < %{SOURCE3} > macros.php +install -m 644 -D macros.php \ + $RPM_BUILD_ROOT%{macrosdir}/macros.php + +# Remove unpackaged files +rm -rf $RPM_BUILD_ROOT%{_libdir}/php/modules/*.a \ + $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/*.a \ + $RPM_BUILD_ROOT%{_bindir}/{phptar} \ + $RPM_BUILD_ROOT%{_datadir}/pear \ + $RPM_BUILD_ROOT%{_libdir}/libphp5.la + +# Remove irrelevant docs +rm -f README.{Zeus,QNX,CVS-RULES} + + +%pre common +echo -e "\nWARNING : These %{name}-* RPM are not official Fedora / Red Hat build and" +echo -e "overrides the official ones. Don't file bugs on Fedora Project nor Red Hat.\n" +echo -e "Use dedicated forums http://forums.famillecollet.com/\n" + +%if %{?fedora}%{!?fedora:99} < 19 +echo -e "WARNING : Fedora %{fedora} is now EOL :" +echo -e "You should consider upgrading to a supported release.\n" +%endif + + +%pre fpm +# Add the "apache" user as we don't require httpd +getent group apache >/dev/null || \ + groupadd -g 48 -r apache +getent passwd apache >/dev/null || \ + useradd -r -u 48 -g apache -s /sbin/nologin \ + -d %{_httpd_contentdir} -c "Apache" apache +exit 0 + +%post fpm +%if 0%{?systemd_post:1} +%systemd_post php-fpm.service +%else +if [ $1 = 1 ]; then + # Initial installation +%if 0%{?fedora} >= 15 + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +%else + /sbin/chkconfig --add php-fpm +%endif +fi +%endif + +%preun fpm +%if 0%{?systemd_preun:1} +%systemd_preun php-fpm.service +%else +if [ $1 = 0 ]; then + # Package removal, not upgrade +%if 0%{?fedora} >= 15 + /bin/systemctl --no-reload disable php-fpm.service >/dev/null 2>&1 || : + /bin/systemctl stop php-fpm.service >/dev/null 2>&1 || : +%else + /sbin/service php-fpm stop >/dev/null 2>&1 + /sbin/chkconfig --del php-fpm +%endif +fi +%endif + +%postun fpm +%if 0%{?systemd_postun_with_restart:1} +%systemd_postun_with_restart php-fpm.service +%else +%if 0%{?fedora} >= 15 +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +if [ $1 -ge 1 ]; then + # Package upgrade, not uninstall + /bin/systemctl try-restart php-fpm.service >/dev/null 2>&1 || : +fi +%else +if [ $1 -ge 1 ]; then + /sbin/service php-fpm condrestart >/dev/null 2>&1 || : +fi +%endif +%endif + +# Handle upgrading from SysV initscript to native systemd unit. +# We can tell if a SysV version of php-fpm was previously installed by +# checking to see if the initscript is present. +%triggerun fpm -- php-fpm +%if 0%{?fedora} >= 15 +if [ -f /etc/rc.d/init.d/php-fpm ]; then + # Save the current service runlevel info + # User must manually run systemd-sysv-convert --apply php-fpm + # to migrate them to systemd targets + /usr/bin/systemd-sysv-convert --save php-fpm >/dev/null 2>&1 || : + + # Run these because the SysV package being removed won't do them + /sbin/chkconfig --del php-fpm >/dev/null 2>&1 || : + /bin/systemctl try-restart php-fpm.service >/dev/null 2>&1 || : +fi +%endif + +%post embedded -p /sbin/ldconfig +%postun embedded -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_httpd_moddir}/libphp5.so +%if %{with_zts} +%{_httpd_moddir}/libphp5-zts.so +%endif +%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/session +%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/wsdlcache +%config(noreplace) %{_httpd_confdir}/php.conf +%if "%{_httpd_modconfdir}" != "%{_httpd_confdir}" +%config(noreplace) %{_httpd_modconfdir}/10-php.conf +%endif +%{_httpd_contentdir}/icons/php.gif + +%files common -f files.common +%defattr(-,root,root) +%doc CODING_STANDARDS CREDITS EXTENSIONS LICENSE NEWS README* +%doc Zend/ZEND_* TSRM_LICENSE regex_COPYRIGHT +%doc libmagic_LICENSE +%doc phar_LICENSE +%doc php.ini-* +%config(noreplace) %{_sysconfdir}/php.ini +%dir %{_sysconfdir}/php.d +%dir %{_libdir}/php +%dir %{_libdir}/php/modules +%if %{with_zts} +%dir %{_sysconfdir}/php-zts.d +%dir %{_libdir}/php-zts +%dir %{_libdir}/php-zts/modules +%endif +%dir %{_localstatedir}/lib/php +%dir %{_datadir}/php + +%files cli +%defattr(-,root,root) +%{_bindir}/php +%{_bindir}/zts-php +%{_bindir}/php-cgi +%{_bindir}/phar.phar +%{_bindir}/phar +# provides phpize here (not in -devel) for pecl command +%{_bindir}/phpize +%{_mandir}/man1/php.1* +%{_mandir}/man1/php-cgi.1* +%{_mandir}/man1/phar.1* +%{_mandir}/man1/phar.phar.1* +%{_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 +%doc fpm_LICENSE +%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/session +%attr(0770,root,apache) %dir %{_localstatedir}/lib/php/wsdlcache +%config(noreplace) %{_sysconfdir}/php-fpm.conf +%config(noreplace) %{_sysconfdir}/php-fpm.d/www.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/php-fpm +%config(noreplace) %{_sysconfdir}/sysconfig/php-fpm +%if %{with_systemd} +%{_prefix}/lib/tmpfiles.d/php-fpm.conf +%{_unitdir}/php-fpm.service +%if %{with_systemdmax} +%dir %{_sysconfdir}/systemd/system/php-fpm.service.d +%endif +%dir /run/php-fpm +%else +%{_initrddir}/php-fpm +%dir %{_localstatedir}/run/php-fpm +%endif +%{_sbindir}/php-fpm +%dir %{_sysconfdir}/php-fpm.d +# log owned by apache for log +%attr(770,apache,root) %dir %{_localstatedir}/log/php-fpm +%{_mandir}/man8/php-fpm.8* +%dir %{_datadir}/fpm +%{_datadir}/fpm/status.html + +%files devel +%defattr(-,root,root) +%{_bindir}/php-config +%{_includedir}/php +%{_libdir}/php/build +%if %{with_zts} +%{_bindir}/zts-php-config +%{_includedir}/php-zts +%{_bindir}/zts-phpize +# usefull only to test other module during build +%{_libdir}/php-zts/build +%endif +%{_mandir}/man1/php-config.1* +%{macrosdir}/macros.php + +%files embedded +%defattr(-,root,root,-) +%{_libdir}/libphp5.so +%{_libdir}/libphp5-%{embed_version}.so + +%files pgsql -f files.pgsql +%if %{with_libmysql} +%files mysql -f files.mysql +%endif +%files odbc -f files.odbc +%files imap -f files.imap +%files ldap -f files.ldap +%files snmp -f files.snmp +%files xml -f files.xml +%files xmlrpc -f files.xmlrpc +%files mbstring -f files.mbstring +%doc libmbfl_LICENSE +%doc oniguruma_COPYING +%doc ucgendat_LICENSE +%files gd -f files.gd +%defattr(-,root,root,-) +%if ! %{with_libgd} +%doc libgd_README +%doc libgd_COPYING +%endif +%files soap -f files.soap +%files bcmath -f files.bcmath +%doc libbcmath_COPYING +%files gmp -f files.gmp +%files dba -f files.dba +%files pdo -f files.pdo +%files mcrypt -f files.mcrypt +%files tidy -f files.tidy +%files mssql -f files.mssql +%files pspell -f files.pspell +%files intl -f files.intl +%files process -f files.process +%files recode -f files.recode +%files interbase -f files.interbase +%files enchant -f files.enchant +%files mysqlnd -f files.mysqlnd +%files opcache -f files.opcache +%config(noreplace) %{_sysconfdir}/php.d/opcache-default.blacklist +%config(noreplace) %{_sysconfdir}/php-zts.d/opcache-default.blacklist +%if %{with_oci8} +%files oci8 -f files.oci8 +%endif + + +%changelog +* Fri Feb 28 2014 Remi Collet 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 5.5.10-0.4.RC1 +- php-fpm should own /var/lib/php/session and wsdlcache + +* Tue Feb 25 2014 Remi Collet 5.5.10-0.3.RC1 +- test build for https://bugs.php.net/66762 + +* Fri Feb 21 2014 Remi Collet 5.5.10-0.2.RC1 +- another test build of 5.5.10RC1 +- fix memleak in fileinfo ext +- revert test changes for pcre 8.34 + +* Thu Feb 20 2014 Remi Collet 5.5.10-0.1.RC1 +- test build of 5.5.10RC1 + +* Tue Feb 18 2014 Remi Collet 5.5.9-2 +- upstream patch for https://bugs.php.net/66731 + +* Tue Feb 11 2014 Remi Collet 5.5.9-1 +- Update to 5.5.9 + http://www.php.net/ChangeLog-5.php#5.5.9 +- Install macros to /usr/lib/rpm/macros.d where available. +- Add configtest option to php-fpm ini script (EL) + +* Thu Jan 23 2014 Remi Collet 5.5.9-0.1.RC1 +- test build of 5.5.9RC1 + +* Thu Jan 23 2014 Joe Orton - 5.5.8-2 +- fix _httpd_mmn expansion in absence of httpd-devel + +* Mon Jan 20 2014 Remi Collet 5.5.8-2 +- test build for https://bugs.php.net/66412 + +* Wed Jan 8 2014 Remi Collet 5.5.8-1 +- update to 5.5.8 +- drop conflicts with other opcode caches as both can + be used only for user data cache + +* Wed Jan 8 2014 Remi Collet 5.5.8-0.2.RC1 +- another test build of 5.5.8RC1 + +* Sat Dec 28 2013 Remi Collet 5.5.8-0.1.RC1 +- test build of 5.5.8RC1 + +* Fri Dec 20 2013 Remi Collet 5.5.7-1.1 +- test build for https://bugs.php.net/66331 + +* Wed Dec 11 2013 Remi Collet 5.5.7-1 +- update to 5.5.7, fix for CVE-2013-6420 +- fix zend_register_functions breaks reflection, php bug 66218 +- fix Heap buffer over-read in DateInterval, php bug 66060 +- fix fix overflow handling bug in non-x86 + +* Tue Dec 10 2013 Remi Collet 5.5.7-0.4.RC1 +- test build + +* Wed Dec 04 2013 Remi Collet 5.5.7-0.3.RC1 +- test build + +* Mon Dec 02 2013 Remi Collet 5.5.7-0.2.RC1 +- test build for https://bugs.php.net/66218 + zend_register_functions breaks reflection + +* Thu Nov 28 2013 Remi Collet 5.5.7-0.1.RC1 +- test build of 5.5.7RC1 + +* Wed Nov 13 2013 Remi Collet 5.5.6-1 +- update to 5.5.6 + +* Tue Nov 12 2013 Remi Collet 5.5.6-0.7 +- update to 5.5.6, test build + +* Fri Nov 8 2013 Remi Collet 5.5.6-0.6.RC1 +- add --with debug option for debug build + +* Wed Nov 6 2013 Remi Collet 5.5.6-0.5.RC1 +- test buid with opcache changes reverted + +* Mon Nov 4 2013 Remi Collet 5.5.6-0.4.RC1 +- test build opcache with phar build shared + https://github.com/zendtech/ZendOptimizerPlus/issues/147 + +* Mon Nov 4 2013 Remi Collet 5.5.6-0.3.RC1 +- build phar shared, opcache loaded with RTLD_LAZY + +* Sat Nov 2 2013 Remi Collet 5.5.6-0.2.RC1 +- build phar static for opcache dep. + +* Sat Nov 2 2013 Remi Collet 5.5.6-0.1.RC1 +- test build of 5.5.6RC1 + +* Sun Oct 27 2013 Remi Collet 5.5.5-2 +- rebuild using libicu-last 50.1.2 + +* Tue Oct 15 2013 Remi Collet - 5.5.5-1 +- update to 5.5.5 + +* Mon Sep 23 2013 Remi Collet - 5.5.4-2 +- test build + +* Thu Sep 19 2013 Remi Collet - 5.5.4-1 +- update to 5.5.4 +- improve security, use specific soap.wsdl_cache_dir + use /var/lib/php/wsdlcache for mod_php and php-fpm +- sync short_tag comments in php.ini with upstream + +* Fri Aug 30 2013 Remi Collet - 5.5.4.0.1-201308300430 +- test build with -fsanitize=address +- test build for https://bugs.php.net/65564 + +* Wed Aug 21 2013 Remi Collet - 5.5.3-1 +- update to 5.5.3 +- build without zip extension, requires php-pecl-zip +- fix typo and add missing entries in php.ini + +* Tue Aug 20 2013 Remi Collet - 5.5.3-0 +- update to 5.5.3 +- test build without zip extension +- fix typo and add missing entries in php.ini + +* Mon Aug 19 2013 Remi Collet - 5.5.2-1 +- update to 5.5.2 + +* Thu Aug 8 2013 Remi Collet - 5.5.2-0.2.RC1 +- improve system libzip patch + +* Thu Aug 1 2013 Remi Collet - 5.5.2-0.1.RC1 +- 5.5.2RC1 + +* Fri Jul 26 2013 Remi Collet - 5.5.1-2 +- test build with oracle instantclient 12.1 + +* Mon Jul 22 2013 Remi Collet - 5.5.1-1 +- update to 5.5.1 +- add Provides: php(pdo-abi), for consistency with php(api) + and php(zend-abi) +- improved description for mod_php +- fix opcache ZTS configuration (blacklists in /etc/php-zts.d) +- add missing man pages (phar, php-cgi) +- fix php-enchant summary and description + +* Fri Jul 12 2013 Remi Collet - 5.5.0-2 +- add security fix for CVE-2013-4113 +- add missing ASL 1.0 license +- 32k stack size seems ok for tests on both 32/64bits build + +* Mon Jun 24 2013 Remi Collet 5.5.1-0.1.201306240630 +- test build (bundled libgd) + +* Thu Jun 20 2013 Remi Collet 5.5.0-1 +- update to 5.5.0 final + +* Fri Jun 14 2013 Remi Collet 5.5.0-0.11.RC3 +- also drop JSON from sources +- clean conditional for JSON (as removed from the sources) +- clean conditional for FPM (always build) + +* Fri Jun 14 2013 Remi Collet 5.5.0-0.36.RC3.1 +- EL-5 rebuild with gd-last + +* Thu Jun 13 2013 Remi Collet 5.5.0-0.36.RC3 +- drop JSON extension +- build with system GD when 2.1.0 is available + +* Thu Jun 6 2013 Remi Collet 5.5.0-0.35.RC3 +- update to 5.5.0RC3 + +* Mon May 27 2013 Remi Collet 5.5.0-0.34.201305271230. +-test build with systemd gd + +* Thu May 23 2013 Remi Collet 5.5.0-0.33.RC2 +- update to 5.5.0RC2 +- add missing options in php-fpm.conf +- improved systemd configuration, documentation about + /etc/sysconfig/php-fpm being deprecated + +* Wed May 22 2013 Remi Collet 5.5.0-0.32.201305220430 +- test build for https://bugs.php.net/64895 + +* Sat May 18 2013 Remi Collet 5.5.0-0.32.201305181030 +- test build with systemd integration (type=notify) + +* Wed May 8 2013 Remi Collet 5.5.0-0.31.RC1 +- update to 5.5.0RC1 + +* Sat Apr 27 2013 Remi Collet 5.5.0-0.30.201305041230 +- test build for libgd + +* Sat Apr 27 2013 Remi Collet 5.5.0-0.29.201304291030 +- new snapshot +- review some sub-packages description +- add option to disable json extension + +* Thu Apr 25 2013 Remi Collet 5.5.0-0.28.beta4 +- update to 5.5.0beta4, rebuild with new sources + +* Thu Apr 25 2013 Remi Collet 5.5.0-0.27.beta4 +- update to 5.5.0beta4 + +* Mon Apr 22 2013 Remi Collet 5.5.0-0.27-201304221230 +- new snapshot +- try build with system gd 2.1.0 + +* Thu Apr 18 2013 Remi Collet 5.5.0-0.26-201304181030 +- new snapshot +- zend_extension doesn't requires full path +- refresh system libzip patch +- drop opcache patch merged upstream + +* Thu Apr 11 2013 Remi Collet 5.5.0-0.25.beta3 +- allow wildcard in opcache.blacklist_filename and provide + default /etc/php.d/opcache-default.blacklist + +* Wed Apr 10 2013 Remi Collet 5.5.0-0.24.beta3 +- update to 5.5.0beta3 + +* Thu Apr 4 2013 Remi Collet 5.5.0-0.23-201304040630 +- new snapshot +- clean old deprecated options + +* Thu Mar 28 2013 Remi Collet 5.5.0-0.22.beta2 +- update to 5.5.0beta2 +- Zend Optimizer+ renamed to Zend OPcache +- sync provided configuration with upstream + +* Mon Mar 25 2013 Remi Collet 5.5.0-0.21-201303251230 +- new snapshot +- generated parser using system bison, test for https://bugs.php.net/64503 + +* Wed Mar 20 2013 Remi Collet 5.5.0-0.20-201303201430 +- new snapshot (beta1) + +* Mon Mar 18 2013 Remi Collet 5.5.0-0.19-201303180830 +- new snapshot +- temporary disable dtrace +- new extension opcache in php-opccache sub-package + +* Thu Mar 14 2013 Remi Collet 5.5.0-0.18-201303141230 +- new snapshot +- hardened build (links with -z now option) +- remove %%config from /etc/rpm/macros.php + +* Fri Mar 8 2013 Remi Collet 5.5.0-0.17-201303081230 +- new snapshot (post alpha 6) +- make php-mysql package optional (and disabled) +- make ZTS build optional (still enabled) + +* Thu Feb 28 2013 Remi Collet 5.5.0-0.16-201302281430 +- new snapshot + +* Thu Feb 21 2013 Remi Collet 5.5.0-0.16-201302211230 +- new snapshot (post alpha 5) + +* Wed Feb 13 2013 Remi Collet 5.5.0-0.16-201302131030 +- enable tokyocabinet and gdbm dba handlers + +* Tue Feb 12 2013 Remi Collet 5.5.0-0.15-201302121230 +- new snapshot + +* Mon Feb 4 2013 Remi Collet 5.5.0-0.14-201302040630 +- new snapshot + +* Fri Feb 1 2013 Remi Collet 5.5.0-0.14-201302010630 +- new snapshot + +* Mon Jan 28 2013 Remi Collet 5.5.0-0.13-201301281030 +- new snapshot +- don't display XFAIL tests in report + +* Wed Jan 23 2013 Remi Collet 5.5.0-0.12-201301230630 +- new snapshot, alpha4 + +* Thu Jan 17 2013 Remi Collet 5.5.0-0.11-201301170830 +- new snapshot +- fix php.conf to allow MultiViews managed by php scripts + +* Thu Jan 10 2013 Remi Collet 5.5.0-0.10-201301100830 +- new snapshot, alpha3 + +* Wed Jan 2 2013 Remi Collet 5.5.0-0.10-201301021430 +- new snapshot + +* Mon Dec 24 2012 Remi Collet 5.5.0-0.9.201212241030 +- new snapshot (post alpha2) +- use xz compressed tarball + +* Tue Dec 18 2012 Remi Collet 5.5.0-0.9.201212181230 +- new snapshot + +* Wed Dec 12 2012 Remi Collet 5.5.0-0.8.201212121430 +- new snapshot + +* Tue Dec 11 2012 Remi Collet 5.5.0-0.8.201212110630 +- patch for unpack + +* Tue Dec 11 2012 Remi Collet 5.5.0-0.7.201212110630 +- prevent php_config.h changes across (otherwise identical) rebuilds +- drop "Configure Command" from phpinfo output + +* Tue Dec 11 2012 Remi Collet 5.5.0-0.6.201212110630 +- new snapshot +- move gmp in new sub-package + +* Mon Dec 10 2012 Remi Collet 5.5.0-0.6.201212100830 +- build sockets, tokenizer extensions shared + +* Mon Dec 10 2012 Remi Collet 5.5.0-0.5.201212100830 +- new snapshot +- enable dtrace + +* Tue Dec 4 2012 Remi Collet 5.5.0-0.4.201211301534 +- build simplexml and xml extensions shared (in php-xml) +- build bz2, calendar, ctype, exif, ftp, gettext and iconv + extensions shared (in php-common) +- build gmp extension shared (in php-bcmath) +- build shmop extension shared (in php-process) + +* Mon Dec 3 2012 Remi Collet 5.5.0-0.3.201211301534 +- drop some old compatibility provides (php-api, php-zend-abi, php-pecl-*) +- obsoletes php55-* + +* Fri Nov 30 2012 Remi Collet 5.5.0-0.2.201211301534 +- update to have zend_execute_ex for xDebug + +* Fri Nov 30 2012 Remi Collet 5.5.0-0.1.201211300857 +- Initial work on 5.5.0-dev + +* Fri Nov 23 2012 Remi Collet 5.4.9-2 +- add patch for https://bugs.php.net/63588 + duplicated implementation of php_next_utf8_char + +* Thu Nov 22 2012 Remi Collet 5.4.9-1 +- update to 5.4.9 + +* Thu Nov 15 2012 Remi Collet 5.4.9-0.5.RC1 +- switch back to upstream generated scanner/parser + +* Thu Nov 15 2012 Remi Collet 5.4.9-0.4.RC1 +- use _httpd_contentdir macro and fix php.gif path + +* Wed Nov 14 2012 Remi Collet 5.4.9-0.3.RC1 +- improve system libzip patch to use pkg-config + +* Wed Nov 14 2012 Remi Collet 5.4.9-0.2.RC1 +- use _httpd_moddir macro + +* Wed Nov 14 2012 Remi Collet 5.4.9-0.1.RC1 +- update to 5.4.9RC1 +- improves php.conf (use FilesMatch + SetHandler) +- improves filter (httpd module) +- apply ldap_r patch on fedora >= 18 only + +* Fri Nov 9 2012 Remi Collet 5.4.9-0.2.RC1 +- sync with rawhide + +* Fri Nov 9 2012 Remi Collet 5.4.8-6 +- clarify Licenses +- missing provides xmlreader and xmlwriter +- modernize spec + +* Thu Nov 8 2012 Remi Collet 5.4.9-0.1.RC1 +- update to 5.4.9RC1 +- change php embedded library soname version to 5.4 + +* Tue Nov 6 2012 Remi Collet 5.4.8-5 +- fix _httpd_mmn macro definition + +* Mon Nov 5 2012 Remi Collet 5.4.8-4 +- fix mysql_sock macro definition + +* Thu Oct 25 2012 Remi Collet 5.4.8-3 +- fix installed headers + +* Tue Oct 23 2012 Joe Orton - 5.4.8-2 +- use libldap_r for ldap extension + +* Thu Oct 18 2012 Remi Collet 5.4.8-1 +- update to 5.4.8 +- define both session.save_handler and session.save_path +- fix possible segfault in libxml (#828526) +- php-fpm: create apache user if needed +- use SKIP_ONLINE_TEST during make test +- php-devel requires pcre-devel and php-cli (instead of php) + +* Fri Oct 5 2012 Remi Collet 5.4.8-0.3.RC1 +- provides php-phar + +* Thu Oct 4 2012 Remi Collet 5.4.8-0.2.RC1 +- update systzdata patch to v10, timezone are case insensitive + +* Thu Oct 4 2012 Remi Collet 5.4.8-0.1.RC1 +- update to 5.4.8RC1 + +* Mon Oct 1 2012 Remi Collet 5.4.7-10 +- fix typo in systemd macro + +* Mon Oct 1 2012 Remi Collet 5.4.7-9 +- php-fpm: enable PrivateTmp +- php-fpm: new systemd macros (#850268) +- php-fpm: add upstream patch for startup issue (#846858) + +* Fri Sep 28 2012 Remi Collet 5.4.7-8 +- systemd integration, https://bugs.php.net/63085 +- no odbc call during timeout, https://bugs.php.net/63171 +- check sqlite3_column_table_name, https://bugs.php.net/63149 + +* Mon Sep 24 2012 Remi Collet 5.4.7-7 +- most failed tests explained (i386, x86_64) + +* Wed Sep 19 2012 Remi Collet 5.4.7-6 +- fix for http://bugs.php.net/63126 (#783967) + +* Wed Sep 19 2012 Remi Collet 5.4.7-6 +- add --daemonize / --nodaemonize options to php-fpm + upstream RFE: https://bugs.php.net/63085 + +* Wed Sep 19 2012 Remi Collet 5.4.7-5 +- sync with rawhide +- patch to report libdb version https://bugs.php.net/63117 + +* Wed Sep 19 2012 Remi Collet 5.4.7-5 +- patch to ensure we use latest libdb (not libdb4) + +* Wed Sep 19 2012 Remi Collet 5.4.7-4 +- really fix rhel tests (use libzip and libdb) + +* Tue Sep 18 2012 Remi Collet 5.4.7-3 +- fix test to enable zip extension on RHEL-7 + +* Mon Sep 17 2012 Remi Collet 5.4.7-2 +- remove session.save_path from php.ini + move it to apache and php-fpm configuration files + +* Fri Sep 14 2012 Remi Collet 5.4.7-1 +- update to 5.4.7 + http://www.php.net/releases/5_4_7.php +- php-fpm: don't daemonize + +* Thu Sep 13 2012 Remi Collet 5.4.7-1 +- update to 5.4.7 + +* Mon Sep 3 2012 Remi Collet 5.4.7-0.2.RC1 +- obsoletes php53* and php54* + +* Fri Aug 31 2012 Remi Collet 5.4.7-0.1.RC1 +- update to 5.4.7RC1 + +* Mon Aug 20 2012 Remi Collet 5.4.6-2 +- enable php-fpm on secondary arch (#849490) + +* Thu Aug 16 2012 Remi Collet 5.4.6-1 +- update to 5.4.6 + +* Thu Aug 02 2012 Remi Collet 5.4.6-0.1.RC1 +- update to 5.4.6RC1 + +* Fri Jul 20 2012 Remi Collet 5.4.5-1 +- update to 5.4.5 + +* Sat Jul 07 2012 Remi Collet 5.4.5-0.2.RC1 +- update patch for system libzip + +* Wed Jul 04 2012 Remi Collet 5.4.5-0.1.RC1 +- update to 5.4.5RC1 with bundled libzip. + +* Mon Jul 02 2012 Remi Collet 5.4.4-4 +- use system pcre only on fedora >= 14 (version 8.10) +- drop BR for libevent (#835671) +- provide php(language) to allow version check +- define %%{php_version} + +* Thu Jun 21 2012 Remi Collet 5.4.4-2 +- clean spec, sync with rawhide +- add missing provides (core, ereg, filter, standard) + +* Wed Jun 13 2012 Remi Collet 5.4.4-1 +- update to 5.4.4 finale +- fedora >= 15: use /usr/lib/tmpfiles.d instead of /etc/tmpfiles.d +- fedora >= 15: use /run/php-fpm instead of /var/run/php-fpm + +* Thu May 31 2012 Remi Collet 5.4.4-0.2.RC2 +- update to 5.4.4RC2 + +* Thu May 17 2012 Remi Collet 5.4.4-0.1.RC1 +- update to 5.4.4RC1 + +* Wed May 09 2012 Remi Collet 5.4.3-1 +- update to 5.4.3 (CVE-2012-2311, CVE-2012-2329) + +* Thu May 03 2012 Remi Collet 5.4.2-1 +- update to 5.4.2 (CVE-2012-1823) + +* Fri Apr 27 2012 Remi Collet 5.4.1-1 +- update to 5.4.1 +- use libdb in fedora >= 18 instead of db4 + +* Fri Apr 13 2012 Remi Collet 5.4.1-0.3.RC2 +- update to 5.4.1RC2 + +* Sat Mar 31 2012 Remi Collet 5.4.1-0.2.RC1 +- rebuild + +* Sat Mar 31 2012 Remi Collet 5.4.1-0.1.RC1 +- update to 5.4.1RC1, split php conf when httpd 2.4 + +* Tue Mar 27 2012 Remi Collet 5.4.0-1.1 +- sync with rawhide (httpd 2.4 stuff) + +* Mon Mar 26 2012 Joe Orton - 5.4.0-2 +- rebuild against httpd 2.4 +- use _httpd_mmn, _httpd_apxs macros +- fix --without-system-tzdata build for Debian et al + +* Fri Mar 02 2012 Remi Collet 5.4.0-1 +- update to PHP 5.4.0 finale + +* Sat Feb 18 2012 Remi Collet 5.4.0-0.16.RC8 +- update to 5.4.0RC8 + +* Sat Feb 04 2012 Remi Collet 5.4.0-0.15.RC7 +- update to 5.4.0RC7 + +* Fri Jan 27 2012 Remi Collet 5.4.0-0.14.RC6 +- build against system libzip (fedora >= 17), patch from spot + +* Thu Jan 26 2012 Remi Collet 5.4.0-0.13.RC6 +- add /etc/sysconfig/php-fpm environment file (#784770) + +* Wed Jan 25 2012 Remi Collet 5.4.0-0.12.RC6 +- keep all ZTS binaries in /usr/bin (with zts prefix) + +* Thu Jan 19 2012 Remi Collet 5.4.0-0.11.RC6 +- update to 5.4.0RC6 + +* Wed Jan 18 2012 Remi Collet 5.4.0-0.10.RC5 +- add some fedora patches back (dlopen, easter, phpize) + +* Mon Jan 16 2012 Remi Collet 5.4.0-0.9.RC5 +- improves mysql.sock default path + +* Fri Jan 13 2012 Remi Collet 5.4.0-0.8.RC5 +- update to 5.4.0RC5 +- patch for https://bugs.php.net/60748 (mysql.sock hardcoded) +- move session.path from php.ini to httpd/conf.d/php.conf +- provides both ZTS mysql extensions (libmysql/mysqlnd) +- build php cli ZTS binary, in -devel, mainly for test + +* Wed Jan 04 2012 Remi Collet 5.4.0-0.7.201201041830 +- new snapshot (5.4.0RC5-dev) with fix for https://bugs.php.net/60627 + +* Fri Dec 30 2011 Remi Collet 5.4.0-0.6.201112300630 +- new snapshot (5.4.0RC5-dev) + +* Mon Dec 26 2011 Remi Collet 5.4.0-0.6.201112261030 +- new snapshot (5.4.0RC5-dev) + +* Sat Dec 17 2011 Remi Collet 5.4.0-0.5.201112170630 +- new snapshot (5.4.0RC4-dev) + +* Mon Dec 12 2011 Remi Collet 5.4.0-0.4.201112121330 +- new snapshot (5.4.0RC4-dev) +- switch to systemd + +* Fri Dec 09 2011 Remi Collet 5.4.0-0.3.201112091730 +- new snapshot (5.4.0RC4-dev) +- removed patch merged upstream for https://bugs.php.net/60392 +- clean ini (from upstream production default) + +* Sun Nov 13 2011 Remi Collet 5.4.0-0.3.201111260730 +- new snapshot (5.4.0RC3-dev) +- patch for https://bugs.php.net/60392 (old libicu on EL-5) + +* Sun Nov 13 2011 Remi Collet 5.4.0-0.3.201111130730 +- new snapshot (5.4.0RC2-dev) +- sync with latest changes in 5.3 spec + +* Thu Sep 08 2011 Remi Collet 5.4.0-0.2.201109081430 +- new snapshot +- build mysql/mysqli against both libmysql and mysqlnd (new mysqlnd sub-package) + +* Sat Sep 03 2011 Remi Collet 5.4.0-0.1.201109031230 +- first work on php 5.4 +- remove -sqlite subpackage +- move php/modules-zts to php-zts/modules + -- cgit