summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--php-sqlite3.patch53
-rw-r--r--php.spec7
2 files changed, 59 insertions, 1 deletions
diff --git a/php-sqlite3.patch b/php-sqlite3.patch
new file mode 100644
index 0000000..cdb7d84
--- /dev/null
+++ b/php-sqlite3.patch
@@ -0,0 +1,53 @@
+From 666cb6c80226467be262c088a26246c48cdef7e5 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@php.net>
+Date: Wed, 2 Aug 2017 14:01:56 +0200
+Subject: [PATCH] fix build with old system libsqlite (sqlite3_errstr may be
+ missing)
+
+---
+ ext/sqlite3/config0.m4 | 5 ++++-
+ ext/sqlite3/sqlite3.c | 4 ++++
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/ext/sqlite3/config0.m4 b/ext/sqlite3/config0.m4
+index 3aa4492..ba760e1 100644
+--- a/ext/sqlite3/config0.m4
++++ b/ext/sqlite3/config0.m4
+@@ -53,6 +53,9 @@ if test $PHP_SQLITE3 != "no"; then
+ PHP_CHECK_LIBRARY(sqlite3,sqlite3_column_table_name,[
+ AC_DEFINE(SQLITE_ENABLE_COLUMN_METADATA, 1, [have sqlite3 with column metadata enabled])
+ ])
++ PHP_CHECK_LIBRARY(sqlite3,sqlite3_errstr,[
++ AC_DEFINE(HAVE_SQLITE3_ERRSTR, 1, [have sqlite3_errstr function])
++ ])
+
+ PHP_CHECK_LIBRARY(sqlite3,sqlite3_load_extension,
+ [],
+@@ -75,7 +78,7 @@ if test $PHP_SQLITE3 != "no"; then
+ debug_flags="-DSQLITE_DEBUG=1"
+ fi
+
+- other_flags="-DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_COLUMN_METADATA=1"
++ other_flags="-DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DHAVE_SQLITE3_ERRSTR=1"
+
+ dnl As long as intl is not shared we can have ICU support
+ if test "$PHP_INTL" = "yes" && test "$PHP_INTL_SHARED" != "yes"; then
+diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c
+index dcbc03c..a22f455 100644
+--- a/ext/sqlite3/sqlite3.c
++++ b/ext/sqlite3/sqlite3.c
+@@ -148,7 +148,11 @@ PHP_METHOD(sqlite3, open)
+ #endif
+ if (rc != SQLITE_OK) {
+ zend_throw_exception_ex(zend_ce_exception, 0, "Unable to open database: %s",
++#ifdef HAVE_SQLITE3_ERRSTR
+ db_obj->db ? sqlite3_errmsg(db_obj->db) : sqlite3_errstr(rc));
++#else
++ db_obj->db ? sqlite3_errmsg(db_obj->db) : "");
++#endif
+ if (fullpath != filename) {
+ efree(fullpath);
+ }
+--
+2.1.4
+
diff --git a/php.spec b/php.spec
index dda3b21..9023b1e 100644
--- a/php.spec
+++ b/php.spec
@@ -130,7 +130,7 @@
Summary: PHP scripting language for creating dynamic web sites
Name: %{?scl_prefix}php
Version: %{upver}%{?rcver:~%{rcver}}
-Release: 1%{?dist}
+Release: 2%{?dist}
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
# TSRM is licensed under BSD
@@ -168,6 +168,7 @@ Patch6: php-5.6.3-embed.patch
Patch7: php-5.3.0-recode.patch
Patch8: php-7.0.2-libdb.patch
Patch9: php-7.0.7-curl.patch
+Patch10: php-sqlite3.patch
# Functional changes
Patch40: php-7.0.17-dlopen.patch
@@ -878,6 +879,7 @@ support for JavaScript Object Notation (JSON) to PHP.
%if 0%{?rhel}
%patch9 -p1 -b .curltls
%endif
+%patch10 -p1 -b .errstr
%patch40 -p1 -b .dlopen
%if 0%{?fedora} >= 24 || 0%{?rhel} >= 5
@@ -1813,6 +1815,9 @@ fi
%changelog
+* Wed Aug 2 2017 Remi Collet <remi@fedoraproject.org> - 7.0.22-2
+- add patch for EL-6, fix undefined symbol: sqlite3_errstr
+
* Wed Aug 2 2017 Remi Collet <remi@fedoraproject.org> - 7.0.22-1
- Update to 7.0.22 - http://www.php.net/releases/7_0_22.php