update to 4.0.0.2496 [release 4.0.0.2496-1mamba;Thu Jun 17 2021]
This commit is contained in:
parent
73ef2af1cd
commit
ddeeea0332
@ -1,35 +0,0 @@
|
|||||||
diff -Nru Firebird-2.1.2.18118-0/doc/sql.extensions/README.expression_indices Firebird-2.1.2.18118-0/doc/sql.extensions-gil/README.expression_indices
|
|
||||||
--- Firebird-2.1.2.18118-0/doc/sql.extensions/README.expression_indices 2005-01-28 15:07:11.000000000 +0100
|
|
||||||
+++ Firebird-2.1.2.18118-0/doc/sql.extensions-gil/README.expression_indices 2009-05-12 20:31:04.000000000 +0200
|
|
||||||
@@ -19,7 +19,7 @@
|
|
||||||
|
|
||||||
Example(s):
|
|
||||||
1. CREATE INDEX IDX1 ON T1 COMPUTED BY ( UPPER(COL1 COLLATE PXW_CYRL) );
|
|
||||||
- SELECT * FROM T1 WHERE UPPER(COL1 COLLATE PXW_CYRL) = 'ÔÛÂÀ'
|
|
||||||
+ SELECT * FROM T1 WHERE UPPER(COL1 COLLATE PXW_CYRL) = '<capital cyrillic letters sequence>'
|
|
||||||
-- PLAN (T1 INDEX (IDX1))
|
|
||||||
2. CREATE INDEX IDX2 ON T2 COMPUTED BY ( EXTRACT(YEAR FROM COL2) || EXTRACT(MONTH FROM COL2) );
|
|
||||||
SELECT * FROM T2 ORDER BY EXTRACT(YEAR FROM COL2) || EXTRACT(MONTH FROM COL2)
|
|
||||||
diff -Nru Firebird-2.1.2.18118-0/doc/sql.extensions/README.global_temporary_tables Firebird-2.1.2.18118-0/doc/sql.extensions-gil/README.global_temporary_tables
|
|
||||||
--- Firebird-2.1.2.18118-0/doc/sql.extensions/README.global_temporary_tables 2007-03-15 10:35:57.000000000 +0100
|
|
||||||
+++ Firebird-2.1.2.18118-0/doc/sql.extensions-gil/README.global_temporary_tables 2009-05-12 20:29:49.000000000 +0200
|
|
||||||
@@ -67,11 +67,12 @@
|
|
||||||
garbage collection of deleted record versions. DELETE triggers are not fired in
|
|
||||||
this case.
|
|
||||||
|
|
||||||
- Data and index pages of all of the GTT’s instances are placed in separate temporary
|
|
||||||
-file’s. Each connection has its own temporary file created when this connection
|
|
||||||
-first referenced some GTT. Also these temporary files are always opened with “Forced
|
|
||||||
-Writes = OFF” setting despite of database setting.
|
|
||||||
+ Data and index pages of all of the GTTs instances are placed in separate temporary
|
|
||||||
+files. Each connection has its own temporary file created when this connection
|
|
||||||
+first referenced some GTT. Also these temporary files are always opened with "Forced
|
|
||||||
+Writes = OFF" setting despite of database setting.
|
|
||||||
+
|
|
||||||
|
|
||||||
There's no limit on number of GTT instances. If you have N transactions
|
|
||||||
-active simultaneously and each transaction has referenced some GTT then you’ll
|
|
||||||
-have N GTT’s instances.
|
|
||||||
+active simultaneously and each transaction has referenced some GTT then you'll
|
|
||||||
+have N GTTs instances.
|
|
||||||
\ No newline at end of file
|
|
@ -1,48 +0,0 @@
|
|||||||
diff -Nru Firebird-2.1.2.18118-0/configure.in Firebird-2.1.2.18118-0-gil/configure.in
|
|
||||||
--- Firebird-2.1.2.18118-0/configure.in 2008-12-12 14:28:32.000000000 +0100
|
|
||||||
+++ Firebird-2.1.2.18118-0-gil/configure.in 2009-05-12 20:42:06.000000000 +0200
|
|
||||||
@@ -940,6 +940,7 @@
|
|
||||||
mkdir -p gen/firebird/lib
|
|
||||||
mkdir -p gen/firebird/misc
|
|
||||||
mkdir -p gen/firebird/help
|
|
||||||
+mkdir -p gen/firebird/run
|
|
||||||
|
|
||||||
dnl #### TEMP ######### directories for .o and .d
|
|
||||||
dnl # by module name
|
|
||||||
diff -Nru Firebird-2.1.2.18118-0/src/jrd/file_params.h Firebird-2.1.2.18118-0-gil/src/jrd/file_params.h
|
|
||||||
--- Firebird-2.1.2.18118-0/src/jrd/file_params.h 2007-02-11 10:03:57.000000000 +0100
|
|
||||||
+++ Firebird-2.1.2.18118-0-gil/src/jrd/file_params.h 2009-05-12 20:44:00.000000000 +0200
|
|
||||||
@@ -38,11 +38,11 @@
|
|
||||||
const int EVENT_SEMAPHORES = 1;
|
|
||||||
|
|
||||||
#ifdef NOHOSTNAME
|
|
||||||
-static const char* EVENT_FILE = "isc_event1";
|
|
||||||
-static const char* LOCK_FILE = "isc_lock1.gbl";
|
|
||||||
-static const char* INIT_FILE = "isc_init1";
|
|
||||||
-static const char* GUARD_FILE = "isc_guard1";
|
|
||||||
-static const char* MONITOR_FILE = "isc_monitor1";
|
|
||||||
+static const char* EVENT_FILE = "run/isc_event1";
|
|
||||||
+static const char* LOCK_FILE = "run/isc_lock1.gbl";
|
|
||||||
+static const char* INIT_FILE = "run/isc_init1";
|
|
||||||
+static const char* GUARD_FILE = "run/isc_guard1";
|
|
||||||
+static const char* MONITOR_FILE = "run/isc_monitor1";
|
|
||||||
#elif defined(VMS)
|
|
||||||
static const char* EVENT_FILE = "[000000]isc_event1.%s";
|
|
||||||
static const char* LOCK_FILE = "[000000]isc_lock1.%s";
|
|
||||||
@@ -56,11 +56,11 @@
|
|
||||||
static const char* GUARD_FILE = "%s.grd";
|
|
||||||
static const char* MONITOR_FILE = "%s.mon";
|
|
||||||
#else
|
|
||||||
-static const char* EVENT_FILE = "isc_event1.%s";
|
|
||||||
-static const char* LOCK_FILE = "isc_lock1.%s";
|
|
||||||
-static const char* INIT_FILE = "isc_init1.%s";
|
|
||||||
-static const char* GUARD_FILE = "isc_guard1.%s";
|
|
||||||
-static const char* MONITOR_FILE = "isc_monitor1.%s";
|
|
||||||
+static const char* EVENT_FILE = "run/isc_event1.%s";
|
|
||||||
+static const char* LOCK_FILE = "run/isc_lock1.%s";
|
|
||||||
+static const char* INIT_FILE = "run/isc_init1.%s";
|
|
||||||
+static const char* GUARD_FILE = "run/isc_guard1.%s";
|
|
||||||
+static const char* MONITOR_FILE = "run/isc_monitor1.%s";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef sun
|
|
@ -1,11 +0,0 @@
|
|||||||
--- Firebird-2.1.2.18118-0/builds/posix/prefix.linux 2007-05-03 13:24:50.000000000 +0200
|
|
||||||
+++ Firebird-2.1.2.18118-0/builds/posix/prefix.linux-gil 2009-05-12 20:36:07.000000000 +0200
|
|
||||||
@@ -22,7 +22,7 @@
|
|
||||||
# you may remove it if engine is getting compiled with any other GCC version
|
|
||||||
|
|
||||||
COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0
|
|
||||||
-OPTIMIZE_FLAGS=-O3 -march=i586 -mcpu=i686 -fno-omit-frame-pointer -fno-builtin
|
|
||||||
+OPTIMIZE_FLAGS=-O3 -march=i586 -mtune=i686 -fno-omit-frame-pointer -fno-builtin
|
|
||||||
WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
|
|
||||||
|
|
||||||
PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
|
|
@ -1,27 +0,0 @@
|
|||||||
--- builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in 2009-07-24 12:16:22.000000000 +0200
|
|
||||||
+++ builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in.new 2009-07-28 01:08:16.000000000 +0200
|
|
||||||
@@ -1,11 +1,20 @@
|
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
-# chkconfig: 345 20 80
|
|
||||||
+# chkconfig: 345 80 20
|
|
||||||
# description: Start/Stop firebird database server
|
|
||||||
#
|
|
||||||
# This file belongs in /etc/init.d where it will be run
|
|
||||||
# on system startup and shutdown to start the background
|
|
||||||
# Firebird database server daemon
|
|
||||||
+### BEGIN INIT INFO
|
|
||||||
+# Provides: firebird
|
|
||||||
+# Required-Start: $local_fs $syslog
|
|
||||||
+# Required-Stop:
|
|
||||||
+# Default-Start: 3 4 5
|
|
||||||
+# Default-Stop: 0 1 2 6
|
|
||||||
+# Short-Description: Firebird server database
|
|
||||||
+# Description: Starts and stops the Firebird database server backend daemon.
|
|
||||||
+### END INIT INFO
|
|
||||||
|
|
||||||
# Source function library - RedHat or Mandriva specific
|
|
||||||
# functions actually used: checkpid killproc daemon
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
# Author: Adriano dos Santos Fernandes
|
|
||||||
#Index: src/common/classes/alloc.h
|
|
||||||
#===================================================================
|
|
||||||
#RCS file: /cvsroot/firebird/firebird2/src/common/classes/alloc.h,v
|
|
||||||
#retrieving revision 1.71
|
|
||||||
diff -u -p -r1.71 alloc.h
|
|
||||||
--- src/common/classes/alloc.h 26 Sep 2007 17:48:20 -0000 1.71
|
|
||||||
+++ src/common/classes/alloc.h 20 May 2009 02:20:08 -0000
|
|
||||||
@@ -47,6 +47,7 @@
|
|
||||||
#include <stdlib.h> /* XPG: prototypes for malloc/free have to be in
|
|
||||||
stdlib.h (EKU) */
|
|
||||||
#endif
|
|
||||||
+#include <new>
|
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#define THROW_BAD_ALLOC
|
|
||||||
@@ -448,15 +449,6 @@ inline void* operator new[](size_t s) TH
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
-inline void* operator new(size_t, void* ptr) throw()
|
|
||||||
-{
|
|
||||||
- return ptr;
|
|
||||||
-}
|
|
||||||
-inline void* operator new[](size_t, void* ptr) throw()
|
|
||||||
-{
|
|
||||||
- return ptr;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
inline void operator delete(void* mem) throw()
|
|
||||||
{
|
|
||||||
Firebird::MemoryPool::globalFree(mem);
|
|
@ -1,432 +0,0 @@
|
|||||||
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 {
|
|
@ -1,11 +0,0 @@
|
|||||||
--- Firebird-2.1.4.18393-0/src/jrd/scl.epp.orig 2011-04-08 17:43:58.038668578 +0200
|
|
||||||
+++ Firebird-2.1.4.18393-0/src/jrd/scl.epp 2011-04-08 17:43:11.594901756 +0200
|
|
||||||
@@ -141,7 +141,7 @@
|
|
||||||
{
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
|||||||
diff -Nru Firebird-2.1.5.18496-0.orig/builds/install/arch-specific/linux/classic/makeInstallImage.sh.in Firebird-2.1.5.18496-0/builds/install/arch-specific/linux/classic/makeInstallImage.sh.in
|
|
||||||
--- Firebird-2.1.5.18496-0.orig/builds/install/arch-specific/linux/classic/makeInstallImage.sh.in 2012-06-20 09:57:20.000000000 +0200
|
|
||||||
+++ Firebird-2.1.5.18496-0/builds/install/arch-specific/linux/classic/makeInstallImage.sh.in 2012-10-06 19:19:34.189415759 +0200
|
|
||||||
@@ -196,8 +196,6 @@
|
|
||||||
# cp -f $BuiltFBDir/lib/gds.a @libdir@/libgds.a
|
|
||||||
cp -f $BuiltFBDir/lib/libib_util.so $DestDir/lib/libib_util.so
|
|
||||||
|
|
||||||
- cp -df $BuiltFBDir/lib/libicu*.so* $DestDir/lib/
|
|
||||||
-
|
|
||||||
cp $BuiltFBDir/intl/libfbintl.so $DestDir/intl/fbintl
|
|
||||||
cp $BuiltFBDir/UDF/ib_udf.so $DestDir/UDF/
|
|
||||||
cp $BuiltFBDir/UDF/fbudf.so $DestDir/UDF/
|
|
||||||
diff -Nru Firebird-2.1.5.18496-0.orig/builds/install/arch-specific/linux/super/makeInstallImage.sh.in Firebird-2.1.5.18496-0/builds/install/arch-specific/linux/super/makeInstallImage.sh.in
|
|
||||||
--- Firebird-2.1.5.18496-0.orig/builds/install/arch-specific/linux/super/makeInstallImage.sh.in 2012-06-20 09:57:20.000000000 +0200
|
|
||||||
+++ Firebird-2.1.5.18496-0/builds/install/arch-specific/linux/super/makeInstallImage.sh.in 2012-10-06 19:19:20.420545660 +0200
|
|
||||||
@@ -182,8 +182,6 @@
|
|
||||||
cp -df $BuiltFBDir/lib/libfbclient.so* $DestDir/lib
|
|
||||||
cp -f $BuiltFBDir/lib/libib_util.so $DestDir/lib/libib_util.so
|
|
||||||
|
|
||||||
- cp -df $BuiltFBDir/lib/libicu*.so* $DestDir/lib/
|
|
||||||
-
|
|
||||||
cp $BuiltFBDir/intl/libfbintl.so $DestDir/intl/fbintl
|
|
||||||
cp $BuiltFBDir/UDF/ib_udf.so $DestDir/UDF/
|
|
||||||
cp $BuiltFBDir/UDF/fbudf.so $DestDir/UDF/
|
|
@ -1,141 +0,0 @@
|
|||||||
--- Firebird-2.5.2.26540-0/builds/install/arch-specific/linux/misc/makeInstallImage.sh.in.orig 2013-06-27 13:14:33.562335793 +0200
|
|
||||||
+++ Firebird-2.5.2.26540-0/builds/install/arch-specific/linux/misc/makeInstallImage.sh.in 2013-06-27 13:15:27.325808333 +0200
|
|
||||||
@@ -28,11 +28,6 @@
|
|
||||||
# This script builds an image of the installed system into
|
|
||||||
# the gen/buildroot directory.
|
|
||||||
|
|
||||||
-if [ "`whoami`" != "root" ]; then
|
|
||||||
- echo 'You must be root to build package'
|
|
||||||
- exit 1
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
# Making an assumption that this program is being run in the gen directory
|
|
||||||
BuildRootDir=..
|
|
||||||
BuiltFBDir=./firebird # Where the just build fb exists.
|
|
||||||
@@ -118,7 +113,6 @@
|
|
||||||
for d in $Dirs; do
|
|
||||||
Dir=${TargetDir}${d}
|
|
||||||
mkdir -p $Dir
|
|
||||||
- chown root:root $Dir
|
|
||||||
chmod 0755 $Dir
|
|
||||||
done
|
|
||||||
}
|
|
||||||
@@ -163,7 +157,6 @@
|
|
||||||
cp $BuiltFBDir/bin/isql ${TargetDir}@FB_BINDIR@/isql
|
|
||||||
cp $BuiltFBDir/bin/qli ${TargetDir}@FB_BINDIR@/qli
|
|
||||||
|
|
||||||
- chown root:root ${TargetDir}@FB_BINDIR@/*
|
|
||||||
chmod 0755 ${TargetDir}@FB_BINDIR@/*
|
|
||||||
|
|
||||||
#sbin
|
|
||||||
@@ -182,7 +175,6 @@
|
|
||||||
cp $BuiltFBDir/bin/createAliasDB.sh ${TargetDir}@FB_SBINDIR@
|
|
||||||
cp $BuiltFBDir/bin/fb_config ${TargetDir}@FB_SBINDIR@
|
|
||||||
|
|
||||||
- chown root:root ${TargetDir}@FB_SBINDIR@/*
|
|
||||||
chmod 0755 ${TargetDir}@FB_SBINDIR@/*
|
|
||||||
chmod 0700 ${TargetDir}@FB_SBINDIR@/*.sh
|
|
||||||
|
|
||||||
@@ -206,19 +198,16 @@
|
|
||||||
|
|
||||||
for i in `find ${TargetDir}@FB_SAMPLEDIR@ -type d -print`
|
|
||||||
do
|
|
||||||
- chown root:root $i
|
|
||||||
chmod 0555 $i
|
|
||||||
done
|
|
||||||
for i in `find ${TargetDir}@FB_SAMPLEDIR@ -type f -print`
|
|
||||||
do
|
|
||||||
- chown root:root $i
|
|
||||||
chmod 0444 $i
|
|
||||||
done
|
|
||||||
|
|
||||||
makeDirs @FB_SAMPLEDBDIR@
|
|
||||||
cp $BuiltFBDir/examples/empbuild/*.fdb ${TargetDir}@FB_SAMPLEDBDIR@
|
|
||||||
|
|
||||||
- chown root:root ${TargetDir}@FB_SAMPLEDBDIR@/*.fdb
|
|
||||||
chmod 0444 ${TargetDir}@FB_SAMPLEDBDIR@/*.fdb
|
|
||||||
fi
|
|
||||||
|
|
||||||
@@ -226,13 +215,11 @@
|
|
||||||
copyIfExists $BuiltFBDir/help/help.gbak ${TargetDir}@FB_HELPDIR@
|
|
||||||
cp $BuiltFBDir/help/help.fdb ${TargetDir}@FB_HELPDIR@
|
|
||||||
|
|
||||||
- chown root:root ${TargetDir}@FB_HELPDIR@/*.fdb
|
|
||||||
chmod 0444 ${TargetDir}@FB_HELPDIR@/*.fdb
|
|
||||||
|
|
||||||
#message file
|
|
||||||
cp $BuiltFBDir/*.msg ${TargetDir}@FB_MSGDIR@
|
|
||||||
|
|
||||||
- chown root:root ${TargetDir}@FB_MSGDIR@/*.msg
|
|
||||||
chmod 0444 ${TargetDir}@FB_MSGDIR@/*.msg
|
|
||||||
|
|
||||||
#secureDB (access rights will be set at install time)
|
|
||||||
@@ -241,7 +228,6 @@
|
|
||||||
#.h files
|
|
||||||
cp $BuiltFBDir/include/*.h ${TargetDir}@FB_INCDIR@
|
|
||||||
|
|
||||||
- chown root:root ${TargetDir}@FB_INCDIR@/*.h
|
|
||||||
chmod 0444 ${TargetDir}@FB_INCDIR@/*.h
|
|
||||||
|
|
||||||
#lib
|
|
||||||
@@ -250,20 +236,17 @@
|
|
||||||
cp -f $BuiltFBDir/lib/libib_util.so ${TargetDir}@FB_LIBDIR@/libib_util.so
|
|
||||||
copyIfExists $BuiltFBDir/lib/libicu*.so* ${TargetDir}@FB_LIBDIR@
|
|
||||||
|
|
||||||
- chown root:root ${TargetDir}@FB_LIBDIR@/*.so*
|
|
||||||
chmod 0755 ${TargetDir}@FB_LIBDIR@/*.so*
|
|
||||||
|
|
||||||
#plugins
|
|
||||||
cp -df $BuiltFBDir/plugins/* ${TargetDir}@FB_PLUGDIR@
|
|
||||||
|
|
||||||
- chown root:root ${TargetDir}@FB_PLUGDIR@/*.so*
|
|
||||||
chmod 0755 ${TargetDir}@FB_PLUGDIR@/*.so*
|
|
||||||
|
|
||||||
#intl
|
|
||||||
cp $BuiltFBDir/intl/libfbintl.so ${TargetDir}@FB_INTLDIR@/fbintl
|
|
||||||
cp $BuildRootDir/gen/install/misc/fbintl.conf ${TargetDir}@FB_INTLDIR@
|
|
||||||
|
|
||||||
- chown root:root ${TargetDir}@FB_INTLDIR@/fbintl*
|
|
||||||
chmod 0755 ${TargetDir}@FB_INTLDIR@/fbintl
|
|
||||||
chmod 0644 ${TargetDir}@FB_INTLDIR@/fbintl.conf
|
|
||||||
|
|
||||||
@@ -276,7 +259,6 @@
|
|
||||||
cp $BuildRootDir/src/extlib/ib_udf2.sql ${TargetDir}@FB_UDFDIR@
|
|
||||||
cp $BuildRootDir/src/extlib/fbudf/fbudf.sql ${TargetDir}@FB_UDFDIR@
|
|
||||||
|
|
||||||
- chown root:root ${TargetDir}@FB_UDFDIR@/*.so ${TargetDir}@FB_UDFDIR@/*.sql
|
|
||||||
chmod 0755 ${TargetDir}@FB_UDFDIR@/*.so
|
|
||||||
chmod 0644 ${TargetDir}@FB_UDFDIR@/*.sql
|
|
||||||
|
|
||||||
@@ -287,9 +269,7 @@
|
|
||||||
cp $BuildRootDir/doc/WhatsNew ${TargetDir}@FB_CONFDIR@/WhatsNew
|
|
||||||
cp $BuildRootDir/doc/README.user ${TargetDir}@FB_CONFDIR@/README
|
|
||||||
|
|
||||||
- chown -R root:root ${TargetDir}@FB_MISCDIR@
|
|
||||||
for i in `find ${TargetDir}@FB_MISCDIR@ -print`; do
|
|
||||||
- chown root:root $i
|
|
||||||
if [ -d $i ]; then
|
|
||||||
chmod 0755 $i
|
|
||||||
else
|
|
||||||
@@ -306,7 +286,6 @@
|
|
||||||
cp $BuildRootDir/gen/install/misc/firebird.init.d.* ${TargetDir}@FB_MISCDIR@
|
|
||||||
cp $BuildRootDir/gen/install/misc/rc.config.firebird ${TargetDir}@FB_MISCDIR@
|
|
||||||
|
|
||||||
- chown -R root:root ${TargetDir}@FB_MISCDIR@
|
|
||||||
chmod -R go-rwx ${TargetDir}@FB_MISCDIR@
|
|
||||||
|
|
||||||
#conf
|
|
||||||
@@ -314,13 +293,11 @@
|
|
||||||
cp $BuildRootDir/gen/install/misc/aliases.conf ${TargetDir}@FB_CONFDIR@
|
|
||||||
cp $BuildRootDir/gen/install/misc/fbtrace.conf ${TargetDir}@FB_CONFDIR@
|
|
||||||
|
|
||||||
- chown root:root ${TargetDir}@FB_CONFDIR@/*.conf
|
|
||||||
chmod 0644 ${TargetDir}@FB_CONFDIR@/*.conf
|
|
||||||
|
|
||||||
#license
|
|
||||||
cp $BuildRootDir/builds/install/misc/*License.txt ${TargetDir}@FB_CONFDIR@
|
|
||||||
|
|
||||||
- chown root:root ${TargetDir}@FB_CONFDIR@/*License.txt
|
|
||||||
chmod 0444 ${TargetDir}@FB_CONFDIR@/*License.txt
|
|
||||||
|
|
||||||
# Create links from @libdir@ to install area.
|
|
@ -1,12 +0,0 @@
|
|||||||
--- Firebird-3.0.1.32609-0/src/common/classes/init.h.orig 2016-10-07 00:30:20.110681159 +0200
|
|
||||||
+++ Firebird-3.0.1.32609-0/src/common/classes/init.h 2016-10-07 00:27:47.820536592 +0200
|
|
||||||
@@ -121,7 +121,8 @@
|
|
||||||
public:
|
|
||||||
void dtor()
|
|
||||||
{
|
|
||||||
- delete instance;
|
|
||||||
+ if (instance)
|
|
||||||
+ delete instance;
|
|
||||||
instance = 0;
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
|||||||
# -*- Mode: Diff -*-
|
|
||||||
--- firebird/src/dudley/exe.epp
|
|
||||||
+++ firebird/src/dudley/exe.epp
|
|
||||||
@@ -2884,9 +2884,9 @@
|
|
||||||
blr_parameter, 0, 0, 0,
|
|
||||||
blr_parameter, 0, 1, 0,
|
|
||||||
blr_parameter, 1, 0, 0,
|
|
||||||
- blr_end,
|
|
||||||
- blr_end,
|
|
||||||
- blr_end,
|
|
||||||
+ SCHAR(blr_end),
|
|
||||||
+ SCHAR(blr_end),
|
|
||||||
+ SCHAR(blr_end),
|
|
||||||
blr_eoc
|
|
||||||
};
|
|
||||||
static FB_API_HANDLE req_handle;
|
|
@ -1,30 +0,0 @@
|
|||||||
--- src/common/classes/alloc.cpp
|
|
||||||
+++ src/common/classes/alloc.cpp
|
|
||||||
@@ -2121,3 +2121,11 @@
|
|
||||||
{
|
|
||||||
Firebird::MemoryPool::globalFree(mem);
|
|
||||||
}
|
|
||||||
+void operator delete(void* mem, size_t) throw()
|
|
||||||
+{
|
|
||||||
+ Firebird::MemoryPool::globalFree(mem);
|
|
||||||
+}
|
|
||||||
+void operator delete[](void* mem, size_t) throw()
|
|
||||||
+{
|
|
||||||
+ Firebird::MemoryPool::globalFree(mem);
|
|
||||||
+}
|
|
||||||
--- src/common/classes/alloc.h
|
|
||||||
+++ src/common/classes/alloc.h
|
|
||||||
@@ -491,13 +491,6 @@
|
|
||||||
|
|
||||||
inline static MemoryPool* getDefaultMemoryPool() { return Firebird::MemoryPool::processMemoryPool; }
|
|
||||||
|
|
||||||
-// Global versions of operators new and delete
|
|
||||||
-void* operator new(size_t s) THROW_BAD_ALLOC;
|
|
||||||
-void* operator new[](size_t s) THROW_BAD_ALLOC;
|
|
||||||
-
|
|
||||||
-void operator delete(void* mem) throw();
|
|
||||||
-void operator delete[](void* mem) throw();
|
|
||||||
-
|
|
||||||
#ifdef DEBUG_GDS_ALLOC
|
|
||||||
inline void* operator new(size_t s, Firebird::MemoryPool& pool, const char* file, int line)
|
|
||||||
{
|
|
@ -1,63 +0,0 @@
|
|||||||
From a4cb621bf55ef2101e22b1e7da5c458a1e0cc2ab Mon Sep 17 00:00:00 2001
|
|
||||||
From: AlexPeshkoff <alexander.peshkoff@gmail.com>
|
|
||||||
Date: Sat, 10 Feb 2018 19:43:26 +0300
|
|
||||||
Subject: [PATCH] Make it build with icu60
|
|
||||||
|
|
||||||
---
|
|
||||||
src/common/common.h | 3 +++
|
|
||||||
src/common/unicode_util.h | 4 ++++
|
|
||||||
src/intl/cs_icu.cpp | 1 -
|
|
||||||
src/intl/cv_icu.cpp | 1 -
|
|
||||||
4 files changed, 7 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/common/common.h b/src/common/common.h
|
|
||||||
index 2cf877a804..58abaaf695 100644
|
|
||||||
--- a/src/common/common.h
|
|
||||||
+++ b/src/common/common.h
|
|
||||||
@@ -997,4 +997,7 @@ namespace Firebird {
|
|
||||||
static IMessageMetadata* const DELAYED_OUT_FORMAT = reinterpret_cast<IMessageMetadata*>(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#undef UCHAR_TYPE
|
|
||||||
+#define UCHAR_TYPE uint16_t
|
|
||||||
+
|
|
||||||
#endif /* COMMON_COMMON_H */
|
|
||||||
diff --git a/src/common/unicode_util.h b/src/common/unicode_util.h
|
|
||||||
index 001d3d8283..03d48f9419 100644
|
|
||||||
--- a/src/common/unicode_util.h
|
|
||||||
+++ b/src/common/unicode_util.h
|
|
||||||
@@ -31,6 +31,10 @@
|
|
||||||
#include "../common/IntlUtil.h"
|
|
||||||
#include "../common/os/mod_loader.h"
|
|
||||||
#include "../common/classes/fb_string.h"
|
|
||||||
+
|
|
||||||
+#undef U_SHOW_CPLUSPLUS_API
|
|
||||||
+#define U_SHOW_CPLUSPLUS_API 0
|
|
||||||
+
|
|
||||||
#include <unicode/ucnv.h>
|
|
||||||
|
|
||||||
struct UCollator;
|
|
||||||
diff --git a/src/intl/cs_icu.cpp b/src/intl/cs_icu.cpp
|
|
||||||
index 76f15a2e68..bc3b48b44f 100644
|
|
||||||
--- a/src/intl/cs_icu.cpp
|
|
||||||
+++ b/src/intl/cs_icu.cpp
|
|
||||||
@@ -28,7 +28,6 @@
|
|
||||||
#include "../intl/ldcommon.h"
|
|
||||||
#include "cs_icu.h"
|
|
||||||
#include "cv_icu.h"
|
|
||||||
-#include <unicode/ucnv.h>
|
|
||||||
#include "../common/unicode_util.h"
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/intl/cv_icu.cpp b/src/intl/cv_icu.cpp
|
|
||||||
index b1ac01fce5..82262d9b4d 100644
|
|
||||||
--- a/src/intl/cv_icu.cpp
|
|
||||||
+++ b/src/intl/cv_icu.cpp
|
|
||||||
@@ -28,7 +28,6 @@
|
|
||||||
#include "../intl/ldcommon.h"
|
|
||||||
#include "ld_proto.h"
|
|
||||||
#include "cv_icu.h"
|
|
||||||
-#include <unicode/ucnv.h>
|
|
||||||
#include "../common/unicode_util.h"
|
|
||||||
|
|
||||||
|
|
228
firebird.spec
228
firebird.spec
@ -5,7 +5,7 @@
|
|||||||
%define major_ %(echo %version | cut -d. -f 1-3 | tr . _)
|
%define major_ %(echo %version | cut -d. -f 1-3 | tr . _)
|
||||||
%define majver %(echo %version | cut -d. -f 1-2)
|
%define majver %(echo %version | cut -d. -f 1-2)
|
||||||
Name: firebird
|
Name: firebird
|
||||||
Version: 3.0.7.33374
|
Version: 4.0.0.2496
|
||||||
Release: 1mamba
|
Release: 1mamba
|
||||||
Summary: SQL Relational Database
|
Summary: SQL Relational Database
|
||||||
Group: Applications/Databases
|
Group: Applications/Databases
|
||||||
@ -13,7 +13,7 @@ Vendor: openmamba
|
|||||||
Distribution: openmamba
|
Distribution: openmamba
|
||||||
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||||
URL: http://www.firebirdsql.org/
|
URL: http://www.firebirdsql.org/
|
||||||
Source0: https://github.com/FirebirdSQL/firebird/releases/download/R%{major_}/Firebird-%{version}-0.tar.bz2
|
Source0: https://github.com/FirebirdSQL/firebird/releases/download/v%{major}/Firebird-%{version}-0.tar.xz
|
||||||
Source1: Firebird-2.1.2.18118.0-profile.sh
|
Source1: Firebird-2.1.2.18118.0-profile.sh
|
||||||
Source2: Firebird-2.1.2.18118.0-profile.csh
|
Source2: Firebird-2.1.2.18118.0-profile.csh
|
||||||
Source3: Firebird-2.1.2.18118.0-logrotate
|
Source3: Firebird-2.1.2.18118.0-logrotate
|
||||||
@ -21,62 +21,41 @@ Source4: firebird.service
|
|||||||
Source5: firebird-tmpfiles.conf
|
Source5: firebird-tmpfiles.conf
|
||||||
Source6: firebird-sysusers.conf
|
Source6: firebird-sysusers.conf
|
||||||
Source7: firebird-default.password
|
Source7: firebird-default.password
|
||||||
Patch0: Firebird-2.1.3.18185-fix-initscript.patch
|
|
||||||
Patch1: Firebird-2.1.2.18118.0-doc.patch
|
|
||||||
Patch2: Firebird-2.1.2.18118.0-mcpu-to-mtune.patch
|
|
||||||
Patch3: Firebird-2.1.2.18118.0-lock-file-location.patch
|
|
||||||
Patch4: Firebird-2.1.3.18185-gcc-icu.patch
|
|
||||||
Patch5: %{name}-2.1.4.18393-gcc45.patch
|
|
||||||
Patch6: firebird-2.1.4-gcc-4.7.patch
|
|
||||||
Patch7: firebird-2.1.5-system-icu.patch
|
|
||||||
Patch8: firebird-2.5.2.26540-makeInstallImage-noroot.patch
|
|
||||||
Patch9: firebird-3.0.1.32609-gcc-6.2.0.patch
|
|
||||||
Patch10: firebird-3.0.2.32703-c++11.patch
|
|
||||||
Patch11: firebird-3.0.2.32703-c++14.patch
|
|
||||||
Patch12: firebird-3.0.3.32900-icu-60.patch
|
|
||||||
License: MPL 1.1
|
License: MPL 1.1
|
||||||
## AUTOBUILDREQ-BEGIN
|
## AUTOBUILDREQ-BEGIN
|
||||||
BuildRequires: glibc-devel
|
BuildRequires: glibc-devel
|
||||||
|
BuildRequires: libatomic-devel
|
||||||
BuildRequires: libedit-devel
|
BuildRequires: libedit-devel
|
||||||
BuildRequires: libgcc
|
BuildRequires: libgcc
|
||||||
BuildRequires: libncurses-devel
|
BuildRequires: libncurses-devel
|
||||||
BuildRequires: libstdc++6-devel
|
BuildRequires: libtomcrypt-devel
|
||||||
BuildRequires: libtommath-devel
|
BuildRequires: libtommath-devel
|
||||||
## AUTOBUILDREQ-END
|
## AUTOBUILDREQ-END
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
BuildConflicts: libfbclient < 3.0
|
BuildRequires: libtomcrypt-devel
|
||||||
#BuildConflicts: libfbembed-firebird
|
BuildConflicts: libfbclient < %{majver}
|
||||||
Requires: libfbclient = %{version}-%{release}
|
Requires: libfbclient = %{?epoch:%epoch:}%{version}-%{release}
|
||||||
Provides: Firebird
|
Provides: Firebird
|
||||||
Obsoletes: Firebird
|
Obsoletes: Firebird < 4.0.0
|
||||||
%systemd_requires
|
%systemd_requires
|
||||||
Provides: firebird-classic
|
Provides: firebird-classic
|
||||||
Obsoletes: firebird-classic < 3.0.7.33374
|
Obsoletes: firebird-classic < 3.0.7.33374
|
||||||
|
Provides: firebird-superserver
|
||||||
|
Obsoletes: firebird-superserver < 4.0
|
||||||
|
Provides: Firebird-superserver
|
||||||
|
Obsoletes: Firebird-superserver < 3.0.7.33374
|
||||||
|
|
||||||
%description
|
%description
|
||||||
%{name} is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms. %{name} offers excellent concurrency, high performance,and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names, since 1981.
|
%{name} is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms. %{name} offers excellent concurrency, high performance,and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names, since 1981.
|
||||||
The %{name} Project is a commercially independent project of C and C++ programmers, technical advisors and supporters developing and enhancing a multi-platform relational database management system based on the source code released by Inprise Corp (now known as Borland Software Corp) on 25 July, 2000.
|
The %{name} Project is a commercially independent project of C and C++ programmers, technical advisors and supporters developing and enhancing a multi-platform relational database management system based on the source code released by Inprise Corp (now known as Borland Software Corp) on 25 July, 2000.
|
||||||
|
|
||||||
%package classic
|
|
||||||
Group: Applications/Databases
|
|
||||||
Summary: Classic (xinetd) server for %{name} SQL RDBMS
|
|
||||||
Requires: xinetd
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
Conflicts: %{name}-superserver
|
|
||||||
Provides: Firebird-classic
|
|
||||||
Obsoletes: Firebird-classic < 3.0.7.33374
|
|
||||||
|
|
||||||
%description classic
|
|
||||||
%{name} is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms.
|
|
||||||
This is the classic (xinetd) server %{name} SQL RDBMS. It can also be used as an embedded server, when paired with the client-embedded package.
|
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Group: Applications/Databases
|
Group: Applications/Databases
|
||||||
Summary: Development Libraries for %{name} SQL RDBMS
|
Summary: Development Libraries for %{name} SQL RDBMS
|
||||||
Requires: libfbclient = %{version}-%{release}
|
Requires: libfbclient = %{?epoch:%epoch:}%{version}-%{release}
|
||||||
Provides: Firebird-devel
|
Provides: Firebird-devel
|
||||||
Obsoletes: Firebird-devel < 3.0.7.33374
|
Obsoletes: Firebird-devel < 3.0.7.33374
|
||||||
|
|
||||||
@ -107,69 +86,38 @@ Obsoletes: libfbclient-firebird < 3.0.7.33374
|
|||||||
%{name} is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms.
|
%{name} is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms.
|
||||||
This package contains multi-threaded, non-local client libraries for Firebird SQL Database
|
This package contains multi-threaded, non-local client libraries for Firebird SQL Database
|
||||||
|
|
||||||
%package -n libfbembed
|
|
||||||
Group: System/Libraries
|
|
||||||
Summary: Multi-process, local client libraries for Firebird SQL RDBMS
|
|
||||||
Provides: libfbembed-Firebird
|
|
||||||
Obsoletes: libfbembed-Firebird < 3.0.7.33374
|
|
||||||
Provides: libfbembed-firebird
|
|
||||||
Obsoletes: libfbembed-firebird < 3.0.7.33374
|
|
||||||
|
|
||||||
%description -n libfbembed
|
|
||||||
%{name} is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms.
|
|
||||||
This package contains multi-process, local client libraries for Firebird SQL RDBMS
|
|
||||||
|
|
||||||
%package superserver
|
|
||||||
Group: Applications/Databases
|
|
||||||
Summary: Superserver (single process) server for %{name} SQL RDBMS
|
|
||||||
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
|
|
||||||
#Conflicts: %{name}-classic
|
|
||||||
Provides: Firebird-superserver
|
|
||||||
Obsoletes: Firebird-superserver < 3.0.7.33374
|
|
||||||
|
|
||||||
%description superserver
|
|
||||||
%{name} is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms.
|
|
||||||
This is the Superserver (single process) %{name} SQL RDBMS.
|
|
||||||
|
|
||||||
%debug_package
|
%debug_package
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n Firebird-%{version}-0
|
%setup -q -n Firebird-%{version}-0
|
||||||
#-D -T
|
#-D -T
|
||||||
#:<< __EOF
|
#:<< __EOF
|
||||||
#%patch12 -p1
|
NOCONFIGURE=1 ./autogen.sh
|
||||||
./autogen.sh
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
#:<< __EOF
|
#:<< __EOF
|
||||||
|
|
||||||
%configure \
|
%configure \
|
||||||
--prefix=%{_prefix} \
|
--disable-rpath \
|
||||||
--with-fbbin=%{_bindir} \
|
|
||||||
--with-fbconf=%{_sysconfdir}/firebird \
|
--with-fbconf=%{_sysconfdir}/firebird \
|
||||||
--with-fbdoc=%{_docdir}/firebird \
|
|
||||||
--with-fbglock=/run/firebird \
|
|
||||||
--with-fbhelp=%{_docdir}/firebird/help \
|
|
||||||
--with-fbinclude=%{_includedir}/firebird \
|
--with-fbinclude=%{_includedir}/firebird \
|
||||||
--with-fblib=%{_libdir} \
|
--with-fbbin=%{_bindir} \
|
||||||
--with-fblock=/run/firebird \
|
--with-fbdoc=%{_docdir}/firebird \
|
||||||
--with-fblog=/var/log/ \
|
--with-fbhelp=%{_docdir}/firebird/help \
|
||||||
--with-fbmsg=%{_libdir}/firebird/msg \
|
|
||||||
--with-fbplugins=%{_libdir}/firebird/plugins \
|
|
||||||
--with-fbsbin=%{_libdir}/firebird/bin \
|
|
||||||
--with-fbudf=%{_libdir}/firebird/UDF \
|
|
||||||
--with-fbsecure-db=/var/lib/firebird/system \
|
|
||||||
--with-fbintl=%{_libdir}/firebird/intl \
|
--with-fbintl=%{_libdir}/firebird/intl \
|
||||||
|
--with-fbsbin=%{_libdir}/firebird/bin \
|
||||||
|
--with-fblib=%{_libdir} \
|
||||||
|
--with-fbsecure-db=/var/lib/firebird/system \
|
||||||
|
--with-fbmsg=%{_libdir}/firebird/msg \
|
||||||
|
--with-fblog=/var/log/firebird \
|
||||||
|
--with-fbglock=/run/firebird \
|
||||||
|
--with-fbplugins=%{_libdir}/firebird/plugins \
|
||||||
|
--with-fbtzdata=%{_localstatedir}/lib/%{name}/tzdata \
|
||||||
|
--with-system-editline \
|
||||||
--without-fbmisc \
|
--without-fbmisc \
|
||||||
--without-fbsample \
|
--without-fbsample \
|
||||||
--without-fbsample-db \
|
--without-fbsample-db
|
||||||
--enable-superserver \
|
|
||||||
--with-system-icu \
|
|
||||||
--with-system-editline
|
|
||||||
|
|
||||||
#chmod u+w gen/* -R
|
|
||||||
|
|
||||||
## FIXME: 3.0.1.32609 segfaults when creating fdb files
|
|
||||||
##-j1 CXXFLAGS='-flifetime-dse=1'
|
|
||||||
%make
|
%make
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -183,18 +131,18 @@ cd ..
|
|||||||
install -d -m0755 %{buildroot}
|
install -d -m0755 %{buildroot}
|
||||||
cp -av gen/buildroot/* %{buildroot}/
|
cp -av gen/buildroot/* %{buildroot}/
|
||||||
|
|
||||||
|
install -Dm644 %{SOURCE4} %{buildroot}%{_unitdir}/firebird.service
|
||||||
install -Dm644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/firebird.conf
|
install -Dm644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/firebird.conf
|
||||||
install -Dm644 %{SOURCE6} %{buildroot}%{_sysusersdir}/firebird.conf
|
install -Dm644 %{SOURCE6} %{buildroot}%{_sysusersdir}/firebird.conf
|
||||||
install -Dm644 %{SOURCE4} %{buildroot}%{_unitdir}/firebird.service
|
install -Dm440 %{SOURCE7} %{builrooot}/var/lib/firebird/system/SYSDBA.password
|
||||||
install -Dm440 %{SOURCE7} %{builroott}/var/lib/firebird/system/SYSDBA.password
|
|
||||||
install -Dm644 %{buildroot}%{_sysconfdir}/firebird/I{,D}PLicense.txt -t %{buildroot}%{_datadir}/licenses/%{name}
|
install -Dm644 %{buildroot}%{_sysconfdir}/firebird/I{,D}PLicense.txt -t %{buildroot}%{_datadir}/licenses/%{name}
|
||||||
|
|
||||||
# Remove unused files and dirs
|
# Remove unused files and dirs
|
||||||
rm %{buildroot}%{_sysconfdir}/firebird/I{,D}PLicense.txt
|
rm %{buildroot}%{_sysconfdir}/firebird/I{,D}PLicense.txt
|
||||||
rm %{buildroot}%{_sysconfdir}/firebird/README
|
rm %{buildroot}%{_sysconfdir}/firebird/README.md
|
||||||
rm %{buildroot}%{_sysconfdir}/firebird/WhatsNew
|
rm %{buildroot}%{_sysconfdir}/firebird/CHANGELOG.md
|
||||||
rm -rf %{buildroot}/var/log
|
rm -rf %{buildroot}/var/log
|
||||||
rm -rf %{buuildroot}/run
|
rm -rf %{buildroot}/run
|
||||||
|
|
||||||
mv %{buildroot}%{_bindir}/isql{,-fb}
|
mv %{buildroot}%{_bindir}/isql{,-fb}
|
||||||
|
|
||||||
@ -215,25 +163,34 @@ if [ $1 -ge 1 ]; then
|
|||||||
/usr/sbin/useradd -u %{userid} -c 'Firebird user' -d /dev/null -g firebird \
|
/usr/sbin/useradd -u %{userid} -c 'Firebird user' -d /dev/null -g firebird \
|
||||||
-s /bin/false firebird 2>/dev/null
|
-s /bin/false firebird 2>/dev/null
|
||||||
fi
|
fi
|
||||||
exit 0
|
:
|
||||||
|
|
||||||
|
%post
|
||||||
|
%systemd_post firebird.service
|
||||||
|
:
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%systemd_postun_with_restart firebird.service
|
||||||
|
:
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
|
%systemd_preun firebird.service
|
||||||
if [ $1 -eq 0 ]; then
|
if [ $1 -eq 0 ]; then
|
||||||
/usr/sbin/userdel firebird 2>/dev/null
|
/usr/sbin/userdel firebird 2>/dev/null
|
||||||
/usr/sbin/groupdel firebird 2>/dev/null
|
/usr/sbin/groupdel firebird 2>/dev/null
|
||||||
fi
|
fi
|
||||||
exit 0
|
:
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%dir %{_sysconfdir}/firebird
|
%dir %{_sysconfdir}/firebird
|
||||||
%config %{_sysconfdir}/firebird/databases.conf
|
%config(noreplace) %{_sysconfdir}/firebird/databases.conf
|
||||||
%config %{_sysconfdir}/firebird/plugins.conf
|
%config(noreplace) %{_sysconfdir}/firebird/plugins.conf
|
||||||
%config %{_sysconfdir}/firebird/fbtrace.conf
|
%config(noreplace) %{_sysconfdir}/firebird/fbtrace.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/firebird/replication.conf
|
||||||
%config(noreplace) %attr(664,firebird,firebird) %{_sysconfdir}/firebird/firebird.conf
|
%config(noreplace) %attr(664,firebird,firebird) %{_sysconfdir}/firebird/firebird.conf
|
||||||
%{_bindir}/fbsvcmgr
|
%{_bindir}/fbsvcmgr
|
||||||
%{_bindir}/fbtracemgr
|
%{_bindir}/fbtracemgr
|
||||||
#%{_bindir}/gdef
|
|
||||||
%{_bindir}/gpre
|
%{_bindir}/gpre
|
||||||
%{_bindir}/gsplit
|
%{_bindir}/gsplit
|
||||||
%{_bindir}/isql-fb
|
%{_bindir}/isql-fb
|
||||||
@ -243,54 +200,32 @@ exit 0
|
|||||||
%{_bindir}/gsec
|
%{_bindir}/gsec
|
||||||
%{_bindir}/gstat
|
%{_bindir}/gstat
|
||||||
%{_bindir}/nbackup
|
%{_bindir}/nbackup
|
||||||
#%{_unitdir}/firebird-classic.socket
|
%{_unitdir}/firebird.service
|
||||||
#%{_unitdir}/firebird-classic@.service
|
%{_sysusersdir}/firebird.conf
|
||||||
%dir %{_libdir}/firebird
|
%{_tmpfilesdir}/firebird.conf
|
||||||
#%{_libdir}/firebird/databases.conf
|
|
||||||
#%{_libdir}/firebird/firebird.conf
|
|
||||||
%{_libdir}/firebird/intl/fbintl.conf
|
|
||||||
#%{_libdir}/firebird/plugins.conf
|
|
||||||
#%dir %{_libdir}/firebird/lib
|
|
||||||
#%{_libdir}/firebird/fbtrace.conf
|
|
||||||
%dir %{_libdir}/firebird/UDF
|
|
||||||
#%{_libdir}/firebird/UDF/fbudf.so
|
|
||||||
%{_libdir}/firebird/UDF/fbudf.sql
|
|
||||||
#%{_libdir}/firebird/UDF/ib_udf.so
|
|
||||||
%{_libdir}/firebird/UDF/ib_udf.sql
|
|
||||||
%{_libdir}/firebird/UDF/ib_udf2.sql
|
|
||||||
%doc ChangeLog doc/license/IDPL.txt
|
|
||||||
%doc doc/license/README.license.usage.txt
|
|
||||||
|
|
||||||
#%files classic
|
|
||||||
#%defattr(-,root,root)
|
|
||||||
#%config(noreplace) %{_sysconfdir}/xinetd.d/firebird
|
|
||||||
#%dir %{_libdir}/firebird/bin-classic
|
|
||||||
#%dir %{_libdir}/firebird/UDF-classic
|
|
||||||
#%attr(755,root,root) %{_libdir}/firebird/bin-classic/*
|
|
||||||
#%attr(755,root,root) %{_libdir}/firebird/UDF-classic/*.so
|
|
||||||
#%attr(755,root,root) %{_libdir}/firebird/UDF-classic/*.sql
|
|
||||||
#%doc doc/license/IDPL.txt
|
|
||||||
#%doc doc/license/README.license.usage.txt
|
|
||||||
|
|
||||||
%files -n libfbclient
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%attr(755,root,root) %{_libdir}/libfbclient.so.*
|
|
||||||
%dir %{_libdir}/firebird
|
%dir %{_libdir}/firebird
|
||||||
%dir %{_libdir}/firebird/plugins
|
%dir %{_libdir}/firebird/plugins
|
||||||
%{_libdir}/firebird/plugins/*.so
|
%{_libdir}/firebird/plugins/*.so
|
||||||
%dir %{_libdir}/firebird/plugins/udr
|
|
||||||
%{_libdir}/firebird/plugins/udr/*.so
|
|
||||||
%{_libdir}/firebird/plugins/udr_engine.conf
|
%{_libdir}/firebird/plugins/udr_engine.conf
|
||||||
%dir %{_libdir}/firebird/UDF
|
%dir %{_libdir}/firebird/plugins/udr
|
||||||
%{_libdir}/firebird/UDF/*.so
|
%{_libdir}/firebird/plugins/udr/*
|
||||||
%{_libdir}/firebird/intl/fbintl
|
#%dir %{_libdir}/firebird/UDF
|
||||||
#%{_libdir}/firebird/msg/de_DE.msg
|
#%{_libdir}/firebird/UDF/*.so
|
||||||
|
#%{_libdir}/firebird/UDF/*.sql
|
||||||
|
%{_libdir}/firebird/intl/fbintl*
|
||||||
%{_libdir}/firebird/msg/firebird.msg
|
%{_libdir}/firebird/msg/firebird.msg
|
||||||
#%{_libdir}/firebird/msg/fr_FR.msg
|
%{_localstatedir}/lib/firebird/system/security4.fdb
|
||||||
|
%{_localstatedir}/lib/firebird/tzdata/metaZones.res
|
||||||
|
%{_localstatedir}/lib/firebird/tzdata/timezoneTypes.res
|
||||||
|
%{_localstatedir}/lib/firebird/tzdata/windowsZones.res
|
||||||
|
%{_localstatedir}/lib/firebird/tzdata/zoneinfo64.res
|
||||||
%dir %{_libdir}/firebird/bin
|
%dir %{_libdir}/firebird/bin
|
||||||
%{_libdir}/firebird/bin/*
|
%{_libdir}/firebird/bin/*
|
||||||
##%doc doc/license/IDPL.txt
|
%dir %{_localstatedir}/lib/firebird
|
||||||
##%doc doc/license/README.license.usage.txt
|
%dir %{_localstatedir}/lib/firebird/tzdata
|
||||||
|
%{_localstatedir}/lib/firebird/tzdata/*
|
||||||
|
%doc doc/license/IDPL.txt
|
||||||
|
%doc doc/license/README.license.usage.txt
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
@ -301,6 +236,12 @@ exit 0
|
|||||||
%{_libdir}/libfbclient.so
|
%{_libdir}/libfbclient.so
|
||||||
%{_libdir}/libib_util.so
|
%{_libdir}/libib_util.so
|
||||||
|
|
||||||
|
%files -n libfbclient
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%attr(755,root,root) %{_libdir}/libfbclient.so.*
|
||||||
|
##%doc doc/license/IDPL.txt
|
||||||
|
##%doc doc/license/README.license.usage.txt
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%dir %{_datadir}/licenses/firebird
|
%dir %{_datadir}/licenses/firebird
|
||||||
@ -308,24 +249,11 @@ exit 0
|
|||||||
%dir %{_datadir}/doc/firebird
|
%dir %{_datadir}/doc/firebird
|
||||||
%{_datadir}/doc/firebird/*
|
%{_datadir}/doc/firebird/*
|
||||||
|
|
||||||
#%files -n libfbembed
|
|
||||||
#%defattr(-,root,root)
|
|
||||||
#%attr(755,root,root) %{_libdir}/libfbembed.so.*
|
|
||||||
#%attr(755,root,root) %{_libdir}/firebird/lib/libfbembed.so.*
|
|
||||||
#%doc doc/license/IDPL.txt
|
|
||||||
#%doc doc/license/README.license.usage.txt
|
|
||||||
|
|
||||||
%files superserver
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_unitdir}/firebird.service
|
|
||||||
%{_sysusersdir}/firebird.conf
|
|
||||||
%{_tmpfilesdir}/firebird.conf
|
|
||||||
%attr(660,firebird,firebird) %{_localstatedir}/lib/firebird/system/security3.fdb
|
|
||||||
#%doc doc/license/IDPL.txt
|
|
||||||
#%doc doc/license/README.license.usage.txt
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Tue Jun 15 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 3.0.7.33374-1mamba
|
* Thu Jun 17 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 4.0.0.2496-1mamba
|
||||||
|
- update to 4.0.0.2496
|
||||||
|
|
||||||
|
* Tue Jun 15 2021 Silvan Calarco <silvan.calarco@m+ambasoft.it> 3.0.7.33374-1mamba
|
||||||
- update to 3.0.7.33374
|
- update to 3.0.7.33374
|
||||||
|
|
||||||
* Fri May 04 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 3.0.3.32900-1mamba
|
* Fri May 04 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 3.0.3.32900-1mamba
|
||||||
|
Loading…
Reference in New Issue
Block a user