From 5e3987ccc093c53211350998b44e0f05a3e10322 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 2 Aug 2017 14:21:27 +0200 Subject: add patch for EL-6, fix undefined symbol: sqlite3_errstr --- php-sqlite3.patch | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ php.spec | 7 ++++++- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 php-sqlite3.patch 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 +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 - 7.0.22-2 +- add patch for EL-6, fix undefined symbol: sqlite3_errstr + * Wed Aug 2 2017 Remi Collet - 7.0.22-1 - Update to 7.0.22 - http://www.php.net/releases/7_0_22.php -- cgit