Hello community, here is the log from the commit of package firebird for openSUSE:Factory checked in at 2017-07-04 11:54:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/firebird (Old) and /work/SRC/openSUSE:Factory/.firebird.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "firebird" Tue Jul 4 11:54:41 2017 rev:46 rq:507385 version:3.0.2.32703 Changes: -------- --- /work/SRC/openSUSE:Factory/firebird/firebird.changes 2017-02-22 13:51:50.386787732 +0100 +++ /work/SRC/openSUSE:Factory/.firebird.new/firebird.changes 2017-07-04 11:54:46.923869797 +0200 @@ -1,0 +2,37 @@ +Fri Jun 30 12:05:54 UTC 2017 - mkube...@suse.cz + +- update to upstream version 3.0.2 + * allow to to filter out info and warnings from the trace log + * enhance control capability when sharing the database crypt key + between Superserver attachments + * the physical numbers of frequently used data pages are now + cached to reduce the number of fetches of pointer pages + * in SuperServer mode, read-only transaction will no longer force + write the Header\TIP page content to disk immediately after + a change + * make the database name available to an encryption plug-in + * enable nesting of keys in a plug-in configuration + * build linux code with --enable-binreloc + * trace: provide a filter to INCLUDE / EXCLUDE errors by their + mnemonical names + * port for ancient Motorola 68000 CPU platform + * allow SELECT expressions as valid operands for the BETWEEN + predicate + * many bug fixes; for a list, see + https://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-bug.html#bug-302 +- Backported-fix-for-CORE-5474-Restrict-UDF-is-not-eff.patch: + drop (included in 3.0.2) +- Backported-fix-for-CORE-5549-Errors-building-running.patch: + fix errors when building/running on non-SSE CPU (CORE-5549) +- Backported-fix-for-CORE-5562-Firebird-crashes-when-U.patch: + fix crash on frequent load/unload of UDF (CORE-5562) +- Workaround-for-CORE-5566-Server-crashes-while-restor.patch: + workaround for server crash when restoring a backup while shadow + file already exists (CORE-5566) +- Fixed-CORE-5567-Direct-system-table-modifications-ar.patch: + fix the possibility to directly modivy system tables (CORE-5567) +- drop "--disable-binreloc", no longer needed +- add a check to fail in prep phase if extern/SfIO wasn't removed + (bsc#763446) + +------------------------------------------------------------------- Old: ---- Backported-fix-for-CORE-5474-Restrict-UDF-is-not-eff.patch Firebird-3.0.1.32609-0.tar.xz New: ---- Backported-fix-for-CORE-5549-Errors-building-running.patch Backported-fix-for-CORE-5562-Firebird-crashes-when-U.patch Firebird-3.0.2.32703-0.tar.xz Fixed-CORE-5567-Direct-system-table-modifications-ar.patch Workaround-for-CORE-5566-Server-crashes-while-restor.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ firebird.spec ++++++ --- /var/tmp/diff_new_pack.6v2wma/_old 2017-07-04 11:54:47.923729088 +0200 +++ /var/tmp/diff_new_pack.6v2wma/_new 2017-07-04 11:54:47.927728525 +0200 @@ -19,7 +19,7 @@ %define up_stage 0 Name: firebird -Version: 3.0.1.32609 +Version: 3.0.2.32703 Release: 0 Summary: Database system (common files) License: SUSE-IDPL-1.0 and SUSE-IBPL-1.0 @@ -53,7 +53,10 @@ Patch6: unicode-handle-the-ICU-version-hack-from-SuSE.patch Patch7: Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch Patch8: Provide-sized-global-delete-operators-when-compiled-.patch -Patch9: Backported-fix-for-CORE-5474-Restrict-UDF-is-not-eff.patch +Patch9: Backported-fix-for-CORE-5549-Errors-building-running.patch +Patch10: Backported-fix-for-CORE-5562-Firebird-crashes-when-U.patch +Patch11: Workaround-for-CORE-5566-Server-crashes-while-restor.patch +Patch12: Fixed-CORE-5567-Direct-system-table-modifications-ar.patch # work around a problem with old g++ Patch91: work-around-g-problem-in-SLE11.patch @@ -70,6 +73,11 @@ %prep %setup -q -n Firebird-%{version}-%{up_stage} +# check for files with unclear licensing (bsc#763446) +if [ -d extern/SfIO ]; then + echo "please repack the tarball without extern/SfIO directory (see bsc#763446)" >&2 + exit 1 +fi # -- %patch2 -p1 %patch3 -p1 @@ -79,6 +87,9 @@ %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 # -- # work around a problem with old g++ %if 0%{?suse_version} < 1140 @@ -89,7 +100,6 @@ export CFLAGS="%{optflags} -fno-strict-aliasing" export CXXFLAGS="${CFLAGS} -fno-delete-null-pointer-checks" ./autogen.sh --prefix=%{_prefix} \ - --disable-binreloc \ --with-system-editline \ --with-fbbin=%{_bindir} \ --with-fbsbin=%{_sbindir} \ ++++++ Backported-fix-for-CORE-5549-Errors-building-running.patch ++++++ From: AlexPeshkoff <peshk...@mail.ru> Date: Mon, 22 May 2017 18:02:39 +0300 Subject: Backported fix for CORE-5549: Errors building / running FB on non-SSE enabled HW Patch-mainline: R3_0_3? Git-commit: 5c4b4fc42a52e387b2fc2ea038f9143d70e515e7 References: CORE-5549 --- src/common/classes/Hash.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/common/classes/Hash.cpp b/src/common/classes/Hash.cpp index 661470888941..afe31c9a84a3 100644 --- a/src/common/classes/Hash.cpp +++ b/src/common/classes/Hash.cpp @@ -43,12 +43,11 @@ namespace { unsigned int hash_value = 0; - UCHAR* p; + UCHAR* const p = (UCHAR*) &hash_value; const UCHAR* q = value; while (length >= 4) { - p = (UCHAR*) &hash_value; p[0] += q[0]; p[1] += q[1]; p[2] += q[2]; @@ -57,18 +56,16 @@ namespace q += 4; } - p = (UCHAR*) &hash_value; - if (length >= 2) { p[0] += q[0]; p[1] += q[1]; length -= 2; + q += 2; } if (length) { - q += 2; *p += *q; } -- 2.13.2 ++++++ Backported-fix-for-CORE-5562-Firebird-crashes-when-U.patch ++++++ From: AlexPeshkoff <peshk...@mail.ru> Date: Thu, 8 Jun 2017 12:44:08 +0300 Subject: Backported fix for CORE-5562: Firebird crashes when UDF gets loaded and unloaded frequently Patch-mainline: R3_0_3? Git-commit: b80624c4129b0a8cc3e71671b7a2783915a7aa3f References: CORE-5562 --- src/jrd/flu.cpp | 13 +++++++++++-- src/jrd/flu.h | 2 ++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/jrd/flu.cpp b/src/jrd/flu.cpp index 9c15e47090f2..60d5d7e735a4 100644 --- a/src/jrd/flu.cpp +++ b/src/jrd/flu.cpp @@ -268,11 +268,20 @@ namespace Jrd return Module(); } + Module::~Module() + { + if (interMod) + { + Firebird::MutexLockGuard lg(modulesMutex, FB_FUNCTION); + interMod = NULL; // This makes RefPtr call release() + } + } + Module::InternalModule::~InternalModule() { - delete handle; + fb_assert(modulesMutex->locked()); - Firebird::MutexLockGuard lg(modulesMutex, FB_FUNCTION); + delete handle; for (FB_SIZE_T m = 0; m < loadedModules().getCount(); m++) { diff --git a/src/jrd/flu.h b/src/jrd/flu.h index 3dd8fc0dbc5a..9faabd092680 100644 --- a/src/jrd/flu.h +++ b/src/jrd/flu.h @@ -102,6 +102,8 @@ namespace Jrd : interMod(m.interMod) { } + ~Module(); + // used for UDF/BLOB Filter static FPTR_INT lookup(const char*, const char*, Firebird::SortedObjectsArray<Module>&); -- 2.13.2 ++++++ Firebird-3.0.1.32609-0.tar.xz -> Firebird-3.0.2.32703-0.tar.xz ++++++ /work/SRC/openSUSE:Factory/firebird/Firebird-3.0.1.32609-0.tar.xz /work/SRC/openSUSE:Factory/.firebird.new/Firebird-3.0.2.32703-0.tar.xz differ: char 27, line 1 ++++++ Fixed-CORE-5567-Direct-system-table-modifications-ar.patch ++++++ From: Adriano dos Santos Fernandes <adrian...@gmail.com> Date: Mon, 12 Jun 2017 19:53:42 -0300 Subject: Fixed CORE-5567 - Direct system table modifications are not completely prohibited. Patch-mainline: R3_0_3? Git-commit: 9364fac17177d80f92049adae7ab88481d069ce9 References: CORE-5567 --- src/jrd/JrdStatement.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jrd/JrdStatement.cpp b/src/jrd/JrdStatement.cpp index ae34b3007e53..b1ad758f7272 100644 --- a/src/jrd/JrdStatement.cpp +++ b/src/jrd/JrdStatement.cpp @@ -725,7 +725,7 @@ template <typename T> static void makeSubRoutines(thread_db* tdbb, JrdStatement* Routine* subRoutine = subNode->routine; CompilerScratch*& subCsb = subNode->subCsb; - JrdStatement* subStatement = JrdStatement::makeStatement(tdbb, subCsb, true); + JrdStatement* subStatement = JrdStatement::makeStatement(tdbb, subCsb, false); subStatement->parentStatement = statement; subRoutine->setStatement(subStatement); -- 2.13.2 ++++++ Workaround-for-CORE-5566-Server-crashes-while-restor.patch ++++++ From: Dmitry Yemanov <dyema...@users.noreply.github.com> Date: Mon, 12 Jun 2017 11:19:56 +0300 Subject: Workaround for CORE-5566: Server crashes while restoring backup if the shadow file already exists Patch-mainline: R3_0_3? Git-commit: 48d6f37c1a247e890ee1759d1af796c1fc7ae859 References: CORE-5566 --- src/burp/restore.epp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/burp/restore.epp b/src/burp/restore.epp index 5e5f31cbcf5b..d583f0070998 100644 --- a/src/burp/restore.epp +++ b/src/burp/restore.epp @@ -7289,6 +7289,24 @@ bool get_relation(BurpGlobals* tdgbl) ext_file_name[0] = '\0'; bool ext_file_name_null = true; + // Before starting to restore relations, commit everything that was restored + // prior to this point. This ensures that no pending error can later affect + // other metadata being restored. + + if (!tdgbl->relations) + { + BURP_verbose (68); + // msg 68 committing meta data + COMMIT + ON_ERROR + general_on_error (); + END_ERROR; + + EXEC SQL SET TRANSACTION NO_AUTO_UNDO; + if (gds_status[1]) + EXEC SQL SET TRANSACTION; + } + // Pick up relation attributes burp_rel* relation = (burp_rel*) BURP_alloc_zero (sizeof(burp_rel)); -- 2.13.2