[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