[packages/Firebird] - up to 2.5.1.26351; drop obsolete or unneded patches

arekm arekm at pld-linux.org
Wed Sep 19 18:06:45 CEST 2012


commit 81ff231438487d0dc6c77dc78a407a097e4d40fd
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Wed Sep 19 18:06:41 2012 +0200

    - up to 2.5.1.26351; drop obsolete or unneded patches

 Firebird-64bit.patch               |  20 --
 Firebird-btyacc-segv.patch         |  11 -
 Firebird-gcc.patch                 | 412 -------------------------------------
 Firebird-morearchs.patch           |  69 -------
 Firebird-opt.patch                 | 137 ------------
 Firebird.spec                      |  19 +-
 firebird-2.5.1-svn-CORE-3610.patch |  32 +++
 7 files changed, 41 insertions(+), 659 deletions(-)
---
diff --git a/Firebird.spec b/Firebird.spec
index 9a9b0ad..7a17d84 100644
--- a/Firebird.spec
+++ b/Firebird.spec
@@ -13,12 +13,12 @@ Summary(de.UTF-8):	Firebird - relationalen Open-Source- Datenbankmanagementsyste
 Summary(pl.UTF-8):	Firebird - serwer baz danych SQL oraz narzędzia klienckie
 Name:		Firebird
 # FirebirdCS/FirebirdSS (Classic Server/Super Server)?
-Version:	2.5.0.26074
-Release:	8
+Version:	2.5.1.26351
+Release:	1
 License:	Interbase Public License 1.0, Initial Developer's Public License 1.0
 Group:		Applications/Databases
 Source0:	http://downloads.sourceforge.net/firebird/%{name}-%{version}-0.tar.bz2
-# Source0-md5:	780f162ee71f087fc277adf09f966529
+# Source0-md5:	1772fba4f09c8fc84d989282405f90fd
 Source1:	http://www.firebirdsql.org/pdfmanual/%{name}-2.5-QuickStart.pdf
 # Source1-md5:	a7776f1eae45ba0b2543c203cd5271ae
 # distfiles refuses this, would require some audit to allow '('/')' chars
@@ -44,12 +44,11 @@ Source102:	firebird.inetd
 Patch0:		%{name}-chmod.patch
 Patch1:		%{name}-editline.patch
 Patch2:		%{name}-va.patch
-Patch3:		%{name}-morearchs.patch
+Patch3:		Firebird-fix-CORE-3388.patch
 Patch4:		%{name}-FHS.patch
-Patch5:		%{name}-64bit.patch
+
 Patch6:		%{name}-gcc-icu.patch
-Patch7:		%{name}-btyacc-segv.patch
-Patch8:		%{name}-opt.patch
+
 Patch9:		%{name}-rpath.patch
 Patch10:	%{name}-noroot.patch
 URL:		http://www.firebirdsql.org/
@@ -79,6 +78,7 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define		ibdir	%{_libdir}/interbase
 %define		specflags	-fno-strict-aliasing
 %define		debugcflags	-O1 -g -Wall -fno-strict-aliasing
+%define		Werror_cflags	''
 
 %description
 Firebird is a powerful, high-performance relational database designed
@@ -168,10 +168,9 @@ Obszerna dokumentacja do baz InterBase i Firebird.
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%patch5 -p1
+
 %patch6 -p0
-%patch7 -p1
-%patch8 -p1
+
 %patch9 -p1
 %patch10 -p1
 
