From c29171baee27d7e2a04aa51d3e4c5a2a471020d0 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:27:33 +0000 Subject: [PATCH 01/23] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index a96c986..9e4e27b 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: firebird -# $Id$ +# $Id: Makefile,v 1.1 2009/05/04 03:56:33 kevin Exp $ NAME := firebird SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 89d5c82a4381dbca1a22052f04625c1be81956ac Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Wed, 17 Mar 2010 11:47:22 +0000 Subject: [PATCH 02/23] - build with last upstream - Fix rh #563461 with backport mainstream patch CORE-2928 --- .cvsignore | 2 +- firebird-gsec.patch | 25 +++++++++++++++++++++++++ firebird.spec | 15 ++++++++++----- sources | 2 +- 4 files changed, 37 insertions(+), 7 deletions(-) create mode 100644 firebird-gsec.patch diff --git a/.cvsignore b/.cvsignore index c91e693..8e75970 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -Firebird-2.1.3.18185-0.RC2.tar.bz2 +Firebird-2.1.3.18185-0.tar.bz2 diff --git a/firebird-gsec.patch b/firebird-gsec.patch new file mode 100644 index 0000000..8d26831 --- /dev/null +++ b/firebird-gsec.patch @@ -0,0 +1,25 @@ +Index: src/utilities/gsec/security.epp +=================================================================== +RCS file: /cvsroot/firebird/firebird2/src/utilities/gsec/security.epp,v +retrieving revision 1.16 +diff -u -r1.16 security.epp +--- src/utilities/gsec/security.epp 25 Mar 2006 07:08:00 -0000 1.16 ++++ src/utilities/gsec/security.epp 17 Mar 2010 10:11:57 -0000 +@@ -288,7 +288,7 @@ + *(io_user_data->sys_user_name) = '\0'; + strcpy(io_user_data->user_name, U.USER_NAME); + strcpy(io_user_data->group_name, U.GROUP_NAME); +- strcpy(io_user_data->password, U.PASSWD); ++ io_user_data->password[0] = 0; + strcpy(io_user_data->first_name, U.FIRST_NAME); + strcpy(io_user_data->middle_name, U.MIDDLE_NAME); + strcpy(io_user_data->last_name, U.LAST_NAME); +@@ -307,7 +307,7 @@ + *(io_user_data->sys_user_name) = '\0'; + strcpy(io_user_data->user_name, U.USER_NAME); + strcpy(io_user_data->group_name, U.GROUP_NAME); +- strcpy(io_user_data->password, U.PASSWD); ++ io_user_data->password[0] = 0; + strcpy(io_user_data->first_name, U.FIRST_NAME); + strcpy(io_user_data->middle_name, U.MIDDLE_NAME); + strcpy(io_user_data->last_name, U.LAST_NAME); diff --git a/firebird.spec b/firebird.spec index 4debcca..c7a2b19 100644 --- a/firebird.spec +++ b/firebird.spec @@ -6,15 +6,14 @@ Summary: SQL relational database management system Name: firebird Version: 2.1.3.18185.0 -Release: 5%{?dist} +Release: 6%{?dist} Group: Applications/Databases License: Interbase URL: http://www.firebirdsql.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot -#Source0: http://downloads.sourceforge.net/firebird/%{pkgname}.tar.bz2 -Source0: http://firebirdsql.org/downloads/prerelease/source/%{pkgname}.RC2.tar.bz2 +Source0: http://downloads.sourceforge.net/firebird/%{pkgname}.tar.bz2 Source1: firebird-logrotate Source2: README.Fedora @@ -24,6 +23,7 @@ Patch2: firebird-fix-initscript.patch Patch3: firebird_lock-file-location.patch Patch4: firebird-gcc-icu.patch Patch5: firebird-s390x.patch +Patch6: firebird-gsec.patch BuildRequires: autoconf @@ -131,11 +131,12 @@ Multi-process, local client libraries for Firebird SQL RDBMS iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl # backport patch %patch2 -%patch1 -p1 +# %patch1 -p1 %patch0 %patch3 %patch4 %patch5 -p1 +%patch6 %build @@ -180,7 +181,7 @@ cd .. %ifarch ppc64 autoreconf -vfi %endif -%configure --prefix=%{fbroot} --with-system-icu --with-system-editline --enable-superserver +%configure --prefix=%{fbroot} --with-system-icu --enable-superserver --with-system-editline %ifarch sparc64 sed "s@COMMON_FLAGS=-m32@COMMON_FLAGS=-m64@" -i ./gen/make.platform @@ -535,6 +536,10 @@ fi %changelog +* Wed Mar 17 2010 Philippe Makowski 2.1.3.18185.0-6 +- build with last upstream +- Fix rh #563461 with backport mainstream patch CORE-2928 + * Sat Sep 05 2009 Karsten Hopp 2.1.3.18185.0-5 - fix build on s390x for F-12 mass rebuild (Dan Horák) diff --git a/sources b/sources index 9083ef3..5cafad5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a419db70057767b7d6b955436e6e7089 Firebird-2.1.3.18185-0.RC2.tar.bz2 +ec42bd5c85dc2f65baef185228bcc5ca Firebird-2.1.3.18185-0.tar.bz2 From db04702da37a5aba8ab1a732f5eca62a22276a38 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Fri, 26 Mar 2010 00:18:11 +0000 Subject: [PATCH 03/23] - add configuration for 31bit s390 --- firebird-s390x.patch | 107 ++++++++++++++++++++++++++++++++----------- firebird.spec | 7 ++- 2 files changed, 86 insertions(+), 28 deletions(-) diff --git a/firebird-s390x.patch b/firebird-s390x.patch index 46c43b6..dd85429 100644 --- a/firebird-s390x.patch +++ b/firebird-s390x.patch @@ -1,6 +1,41 @@ +diff -up Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390.s390x Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390 +--- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390.s390x 2010-03-26 00:23:18.000000000 +0100 ++++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390 2010-03-26 00:23:56.000000000 +0100 +@@ -0,0 +1,31 @@ ++# The contents of this file are subject to the Interbase Public ++# License Version 1.0 (the "License"); you may not use this file ++# except in compliance with the License. You may obtain a copy ++# of the License at http://www.Inprise.com/IPL.html ++# ++# Software distributed under the License is distributed on an ++# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express ++# or implied. See the License for the specific language governing ++# rights and limitations under the License. ++# ++# The Original Code was created by Inprise Corporation ++# and its predecessors. Portions created by Inprise Corporation are ++# Copyright (C) Inprise Corporation. ++# ++# All Rights Reserved. ++# Contributor(s): ______________________________________. ++# Start of file prefix.linux: $(VERSION) $(PLATFORM) ++# ++# 3. Sep 2009 Karsten Hopp - initial verion ++ ++COMMON_FLAGS=-m31 -DLINUX -pipe -MMD -fPIC -DS390 -DFB_SEND_FLAGS=MSG_NOSIGNAL -fmessage-length=0 -fsigned-char ++PROD_FLAGS=-ggdb -march=z9-109 -mtune=z10 -O2 -DNDEBUG $(COMMON_FLAGS) ++DEV_FLAGS=-ggdb -p -Wall -Wno-switch $(COMMON_FLAGS) ++CXXFLAGS:= $(CXXFLAGS) -fno-rtti ++ ++OS_ServerFiles=inet_server.cpp ++ ++EMBED_UTIL_TARGETS=gstat gds_drop gsec nbackup fb_lock_print fbsvcmgr ++CLIENT_UTIL_TARGETS=gds_drop gstat gsec fbguard fbmgr_bin nbackup fb_lock_print fbsvcmgr ++ ++Physical_IO_Module=os/posix/unix.cpp diff -up Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390x.s390x Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390x ---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390x.s390x 2009-09-04 17:27:31.000000000 -0400 -+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390x 2009-09-04 17:27:31.000000000 -0400 +--- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390x.s390x 2010-03-26 00:21:22.000000000 +0100 ++++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390x 2010-03-26 00:23:50.000000000 +0100 @@ -0,0 +1,31 @@ +# The contents of this file are subject to the Interbase Public +# License Version 1.0 (the "License"); you may not use this file @@ -34,12 +69,22 @@ diff -up Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390x.s390x Firebird-2 + +Physical_IO_Module=os/posix/unix.cpp diff -up Firebird-2.1.3.18185-0/configure.in.s390x Firebird-2.1.3.18185-0/configure.in ---- Firebird-2.1.3.18185-0/configure.in.s390x 2009-09-04 18:33:27.000000000 -0400 -+++ Firebird-2.1.3.18185-0/configure.in 2009-09-04 18:33:37.000000000 -0400 -@@ -182,6 +182,16 @@ dnl CPU_TYPE=ppc64 +--- Firebird-2.1.3.18185-0/configure.in.s390x 2010-03-26 00:21:22.000000000 +0100 ++++ Firebird-2.1.3.18185-0/configure.in 2010-03-26 00:24:25.000000000 +0100 +@@ -182,6 +182,26 @@ dnl CPU_TYPE=ppc64 SHRLIB_EXT=so ;; ++ s390-*-linux*) ++ MAKEFILE_PREFIX=linux_s390 ++ INSTALL_PREFIX=linux ++ PLATFORM=LINUX ++ AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) ++ LOCK_MANAGER_FLG=Y ++ EDITLINE_FLG=Y ++ SHRLIB_EXT=so ++ ;; ++ + s390x-*-linux*) + MAKEFILE_PREFIX=linux_s390x + INSTALL_PREFIX=linux @@ -54,38 +99,44 @@ diff -up Firebird-2.1.3.18185-0/configure.in.s390x Firebird-2.1.3.18185-0/config MAKEFILE_PREFIX=linux_powerpc INSTALL_PREFIX=linux diff -up Firebird-2.1.3.18185-0/src/jrd/common.h.s390x Firebird-2.1.3.18185-0/src/jrd/common.h ---- Firebird-2.1.3.18185-0/src/jrd/common.h.s390x 2008-12-23 03:34:32.000000000 -0500 -+++ Firebird-2.1.3.18185-0/src/jrd/common.h 2009-09-04 17:27:31.000000000 -0400 -@@ -151,6 +151,10 @@ +--- Firebird-2.1.3.18185-0/src/jrd/common.h.s390x 2008-12-23 09:34:32.000000000 +0100 ++++ Firebird-2.1.3.18185-0/src/jrd/common.h 2010-03-26 00:25:20.000000000 +0100 +@@ -151,6 +151,14 @@ #define RISC_ALIGNMENT #endif // IA64 ++#ifdef S390 ++#define IMPLEMENTATION isc_info_db_impl_linux_s390 /* 78 */ ++#endif /* s390 */ ++ +#ifdef S390X -+#define IMPLEMENTATION isc_info_db_impl_linux_s390x /* 78 */ ++#define IMPLEMENTATION isc_info_db_impl_linux_s390x /* 79 */ +#endif /* s390x */ + #define MEMMOVE(from, to, length) memmove ((void *)to, (void *)from, (size_t) length) #define MOVE_FAST(from, to, length) memcpy (to, from, (int) (length)) #define MOVE_FASTER(from, to, length) memcpy (to, from, (int) (length)) diff -up Firebird-2.1.3.18185-0/src/jrd/inf_pub.h.s390x Firebird-2.1.3.18185-0/src/jrd/inf_pub.h ---- Firebird-2.1.3.18185-0/src/jrd/inf_pub.h.s390x 2008-06-09 07:16:32.000000000 -0400 -+++ Firebird-2.1.3.18185-0/src/jrd/inf_pub.h 2009-09-04 17:27:31.000000000 -0400 -@@ -207,6 +207,7 @@ enum info_db_implementations +--- Firebird-2.1.3.18185-0/src/jrd/inf_pub.h.s390x 2008-06-09 13:16:32.000000000 +0200 ++++ Firebird-2.1.3.18185-0/src/jrd/inf_pub.h 2010-03-26 00:25:47.000000000 +0100 +@@ -207,6 +207,8 @@ enum info_db_implementations isc_info_db_impl_linux_ia64 = 76, isc_info_db_impl_darwin_ppc64 = 77, -+ isc_info_db_impl_linux_s390x = 78, ++ isc_info_db_impl_linux_s390 = 78, ++ isc_info_db_impl_linux_s390x = 79, isc_info_db_impl_last_value // Leave this LAST! }; diff -up Firebird-2.1.3.18185-0/src/jrd/pag.cpp.s390x Firebird-2.1.3.18185-0/src/jrd/pag.cpp ---- Firebird-2.1.3.18185-0/src/jrd/pag.cpp.s390x 2009-01-06 16:25:22.000000000 -0500 -+++ Firebird-2.1.3.18185-0/src/jrd/pag.cpp 2009-09-04 17:27:31.000000000 -0400 -@@ -160,9 +160,10 @@ static const int CLASS_SOLARIS_AMD64 = 3 +--- Firebird-2.1.3.18185-0/src/jrd/pag.cpp.s390x 2009-01-06 22:25:22.000000000 +0100 ++++ Firebird-2.1.3.18185-0/src/jrd/pag.cpp 2010-03-26 00:27:06.000000000 +0100 +@@ -160,9 +160,11 @@ static const int CLASS_SOLARIS_AMD64 = 3 static const int CLASS_LINUX_ARM = 33; // LINUX/ARM static const int CLASS_LINUX_IA64 = 34; // LINUX/IA64 static const int CLASS_DARWIN_PPC64 = 35; // Darwin/PowerPC64 -+static const int CLASS_LINUX_S390X = 36; // LINUX/s390x ++static const int CLASS_LINUX_S390 = 36; // LINUX/s390 ++static const int CLASS_LINUX_S390X = 37; // LINUX/s390x static const int CLASS_MAX10 = CLASS_LINUX_AMD64; // This should not be changed, no new ports with ODS10 -static const int CLASS_MAX = CLASS_DARWIN_PPC64; @@ -93,47 +144,51 @@ diff -up Firebird-2.1.3.18185-0/src/jrd/pag.cpp.s390x Firebird-2.1.3.18185-0/src // ARCHITECTURE COMPATIBILITY CLASSES -@@ -253,7 +254,8 @@ static ArchitectureType archMatrix[CLASS +@@ -253,7 +255,9 @@ static ArchitectureType archMatrix[CLASS archLittleEndian, // CLASS_SOLARIS_AMD64 archLittleEndian, // CLASS_LINUX_ARM archLittleEndian, // CLASS_LINUX_IA64 - archBigEndian // CLASS_DARWIN_PPC64 + archBigEndian, // CLASS_DARWIN_PPC64 ++ archBigEndian, // CLASS_LINUX_S390 + archBigEndian // CLASS_LINUX_S390X }; #ifdef sun -@@ -311,6 +313,8 @@ const SSHORT CLASS = CLASS_LINUX_MIPSEL +@@ -311,6 +315,10 @@ const SSHORT CLASS = CLASS_LINUX_MIPSEL const SSHORT CLASS = CLASS_LINUX_MIPS; #elif defined(IA64) const SSHORT CLASS = CLASS_LINUX_IA64; ++#elif defined(S390) ++const SSHORT CLASS = CLASS_LINUX_S390; +#elif defined(S390X) +const SSHORT CLASS = CLASS_LINUX_S390X; #else #error no support on other hardware for Linux #endif diff -up Firebird-2.1.3.18185-0/src/jrd/utl.cpp.s390x Firebird-2.1.3.18185-0/src/jrd/utl.cpp ---- Firebird-2.1.3.18185-0/src/jrd/utl.cpp.s390x 2008-12-10 10:22:17.000000000 -0500 -+++ Firebird-2.1.3.18185-0/src/jrd/utl.cpp 2009-09-04 18:31:07.000000000 -0400 -@@ -244,7 +244,8 @@ static const TEXT* const impl_implementa +--- Firebird-2.1.3.18185-0/src/jrd/utl.cpp.s390x 2008-12-10 16:22:17.000000000 +0100 ++++ Firebird-2.1.3.18185-0/src/jrd/utl.cpp 2010-03-26 00:27:17.000000000 +0100 +@@ -244,7 +244,9 @@ static const TEXT* const impl_implementa "Firebird/sun/amd64", /* 74 */ "Firebird/linux ARM", /* 75 */ "Firebird/linux IA64", /* 76 */ - "Firebird/Darwin/PowerPC64" /* 77 */ + "Firebird/Darwin/PowerPC64", /* 77 */ -+ "Firebird/linux S390X" /* 78 */ ++ "Firebird/linux S390" /* 78 */ ++ "Firebird/linux S390X" /* 79 */ }; diff -up Firebird-2.1.3.18185-0/src/remote/xdr.cpp.s390x Firebird-2.1.3.18185-0/src/remote/xdr.cpp ---- Firebird-2.1.3.18185-0/src/remote/xdr.cpp.s390x 2008-06-09 07:16:44.000000000 -0400 -+++ Firebird-2.1.3.18185-0/src/remote/xdr.cpp 2009-09-04 17:27:31.000000000 -0400 +--- Firebird-2.1.3.18185-0/src/remote/xdr.cpp.s390x 2008-06-09 13:16:44.000000000 +0200 ++++ Firebird-2.1.3.18185-0/src/remote/xdr.cpp 2010-03-26 00:27:41.000000000 +0100 @@ -45,7 +45,7 @@ // ASF: Currently, all little-endian are SWAP_DOUBLE and big-endian aren't. #if defined(i386) || defined(I386) || defined(_M_IX86) || defined(AMD64) || defined(ARM) || defined(MIPSEL) || defined(DARWIN64) || defined(IA64) #define SWAP_DOUBLE -#elif defined(sparc) || defined(PowerPC) || defined(PPC) || defined(__ppc__) || defined(HPUX) || defined(MIPS) || defined(__ppc64__) -+#elif defined(sparc) || defined(PowerPC) || defined(PPC) || defined(__ppc__) || defined(HPUX) || defined(MIPS) || defined(__ppc64__) || defined(S390X) || defined(__s390x__) ++#elif defined(sparc) || defined(PowerPC) || defined(PPC) || defined(__ppc__) || defined(HPUX) || defined(MIPS) || defined(__ppc64__) || defined(S390) || defined(__s390__) || defined(S390X) || defined(__s390x__) #undef SWAP_DOUBLE #else #error "Define SWAP_DOUBLE for your platform correctly !" diff --git a/firebird.spec b/firebird.spec index c7a2b19..9fc6f9f 100644 --- a/firebird.spec +++ b/firebird.spec @@ -6,7 +6,7 @@ Summary: SQL relational database management system Name: firebird Version: 2.1.3.18185.0 -Release: 6%{?dist} +Release: 6.1%{?dist} Group: Applications/Databases License: Interbase @@ -135,7 +135,7 @@ iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl %patch0 %patch3 %patch4 -%patch5 -p1 +%patch5 -p1 -b .s390x %patch6 %build @@ -536,6 +536,9 @@ fi %changelog +* Fri Mar 26 2010 Karsten Hopp 2.1.3.18185.0-6.1 +- add configuration for 31bit s390 + * Wed Mar 17 2010 Philippe Makowski 2.1.3.18185.0-6 - build with last upstream - Fix rh #563461 with backport mainstream patch CORE-2928 From 5da77b5f7c0d2844ec5fa9a6bd6906321bd1b13d Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 8 May 2010 01:49:06 +0000 Subject: [PATCH 04/23] Initialize branch EL-6 for firebird --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..46381b9 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +EL-6 From b537e236c308888dc26a5fbb6b7d0cfa2d6b087d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 14:27:17 +0000 Subject: [PATCH 05/23] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - import.log | 1 - 4 files changed, 23 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch delete mode 100644 import.log diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 9e4e27b..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: firebird -# $Id: Makefile,v 1.1 2009/05/04 03:56:33 kevin Exp $ -NAME := firebird -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index 46381b9..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -EL-6 diff --git a/import.log b/import.log deleted file mode 100644 index 44ebd01..0000000 --- a/import.log +++ /dev/null @@ -1 +0,0 @@ -firebird-2_1_2_18118_0-6_fc10:HEAD:firebird-2.1.2.18118.0-6.fc10.src.rpm:1241427683 From 67d0762050d21ce8c93f60ddc2513c5ec9d917b5 Mon Sep 17 00:00:00 2001 From: makowski Date: Mon, 22 Nov 2010 16:50:04 +0100 Subject: [PATCH 06/23] new upstream --- firebird-gsec.patch | 25 ------------------------- firebird.spec | 29 ----------------------------- 2 files changed, 54 deletions(-) delete mode 100644 firebird-gsec.patch diff --git a/firebird-gsec.patch b/firebird-gsec.patch deleted file mode 100644 index 8d26831..0000000 --- a/firebird-gsec.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: src/utilities/gsec/security.epp -=================================================================== -RCS file: /cvsroot/firebird/firebird2/src/utilities/gsec/security.epp,v -retrieving revision 1.16 -diff -u -r1.16 security.epp ---- src/utilities/gsec/security.epp 25 Mar 2006 07:08:00 -0000 1.16 -+++ src/utilities/gsec/security.epp 17 Mar 2010 10:11:57 -0000 -@@ -288,7 +288,7 @@ - *(io_user_data->sys_user_name) = '\0'; - strcpy(io_user_data->user_name, U.USER_NAME); - strcpy(io_user_data->group_name, U.GROUP_NAME); -- strcpy(io_user_data->password, U.PASSWD); -+ io_user_data->password[0] = 0; - strcpy(io_user_data->first_name, U.FIRST_NAME); - strcpy(io_user_data->middle_name, U.MIDDLE_NAME); - strcpy(io_user_data->last_name, U.LAST_NAME); -@@ -307,7 +307,7 @@ - *(io_user_data->sys_user_name) = '\0'; - strcpy(io_user_data->user_name, U.USER_NAME); - strcpy(io_user_data->group_name, U.GROUP_NAME); -- strcpy(io_user_data->password, U.PASSWD); -+ io_user_data->password[0] = 0; - strcpy(io_user_data->first_name, U.FIRST_NAME); - strcpy(io_user_data->middle_name, U.MIDDLE_NAME); - strcpy(io_user_data->last_name, U.LAST_NAME); diff --git a/firebird.spec b/firebird.spec index a1a87af..9d26c99 100644 --- a/firebird.spec +++ b/firebird.spec @@ -140,19 +140,7 @@ Multi-process, local client libraries for Firebird SQL RDBMS %prep %setup -q -n %{pkgname} # convert intl character to UTF-8 -<<<<<<< HEAD -iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl -# backport patch -%patch2 -# %patch1 -p1 -%patch0 -%patch3 -%patch4 -%patch5 -p1 -b .s390x -%patch6 -======= iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl ->>>>>>> master %build @@ -207,12 +195,6 @@ cd .. %ifarch ppc64 autoreconf -vfi %endif -<<<<<<< HEAD -%configure --prefix=%{fbroot} --with-system-icu --enable-superserver --with-system-editline - -%ifarch sparc64 -sed "s@COMMON_FLAGS=-m32@COMMON_FLAGS=-m64@" -i ./gen/make.platform -======= %configure --prefix=%{fbroot} --with-system-icu --with-system-editline --enable-superserver \ --with-fbbin=%{fbroot}/bin-superserver --with-fbinclude=%{_includedir}/%{name} \ --with-fbsbin=%{_sbindir} --with-fbconf=%{_sysconfdir}/%{name} --with-fblib=%{_libdir} \ @@ -225,7 +207,6 @@ sed "s@COMMON_FLAGS=-m32@COMMON_FLAGS=-m64@" -i ./gen/make.platform %ifarch sparc64 sed "s@COMMON_FLAGS=-m32@COMMON_FLAGS=-m64@" -i ./gen/make.platform ->>>>>>> master %endif # Can't use make %{?_smp_mflags} as parallel build is broken @@ -530,15 +511,6 @@ fi %changelog -<<<<<<< HEAD -* Fri Mar 26 2010 Karsten Hopp 2.1.3.18185.0-6.1 -- add configuration for 31bit s390 - -* Wed Mar 17 2010 Philippe Makowski 2.1.3.18185.0-6 -- build with last upstream -- Fix rh #563461 with backport mainstream patch CORE-2928 - -======= * Mon Nov 22 2010 Philippe Makowski 2.5.0.26074.0-0 - build with last upstream @@ -556,7 +528,6 @@ fi * Fri Apr 02 2010 Caolán McNamara 2.1.3.18185.0-6 - rebuild for icu 4.4 ->>>>>>> master * Sat Sep 05 2009 Karsten Hopp 2.1.3.18185.0-5 - fix build on s390x for F-12 mass rebuild (Dan Horák) From 1303e759ff414cd2914810b40fbd93ee95002b09 Mon Sep 17 00:00:00 2001 From: makowski Date: Mon, 22 Nov 2010 17:16:53 +0100 Subject: [PATCH 07/23] - build with last upstream - exclude ppc64 --- firebird.spec | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/firebird.spec b/firebird.spec index 9d26c99..2702bb7 100644 --- a/firebird.spec +++ b/firebird.spec @@ -2,6 +2,7 @@ %global fbroot %{_libdir}/%{name} %global major 2.5.0 +ExcludeArch: ppc64 Summary: SQL relational database management system Name: firebird @@ -156,9 +157,6 @@ export CFLAGS='-m32' export LDFLAGS='-m32' %endif -%ifarch ppc64 -autoreconf -vfi -%endif NOCONFIGURE=1 ./autogen.sh #%configure --prefix=%{fbroot} --with-system-icu --with-system-editline \ %configure --prefix=%{fbroot} --with-system-icu --with-system-editline \ @@ -184,17 +182,11 @@ sed "s@chmod@echo ""# chmod@g" -i ./install/makeInstallImage.sh ./install/makeInstallImage.sh # here we patch a bug in the configure script -%ifarch ppc64 -mv -f ./buildroot/usr/lib/* ./buildroot/%{_libdir} -%endif mv ./buildroot/ buildroot-classic cd .. # superserver -%ifarch ppc64 -autoreconf -vfi -%endif %configure --prefix=%{fbroot} --with-system-icu --with-system-editline --enable-superserver \ --with-fbbin=%{fbroot}/bin-superserver --with-fbinclude=%{_includedir}/%{name} \ --with-fbsbin=%{_sbindir} --with-fbconf=%{_sysconfdir}/%{name} --with-fblib=%{_libdir} \ @@ -219,11 +211,6 @@ sed "s@chown@echo ""# chown@g" -i ./install/makeInstallImage.sh sed "s@chmod@echo ""# chmod@g" -i ./install/makeInstallImage.sh ./install/makeInstallImage.sh -# here we patch a bug in the configure script -%ifarch ppc64 -mv -f ./buildroot/usr/lib/* ./buildroot/%{_libdir} -%endif - %install # we wanted to setup both Classic and Superserver, we need to do all here @@ -513,6 +500,7 @@ fi %changelog * Mon Nov 22 2010 Philippe Makowski 2.5.0.26074.0-0 - build with last upstream +- exclude ppc64 * Tue Jun 29 2010 Dan Horák 2.1.3.18185.0-9 - update the s390(x) patch to match upstream From 85202f96b80f4ade52db1e99f7e2e27c3aef45df Mon Sep 17 00:00:00 2001 From: makowski Date: Tue, 23 Nov 2010 18:21:20 +0100 Subject: [PATCH 08/23] - add ppc64 --- firebird.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/firebird.spec b/firebird.spec index 2702bb7..7a68a72 100644 --- a/firebird.spec +++ b/firebird.spec @@ -2,12 +2,10 @@ %global fbroot %{_libdir}/%{name} %global major 2.5.0 -ExcludeArch: ppc64 - Summary: SQL relational database management system Name: firebird Version: 2.5.0.26074.0 -Release: 0%{?dist} +Release: 1%{?dist} Group: Applications/Databases License: Interbase @@ -31,6 +29,10 @@ BuildRequires: gcc-c++ %if 0%{?fedora}>=14 BuildRequires: libstdc++-static %endif +%ifarch ppc64 +BuildRequires: libatomic_ops-devel +%endif + Requires: %{name}-arch = %{version}-%{release} Requires: grep @@ -498,6 +500,9 @@ fi %changelog +* Mon Nov 23 2010 Philippe Makowski 2.5.0.26074.0-1 +- add ppc64 + * Mon Nov 22 2010 Philippe Makowski 2.5.0.26074.0-0 - build with last upstream - exclude ppc64 From a7d4790976c40686c8120059fe9e240219919080 Mon Sep 17 00:00:00 2001 From: makowski Date: Wed, 22 Dec 2010 20:35:49 +0100 Subject: [PATCH 09/23] - Fix wrong assign file for classic and classic common - sync the s390(x) utilities list with other arches - add libatomic_ops-devel as BR: on non-x86 arches --- firebird-2.5.0.26074-s390x.patch | 13 +++++++++++++ firebird.spec | 31 ++++++++++++++++++++++++++----- 2 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 firebird-2.5.0.26074-s390x.patch diff --git a/firebird-2.5.0.26074-s390x.patch b/firebird-2.5.0.26074-s390x.patch new file mode 100644 index 0000000..8d7284c --- /dev/null +++ b/firebird-2.5.0.26074-s390x.patch @@ -0,0 +1,13 @@ +diff -up Firebird-2.5.0.26074-0/builds/posix/prefix.linux_s390x.orig Firebird-2.5.0.26074-0/builds/posix/prefix.linux_s390x +--- Firebird-2.5.0.26074-0/builds/posix/prefix.linux_s390x.orig 2010-12-16 08:21:10.642757895 -0500 ++++ Firebird-2.5.0.26074-0/builds/posix/prefix.linux_s390x 2010-12-16 08:21:44.822758177 -0500 +@@ -28,7 +28,7 @@ DEV_FLAGS=-DUSE_VALGRIND -p $(COMMON_FLA + + OS_ServerFiles=inet_server.cpp + +-EMBED_UTIL_TARGETS=gstat gds_drop gsec nbackup fb_lock_print fbsvcmgr +-CLIENT_UTIL_TARGETS=gds_drop gstat gsec fbguard fbmgr_bin nbackup fb_lock_print fbsvcmgr ++EMBED_UTIL_TARGETS=gstat gsec fbguard nbackup fb_lock_print fbsvcmgr fbtracemgr ++CLIENT_UTIL_TARGETS=gstat gsec fbguard fbmgr_bin nbackup fb_lock_print fbsvcmgr fbtracemgr + + Physical_IO_Module=os/posix/unix.cpp diff --git a/firebird.spec b/firebird.spec index 7a68a72..0617caf 100644 --- a/firebird.spec +++ b/firebird.spec @@ -2,10 +2,11 @@ %global fbroot %{_libdir}/%{name} %global major 2.5.0 + Summary: SQL relational database management system Name: firebird Version: 2.5.0.26074.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Databases License: Interbase @@ -16,6 +17,8 @@ Source0: http://downloads.sourceforge.net/firebird/%{pkgname}.tar.bz2 Source1: firebird-logrotate Source2: README.Fedora +# sync the utilities list with other arches (will be sent upstream) +Patch0: firebird-2.5.0.26074-s390x.patch BuildRequires: autoconf BuildRequires: automake @@ -29,7 +32,7 @@ BuildRequires: gcc-c++ %if 0%{?fedora}>=14 BuildRequires: libstdc++-static %endif -%ifarch ppc64 +%ifnarch %{ix86} x86_64 BuildRequires: libatomic_ops-devel %endif @@ -142,6 +145,7 @@ Multi-process, local client libraries for Firebird SQL RDBMS %prep %setup -q -n %{pkgname} +%patch0 -p1 -b .s390x # convert intl character to UTF-8 iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl @@ -184,11 +188,17 @@ sed "s@chmod@echo ""# chmod@g" -i ./install/makeInstallImage.sh ./install/makeInstallImage.sh # here we patch a bug in the configure script +%ifarch ppc64 +mv -f ./buildroot/usr/lib/* ./buildroot/%{_libdir} +%endif mv ./buildroot/ buildroot-classic cd .. # superserver +%ifarch ppc64 +autoreconf -vfi +%endif %configure --prefix=%{fbroot} --with-system-icu --with-system-editline --enable-superserver \ --with-fbbin=%{fbroot}/bin-superserver --with-fbinclude=%{_includedir}/%{name} \ --with-fbsbin=%{_sbindir} --with-fbconf=%{_sysconfdir}/%{name} --with-fblib=%{_libdir} \ @@ -213,6 +223,11 @@ sed "s@chown@echo ""# chown@g" -i ./install/makeInstallImage.sh sed "s@chmod@echo ""# chmod@g" -i ./install/makeInstallImage.sh ./install/makeInstallImage.sh +# here we patch a bug in the configure script +%ifarch ppc64 +mv -f ./buildroot/usr/lib/* ./buildroot/%{_libdir} +%endif + %install # we wanted to setup both Classic and Superserver, we need to do all here @@ -337,7 +352,7 @@ fi %preun superclassic if [ $1 -eq 0 ]; then - if /sbin/service firebird status >& /dev/null; then + if /sbin/service firebird-superclassic status >& /dev/null; then /sbin/service firebird-superclassic stop fi chkconfig --del firebird-superclassic @@ -360,7 +375,7 @@ fi %preun superserver if [ $1 -eq 0 ]; then - if /sbin/service firebird status >& /dev/null; then + if /sbin/service firebird-superserver status >& /dev/null; then /sbin/service firebird-superserver stop fi chkconfig --del firebird-superserver @@ -467,7 +482,7 @@ fi %doc doc/license/IDPL.txt %doc doc/license/README.license.usage.txt %config(noreplace) %{_sysconfdir}/xinetd.d/%{name} -%{_sbindir}/fb_inet_server + %files superclassic %defattr(0644,root,root,0755) @@ -483,6 +498,7 @@ fi %defattr(0755,root,root,0755) %{fbroot}/bin-classic/* %{fbroot}/plugins-classic/* +%{_sbindir}/fb_inet_server %files superserver @@ -500,6 +516,11 @@ fi %changelog +* Wed Dec 22 2010 Philippe Makowski 2.5.0.26074.0-2 +- Fix wrong assign file for classic and classic common +- sync the s390(x) utilities list with other arches +- add libatomic_ops-devel as BR: on non-x86 arches + * Mon Nov 23 2010 Philippe Makowski 2.5.0.26074.0-1 - add ppc64 From acfb40976c6434a0995f828beef91ad87ec40d50 Mon Sep 17 00:00:00 2001 From: makowski Date: Sun, 26 Dec 2010 11:38:49 +0100 Subject: [PATCH 10/23] - fix ppc64 --- firebird.spec | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/firebird.spec b/firebird.spec index 0617caf..ec3e534 100644 --- a/firebird.spec +++ b/firebird.spec @@ -187,18 +187,10 @@ sed "s@chown@echo ""# chown@g" -i ./install/makeInstallImage.sh sed "s@chmod@echo ""# chmod@g" -i ./install/makeInstallImage.sh ./install/makeInstallImage.sh -# here we patch a bug in the configure script -%ifarch ppc64 -mv -f ./buildroot/usr/lib/* ./buildroot/%{_libdir} -%endif - mv ./buildroot/ buildroot-classic cd .. # superserver -%ifarch ppc64 -autoreconf -vfi -%endif %configure --prefix=%{fbroot} --with-system-icu --with-system-editline --enable-superserver \ --with-fbbin=%{fbroot}/bin-superserver --with-fbinclude=%{_includedir}/%{name} \ --with-fbsbin=%{_sbindir} --with-fbconf=%{_sysconfdir}/%{name} --with-fblib=%{_libdir} \ @@ -223,11 +215,6 @@ sed "s@chown@echo ""# chown@g" -i ./install/makeInstallImage.sh sed "s@chmod@echo ""# chmod@g" -i ./install/makeInstallImage.sh ./install/makeInstallImage.sh -# here we patch a bug in the configure script -%ifarch ppc64 -mv -f ./buildroot/usr/lib/* ./buildroot/%{_libdir} -%endif - %install # we wanted to setup both Classic and Superserver, we need to do all here @@ -516,6 +503,9 @@ fi %changelog +* Sun Dec 26 2010 Philippe Makowski 2.5.0.26074.0-3 +- fix ppc64 + * Wed Dec 22 2010 Philippe Makowski 2.5.0.26074.0-2 - Fix wrong assign file for classic and classic common - sync the s390(x) utilities list with other arches From e065d75006dc10bf358b12ce9307948f184cf16b Mon Sep 17 00:00:00 2001 From: makowski Date: Sun, 26 Dec 2010 11:39:33 +0100 Subject: [PATCH 11/23] - fix ppc64 --- firebird.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firebird.spec b/firebird.spec index ec3e534..9aa0c44 100644 --- a/firebird.spec +++ b/firebird.spec @@ -6,7 +6,7 @@ Summary: SQL relational database management system Name: firebird Version: 2.5.0.26074.0 -Release: 2%{?dist} +Release: 3%{?dist} Group: Applications/Databases License: Interbase From b8f080a8280cecd4758adcc511723f46501c759e Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Thu, 29 Sep 2011 20:57:26 +0200 Subject: [PATCH 12/23] - new upstream (bug fix release) - added patch from upstream to fix Firebird CORE-3610 --- firebird-2.5.0.26074-s390x.patch | 13 ------------ firebird-2.5.1-svn-CORE-3610.patch | 32 ++++++++++++++++++++++++++++++ firebird.spec | 18 ++++++++++------- sources | 2 +- 4 files changed, 44 insertions(+), 21 deletions(-) delete mode 100644 firebird-2.5.0.26074-s390x.patch create mode 100644 firebird-2.5.1-svn-CORE-3610.patch diff --git a/firebird-2.5.0.26074-s390x.patch b/firebird-2.5.0.26074-s390x.patch deleted file mode 100644 index 8d7284c..0000000 --- a/firebird-2.5.0.26074-s390x.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up Firebird-2.5.0.26074-0/builds/posix/prefix.linux_s390x.orig Firebird-2.5.0.26074-0/builds/posix/prefix.linux_s390x ---- Firebird-2.5.0.26074-0/builds/posix/prefix.linux_s390x.orig 2010-12-16 08:21:10.642757895 -0500 -+++ Firebird-2.5.0.26074-0/builds/posix/prefix.linux_s390x 2010-12-16 08:21:44.822758177 -0500 -@@ -28,7 +28,7 @@ DEV_FLAGS=-DUSE_VALGRIND -p $(COMMON_FLA - - OS_ServerFiles=inet_server.cpp - --EMBED_UTIL_TARGETS=gstat gds_drop gsec nbackup fb_lock_print fbsvcmgr --CLIENT_UTIL_TARGETS=gds_drop gstat gsec fbguard fbmgr_bin nbackup fb_lock_print fbsvcmgr -+EMBED_UTIL_TARGETS=gstat gsec fbguard nbackup fb_lock_print fbsvcmgr fbtracemgr -+CLIENT_UTIL_TARGETS=gstat gsec fbguard fbmgr_bin nbackup fb_lock_print fbsvcmgr fbtracemgr - - Physical_IO_Module=os/posix/unix.cpp diff --git a/firebird-2.5.1-svn-CORE-3610.patch b/firebird-2.5.1-svn-CORE-3610.patch new file mode 100644 index 0000000..075ad94 --- /dev/null +++ b/firebird-2.5.1-svn-CORE-3610.patch @@ -0,0 +1,32 @@ +--- src/jrd/vio.cpp 2011/09/29 03:27:33 53487 ++++ jrd/vio.cpp 2011/09/29 07:45:12 53488 +@@ -1821,7 +1821,6 @@ + + + bool VIO_get_current(thread_db* tdbb, +- //record_param* old_rpb, + record_param* rpb, + jrd_tra* transaction, + MemoryPool* pool, +@@ -2025,12 +2024,14 @@ + if (rpb->rpb_flags & rpb_deleted) + return !foreign_key; + +- if (rpb->rpb_flags & rpb_uk_modified) +- return !foreign_key; +- +- // clear lock error from status vector +- fb_utils::init_status(tdbb->tdbb_status_vector); +- return true; ++ if (foreign_key) ++ { ++ // clear lock error from status vector ++ fb_utils::init_status(tdbb->tdbb_status_vector); ++ return !(rpb->rpb_flags & rpb_uk_modified); ++ } ++ ++ return !foreign_key; + + case tra_dead: + if (transaction->tra_attachment->att_flags & ATT_no_cleanup) { + diff --git a/firebird.spec b/firebird.spec index 9aa0c44..91a8099 100644 --- a/firebird.spec +++ b/firebird.spec @@ -1,12 +1,12 @@ -%global pkgname Firebird-2.5.0.26074-0 +%global pkgname Firebird-2.5.1.26349-0 %global fbroot %{_libdir}/%{name} -%global major 2.5.0 +%global major 2.5.1 Summary: SQL relational database management system Name: firebird -Version: 2.5.0.26074.0 -Release: 3%{?dist} +Version: 2.5.1.26349.O +Release: 1%{?dist} Group: Applications/Databases License: Interbase @@ -17,8 +17,8 @@ Source0: http://downloads.sourceforge.net/firebird/%{pkgname}.tar.bz2 Source1: firebird-logrotate Source2: README.Fedora -# sync the utilities list with other arches (will be sent upstream) -Patch0: firebird-2.5.0.26074-s390x.patch +# from upstream +Patch0: firebird-2.5.1-svn-CORE-3610.patch BuildRequires: autoconf BuildRequires: automake @@ -145,7 +145,7 @@ Multi-process, local client libraries for Firebird SQL RDBMS %prep %setup -q -n %{pkgname} -%patch0 -p1 -b .s390x +%patch0 # convert intl character to UTF-8 iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl @@ -503,6 +503,10 @@ fi %changelog +* Thu Sep 29 2011 Philippe Makowski 2.5.1.26349.0-1 +- new upstream (bug fix release) +- added patch from upstream to fix Firebird CORE-3610 + * Sun Dec 26 2010 Philippe Makowski 2.5.0.26074.0-3 - fix ppc64 diff --git a/sources b/sources index 58deb9b..894c7e6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -780f162ee71f087fc277adf09f966529 Firebird-2.5.0.26074-0.tar.bz2 +540713df9b0160699ed52138e1194e07 Firebird-2.5.1.26349-0.tar.bz2 From d9213cfe7ab4a0f3b3a788ac92464adb32b73ab0 Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Fri, 3 Feb 2012 08:47:50 +0100 Subject: [PATCH 13/23] new upstream (bug fix release) --- .gitignore | 1 + firebird.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 7ae9073..43073c0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ Firebird-2.1.3.18185-0.RC2.tar.bz2 /Firebird-2.5.0.26074-0.tar.bz2 +/Firebird-2.5.1.26351-0.tar.bz2 diff --git a/firebird.spec b/firebird.spec index 91a8099..2bcb732 100644 --- a/firebird.spec +++ b/firebird.spec @@ -1,11 +1,11 @@ -%global pkgname Firebird-2.5.1.26349-0 +%global pkgname Firebird-2.5.1.26351-0 %global fbroot %{_libdir}/%{name} %global major 2.5.1 Summary: SQL relational database management system Name: firebird -Version: 2.5.1.26349.O +Version: 2.5.1.26351.0 Release: 1%{?dist} Group: Applications/Databases @@ -503,6 +503,9 @@ fi %changelog +* Fri Feb 03 2012 Philippe Makowski 2.5.1.26351.0-1 +- new upstream (bug fix release) + * Thu Sep 29 2011 Philippe Makowski 2.5.1.26349.0-1 - new upstream (bug fix release) - added patch from upstream to fix Firebird CORE-3610 diff --git a/sources b/sources index 894c7e6..ac32939 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -540713df9b0160699ed52138e1194e07 Firebird-2.5.1.26349-0.tar.bz2 +1772fba4f09c8fc84d989282405f90fd Firebird-2.5.1.26351-0.tar.bz2 From 74281944e0a04bfd9603670f19da6c6b9da37afc Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Fri, 9 Nov 2012 23:07:50 +0100 Subject: [PATCH 14/23] new upstream (bug fix release) --- firebird-2.5.1-svn-CORE-3610.patch | 32 ------ firebird-2.5.2-svn-CORE-3946.patch | 151 +++++++++++++++++++++++++++++ firebird.spec | 17 ++-- sources | 2 +- 4 files changed, 163 insertions(+), 39 deletions(-) delete mode 100644 firebird-2.5.1-svn-CORE-3610.patch create mode 100644 firebird-2.5.2-svn-CORE-3946.patch diff --git a/firebird-2.5.1-svn-CORE-3610.patch b/firebird-2.5.1-svn-CORE-3610.patch deleted file mode 100644 index 075ad94..0000000 --- a/firebird-2.5.1-svn-CORE-3610.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- src/jrd/vio.cpp 2011/09/29 03:27:33 53487 -+++ jrd/vio.cpp 2011/09/29 07:45:12 53488 -@@ -1821,7 +1821,6 @@ - - - bool VIO_get_current(thread_db* tdbb, -- //record_param* old_rpb, - record_param* rpb, - jrd_tra* transaction, - MemoryPool* pool, -@@ -2025,12 +2024,14 @@ - if (rpb->rpb_flags & rpb_deleted) - return !foreign_key; - -- if (rpb->rpb_flags & rpb_uk_modified) -- return !foreign_key; -- -- // clear lock error from status vector -- fb_utils::init_status(tdbb->tdbb_status_vector); -- return true; -+ if (foreign_key) -+ { -+ // clear lock error from status vector -+ fb_utils::init_status(tdbb->tdbb_status_vector); -+ return !(rpb->rpb_flags & rpb_uk_modified); -+ } -+ -+ return !foreign_key; - - case tra_dead: - if (transaction->tra_attachment->att_flags & ATT_no_cleanup) { - diff --git a/firebird-2.5.2-svn-CORE-3946.patch b/firebird-2.5.2-svn-CORE-3946.patch new file mode 100644 index 0000000..5fb9f30 --- /dev/null +++ b/firebird-2.5.2-svn-CORE-3946.patch @@ -0,0 +1,151 @@ +--- src/jrd/unicode_util.cpp 2012/10/12 09:56:14 57235 ++++ src/jrd/unicode_util.cpp 2012/10/12 21:20:30 57236 +@@ -42,6 +42,9 @@ + #include "unicode/ucnv.h" + #include "unicode/ucol.h" + ++// The next major ICU version after 4.8 is 49. ++#define ICU_NEW_VERSION_MEANING 49 ++ + + using namespace Firebird; + +@@ -49,8 +52,16 @@ + namespace Jrd { + + ++#if U_ICU_VERSION_MAJOR_NUM >= ICU_NEW_VERSION_MEANING ++const char* const UnicodeUtil::DEFAULT_ICU_VERSION = STRINGIZE(U_ICU_VERSION_MAJOR_NUM); ++#else + const char* const UnicodeUtil::DEFAULT_ICU_VERSION = + STRINGIZE(U_ICU_VERSION_MAJOR_NUM)"."STRINGIZE(U_ICU_VERSION_MINOR_NUM); ++#endif ++ ++ ++static void formatFilename(PathName& filename, const char* templateName, ++ int majorVersion, int minorVersion); + + + // encapsulate ICU collations libraries +@@ -79,6 +90,11 @@ + { + string symbol; + ++ symbol.printf("%s_%d", name, majorVersion); ++ module->findSymbol(symbol, ptr); ++ if (ptr) ++ return; ++ + symbol.printf("%s_%d_%d", name, majorVersion, minorVersion); + module->findSymbol(symbol, ptr); + if (ptr) +@@ -157,14 +173,25 @@ + RWLock lock; + }; + +-namespace { +- GlobalPtr icuModules; +-} ++static GlobalPtr icuModules; + + + static const char* const COLL_30_VERSION = "41.128.4.4"; // ICU 3.0 collator version + + ++static void formatFilename(PathName& filename, const char* templateName, ++ int majorVersion, int minorVersion) ++{ ++ string s; ++ if (majorVersion >= ICU_NEW_VERSION_MEANING) ++ s.printf("%d", majorVersion); ++ else ++ s.printf("%d%d", majorVersion, minorVersion); ++ ++ filename.printf(templateName, s.c_str()); ++} ++ ++ + static void getVersions(const string& configInfo, ObjectsArray& versions) + { + charset cs; +@@ -758,17 +785,17 @@ + const Firebird::string& configInfo) + { + #if defined(WIN_NT) +- const char* const inTemplate = "icuin%d%d.dll"; +- const char* const ucTemplate = "icuuc%d%d.dll"; ++ const char* const inTemplate = "icuin%s.dll"; ++ const char* const ucTemplate = "icuuc%s.dll"; + #elif defined(DARWIN) + const char* const inTemplate = "/Library/Frameworks/Firebird.framework/Versions/A/Libraries/libicui18n.dylib"; + const char* const ucTemplate = "/Library/Frameworks/Firebird.framework/versions/A/Libraries/libicuuc.dylib"; + #elif defined(HPUX) +- const char* const inTemplate = "libicui18n.sl.%d%d"; +- const char* const ucTemplate = "libicuuc.sl.%d%d"; ++ const char* const inTemplate = "libicui18n.sl.%s"; ++ const char* const ucTemplate = "libicuuc.sl.%s"; + #else +- const char* const inTemplate = "libicui18n.so.%d%d"; +- const char* const ucTemplate = "libicuuc.so.%d%d"; ++ const char* const inTemplate = "libicui18n.so.%s"; ++ const char* const ucTemplate = "libicuuc.so.%s"; + #endif + + ObjectsArray versions; +@@ -776,24 +803,28 @@ + + string version = icuVersion.isEmpty() ? versions[0] : icuVersion; + if (version == "default") +- { +- version.printf("%d.%d", U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM); +- } ++ version = DEFAULT_ICU_VERSION; + + for (ObjectsArray::const_iterator i(versions.begin()); i != versions.end(); ++i) + { + int majorVersion, minorVersion; ++ int n = sscanf((*i == "default" ? version : *i).c_str(), "%d.%d", ++ &majorVersion, &minorVersion); + +- if (*i == "default") +- { +- majorVersion = U_ICU_VERSION_MAJOR_NUM; +- minorVersion = U_ICU_VERSION_MINOR_NUM; +- } +- else if (sscanf(i->c_str(), "%d.%d", &majorVersion, &minorVersion) != 2) ++ if (n == 1) ++ minorVersion = 0; ++ else if (n != 2) + continue; + + string configVersion; +- configVersion.printf("%d.%d", majorVersion, minorVersion); ++ ++ if (majorVersion >= ICU_NEW_VERSION_MEANING) ++ { ++ minorVersion = 0; ++ configVersion.printf("%d", majorVersion); ++ } ++ else ++ configVersion.printf("%d.%d", majorVersion, minorVersion); + + if (version != configVersion) + continue; +@@ -805,7 +836,7 @@ + return icu; + + PathName filename; +- filename.printf(ucTemplate, majorVersion, minorVersion); ++ formatFilename(filename, ucTemplate, majorVersion, minorVersion); + + icu = FB_NEW(*getDefaultMemoryPool()) ICU(majorVersion, minorVersion); + +@@ -822,7 +853,7 @@ + continue; + } + +- filename.printf(inTemplate, majorVersion, minorVersion); ++ formatFilename(filename, inTemplate, majorVersion, minorVersion); + + icu->inModule = ModuleLoader::loadModule(filename); + if (!icu->inModule) diff --git a/firebird.spec b/firebird.spec index 2bcb732..3c97a1b 100644 --- a/firebird.spec +++ b/firebird.spec @@ -1,11 +1,11 @@ -%global pkgname Firebird-2.5.1.26351-0 +%global pkgname Firebird-2.5.2.26539-0 %global fbroot %{_libdir}/%{name} -%global major 2.5.1 +%global major 2.5.2 Summary: SQL relational database management system Name: firebird -Version: 2.5.1.26351.0 +Version: 2.5.2.26539.0 Release: 1%{?dist} Group: Applications/Databases @@ -18,7 +18,7 @@ Source1: firebird-logrotate Source2: README.Fedora # from upstream -Patch0: firebird-2.5.1-svn-CORE-3610.patch +Patch0: firebird-2.5.2-svn-CORE-3946.patch BuildRequires: autoconf BuildRequires: automake @@ -242,6 +242,7 @@ mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_bindir} cd %{buildroot} +rm -f %{_builddir}/%{pkgname}/gen/buildroot%{_sysconfdir}/%{name}/I*.txt cp -d %{_builddir}/%{pkgname}/gen/buildroot%{_sysconfdir}/%{name}/* %{buildroot}%{_sysconfdir}/%{name} cp -d %{_builddir}/%{pkgname}/gen/buildroot-classic%{fbroot}/bin-classic/* %{buildroot}%{fbroot}/bin-classic cp -d %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fb_config %{buildroot}%{fbroot}/bin-classic/fb_config @@ -393,8 +394,8 @@ fi %files %defattr(0644,root,root,0755) -%doc doc/license/IDPL.txt -%doc doc/license/README.license.usage.txt +%doc builds/install/misc/IDPLicense.txt +%doc builds/install/misc/IPLicense.txt %doc doc/README.Fedora %defattr(0755,root,root,0755) %dir %{fbroot} @@ -503,6 +504,10 @@ fi %changelog +* Fri Nov 09 2012 Philippe Makowski 2.5.2.26539.0-1 +- new upstream (bug fix release) +- added patch from upstream to fix Firebird CORE-3946 + * Fri Feb 03 2012 Philippe Makowski 2.5.1.26351.0-1 - new upstream (bug fix release) diff --git a/sources b/sources index ac32939..2e2b41a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1772fba4f09c8fc84d989282405f90fd Firebird-2.5.1.26351-0.tar.bz2 +adf2d2f9d48a53dc6c490ba1e44631fd Firebird-2.5.2.26539-0.tar.bz2 From c771a967a3e66e7fc8971b58f351fc1670661658 Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Fri, 14 Dec 2012 13:13:58 +0100 Subject: [PATCH 15/23] * Fri Dec 14 2012 Philippe Makowski * 2.5.2.26539.0-2 - added patch from upstream to fix Firebird CORE-4011 and RH #886578 --- firebird-2.5.2-svn-CORE-4011.patch | 10 ++++++++++ firebird.spec | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 firebird-2.5.2-svn-CORE-4011.patch diff --git a/firebird-2.5.2-svn-CORE-4011.patch b/firebird-2.5.2-svn-CORE-4011.patch new file mode 100644 index 0000000..70dcdec --- /dev/null +++ b/firebird-2.5.2-svn-CORE-4011.patch @@ -0,0 +1,10 @@ +--- builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in 2012/12/14 10:01:27 57484 ++++ builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in 2012/12/14 10:08:41 57485 +@@ -99,6 +99,7 @@ + [ $RETVAL -eq 0 ] && echo "$FULLNAME is running (pid $pid)" || echo "$FULLNAME is dead but pid file exists" + else + echo "$FULLNAME is stopped" ++ RETVAL=3 + fi + ;; + restart|reload) diff --git a/firebird.spec b/firebird.spec index 3c97a1b..0343af9 100644 --- a/firebird.spec +++ b/firebird.spec @@ -6,7 +6,7 @@ Summary: SQL relational database management system Name: firebird Version: 2.5.2.26539.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Databases License: Interbase @@ -19,6 +19,7 @@ Source2: README.Fedora # from upstream Patch0: firebird-2.5.2-svn-CORE-3946.patch +Patch1: firebird-2.5.2-svn-CORE-4011.patch BuildRequires: autoconf BuildRequires: automake @@ -146,6 +147,7 @@ Multi-process, local client libraries for Firebird SQL RDBMS %prep %setup -q -n %{pkgname} %patch0 +%patch1 # convert intl character to UTF-8 iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl @@ -504,6 +506,9 @@ fi %changelog +* Fri Dec 14 2012 Philippe Makowski 2.5.2.26539.0-2 +- added patch from upstream to fix Firebird CORE-4011 and RH #886578 + * Fri Nov 09 2012 Philippe Makowski 2.5.2.26539.0-1 - new upstream (bug fix release) - added patch from upstream to fix Firebird CORE-3946 From e90f254e72700ff13818b5f48d1e13a7e864086d Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Sun, 10 Mar 2013 19:42:54 +0100 Subject: [PATCH 16/23] added patch from upstream to fix Firebird CORE-4058 CVE-2013-2492 --- firebird-2.5.2-svn-CORE-4058.patch | 11 +++++++++++ firebird.spec | 9 +++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 firebird-2.5.2-svn-CORE-4058.patch diff --git a/firebird-2.5.2-svn-CORE-4058.patch b/firebird-2.5.2-svn-CORE-4058.patch new file mode 100644 index 0000000..52ac6bd --- /dev/null +++ b/firebird-2.5.2-svn-CORE-4058.patch @@ -0,0 +1,11 @@ +--- src/remote/inet.cpp (révision 57727) ++++ src/remote/inet.cpp (révision 57728) +@@ -1252,7 +1252,7 @@ + case CNCT_group: + { + const size_t length = id.getClumpLength(); +- if (length != 0) ++ if (length <= sizeof(eff_gid) && length > 0) + { + eff_gid = 0; + memcpy(&eff_gid, id.getBytes(), length); diff --git a/firebird.spec b/firebird.spec index 3c97a1b..d9a45b0 100644 --- a/firebird.spec +++ b/firebird.spec @@ -6,7 +6,7 @@ Summary: SQL relational database management system Name: firebird Version: 2.5.2.26539.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Databases License: Interbase @@ -19,6 +19,7 @@ Source2: README.Fedora # from upstream Patch0: firebird-2.5.2-svn-CORE-3946.patch +Patch1: firebird-2.5.2-svn-CORE-4058.patch BuildRequires: autoconf BuildRequires: automake @@ -145,7 +146,8 @@ Multi-process, local client libraries for Firebird SQL RDBMS %prep %setup -q -n %{pkgname} -%patch0 +%patch0 +%patch1 # convert intl character to UTF-8 iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl @@ -504,6 +506,9 @@ fi %changelog +* Sun Mar 10 2013 Philippe Makowski 2.5.2.26539.0-2 +- added patch from upstream to fix Firebird CORE-4058 CVE-2013-2492 + * Fri Nov 09 2012 Philippe Makowski 2.5.2.26539.0-1 - new upstream (bug fix release) - added patch from upstream to fix Firebird CORE-3946 From a9e4d57fb00bf62dd0f798a8d39709acd693ede3 Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Sat, 26 Jul 2014 18:54:22 +0200 Subject: [PATCH 17/23] update from upstream 2.5.3 --- .gitignore | 1 + firebird.spec | 23 ++++++++++------------- sources | 2 +- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 43073c0..49c87e3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ Firebird-2.1.3.18185-0.RC2.tar.bz2 /Firebird-2.5.0.26074-0.tar.bz2 /Firebird-2.5.1.26351-0.tar.bz2 +/Firebird-2.5.3.26778-0.tar.bz2 diff --git a/firebird.spec b/firebird.spec index 16f9682..a704daa 100644 --- a/firebird.spec +++ b/firebird.spec @@ -1,12 +1,12 @@ -%global pkgname Firebird-2.5.2.26539-0 +%global pkgname Firebird-2.5.3.26778-0 %global fbroot %{_libdir}/%{name} -%global major 2.5.2 +%global major 2.5.3 Summary: SQL relational database management system Name: firebird -Version: 2.5.2.26539.0 -Release: 3%{?dist} +Version: 2.5.3.26778.0 +Release: 1%{?dist} Group: Applications/Databases License: Interbase @@ -18,9 +18,6 @@ Source1: firebird-logrotate Source2: README.Fedora # from upstream -Patch0: firebird-2.5.2-svn-CORE-3946.patch -Patch1: firebird-2.5.2-svn-CORE-4011.patch -Patch2: firebird-2.5.2-svn-CORE-4058.patch BuildRequires: autoconf BuildRequires: automake @@ -147,9 +144,6 @@ Multi-process, local client libraries for Firebird SQL RDBMS %prep %setup -q -n %{pkgname} -%patch0 -%patch1 -%patch2 # convert intl character to UTF-8 iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl @@ -509,6 +503,9 @@ fi %changelog +* Sat Jul 26 2014 Philippe Makowski - 2.5.3.26778.0-1 +- update from upstream 2.5.3 + * Sun Mar 10 2013 Philippe Makowski 2.5.2.26539.0-3 - added patch from upstream to fix Firebird CORE-4058 CVE-2013-2492 @@ -558,7 +555,7 @@ fi * Sat Sep 05 2009 Karsten Hopp 2.1.3.18185.0-5 - fix build on s390x for F-12 mass rebuild (Dan Horák) -* Mon Aug 11 2009 Philippe Makowski 2.1.3.18185.0-4 +* Tue Aug 11 2009 Philippe Makowski 2.1.3.18185.0-4 - build it against system edit lib - set correct setuid for Classic lock manager - set correct permission for /var/run/firebird @@ -617,7 +614,7 @@ fi * Sat Mar 28 2009 Philippe Makowski 2.1.1.17910.0-5 - Major packaging restructuring -* Mon Mar 21 2009 Philippe Makowski 2.1.1.17190.0-4 +* Sat Mar 21 2009 Philippe Makowski 2.1.1.17190.0-4 - Create a doc package - major cleaning to avoid rpmlint errors - revert to 2.1.1 (last stable build published) @@ -627,7 +624,7 @@ fi - Add libicu-devel in BuildRequires - Use iconv for convert files to UTF-8 -* Fri Mar 05 2009 Jonathan MERCIER 2.1.2.18116.0-2 +* Thu Mar 05 2009 Jonathan MERCIER 2.1.2.18116.0-2 - Update to 2.1.2 - Use %%global instead of %%define - Change ${SOURCE1} to %%{SOURCE1} diff --git a/sources b/sources index 2e2b41a..a44cee1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -adf2d2f9d48a53dc6c490ba1e44631fd Firebird-2.5.2.26539-0.tar.bz2 +5feff765e11a5fb0ec17c71e155bb974 Firebird-2.5.3.26778-0.tar.bz2 From d03fc77268cb10aa128de89d8b9f6661f7c2f971 Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Sun, 7 Dec 2014 18:41:00 +0100 Subject: [PATCH 18/23] security fix firebird CORE-4630 --- firebird.spec | 8 +++++-- firebird_fix_CORE-4630.patch | 44 ++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 firebird_fix_CORE-4630.patch diff --git a/firebird.spec b/firebird.spec index a704daa..13071e4 100644 --- a/firebird.spec +++ b/firebird.spec @@ -6,7 +6,7 @@ Summary: SQL relational database management system Name: firebird Version: 2.5.3.26778.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Databases License: Interbase @@ -18,6 +18,7 @@ Source1: firebird-logrotate Source2: README.Fedora # from upstream +Patch0: firebird_fix_CORE-4630.patch BuildRequires: autoconf BuildRequires: automake @@ -144,7 +145,7 @@ Multi-process, local client libraries for Firebird SQL RDBMS %prep %setup -q -n %{pkgname} - +%patch0 -p0 # convert intl character to UTF-8 iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl @@ -503,6 +504,9 @@ fi %changelog +* Sun Dec 7 2014 Philippe Makowski 2.5.3.26778.0-2 +- security fix firebird CORE-4630 + * Sat Jul 26 2014 Philippe Makowski - 2.5.3.26778.0-1 - update from upstream 2.5.3 diff --git a/firebird_fix_CORE-4630.patch b/firebird_fix_CORE-4630.patch new file mode 100644 index 0000000..77dbe5c --- /dev/null +++ b/firebird_fix_CORE-4630.patch @@ -0,0 +1,44 @@ +Index: src/remote/protocol.cpp +=================================================================== +--- src/remote/protocol.cpp (.../R2_5_3) (revision 60338) ++++ src/remote/protocol.cpp (.../R2_5_3_Upd_1) (revision 60338) +@@ -398,6 +398,8 @@ + MAP(xdr_short, reinterpret_cast(response->p_resp_object)); + MAP(xdr_quad, response->p_resp_blob_id); + MAP(xdr_cstring, response->p_resp_data); ++ if (!response->p_resp_status_vector) // incorrectly called - packet not prepared ++ return P_FALSE(xdrs, p); + return xdr_status_vector(xdrs, response->p_resp_status_vector) ? + P_TRUE(xdrs, p) : P_FALSE(xdrs, p); + +@@ -1652,9 +1654,12 @@ + + SLONG vec; + SCHAR* sp = NULL; ++ ISC_STATUS* const end = &vector[ISC_STATUS_LENGTH]; + + while (true) + { ++ if (vector >= end) ++ return FALSE; + if (xdrs->x_op == XDR_ENCODE) + vec = (SLONG) * vector++; + if (!xdr_long(xdrs, &vec)) +@@ -1670,6 +1675,8 @@ + case isc_arg_interpreted: + case isc_arg_string: + case isc_arg_sql_state: ++ if (vector >= end) ++ return FALSE; + if (xdrs->x_op == XDR_ENCODE) + { + if (!xdr_wrapstring(xdrs, reinterpret_cast(vector++))) +@@ -1700,6 +1707,8 @@ + + case isc_arg_number: + default: ++ if (vector >= end) ++ return FALSE; + if (xdrs->x_op == XDR_ENCODE) + vec = (SLONG) * vector++; + if (!xdr_long(xdrs, &vec)) From e1ef4e67c6b44ec485da1f6a5119b456d110edba Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Thu, 2 Apr 2015 15:42:52 +0200 Subject: [PATCH 19/23] update to 2.5.4 --- firebird-2.5.2-svn-CORE-3946.patch | 151 ----------------------------- firebird-2.5.2-svn-CORE-4011.patch | 10 -- firebird-2.5.2-svn-CORE-4058.patch | 11 --- firebird.spec | 13 +-- firebird_fix_CORE-4630.patch | 44 --------- sources | 2 +- 6 files changed, 8 insertions(+), 223 deletions(-) delete mode 100644 firebird-2.5.2-svn-CORE-3946.patch delete mode 100644 firebird-2.5.2-svn-CORE-4011.patch delete mode 100644 firebird-2.5.2-svn-CORE-4058.patch delete mode 100644 firebird_fix_CORE-4630.patch diff --git a/firebird-2.5.2-svn-CORE-3946.patch b/firebird-2.5.2-svn-CORE-3946.patch deleted file mode 100644 index 5fb9f30..0000000 --- a/firebird-2.5.2-svn-CORE-3946.patch +++ /dev/null @@ -1,151 +0,0 @@ ---- src/jrd/unicode_util.cpp 2012/10/12 09:56:14 57235 -+++ src/jrd/unicode_util.cpp 2012/10/12 21:20:30 57236 -@@ -42,6 +42,9 @@ - #include "unicode/ucnv.h" - #include "unicode/ucol.h" - -+// The next major ICU version after 4.8 is 49. -+#define ICU_NEW_VERSION_MEANING 49 -+ - - using namespace Firebird; - -@@ -49,8 +52,16 @@ - namespace Jrd { - - -+#if U_ICU_VERSION_MAJOR_NUM >= ICU_NEW_VERSION_MEANING -+const char* const UnicodeUtil::DEFAULT_ICU_VERSION = STRINGIZE(U_ICU_VERSION_MAJOR_NUM); -+#else - const char* const UnicodeUtil::DEFAULT_ICU_VERSION = - STRINGIZE(U_ICU_VERSION_MAJOR_NUM)"."STRINGIZE(U_ICU_VERSION_MINOR_NUM); -+#endif -+ -+ -+static void formatFilename(PathName& filename, const char* templateName, -+ int majorVersion, int minorVersion); - - - // encapsulate ICU collations libraries -@@ -79,6 +90,11 @@ - { - string symbol; - -+ symbol.printf("%s_%d", name, majorVersion); -+ module->findSymbol(symbol, ptr); -+ if (ptr) -+ return; -+ - symbol.printf("%s_%d_%d", name, majorVersion, minorVersion); - module->findSymbol(symbol, ptr); - if (ptr) -@@ -157,14 +173,25 @@ - RWLock lock; - }; - --namespace { -- GlobalPtr icuModules; --} -+static GlobalPtr icuModules; - - - static const char* const COLL_30_VERSION = "41.128.4.4"; // ICU 3.0 collator version - - -+static void formatFilename(PathName& filename, const char* templateName, -+ int majorVersion, int minorVersion) -+{ -+ string s; -+ if (majorVersion >= ICU_NEW_VERSION_MEANING) -+ s.printf("%d", majorVersion); -+ else -+ s.printf("%d%d", majorVersion, minorVersion); -+ -+ filename.printf(templateName, s.c_str()); -+} -+ -+ - static void getVersions(const string& configInfo, ObjectsArray& versions) - { - charset cs; -@@ -758,17 +785,17 @@ - const Firebird::string& configInfo) - { - #if defined(WIN_NT) -- const char* const inTemplate = "icuin%d%d.dll"; -- const char* const ucTemplate = "icuuc%d%d.dll"; -+ const char* const inTemplate = "icuin%s.dll"; -+ const char* const ucTemplate = "icuuc%s.dll"; - #elif defined(DARWIN) - const char* const inTemplate = "/Library/Frameworks/Firebird.framework/Versions/A/Libraries/libicui18n.dylib"; - const char* const ucTemplate = "/Library/Frameworks/Firebird.framework/versions/A/Libraries/libicuuc.dylib"; - #elif defined(HPUX) -- const char* const inTemplate = "libicui18n.sl.%d%d"; -- const char* const ucTemplate = "libicuuc.sl.%d%d"; -+ const char* const inTemplate = "libicui18n.sl.%s"; -+ const char* const ucTemplate = "libicuuc.sl.%s"; - #else -- const char* const inTemplate = "libicui18n.so.%d%d"; -- const char* const ucTemplate = "libicuuc.so.%d%d"; -+ const char* const inTemplate = "libicui18n.so.%s"; -+ const char* const ucTemplate = "libicuuc.so.%s"; - #endif - - ObjectsArray versions; -@@ -776,24 +803,28 @@ - - string version = icuVersion.isEmpty() ? versions[0] : icuVersion; - if (version == "default") -- { -- version.printf("%d.%d", U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM); -- } -+ version = DEFAULT_ICU_VERSION; - - for (ObjectsArray::const_iterator i(versions.begin()); i != versions.end(); ++i) - { - int majorVersion, minorVersion; -+ int n = sscanf((*i == "default" ? version : *i).c_str(), "%d.%d", -+ &majorVersion, &minorVersion); - -- if (*i == "default") -- { -- majorVersion = U_ICU_VERSION_MAJOR_NUM; -- minorVersion = U_ICU_VERSION_MINOR_NUM; -- } -- else if (sscanf(i->c_str(), "%d.%d", &majorVersion, &minorVersion) != 2) -+ if (n == 1) -+ minorVersion = 0; -+ else if (n != 2) - continue; - - string configVersion; -- configVersion.printf("%d.%d", majorVersion, minorVersion); -+ -+ if (majorVersion >= ICU_NEW_VERSION_MEANING) -+ { -+ minorVersion = 0; -+ configVersion.printf("%d", majorVersion); -+ } -+ else -+ configVersion.printf("%d.%d", majorVersion, minorVersion); - - if (version != configVersion) - continue; -@@ -805,7 +836,7 @@ - return icu; - - PathName filename; -- filename.printf(ucTemplate, majorVersion, minorVersion); -+ formatFilename(filename, ucTemplate, majorVersion, minorVersion); - - icu = FB_NEW(*getDefaultMemoryPool()) ICU(majorVersion, minorVersion); - -@@ -822,7 +853,7 @@ - continue; - } - -- filename.printf(inTemplate, majorVersion, minorVersion); -+ formatFilename(filename, inTemplate, majorVersion, minorVersion); - - icu->inModule = ModuleLoader::loadModule(filename); - if (!icu->inModule) diff --git a/firebird-2.5.2-svn-CORE-4011.patch b/firebird-2.5.2-svn-CORE-4011.patch deleted file mode 100644 index 70dcdec..0000000 --- a/firebird-2.5.2-svn-CORE-4011.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in 2012/12/14 10:01:27 57484 -+++ builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in 2012/12/14 10:08:41 57485 -@@ -99,6 +99,7 @@ - [ $RETVAL -eq 0 ] && echo "$FULLNAME is running (pid $pid)" || echo "$FULLNAME is dead but pid file exists" - else - echo "$FULLNAME is stopped" -+ RETVAL=3 - fi - ;; - restart|reload) diff --git a/firebird-2.5.2-svn-CORE-4058.patch b/firebird-2.5.2-svn-CORE-4058.patch deleted file mode 100644 index 52ac6bd..0000000 --- a/firebird-2.5.2-svn-CORE-4058.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- src/remote/inet.cpp (révision 57727) -+++ src/remote/inet.cpp (révision 57728) -@@ -1252,7 +1252,7 @@ - case CNCT_group: - { - const size_t length = id.getClumpLength(); -- if (length != 0) -+ if (length <= sizeof(eff_gid) && length > 0) - { - eff_gid = 0; - memcpy(&eff_gid, id.getBytes(), length); diff --git a/firebird.spec b/firebird.spec index 13071e4..bcac5fa 100644 --- a/firebird.spec +++ b/firebird.spec @@ -1,12 +1,12 @@ -%global pkgname Firebird-2.5.3.26778-0 +%global pkgname Firebird-2.5.4.26856-0 %global fbroot %{_libdir}/%{name} -%global major 2.5.3 +%global major 2.5.4 Summary: SQL relational database management system Name: firebird -Version: 2.5.3.26778.0 -Release: 2%{?dist} +Version: 2.5.4.26856.0 +Release: 1%{?dist} Group: Applications/Databases License: Interbase @@ -18,7 +18,6 @@ Source1: firebird-logrotate Source2: README.Fedora # from upstream -Patch0: firebird_fix_CORE-4630.patch BuildRequires: autoconf BuildRequires: automake @@ -145,7 +144,6 @@ Multi-process, local client libraries for Firebird SQL RDBMS %prep %setup -q -n %{pkgname} -%patch0 -p0 # convert intl character to UTF-8 iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl @@ -504,6 +502,9 @@ fi %changelog +* Thu Apr 2 2015 Philippe Makowski 2.5.4.26856.0-1 +- update to 2.5.4 + * Sun Dec 7 2014 Philippe Makowski 2.5.3.26778.0-2 - security fix firebird CORE-4630 diff --git a/firebird_fix_CORE-4630.patch b/firebird_fix_CORE-4630.patch deleted file mode 100644 index 77dbe5c..0000000 --- a/firebird_fix_CORE-4630.patch +++ /dev/null @@ -1,44 +0,0 @@ -Index: src/remote/protocol.cpp -=================================================================== ---- src/remote/protocol.cpp (.../R2_5_3) (revision 60338) -+++ src/remote/protocol.cpp (.../R2_5_3_Upd_1) (revision 60338) -@@ -398,6 +398,8 @@ - MAP(xdr_short, reinterpret_cast(response->p_resp_object)); - MAP(xdr_quad, response->p_resp_blob_id); - MAP(xdr_cstring, response->p_resp_data); -+ if (!response->p_resp_status_vector) // incorrectly called - packet not prepared -+ return P_FALSE(xdrs, p); - return xdr_status_vector(xdrs, response->p_resp_status_vector) ? - P_TRUE(xdrs, p) : P_FALSE(xdrs, p); - -@@ -1652,9 +1654,12 @@ - - SLONG vec; - SCHAR* sp = NULL; -+ ISC_STATUS* const end = &vector[ISC_STATUS_LENGTH]; - - while (true) - { -+ if (vector >= end) -+ return FALSE; - if (xdrs->x_op == XDR_ENCODE) - vec = (SLONG) * vector++; - if (!xdr_long(xdrs, &vec)) -@@ -1670,6 +1675,8 @@ - case isc_arg_interpreted: - case isc_arg_string: - case isc_arg_sql_state: -+ if (vector >= end) -+ return FALSE; - if (xdrs->x_op == XDR_ENCODE) - { - if (!xdr_wrapstring(xdrs, reinterpret_cast(vector++))) -@@ -1700,6 +1707,8 @@ - - case isc_arg_number: - default: -+ if (vector >= end) -+ return FALSE; - if (xdrs->x_op == XDR_ENCODE) - vec = (SLONG) * vector++; - if (!xdr_long(xdrs, &vec)) diff --git a/sources b/sources index a44cee1..4099023 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5feff765e11a5fb0ec17c71e155bb974 Firebird-2.5.3.26778-0.tar.bz2 +7a17ec9889424b98baa29e001a054434 Firebird-2.5.4.26856-0.tar.bz2 From f027fe7dad9086d4ae1e02ff0fed7d2651335ef1 Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Thu, 19 Nov 2015 16:01:53 +0100 Subject: [PATCH 20/23] update to 2.5.5 --- .gitignore | 1 + firebird.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 49c87e3..a55aea3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ Firebird-2.1.3.18185-0.RC2.tar.bz2 /Firebird-2.5.0.26074-0.tar.bz2 /Firebird-2.5.1.26351-0.tar.bz2 /Firebird-2.5.3.26778-0.tar.bz2 +/Firebird-2.5.5.26952-0.tar.bz2 diff --git a/firebird.spec b/firebird.spec index bcac5fa..fac9dd4 100644 --- a/firebird.spec +++ b/firebird.spec @@ -1,11 +1,11 @@ -%global pkgname Firebird-2.5.4.26856-0 +%global pkgname Firebird-2.5.5.26952-0 %global fbroot %{_libdir}/%{name} -%global major 2.5.4 +%global major 2.5.5 Summary: SQL relational database management system Name: firebird -Version: 2.5.4.26856.0 +Version: 2.5.5.26952.0 Release: 1%{?dist} Group: Applications/Databases @@ -502,6 +502,9 @@ fi %changelog +* Thu Nov 19 2015 Philippe Makowski 2.5.5.26952.0-1 +- update to 2.5.5 + * Thu Apr 2 2015 Philippe Makowski 2.5.4.26856.0-1 - update to 2.5.4 diff --git a/sources b/sources index 4099023..154f8a3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7a17ec9889424b98baa29e001a054434 Firebird-2.5.4.26856-0.tar.bz2 +b0b5293991fcf07347b38431c80be1d4 Firebird-2.5.5.26952-0.tar.bz2 From 92e48bb4475cef84e6ec0b82969e7c6cf5610b9d Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Fri, 5 Feb 2016 14:32:26 +0100 Subject: [PATCH 21/23] - move fb_config (#1297506) - fixe CVE-2016-1569 (#1297447 #1297450 #1297451) --- firebird-CVE-2016-1569.patch | 11 +++++++++++ firebird.spec | 13 +++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 firebird-CVE-2016-1569.patch diff --git a/firebird-CVE-2016-1569.patch b/firebird-CVE-2016-1569.patch new file mode 100644 index 0000000..a3f073e --- /dev/null +++ b/firebird-CVE-2016-1569.patch @@ -0,0 +1,11 @@ +--- a/firebird/branches/B2_5_Release/src/burp/burp.cpp ++++ b/firebird/branches/B2_5_Release/src/burp/burp.cpp +@@ -460,7 +460,7 @@ + } + else + { +- BURP_print(true, 137, sw.c_str()); ++ BURP_error(137, true, sw.c_str()); + // msg 137 unknown switch %s + } + } diff --git a/firebird.spec b/firebird.spec index fac9dd4..fabd185 100644 --- a/firebird.spec +++ b/firebird.spec @@ -6,7 +6,7 @@ Summary: SQL relational database management system Name: firebird Version: 2.5.5.26952.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Databases License: Interbase @@ -18,6 +18,7 @@ Source1: firebird-logrotate Source2: README.Fedora # from upstream +Patch0: firebird-CVE-2016-1569.patch BuildRequires: autoconf BuildRequires: automake @@ -144,6 +145,7 @@ Multi-process, local client libraries for Firebird SQL RDBMS %prep %setup -q -n %{pkgname} +%patch0 -p4 # convert intl character to UTF-8 iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl @@ -245,6 +247,8 @@ cp -d %{_builddir}/%{pkgname}/gen/buildroot%{_sysconfdir}/%{name}/* %{buildroot} cp -d %{_builddir}/%{pkgname}/gen/buildroot-classic%{fbroot}/bin-classic/* %{buildroot}%{fbroot}/bin-classic cp -d %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fb_config %{buildroot}%{fbroot}/bin-classic/fb_config sed "s@-classic@-superserver@" %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fb_config > %{buildroot}%{fbroot}/bin-superserver/fb_config +sed "s@-classic@@" %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fb_config > %{buildroot}%{_libdir}/fb_config +sed -i '/plugins/d' %{buildroot}%{_libdir}/fb_config cp -d %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fbguard %{buildroot}%{_sbindir}/fbguard cp -d %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fb_inet_server %{buildroot}%{_sbindir}/fb_inet_server cp -d %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fb_lock_print %{buildroot}%{_sbindir}/fb_lock_print @@ -298,7 +302,6 @@ ln -s %{fbroot}/bin/gstat .%{_bindir}/gstat-fb ln -s %{fbroot}/bin/isql .%{_bindir}/isql-fb ln -s %{fbroot}/bin/nbackup .%{_bindir}/nbackup ln -s %{fbroot}/bin/qli .%{_bindir}/qli -ln -s %{fbroot}/bin/fb_config .%{_bindir}/fb_config %clean rm -Rf %{buildroot} @@ -440,6 +443,8 @@ fi %{_includedir}/%{name}/*.h %{_libdir}/libfb*.so %{_libdir}/libgds.so +%defattr(0755,root,root,0755) +%{_libdir}/fb_config %files filesystem %defattr(0644,root,root,0755) @@ -502,6 +507,10 @@ fi %changelog +* Fri Feb 05 2016 Philippe Makowski - 2.5.5.26952.0-2 +- move fb_config (#1297506) +- fix CVE-2016-1569 (#1297447 #1297450 #1297451) + * Thu Nov 19 2015 Philippe Makowski 2.5.5.26952.0-1 - update to 2.5.5 From 03dacd4560ba621301e8d8c8b1234526e5aca779 Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Wed, 16 Aug 2017 22:35:25 +0200 Subject: [PATCH 22/23] update to 2.5.7 security fix (#1425332) --- .gitignore | 1 + firebird-btyacc-fpie.patch | 11 +++++++++++ firebird.spec | 16 ++++++++++------ sources | 2 +- 4 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 firebird-btyacc-fpie.patch diff --git a/.gitignore b/.gitignore index a55aea3..9ce41d3 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ Firebird-2.1.3.18185-0.RC2.tar.bz2 /Firebird-2.5.1.26351-0.tar.bz2 /Firebird-2.5.3.26778-0.tar.bz2 /Firebird-2.5.5.26952-0.tar.bz2 +/Firebird-2.5.7.27050-0.tar.bz2 diff --git a/firebird-btyacc-fpie.patch b/firebird-btyacc-fpie.patch new file mode 100644 index 0000000..e276c31 --- /dev/null +++ b/firebird-btyacc-fpie.patch @@ -0,0 +1,11 @@ +--- extern/btyacc/Makefile.ori 2013-03-19 09:38:04.000000000 +0100 ++++ extern/btyacc/Makefile 2013-04-27 13:20:35.964379129 +0200 +@@ -12,7 +12,7 @@ HDRS = defs.h mstring.h + # across all of our supported compilers/platforms. + + # Vanilla CFLAGS +-CFLAGS= ++#CFLAGS= + + # No LDFLAGS + #LDFLAGS= diff --git a/firebird.spec b/firebird.spec index fabd185..2d38144 100644 --- a/firebird.spec +++ b/firebird.spec @@ -1,12 +1,12 @@ -%global pkgname Firebird-2.5.5.26952-0 +%global pkgname Firebird-2.5.7.27050-0 %global fbroot %{_libdir}/%{name} -%global major 2.5.5 +%global major 2.5.7 Summary: SQL relational database management system Name: firebird -Version: 2.5.5.26952.0 -Release: 2%{?dist} +Version: 2.5.7.27050.0 +Release: 1%{?dist} Group: Applications/Databases License: Interbase @@ -18,7 +18,7 @@ Source1: firebird-logrotate Source2: README.Fedora # from upstream -Patch0: firebird-CVE-2016-1569.patch +Patch0: firebird-btyacc-fpie.patch BuildRequires: autoconf BuildRequires: automake @@ -507,6 +507,10 @@ fi %changelog +* Wed Aug 16 2017 Philippe Makowski - 2.5.7.27050.0-1 +- update to 2.5.7 +- security fix (#1425332) + * Fri Feb 05 2016 Philippe Makowski - 2.5.5.26952.0-2 - move fb_config (#1297506) - fix CVE-2016-1569 (#1297447 #1297450 #1297451) @@ -548,7 +552,7 @@ fi - sync the s390(x) utilities list with other arches - add libatomic_ops-devel as BR: on non-x86 arches -* Mon Nov 23 2010 Philippe Makowski 2.5.0.26074.0-1 +* Tue Nov 23 2010 Philippe Makowski 2.5.0.26074.0-1 - add ppc64 * Mon Nov 22 2010 Philippe Makowski 2.5.0.26074.0-0 diff --git a/sources b/sources index 154f8a3..3c2b269 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b0b5293991fcf07347b38431c80be1d4 Firebird-2.5.5.26952-0.tar.bz2 +SHA512 (Firebird-2.5.7.27050-0.tar.bz2) = 793d47a8c8395dfb6f8417253950034dcd61b6b8337e654510d2d133396e5d1fccf615fc614bbe3129a64a101e956cb8b54d7460b06e72b245518f1b5af99327 From c444f9b106adff18428c7d2161b1dc33a32c03b8 Mon Sep 17 00:00:00 2001 From: Philippe Makowski Date: Wed, 16 Aug 2017 22:43:53 +0200 Subject: [PATCH 23/23] update to 2.5.7 security fix (#1425332) --- firebird.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firebird.spec b/firebird.spec index 2d38144..271838b 100644 --- a/firebird.spec +++ b/firebird.spec @@ -145,7 +145,7 @@ Multi-process, local client libraries for Firebird SQL RDBMS %prep %setup -q -n %{pkgname} -%patch0 -p4 +%patch0 # convert intl character to UTF-8 iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl