Hello community,

here is the log from the commit of package firebird for openSUSE:Factory 
checked in at 2012-04-20 15:13:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/firebird (Old)
 and      /work/SRC/openSUSE:Factory/.firebird.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "firebird", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/firebird/firebird.changes        2011-12-07 
14:37:40.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.firebird.new/firebird.changes   2012-04-20 
15:13:43.000000000 +0200
@@ -1,0 +2,16 @@
+Mon Apr 16 12:23:03 UTC 2012 - [email protected]
+
+- Remove merged patch Firebird-edit_fix.diff.
+
+-------------------------------------------------------------------
+Thu Mar 15 19:04:47 UTC 2012 - [email protected]
+
+- Add firebird-gcc47.patch: Fix build with gcc 4.7.
+
+-------------------------------------------------------------------
+Wed Jan  4 12:31:00 UTC 2012 - [email protected]
+- new upstream version (2.1.4.18393.0)
+- Remove Firebird-edit_fix.diff
+- Added gcc-4.5.patch
+
+-------------------------------------------------------------------

Old:
----
  Firebird-2.1.3.18185-0.tar.bz2
  Firebird-edit_fix.diff

New:
----
  Firebird-2.1.4.18393-0.tar.bz2
  firebird-gcc47.patch
  gcc-4.5.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ firebird.spec ++++++
--- /var/tmp/diff_new_pack.3O6NCO/_old  2012-04-20 15:13:47.000000000 +0200
+++ /var/tmp/diff_new_pack.3O6NCO/_new  2012-04-20 15:13:47.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package firebird
 #
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,18 +16,18 @@
 #
 
 
-%global pkgname Firebird-2.1.3.18185-0
+%global pkgname Firebird-2.1.4.18393-0
 %global fbroot %{_libdir}/%{name}
-%global major  2.1.3
+%global major  2.1.4
 %define libfbclient libfbclient2
 %define libfbembed libfbembed2
 Summary:        SQL relational database management system
+License:        Interbase
+Group:          Productivity/Databases/Servers
 
 Name:           firebird
-Version:        2.1.3.18185.0
-Release:        1
-Group:          Productivity/Databases/Servers
-License:        Interbase
+Version:        2.1.4.18393.0
+Release:        0
 Url:            http://www.firebirdsql.org/
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Source0:        http://downloads.sourceforge.net/firebird/%{pkgname}.tar.bz2
@@ -36,17 +36,18 @@
 Source5:        01_firebird
 Source6:        firebird.conf
 Patch0:         firebird-mcpu-to-mtune.patch
-Patch1:         Firebird-edit_fix.diff
-Patch2:         firebird-gcc-warnings-fixes.patch
-Patch3:         firebird_lock-file-location.patch
-Patch4:         firebird-gcc-icu.patch
+Patch1:         firebird-gcc-warnings-fixes.patch
+Patch2:         firebird_lock-file-location.patch
+Patch3:         firebird-gcc-icu.patch
+Patch4:         gcc-4.5.patch
+Patch5:         firebird-gcc47.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  bison
-BuildRequires:  libtool
-BuildRequires:  ncurses-devel
 BuildRequires:  gcc-c++
 BuildRequires:  libicu-devel
+BuildRequires:  libtool
+BuildRequires:  ncurses-devel
 BuildRequires:  xinetd
 Provides:       %{name}-server-common
 Obsoletes:      %{name}-server-common < %{version}
@@ -64,7 +65,6 @@
 firebird-superserver. You will need this if you want to use either one.
 
 %package               doc
-License:        Interbase
 Summary:        Documentation for Firebird SQL RDBMS
 Group:          Applications/Databases
 
@@ -72,7 +72,6 @@
 This are the Firebird SQL Database shared doc and examples files.
 
 %package               filesystem
-License:        Interbase
 Summary:        Filesystem for Firebird SQL RDBMS
 Group:          Applications/Databases
 
@@ -80,7 +79,6 @@
 This is the Firebird SQL Database root file system.
 
 %package               devel
-License:        Interbase
 Summary:        Development Libraries for Firebird 
 Group:          Development/Databases
 Requires:       %libfbclient = %{version}
@@ -90,12 +88,11 @@
 Development libraries for Firebird SQL RDBMS.
 
 %package               classic
-License:        Interbase
 Summary:        Classic (xinetd) server for Firebird SQL RDBMS
 Group:          Applications/Databases
 Provides:       %{name}-arch = %{version}-%{release}
-Requires:       xinetd
 Requires:       %{name} = %{version}