diff --git a/Firebird-64bit.patch b/Firebird-64bit.patch
deleted file mode 100644
index 685aa75..0000000
--- a/Firebird-64bit.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- Firebird-2.5.0.26074-0/src/gpre/pas.cpp.orig	2010-09-08 10:43:39.000000000 +0200
-+++ Firebird-2.5.0.26074-0/src/gpre/pas.cpp	2010-10-28 08:44:04.123740205 +0200
-@@ -1800,7 +1800,7 @@
- 	PAT args;
- 	args.pat_database = (gpre_dbb*) init->nod_arg[3];
- 	args.pat_vector1 = status_vector(action);
--	args.pat_value1 = (int) init->nod_arg[2];
-+	args.pat_value1 = (int) (IPTR)init->nod_arg[2];
- 	args.pat_value2 = (int) event_list->nod_count;
- 	args.pat_string1 = GDS_EVENT_WAIT;
- 	args.pat_string2 = GDS_EVENT_COUNTS;
-@@ -1872,7 +1872,7 @@
- 		gpre_sym* stack_name = (gpre_sym*) event_init->nod_arg[0];
- 		if (!strcmp(event_name->sym_string, stack_name->sym_string))
- 		{
--			ident = (int) event_init->nod_arg[2];
-+			ident = (int) (IPTR)event_init->nod_arg[2];
- 			database = (gpre_dbb*) event_init->nod_arg[3];
- 		}
- 	}
diff --git a/Firebird-btyacc-segv.patch b/Firebird-btyacc-segv.patch
deleted file mode 100644
index 430373b..0000000
--- a/Firebird-btyacc-segv.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Firebird-2.1.3.18185-0/extern/btyacc/main.c.orig	2006-04-29 02:29:46.000000000 +0200
-+++ Firebird-2.1.3.18185-0/extern/btyacc/main.c	2010-08-29 08:33:44.738817429 +0200
-@@ -300,7 +300,7 @@
- 		tmpdir = DEFAULT_TMPDIR;
- 
- 	len = strlen(tmpdir);
--	i = len + 13;
-+	i = len + 14; /* add len of temp_form + one for NUL */
- 	if (len && tmpdir[len-1] != DIR_CHAR)
- 		++i;
- 
diff --git a/Firebird-gcc.patch b/Firebird-gcc.patch
deleted file mode 100644
index da33af4..0000000
--- a/Firebird-gcc.patch
+++ /dev/null
@@ -1,412 +0,0 @@
---- src/common/classes/array.h.orig	2012-06-20 09:58:37.000000000 +0200
-+++ src/common/classes/array.h	2012-06-26 10:37:49.000000000 +0200
-@@ -347,7 +347,7 @@
- 	size_t add(const Value& item) {
- 	    size_t pos;
-   	    find(KeyOfValue::generate(this, item), pos);
--		insert(pos, item);
-+		this->insert(pos, item);
- 		return pos;
- 	}
- };
---- src/common/classes/stack.h.orig	2012-06-20 09:58:37.000000000 +0200
-+++ src/common/classes/stack.h	2012-06-26 10:41:54.000000000 +0200
-@@ -48,7 +48,7 @@
- 			Entry(Object e, Entry* stk) 
- 				: inherited(), next(stk) 
- 			{
--				add(e);
-+				this->add(e);
- 			}
- 			
- 			Entry(Entry* stk) : inherited(), next(stk) { }
-@@ -62,7 +62,7 @@
- 			{
- 				if (inherited::getCount() < this->getCapacity())
- 				{
--					add(e);
-+					this->add(e);
- 					return this;
- 				}
- 				Entry* newEntry = FB_NEW(p) Entry(e, this);
---- src/common/classes/vector.h.orig	2012-06-20 09:58:37.000000000 +0200
-+++ src/common/classes/vector.h	2012-06-26 10:37:49.000000000 +0200
-@@ -135,7 +135,7 @@
- 	size_t add(const Value& item) {
- 	    size_t pos;
-   	    find(KeyOfValue::generate(this, item), pos);
--		insert(pos, item);
-+		this->insert(pos, item);
- 		return pos;
- 	}
- };
---- src/jrd/Collation.cpp.orig	2012-06-20 09:58:27.000000000 +0200
-+++ src/jrd/Collation.cpp	2012-06-26 11:35:42.000000000 +0200
-@@ -191,154 +191,53 @@
- 
- 
- template <class SLEUTHTYPE>
--bool SLEUTHNAME(Jrd::thread_db* tdbb_dummy, Jrd::TextType* obj, USHORT flags,
--				const SLEUTHTYPE* search, SLONG search_len,
--				const SLEUTHTYPE* match, SLONG match_len)
--{
--/**************************************
-- *
-- *	E V L _ ? ? _ s l e u t h _ c h e c k
-- *
-- **************************************
-- *
-- * Functional description
-- *	Evaluate the "sleuth" search operator.
-- *
-- *	Turn the (pointer, byte length) input parameters into
-- *	(pointer, end_pointer) for use in SLEUTH_AUX
-- *
-- **************************************/
--	fb_assert((match_len % sizeof(SLEUTHTYPE)) == 0);
--	fb_assert((search_len % sizeof(SLEUTHTYPE)) == 0);
--	fb_assert(obj->getCanonicalWidth() == sizeof(SLEUTHTYPE));
--
--	const SLEUTHTYPE* const end_match = match + (match_len / sizeof(SLEUTHTYPE));
--	const SLEUTHTYPE* const end_search = search + (search_len / sizeof(SLEUTHTYPE));
--
--	return SLEUTH_AUX(obj, flags, search, end_search, match, end_match);
--}
--
--
--template <class SLEUTHTYPE>
--ULONG SLEUTH_MERGE_NAME(Jrd::thread_db* tdbb_dummy, Jrd::TextType* obj,
--						const SLEUTHTYPE* match, SLONG match_bytes,
--						const SLEUTHTYPE* control, SLONG control_bytes,
--						SLEUTHTYPE* combined, SLONG combined_bytes)
-+static bool SLEUTH_CLASS_NAME(
-+								 Jrd::TextType* obj,
-+								 USHORT flags,
-+								 const SLEUTHTYPE* char_class,
-+								 const SLEUTHTYPE* const end_class, 
-+								 SLEUTHTYPE character)
- {
- /**************************************
-  *
-- *	E V L _ ? ? _ s l e u t h _ m e r g e
-+ *	s l e u t h _ c l a s s
-  *
-  **************************************
-  *
-  * Functional description
-- *	Merge the matching pattern and control strings to give a cannonical
-- *	matching pattern.  Return the length of the combined string. 
-- *
-- * 	What this routine does is to take the language template, strip off 
-- *	the prefix and put it in the output string, then parse the definitions
-- *	into an array of character pointers.  The index array is the defined
-- *	character.   The routine then takes the actual match pattern and uses
-- *	the characters in it to index into the definitions to produce an equivalent
-- *	pattern in the cannonical language.
-- *
-- *	The silly loop setting *v++ to zero initializes the array up to the
-- *	highest character defined (also max_op).  Believe it or not, that part
-- *	is not a bug.
-+ *	See if a character is a member of a class.
-+ *	Japanese version operates on short-based buffer,
-+ *	instead of SCHAR-based.
-  *
-  **************************************/
--	fb_assert(match != NULL);
--	fb_assert(control != NULL);
--	fb_assert(combined != NULL);
--
--	fb_assert((match_bytes % sizeof(SLEUTHTYPE)) == 0);
--	fb_assert((control_bytes % sizeof(SLEUTHTYPE)) == 0);
-+	fb_assert(char_class != NULL);
-+	fb_assert(end_class != NULL);
-+	fb_assert(char_class <= end_class);
- 	fb_assert(obj->getCanonicalWidth() == sizeof(SLEUTHTYPE));
- 
--	const SLEUTHTYPE* const end_match = match + (match_bytes / sizeof(SLEUTHTYPE));
--	const SLEUTHTYPE* const end_control = control + (control_bytes / sizeof(SLEUTHTYPE));
--
--	SLEUTHTYPE max_op = 0;
--	SLEUTHTYPE* comb = combined;
--	SLEUTHTYPE* vector[256];
--	SLEUTHTYPE** v = vector;
--	SLEUTHTYPE temp[256];
--	SLEUTHTYPE* t = temp;
--
--/* Parse control string into substitution strings and initializing string */
-+	bool result = true;
- 
--	while (control < end_control) {
--		SLEUTHTYPE c = *control++;
--		if (*control == *(SLEUTHTYPE*)obj->getGdmlSubstituteCanonic()) {
--			/* Note: don't allow substitution characters larger than vector */
--			SLEUTHTYPE** const end_vector =
--				vector + (((int)c < FB_NELEM(vector)) ? c : 0);
--			while (v <= end_vector)
--				*v++ = 0;
--			*end_vector = t;
--			++control;
--			while (control < end_control) {
--				c = *control++;
--				if ((t > temp && t[-1] == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic())
--					|| ((c != *(SLEUTHTYPE*)obj->getGdmlCommaCanonic()) && (c != *(SLEUTHTYPE*)obj->getGdmlRParenCanonic())))
--				{
--					*t++ = c;
--				}
--				else
--					break;
--			}
--			*t++ = 0;
--		}
--		else if (c == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic() && control < end_control)
--			*comb++ = *control++;
--		else if (c == *(SLEUTHTYPE*)obj->getGdmlRParenCanonic())
--			break;
--		else if (c != *(SLEUTHTYPE*)obj->getGdmlLParenCanonic())
--			*comb++ = c;
-+	if (*char_class == *(SLEUTHTYPE*)obj->getGdmlNotCanonic()) {
-+		++char_class;
-+		result = false;
- 	}
- 
--	max_op = v - vector;
--
--/* Interpret matching string, substituting where appropriate */
--
--	while (match < end_match) {
--		const SLEUTHTYPE c = *match++;
--
--		/* if we've got a defined character, slurp the definition */
--
--        SLEUTHTYPE* p;
--		if (c <= max_op && (p = vector[c])) {
--			while (*p)
--				*comb++ = *p++;
--
--			/* if we've got the definition of a quote character, 
--			   slurp the next character too */
--
--			if (comb > combined && comb[-1] == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic() && *match)
--				*comb++ = *match++;
-+	while (char_class < end_class) {
-+		const SLEUTHTYPE c = *char_class++;
-+		if (c == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic()) {
-+			if (*char_class++ == character)
-+				return true;
- 		}
--
--		/* at this point we've got a non-match, but as it might be one of ours, 
--		   quote it. */
--
--		else {
--			if ((((size_t) c) < FB_NELEM(special)) && special[c] &&
--				comb > combined && comb[-1] != *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic())
--			{
--				*comb++ = *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic();
--			}
--			*comb++ = c;
-+		else if (*char_class == *(SLEUTHTYPE*)obj->getGdmlRangeCanonic()) {
-+			char_class += 2;
-+			if (character >= c && character <= char_class[-1])
-+				return result;
- 		}
-+		else if (character == c)
-+			return result;
- 	}
- 
--/* Put in trailing stuff */
--
--	while (control < end_control)
--		*comb++ = *control++;
--
--	/* YYY - need to add code watching for overflow of combined */
--
--	return (comb - combined) * sizeof(SLEUTHTYPE);
-+	return !result;
- }
- 
- 
-@@ -473,53 +372,154 @@
- 
- 
- template <class SLEUTHTYPE>
--static bool SLEUTH_CLASS_NAME(
--								 Jrd::TextType* obj,
--								 USHORT flags,
--								 const SLEUTHTYPE* char_class,
--								 const SLEUTHTYPE* const end_class, 
--								 SLEUTHTYPE character)
-+bool SLEUTHNAME(Jrd::thread_db* tdbb_dummy, Jrd::TextType* obj, USHORT flags,
-+				const SLEUTHTYPE* search, SLONG search_len,
-+				const SLEUTHTYPE* match, SLONG match_len)
- {
- /**************************************
-  *
-- *	s l e u t h _ c l a s s
-+ *	E V L _ ? ? _ s l e u t h _ c h e c k
-  *
-  **************************************
-  *
-  * Functional description
-- *	See if a character is a member of a class.
-- *	Japanese version operates on short-based buffer,
-- *	instead of SCHAR-based.
-+ *	Evaluate the "sleuth" search operator.
-+ *
-+ *	Turn the (pointer, byte length) input parameters into
-+ *	(pointer, end_pointer) for use in SLEUTH_AUX
-  *
-  **************************************/
--	fb_assert(char_class != NULL);
--	fb_assert(end_class != NULL);
--	fb_assert(char_class <= end_class);
-+	fb_assert((match_len % sizeof(SLEUTHTYPE)) == 0);
-+	fb_assert((search_len % sizeof(SLEUTHTYPE)) == 0);
- 	fb_assert(obj->getCanonicalWidth() == sizeof(SLEUTHTYPE));
- 
--	bool result = true;
-+	const SLEUTHTYPE* const end_match = match + (match_len / sizeof(SLEUTHTYPE));
-+	const SLEUTHTYPE* const end_search = search + (search_len / sizeof(SLEUTHTYPE));
- 
--	if (*char_class == *(SLEUTHTYPE*)obj->getGdmlNotCanonic()) {
--		++char_class;
--		result = false;
-+	return SLEUTH_AUX(obj, flags, search, end_search, match, end_match);
-+}
-+
-+
-+template <class SLEUTHTYPE>
-+ULONG SLEUTH_MERGE_NAME(Jrd::thread_db* tdbb_dummy, Jrd::TextType* obj,
-+						const SLEUTHTYPE* match, SLONG match_bytes,
-+						const SLEUTHTYPE* control, SLONG control_bytes,
-+						SLEUTHTYPE* combined, SLONG combined_bytes)
-+{
-+/**************************************
-+ *
-+ *	E V L _ ? ? _ s l e u t h _ m e r g e
-+ *
-+ **************************************
-+ *
-+ * Functional description
-+ *	Merge the matching pattern and control strings to give a cannonical
-+ *	matching pattern.  Return the length of the combined string. 
-+ *
-+ * 	What this routine does is to take the language template, strip off 
-+ *	the prefix and put it in the output string, then parse the definitions
-+ *	into an array of character pointers.  The index array is the defined
-+ *	character.   The routine then takes the actual match pattern and uses
-+ *	the characters in it to index into the definitions to produce an equivalent
-+ *	pattern in the cannonical language.
-+ *
-+ *	The silly loop setting *v++ to zero initializes the array up to the
-+ *	highest character defined (also max_op).  Believe it or not, that part
-+ *	is not a bug.
-+ *
-+ **************************************/
-+	fb_assert(match != NULL);
-+	fb_assert(control != NULL);
-+	fb_assert(combined != NULL);
-+
-+	fb_assert((match_bytes % sizeof(SLEUTHTYPE)) == 0);
-+	fb_assert((control_bytes % sizeof(SLEUTHTYPE)) == 0);
-+	fb_assert(obj->getCanonicalWidth() == sizeof(SLEUTHTYPE));
-+
-+	const SLEUTHTYPE* const end_match = match + (match_bytes / sizeof(SLEUTHTYPE));
-+	const SLEUTHTYPE* const end_control = control + (control_bytes / sizeof(SLEUTHTYPE));
-+
-+	SLEUTHTYPE max_op = 0;
-+	SLEUTHTYPE* comb = combined;
-+	SLEUTHTYPE* vector[256];
-+	SLEUTHTYPE** v = vector;
-+	SLEUTHTYPE temp[256];
-+	SLEUTHTYPE* t = temp;
-+
-+/* Parse control string into substitution strings and initializing string */
-+
-+	while (control < end_control) {
-+		SLEUTHTYPE c = *control++;
-+		if (*control == *(SLEUTHTYPE*)obj->getGdmlSubstituteCanonic()) {
-+			/* Note: don't allow substitution characters larger than vector */
-+			SLEUTHTYPE** const end_vector =
-+				vector + (((int)c < FB_NELEM(vector)) ? c : 0);
-+			while (v <= end_vector)
-+				*v++ = 0;
-+			*end_vector = t;
-+			++control;
-+			while (control < end_control) {
-+				c = *control++;
-+				if ((t > temp && t[-1] == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic())
-+					|| ((c != *(SLEUTHTYPE*)obj->getGdmlCommaCanonic()) && (c != *(SLEUTHTYPE*)obj->getGdmlRParenCanonic())))
-+				{
-+					*t++ = c;
-+				}
-+				else
-+					break;
-+			}
-+			*t++ = 0;
-+		}
-+		else if (c == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic() && control < end_control)
-+			*comb++ = *control++;
-+		else if (c == *(SLEUTHTYPE*)obj->getGdmlRParenCanonic())
-+			break;
-+		else if (c != *(SLEUTHTYPE*)obj->getGdmlLParenCanonic())
-+			*comb++ = c;
- 	}
- 
--	while (char_class < end_class) {
--		const SLEUTHTYPE c = *char_class++;
--		if (c == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic()) {
--			if (*char_class++ == character)
--				return true;
-+	max_op = v - vector;
-+
-+/* Interpret matching string, substituting where appropriate */
-+
-+	while (match < end_match) {
-+		const SLEUTHTYPE c = *match++;
-+
-+		/* if we've got a defined character, slurp the definition */
-+
-+        SLEUTHTYPE* p;
-+		if (c <= max_op && (p = vector[c])) {
-+			while (*p)
-+				*comb++ = *p++;
-+
-+			/* if we've got the definition of a quote character, 
-+			   slurp the next character too */
-+
-+			if (comb > combined && comb[-1] == *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic() && *match)
-+				*comb++ = *match++;
- 		}
--		else if (*char_class == *(SLEUTHTYPE*)obj->getGdmlRangeCanonic()) {
--			char_class += 2;
--			if (character >= c && character <= char_class[-1])
--				return result;
-+
-+		/* at this point we've got a non-match, but as it might be one of ours, 
-+		   quote it. */
-+
-+		else {
-+			if ((((size_t) c) < FB_NELEM(special)) && special[c] &&
-+				comb > combined && comb[-1] != *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic())
-+			{
-+				*comb++ = *(SLEUTHTYPE*)obj->getGdmlQuoteCanonic();
-+			}
-+			*comb++ = c;
- 		}
--		else if (character == c)
--			return result;
- 	}
- 
--	return !result;
-+/* Put in trailing stuff */
-+
-+	while (control < end_control)
-+		*comb++ = *control++;
-+
-+	/* YYY - need to add code watching for overflow of combined */
-+
-+	return (comb - combined) * sizeof(SLEUTHTYPE);
- }
- 
- 
diff --git a/Firebird-morearchs.patch b/Firebird-morearchs.patch
deleted file mode 100644
index d4a8134..0000000
--- a/Firebird-morearchs.patch
+++ /dev/null
@@ -1,69 +0,0 @@
---- Firebird-2.5.0.26074-0/src/jrd/common.h.orig	2010-09-08 10:43:27.000000000 +0200
-+++ Firebird-2.5.0.26074-0/src/jrd/common.h	2010-10-28 07:51:57.395734339 +0200
-@@ -158,6 +158,11 @@
- #define RISC_ALIGNMENT
- #endif // IA64
- 
-+#ifdef __alpha__
-+#define IMPLEMENTATION  isc_info_db_impl_linux_alpha	/* 82 */
-+#define RISC_ALIGNMENT
-+#endif
-+
- #ifndef USE_POSIX_THREADS
- // force pthread detection on Linux for distros that do not provide
- // POSIX thread compatability
---- Firebird-2.5.0.26074-0/src/jrd/inf_pub.h.orig	2010-09-08 10:43:27.000000000 +0200
-+++ Firebird-2.5.0.26074-0/src/jrd/inf_pub.h	2010-10-28 07:52:00.183734339 +0200
-@@ -213,6 +213,7 @@
- 
- 	isc_info_db_impl_linux_sh = 80,
- 	isc_info_db_impl_linux_sheb = 81,
-+	isc_info_db_impl_linux_alpha = 82,
- 
- 	isc_info_db_impl_last_value   // Leave this LAST!
- };
---- Firebird-2.5.0.26074-0/src/jrd/pag.cpp.orig	2010-09-08 10:43:27.000000000 +0200
-+++ Firebird-2.5.0.26074-0/src/jrd/pag.cpp	2010-10-28 07:58:22.771734339 +0200
-@@ -160,9 +160,10 @@
- static const int CLASS_LINUX_S390 = 37;		// LINUX/s390
- static const int CLASS_LINUX_SH = 38;		// LINUX/SH (little-endian)
- static const int CLASS_LINUX_SHEB = 39;		// LINUX/SH (big-endian)
-+static const int CLASS_LINUX_ALPHA = 40;	// LINUX/Alpha
- 
- static const int CLASS_MAX10 = CLASS_LINUX_AMD64;	// This should not be changed, no new ports with ODS10
--static const int CLASS_MAX = CLASS_LINUX_SHEB;
-+static const int CLASS_MAX = CLASS_LINUX_ALPHA;
- 
- // ARCHITECTURE COMPATIBILITY CLASSES
- 
-@@ -259,7 +260,8 @@
- 	archBigEndian,	  // CLASS_LINUX_S390X
- 	archBigEndian,	  // CLASS_LINUX_S390
- 	archLittleEndian, // CLASS_LINUX_SH
--	archBigEndian     // CLASS_LINUX_SHEB
-+	archBigEndian,    // CLASS_LINUX_SHEB
-+	archLittleEndian  // CLASS_LINUX_ALPHA
- };
- 
- #ifdef __sun
-@@ -319,6 +321,8 @@
- const SSHORT CLASS		= CLASS_LINUX_SH;
- #elif defined(SHEB)
- const SSHORT CLASS		= CLASS_LINUX_SHEB;
-+#elif defined(__alpha__)
-+const SSHORT CLASS		= CLASS_LINUX_ALPHA;
- #else
- #error no support on other hardware for Linux
- #endif
---- Firebird-2.5.0.26074-0/src/jrd/utl.cpp.orig	2010-09-08 10:43:27.000000000 +0200
-+++ Firebird-2.5.0.26074-0/src/jrd/utl.cpp	2010-10-28 07:57:59.231736853 +0200
-@@ -225,7 +225,8 @@
- 	"Firebird/linux s390x",			// 78
- 	"Firebird/linux s390",			// 79
- 	"Firebird/linux SH",			// 80
--	"Firebird/linux SHEB"			// 81
-+	"Firebird/linux SHEB",			// 81
-+	"Firebird/linux Alpha"			// 82
- };
- 
- 
diff --git a/Firebird-opt.patch b/Firebird-opt.patch
deleted file mode 100644
index a2e0d88..0000000
--- a/Firebird-opt.patch
+++ /dev/null
@@ -1,137 +0,0 @@
---- Firebird-2.5.0.26074-0/builds/posix/prefix.linux.orig	2010-09-08 10:41:23.000000000 +0200
-+++ Firebird-2.5.0.26074-0/builds/posix/prefix.linux	2010-10-28 08:55:49.323734339 +0200
-@@ -18,8 +18,8 @@
- #
- # 2 Oct 2002, Nickolay Samofatov - Major cleanup
- 
--COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0
--OPTIMIZE_FLAGS=-O3 -march=i586 -mtune=i686 -fno-omit-frame-pointer
-+COMMON_FLAGS=@CFLAGS@ -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0
-+OPTIMIZE_FLAGS=-fno-omit-frame-pointer
- WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
- 
- PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_amd64.orig	2007-05-03 13:24:50.000000000 +0200
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_amd64	2010-08-29 10:48:42.742820781 +0200
-@@ -18,8 +18,8 @@
- #
- # 2 Oct 2002, Nickolay Samofatov - Major cleanup
- 
--COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DAMD64 -pipe -MMD -fPIC -fmessage-length=0
--OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer 
-+COMMON_FLAGS=@CFLAGS@ -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DAMD64 -pipe -MMD -fPIC -fmessage-length=0
-+OPTIMIZE_FLAGS=-fno-omit-frame-pointer 
- WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
- CXXFLAGS:= $(CXXFLAGS) -fno-rtti
- 
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_arm.orig	2008-04-15 16:11:33.000000000 +0200
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_arm	2010-08-29 10:50:20.766823295 +0200
-@@ -23,11 +23,11 @@
- 
- #LD=@CXX@
- 
--#PROD_FLAGS=-ggdb -O3 -fno-omit-frame-pointer -DNDEBUG -DLINUX -pipe -MMD -fPIC
--#DEV_FLAGS=-ggdb -DLINUX -DDEBUG_GDS_ALLOC -pipe -MMD -p -fPIC -Wall -Wno-switch
-+COMMON_FLAGS=@CFLAGS@ -DLINUX -DARM -pipe -p -MMD -fPIC -fsigned-char -fmessage-length=0
-+OPTIMIZE_FLAGS=
- 
--PROD_FLAGS=-O3 -DNDEBUG -DLINUX -DARM -pipe -p -MMD -fPIC -fsigned-char -fmessage-length=0
--DEV_FLAGS=-ggdb -DLINUX -DARM -pipe -p -MMD -fPIC -Wall -fsigned-char -fmessage-length=0
-+PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
-+DEV_FLAGS=$(COMMON_FLAGS) -Wall
- 
- OS_ServerFiles=inet_server.cpp
- 
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_generic.orig	2007-05-03 13:24:50.000000000 +0200
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_generic	2010-08-29 10:50:59.358822457 +0200
-@@ -18,10 +18,11 @@
- #
- # 2 Oct 2002, Nickolay Samofatov - Major cleanup
- 
--COMMON_FLAGS=-DLINUX -pipe -MMD -fPIC -DFB_SEND_FLAGS=MSG_NOSIGNAL
-+COMMON_FLAGS=@CFLAGS@ -DLINUX -pipe -MMD -fPIC -DFB_SEND_FLAGS=MSG_NOSIGNAL
-+OPTIMIZE_FLAGS=
- 
--PROD_FLAGS=-ggdb -O3 -DNDEBUG $(COMMON_FLAGS)
--DEV_FLAGS=-ggdb -p -Wall -Wno-switch $(COMMON_FLAGS)
-+PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
-+DEV_FLAGS=-Wall -Wno-switch $(COMMON_FLAGS)
- CXXFLAGS:= $(CXXFLAGS) -fno-rtti
- 
- OS_ServerFiles=inet_server.cpp
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_ia64.orig	2008-05-31 04:33:45.000000000 +0200
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_ia64	2010-08-29 10:51:21.938821619 +0200
-@@ -18,8 +18,8 @@
- # 2 Oct 2002, Nickolay Samofatov - Major cleanup
- # Adriano dos Santos Fernandes
- 
--COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DIA64 -pipe -MMD -fPIC -fmessage-length=0
--OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer 
-+COMMON_FLAGS=@CFLAGS@ -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DIA64 -pipe -MMD -fPIC -fmessage-length=0
-+OPTIMIZE_FLAGS=-fno-omit-frame-pointer 
- WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
- CXXFLAGS:= $(CXXFLAGS) -fno-rtti
- 
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_mips.orig	2008-01-17 13:20:44.000000000 +0100
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_mips	2010-08-29 10:51:45.386816591 +0200
-@@ -1,5 +1,5 @@
--COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0
--OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer -fno-builtin
-+COMMON_FLAGS=@CFLAGS@ -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0
-+OPTIMIZE_FLAGS=-fno-omit-frame-pointer
- WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
- 
- PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_mipsel.orig	2007-05-04 03:18:21.000000000 +0200
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_mipsel	2010-08-29 10:58:57.222819943 +0200
-@@ -19,10 +19,12 @@
- 
- LD=@CXX@
- 
--# -fno-builtin is used because GCC 3.0-3.2.2 had bug with builtins expansion
--# you may remove it if engine is getting compiled with any other GCC version
--PROD_FLAGS=-ggdb -O3 -fno-omit-frame-pointer -DNDEBUG -DLINUX -pipe -MMD -fPIC
--DEV_FLAGS=-ggdb -DLINUX -DDEBUG_GDS_ALLOC -pipe -MMD -p -fPIC -Wall -Wno-switch
-+COMMON_FLAGS=@CFLAGS@ -DLINUX -pipe -MMD -fPIC
-+OPTIMIZE_FLAGS=-fno-omit-frame-pointer
-+WARN_FLAGS=-Wall -Wno-switch
-+
-+PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
-+DEV_FLAGS=-DDEBUG_GDS_ALLOC -p $(COMMON_FLAGS) $(WARN_FLAGS)
- 
- OS_ServerFiles=inet_server.cpp
- 
---- Firebird-2.5.0.26074-0/builds/posix/prefix.linux_powerpc.orig	2010-09-08 10:41:23.000000000 +0200
-+++ Firebird-2.5.0.26074-0/builds/posix/prefix.linux_powerpc	2010-10-28 09:02:24.423734339 +0200
-@@ -18,9 +18,12 @@
- #
- # 2 Oct 2002, Nickolay Samofatov - Major cleanup
- 
--PROD_FLAGS=-ggdb -fno-omit-frame-pointer -fsigned-char -DNDEBUG -DLINUX -pipe -MMD -fPIC -fmessage-length=0 -DLINUX -DPowerPC -DPPC -O3 -mcpu=powerpc
--DEV_FLAGS=-ggdb -O0 -DLINUX -pipe -MMD -p -fPIC -Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable -fmessage-length=0 -fsigned-char -DLINUX -DPowerPC -DPPC
--#DEV_FLAGS=-DUSE_VALGRIND -ggdb -O0 -DLINUX -pipe -MMD -p -fPIC -Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable -fmessage-length=0 -DLINUX -DPowerPC -DPPC
-+COMMON_FLAGS=@CFLAGS@ -DLINUX -DPowerPC -DPPC -fsigned-char -pipe -MMD -fPIC -fmessage-length=0
-+OPTIMIZE_FLAGS=-fno-omit-frame-pointer
-+WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
-+
-+PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
-+DEV_FLAGS=-p $(COMMON_FLAGS) $(WARN_FLAGS)
- 
- OS_ServerFiles=inet_server.cpp
- 
---- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_sparc32.orig	2007-05-03 13:24:50.000000000 +0200
-+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_sparc32	2010-08-29 11:04:26.538821619 +0200
-@@ -18,9 +18,10 @@
- #
- # 2 Oct 2002, Nickolay Samofatov - Major cleanup
- 
--COMMON_FLAGS=-m32 -DLINUX -pipe -MMD -fPIC -Dsparc -DFB_SEND_FLAGS=MSG_NOSIGNAL
--PROD_FLAGS=-ggdb -mcpu=ultrasparc -mtune=ultrasparc -O3 -DNDEBUG $(COMMON_FLAGS)
--DEV_FLAGS=-ggdb -p -Wall -Wno-switch  $(COMMON_FLAGS)
-+COMMON_FLAGS=@CFLAGS@ -m32 -DLINUX -pipe -MMD -fPIC -Dsparc -DFB_SEND_FLAGS=MSG_NOSIGNAL
-+
-+PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS)
-+DEV_FLAGS=-p -Wall -Wno-switch  $(COMMON_FLAGS)
- CXXFLAGS:= $(CXXFLAGS) -fno-rtti
- 
- OS_ServerFiles=inet_server.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) {
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/Firebird.git/commitdiff/81ff231438487d0dc6c77dc78a407a097e4d40fd



More information about the pld-cvs-commit mailing list