- up to 2.5.1.26351; drop obsolete or unneded patches auto/th/Firebird-2.5.1.26351-1
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Wed, 19 Sep 2012 16:06:41 +0000 (18:06 +0200)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Wed, 19 Sep 2012 16:06:41 +0000 (18:06 +0200)
Firebird-64bit.patch [deleted file]
Firebird-btyacc-segv.patch [deleted file]
Firebird-gcc.patch [deleted file]
Firebird-morearchs.patch [deleted file]
Firebird-opt.patch [deleted file]
Firebird.spec
firebird-2.5.1-svn-CORE-3610.patch [new file with mode: 0644]

diff --git a/Firebird-64bit.patch b/Firebird-64bit.patch
deleted file mode 100644 (file)
index 685aa75..0000000
+++ /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 (file)
index 430373b..0000000
+++ /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 (file)
index da33af4..0000000
+++ /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 (file)
index d4a8134..0000000
+++ /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 (file)
index a2e0d88..0000000
+++ /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
index 9a9b0ad..7a17d84 100644 (file)
@@ -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-2.5.1-svn-CORE-3610.patch b/firebird-2.5.1-svn-CORE-3610.patch
new file mode 100644 (file)
index 0000000..075ad94
--- /dev/null
@@ -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) {
+
This page took 0.077132 seconds and 4 git commands to generate.