+Requires:       xinetd
 Conflicts:      %{name}-superserver
 Requires:       %libfbembed = %{version}
 Provides:       %{name}-utils-classic
@@ -111,7 +108,6 @@
 client-embedded package.
 
 %package               superserver
-License:        Interbase
 Summary:        Superserver server for Firebird SQL RDBMS
 Group:          Applications/Databases
 Provides:       %{name}-arch = %{version}-%{release}
@@ -128,7 +124,6 @@
 
 
 %package               -n libfbclient2
-License:        Interbase
 Summary:        Multi-threaded client libraries for Firebird SQL RDBMS
 Group:          System Environment/Libraries
 Requires(post):                /sbin/ldconfig
@@ -140,7 +135,6 @@
 
 
 %package               -n libfbembed2
-License:        Interbase
 Summary:        Multi-process client libraries for Firebird SQL RDBMS
 Group:          System Environment/Libraries
 Requires(post):                /sbin/ldconfig
@@ -161,6 +155,7 @@
 %patch2
 %patch3
 %patch4
+%patch5 -p1
 
 %build
 # <mrl> For reference, the proccess fb_lock_mgr that keeps executing after

++++++ Firebird-2.1.3.18185-0.tar.bz2 -> Firebird-2.1.4.18393-0.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/firebird/Firebird-2.1.3.18185-0.tar.bz2 
/work/SRC/openSUSE:Factory/.firebird.new/Firebird-2.1.4.18393-0.tar.bz2 differ: 
char 11, line 1

++++++ firebird-gcc47.patch ++++++
Index: Firebird-2.1.4.18393-0/src/common/classes/array.h
===================================================================
--- Firebird-2.1.4.18393-0.orig/src/common/classes/array.h
+++ Firebird-2.1.4.18393-0/src/common/classes/array.h
@@ -347,7 +347,7 @@ public:
        size_t add(const Value& item) {
            size_t pos;
            find(KeyOfValue::generate(this, item), pos);
-               insert(pos, item);
+               this->insert(pos, item);
                return pos;
        }
 };
Index: Firebird-2.1.4.18393-0/src/common/classes/stack.h
===================================================================
--- Firebird-2.1.4.18393-0.orig/src/common/classes/stack.h
+++ Firebird-2.1.4.18393-0/src/common/classes/stack.h
@@ -48,7 +48,7 @@ namespace Firebird {
                        Entry(Object e, Entry* stk) 
                                : inherited(), next(stk) 
                        {
-                               add(e);
+                               this->add(e);
                        }
                        
                        Entry(Entry* stk) : inherited(), next(stk) { }
@@ -62,7 +62,7 @@ namespace Firebird {
                        {
                                if (inherited::getCount() < this->getCapacity())
                                {
-                                       add(e);
+                                       this->add(e);
                                        return this;
                                }
                                Entry* newEntry = FB_NEW(p) Entry(e, this);
Index: Firebird-2.1.4.18393-0/src/common/classes/vector.h
===================================================================
--- Firebird-2.1.4.18393-0.orig/src/common/classes/vector.h
+++ Firebird-2.1.4.18393-0/src/common/classes/vector.h
@@ -135,7 +135,7 @@ public:
        size_t add(const Value& item) {
            size_t pos;
            find(KeyOfValue::generate(this, item), pos);
-               insert(pos, item);
+               this->insert(pos, item);
                return pos;
        }
 };
Index: Firebird-2.1.4.18393-0/src/jrd/Collation.cpp
===================================================================
--- Firebird-2.1.4.18393-0.orig/src/jrd/Collation.cpp
+++ Firebird-2.1.4.18393-0/src/jrd/Collation.cpp
@@ -191,157 +191,55 @@ bool MATCHESNAME(Jrd::thread_db* tdbb, J
 
 
 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;
 }
 
-
 template <class SLEUTHTYPE>
 static bool SLEUTH_AUX(
                                                  Jrd::TextType* obj,
@@ -472,57 +370,163 @@ static bool SLEUTH_AUX(
 }
 
 
+
 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);
 }
 
 
+
+
+
+
 // Below are templates for functions used in Collation implementation
 
 class NullStrConverter {
++++++ gcc-4.5.patch ++++++
--- src/jrd/scl.epp
+++ src/jrd/scl.epp
@@ -141,7 +141,7 @@ void SCL_check_access(thread_db* tdbb,
        {
                ERR_post(isc_no_priv, isc_arg_string, "(ACL unrecognized)",
                                 isc_arg_string, "security_class",
-                                isc_arg_string, s_class->scl_name,
+                                isc_arg_string, s_class->scl_name.c_str(),
                                 isc_arg_end);
        }
 
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to