mirror of
https://abf.rosa.ru/djam/firebird.git
synced 2025-02-23 08:02:51 +00:00
update to 2.5.1
This commit is contained in:
parent
3aae6c40f5
commit
cd3df82e6b
4 changed files with 63 additions and 214 deletions
2
.abf.yml
2
.abf.yml
|
@ -1,2 +1,2 @@
|
||||||
sources:
|
sources:
|
||||||
"Firebird-2.5.0.26074-0.tar.bz2": d7afea3a87c8298fd39ad76cc9580ef9f4100421
|
"Firebird-2.5.1.26351-0.tar.bz2": f827736c812f4247e8204fbe9c696f648c0484b6
|
||||||
|
|
|
@ -1,206 +0,0 @@
|
||||||
--- src/jrd/unicode_util.cpp 2011/04/21 09:50:06 52786
|
|
||||||
+++ src/jrd/unicode_util.cpp 2011/04/21 19:57:57 52787
|
|
||||||
@@ -61,8 +61,11 @@
|
|
||||||
ICU& operator =(const ICU&); // not implemented
|
|
||||||
|
|
||||||
public:
|
|
||||||
- ICU()
|
|
||||||
- : inModule(NULL), ucModule(NULL)
|
|
||||||
+ ICU(int aMajorVersion, int aMinorVersion)
|
|
||||||
+ : majorVersion(aMajorVersion),
|
|
||||||
+ minorVersion(aMinorVersion),
|
|
||||||
+ inModule(NULL),
|
|
||||||
+ ucModule(NULL)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -72,6 +75,21 @@
|
|
||||||
delete inModule;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ template <typename T> void getEntryPoint(const char* name, ModuleLoader::Module* module, T& ptr)
|
|
||||||
+ {
|
|
||||||
+ string symbol;
|
|
||||||
+
|
|
||||||
+ symbol.printf("%s_%d_%d", name, majorVersion, minorVersion);
|
|
||||||
+ module->findSymbol(symbol, ptr);
|
|
||||||
+ if (ptr)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ symbol.printf("%s_%d%d", name, majorVersion, minorVersion);
|
|
||||||
+ module->findSymbol(symbol, ptr);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ int majorVersion;
|
|
||||||
+ int minorVersion;
|
|
||||||
ModuleLoader::Module* inModule;
|
|
||||||
ModuleLoader::Module* ucModule;
|
|
||||||
UVersionInfo collVersion;
|
|
||||||
@@ -740,17 +758,17 @@
|
|
||||||
const Firebird::string& configInfo)
|
|
||||||
{
|
|
||||||
#if defined(WIN_NT)
|
|
||||||
- const char* const inTemplate = "icuin%s%s.dll";
|
|
||||||
- const char* const ucTemplate = "icuuc%s%s.dll";
|
|
||||||
+ const char* const inTemplate = "icuin%d%d.dll";
|
|
||||||
+ const char* const ucTemplate = "icuuc%d%d.dll";
|
|
||||||
#elif defined(DARWIN)
|
|
||||||
const char* const inTemplate = "/Library/Frameworks/Firebird.framework/Versions/A/Libraries/libicui18n.dylib";
|
|
||||||
const char* const ucTemplate = "/Library/Frameworks/Firebird.framework/versions/A/Libraries/libicuuc.dylib";
|
|
||||||
#elif defined(HPUX)
|
|
||||||
- const char* const inTemplate = "libicui18n.sl.%s%s";
|
|
||||||
- const char* const ucTemplate = "libicuuc.sl.%s%s";
|
|
||||||
+ const char* const inTemplate = "libicui18n.sl.%d%d";
|
|
||||||
+ const char* const ucTemplate = "libicuuc.sl.%d%d";
|
|
||||||
#else
|
|
||||||
- const char* const inTemplate = "libicui18n.so.%s%s";
|
|
||||||
- const char* const ucTemplate = "libicuuc.so.%s%s";
|
|
||||||
+ const char* const inTemplate = "libicui18n.so.%d%d";
|
|
||||||
+ const char* const ucTemplate = "libicuuc.so.%d%d";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ObjectsArray<string> versions;
|
|
||||||
@@ -764,41 +782,32 @@
|
|
||||||
|
|
||||||
for (ObjectsArray<string>::const_iterator i(versions.begin()); i != versions.end(); ++i)
|
|
||||||
{
|
|
||||||
- string majorVersion;
|
|
||||||
- string minorVersion;
|
|
||||||
+ int majorVersion, minorVersion;
|
|
||||||
|
|
||||||
if (*i == "default")
|
|
||||||
{
|
|
||||||
- majorVersion = STRINGIZE(U_ICU_VERSION_MAJOR_NUM);
|
|
||||||
- minorVersion = STRINGIZE(U_ICU_VERSION_MINOR_NUM);
|
|
||||||
+ majorVersion = U_ICU_VERSION_MAJOR_NUM;
|
|
||||||
+ minorVersion = U_ICU_VERSION_MINOR_NUM;
|
|
||||||
}
|
|
||||||
- else
|
|
||||||
- {
|
|
||||||
- const size_t pos = i->find('.');
|
|
||||||
- if (pos == i->npos)
|
|
||||||
- continue;
|
|
||||||
+ else if (sscanf(i->c_str(), "%d.%d", &majorVersion, &minorVersion) != 2)
|
|
||||||
+ continue;
|
|
||||||
|
|
||||||
- majorVersion = i->substr(0, pos);
|
|
||||||
- minorVersion = i->substr(pos + 1);
|
|
||||||
- }
|
|
||||||
+ string configVersion;
|
|
||||||
+ configVersion.printf("%d.%d", majorVersion, minorVersion);
|
|
||||||
|
|
||||||
- if (version != majorVersion + "." + minorVersion)
|
|
||||||
- {
|
|
||||||
+ if (version != configVersion)
|
|
||||||
continue;
|
|
||||||
- }
|
|
||||||
|
|
||||||
ReadLockGuard readGuard(icuModules->lock);
|
|
||||||
|
|
||||||
ICU* icu;
|
|
||||||
if (icuModules->modules().get(version, icu))
|
|
||||||
- {
|
|
||||||
return icu;
|
|
||||||
- }
|
|
||||||
|
|
||||||
PathName filename;
|
|
||||||
- filename.printf(ucTemplate, majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
+ filename.printf(ucTemplate, majorVersion, minorVersion);
|
|
||||||
|
|
||||||
- icu = FB_NEW(*getDefaultMemoryPool()) ICU();
|
|
||||||
+ icu = FB_NEW(*getDefaultMemoryPool()) ICU(majorVersion, minorVersion);
|
|
||||||
|
|
||||||
icu->ucModule = ModuleLoader::loadModule(filename);
|
|
||||||
if (!icu->ucModule)
|
|
||||||
@@ -813,7 +822,7 @@
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
- filename.printf(inTemplate, majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
+ filename.printf(inTemplate, majorVersion, minorVersion);
|
|
||||||
|
|
||||||
icu->inModule = ModuleLoader::loadModule(filename);
|
|
||||||
if (!icu->inModule)
|
|
||||||
@@ -828,61 +837,25 @@
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
- string symbol;
|
|
||||||
-
|
|
||||||
- symbol.printf("u_init_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->ucModule->findSymbol(symbol, icu->uInit);
|
|
||||||
-
|
|
||||||
- symbol.printf("u_versionToString_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->ucModule->findSymbol(symbol, icu->uVersionToString);
|
|
||||||
-
|
|
||||||
- symbol.printf("uloc_countAvailable_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->ucModule->findSymbol(symbol, icu->ulocCountAvailable);
|
|
||||||
-
|
|
||||||
- symbol.printf("uloc_getAvailable_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->ucModule->findSymbol(symbol, icu->ulocGetAvailable);
|
|
||||||
-
|
|
||||||
- symbol.printf("uset_close_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->ucModule->findSymbol(symbol, icu->usetClose);
|
|
||||||
-
|
|
||||||
- symbol.printf("uset_getItem_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->ucModule->findSymbol(symbol, icu->usetGetItem);
|
|
||||||
-
|
|
||||||
- symbol.printf("uset_getItemCount_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->ucModule->findSymbol(symbol, icu->usetGetItemCount);
|
|
||||||
-
|
|
||||||
- symbol.printf("uset_open_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->ucModule->findSymbol(symbol, icu->usetOpen);
|
|
||||||
-
|
|
||||||
- symbol.printf("ucol_close_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->inModule->findSymbol(symbol, icu->ucolClose);
|
|
||||||
-
|
|
||||||
- symbol.printf("ucol_getContractions_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->inModule->findSymbol(symbol, icu->ucolGetContractions);
|
|
||||||
-
|
|
||||||
- symbol.printf("ucol_getSortKey_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->inModule->findSymbol(symbol, icu->ucolGetSortKey);
|
|
||||||
-
|
|
||||||
- symbol.printf("ucol_open_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->inModule->findSymbol(symbol, icu->ucolOpen);
|
|
||||||
-
|
|
||||||
- symbol.printf("ucol_setAttribute_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->inModule->findSymbol(symbol, icu->ucolSetAttribute);
|
|
||||||
-
|
|
||||||
- symbol.printf("ucol_strcoll_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->inModule->findSymbol(symbol, icu->ucolStrColl);
|
|
||||||
-
|
|
||||||
- symbol.printf("ucol_getVersion_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->inModule->findSymbol(symbol, icu->ucolGetVersion);
|
|
||||||
-
|
|
||||||
- symbol.printf("utrans_open_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->inModule->findSymbol(symbol, icu->utransOpen);
|
|
||||||
-
|
|
||||||
- symbol.printf("utrans_close_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->inModule->findSymbol(symbol, icu->utransClose);
|
|
||||||
-
|
|
||||||
- symbol.printf("utrans_transUChars_%s_%s", majorVersion.c_str(), minorVersion.c_str());
|
|
||||||
- icu->inModule->findSymbol(symbol, icu->utransTransUChars);
|
|
||||||
+ icu->getEntryPoint("u_init", icu->ucModule, icu->uInit);
|
|
||||||
+ icu->getEntryPoint("u_versionToString", icu->ucModule, icu->uVersionToString);
|
|
||||||
+ icu->getEntryPoint("uloc_countAvailable", icu->ucModule, icu->ulocCountAvailable);
|
|
||||||
+ icu->getEntryPoint("uloc_getAvailable", icu->ucModule, icu->ulocGetAvailable);
|
|
||||||
+ icu->getEntryPoint("uset_close", icu->ucModule, icu->usetClose);
|
|
||||||
+ icu->getEntryPoint("uset_getItem", icu->ucModule, icu->usetGetItem);
|
|
||||||
+ icu->getEntryPoint("uset_getItemCount", icu->ucModule, icu->usetGetItemCount);
|
|
||||||
+ icu->getEntryPoint("uset_open", icu->ucModule, icu->usetOpen);
|
|
||||||
+
|
|
||||||
+ icu->getEntryPoint("ucol_close", icu->inModule, icu->ucolClose);
|
|
||||||
+ icu->getEntryPoint("ucol_getContractions", icu->inModule, icu->ucolGetContractions);
|
|
||||||
+ icu->getEntryPoint("ucol_getSortKey", icu->inModule, icu->ucolGetSortKey);
|
|
||||||
+ icu->getEntryPoint("ucol_open", icu->inModule, icu->ucolOpen);
|
|
||||||
+ icu->getEntryPoint("ucol_setAttribute", icu->inModule, icu->ucolSetAttribute);
|
|
||||||
+ icu->getEntryPoint("ucol_strcoll", icu->inModule, icu->ucolStrColl);
|
|
||||||
+ icu->getEntryPoint("ucol_getVersion", icu->inModule, icu->ucolGetVersion);
|
|
||||||
+ icu->getEntryPoint("utrans_open", icu->inModule, icu->utransOpen);
|
|
||||||
+ icu->getEntryPoint("utrans_close", icu->inModule, icu->utransClose);
|
|
||||||
+ icu->getEntryPoint("utrans_transUChars", icu->inModule, icu->utransTransUChars);
|
|
||||||
|
|
||||||
if (/*!icu->uInit ||*/ !icu->uVersionToString || !icu->ulocCountAvailable ||
|
|
||||||
!icu->ulocGetAvailable || !icu->usetClose || !icu->usetGetItem ||
|
|
||||||
|
|
||||||
|
|
32
firebird-2.5.1-svn-CORE-3610.patch
Normal file
32
firebird-2.5.1-svn-CORE-3610.patch
Normal file
|
@ -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) {
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
%define Werror_cflags %{nil}
|
%define Werror_cflags %{nil}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%define major 2.5.0
|
%define major 2.5.1
|
||||||
%define pkgname Firebird-2.5.0.26074-0
|
%define pkgname Firebird-2.5.1.26351-0
|
||||||
%define version 2.5.0.26074.0
|
%define version 2.5.1.26351.0
|
||||||
%define somajor 2
|
%define somajor 2
|
||||||
%define libfbclient %mklibname fbclient %somajor
|
%define libfbclient %mklibname fbclient %somajor
|
||||||
%define libfbembed %mklibname fbembed %somajor
|
%define libfbembed %mklibname fbembed %somajor
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
Summary: Firebird SQL database management system
|
Summary: Firebird SQL database management system
|
||||||
Name: firebird
|
Name: firebird
|
||||||
Version: %{version}
|
Version: %{version}
|
||||||
Release: %mkrel 3
|
Release: %mkrel 1
|
||||||
Group: Databases
|
Group: Databases
|
||||||
License: IPL
|
License: IPL
|
||||||
URL: http://www.firebirdsql.org/
|
URL: http://www.firebirdsql.org/
|
||||||
|
@ -22,7 +22,7 @@ Source0: http://downloads.sourceforge.net/firebird/%{pkgname}.tar.bz2
|
||||||
Source1: firebird-logrotate
|
Source1: firebird-logrotate
|
||||||
Source2: firebird.mdv.releasenote
|
Source2: firebird.mdv.releasenote
|
||||||
# from upstream
|
# from upstream
|
||||||
Patch0: firebird-2.5.0-svn-CORE-3447.patch
|
Patch0: firebird-2.5.1-svn-CORE-3610.patch
|
||||||
|
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
|
@ -549,6 +549,12 @@ if [ "$(readlink %{fbroot}/bin 2> /dev/null)" \!= "%{fbroot}/bin-classic" ]; the
|
||||||
ln -s %{fbroot}/bin{-classic,}
|
ln -s %{fbroot}/bin{-classic,}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
%post utils-classic
|
||||||
|
if [ "$(readlink %{fbroot}/bin 2> /dev/null)" \!= "%{fbroot}/bin-classic" ]; then
|
||||||
|
[ -e %{fbroot}/bin ] && rm -f %{fbroot}/bin
|
||||||
|
ln -s %{fbroot}/bin{-classic,}
|
||||||
|
fi
|
||||||
|
|
||||||
%preun classic
|
%preun classic
|
||||||
if [ $1 -eq 0 ]; then
|
if [ $1 -eq 0 ]; then
|
||||||
if /sbin/service xinetd status >& /dev/null; then
|
if /sbin/service xinetd status >& /dev/null; then
|
||||||
|
@ -563,6 +569,13 @@ if [ $1 -eq 0 ]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
%preun utils-classic
|
||||||
|
if [ $1 -eq 0 ]; then
|
||||||
|
if [ "$(readlink %{fbroot}/bin 2> /dev/null)" = "%{fbroot}/bin-classic" ]; then
|
||||||
|
rm -f %{fbroot}/bin
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
%post superclassic
|
%post superclassic
|
||||||
if [ "$(readlink %{fbroot}/bin 2> /dev/null)" \!= "%{fbroot}/bin-classic" ]; then
|
if [ "$(readlink %{fbroot}/bin 2> /dev/null)" \!= "%{fbroot}/bin-classic" ]; then
|
||||||
[ -e %{fbroot}/bin ] && rm -f %{fbroot}/bin
|
[ -e %{fbroot}/bin ] && rm -f %{fbroot}/bin
|
||||||
|
@ -598,6 +611,12 @@ if [ ! -f /etc/gds_hosts.equiv ]; then
|
||||||
fi
|
fi
|
||||||
%_post_service %{name}-superserver
|
%_post_service %{name}-superserver
|
||||||
|
|
||||||
|
%post utils-superserver
|
||||||
|
if [ "$(readlink %{fbroot}/bin 2> /dev/null)" \!= "%{fbroot}/bin-superserver" ]; then
|
||||||
|
[ -e %{fbroot}/bin ] && rm -f %{fbroot}/bin
|
||||||
|
ln -s %{fbroot}/bin{-superserver,}
|
||||||
|
fi
|
||||||
|
|
||||||
%preun server-superserver
|
%preun server-superserver
|
||||||
if [ $1 -eq 0 ]; then
|
if [ $1 -eq 0 ]; then
|
||||||
if /sbin/service firebird-superserver status >& /dev/null; then
|
if /sbin/service firebird-superserver status >& /dev/null; then
|
||||||
|
@ -637,7 +656,11 @@ fi
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Sun Jun 05 2011 Funda Wang <fwang@mandriva.org> 2.5.0.26074.0-3mdv2011.0
|
* Wed Oct 05 2011 Phillipe Makowski <makowski@mandriva.org> 2.5.1.26351.0-1mdv2012.0
|
||||||
|
+ Revision: 703133
|
||||||
|
- new upstream (bugs fixes)
|
||||||
|
|
||||||
|
* Sun Jun 05 2011 Funda Wang <fwang@mandriva.org> 2.5.0.26074.0-3
|
||||||
+ Revision: 682810
|
+ Revision: 682810
|
||||||
- rebuild for new icu
|
- rebuild for new icu
|
||||||
|
|
||||||
|
@ -725,7 +748,7 @@ fi
|
||||||
- Fix initscript and create /etc/gds_hosts.equiv on %%post to fix bug #34267
|
- Fix initscript and create /etc/gds_hosts.equiv on %%post to fix bug #34267
|
||||||
- bump release
|
- bump release
|
||||||
|
|
||||||
+ Olivier Blin <oblin@mandriva.com>
|
+ Olivier Blin <blino@mandriva.org>
|
||||||
- restore BuildRoot
|
- restore BuildRoot
|
||||||
|
|
||||||
+ Thierry Vignaud <tv@mandriva.org>
|
+ Thierry Vignaud <tv@mandriva.org>
|
||||||
|
|
Loading…
Add table
Reference in a new issue