diff --git a/.gitignore b/.gitignore index 2088d95..8f3f804 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,9 @@ Firebird-2.1.3.18185-0.RC2.tar.bz2 /Firebird-2.5.1.26349-0.tar.bz2 /Firebird-2.5.1.26351-0.tar.bz2 /Firebird-2.5.2.26539-0.tar.bz2 +/Firebird-2.5.3.26778-0.tar.bz2 +/Firebird-2.5.5.26952-0.tar.bz2 +/Firebird-2.5.6.27020-0.tar.bz2 +/Firebird-2.5.7.27050-0.tar.bz2 +/Firebird-2.5.8.27089-0.tar.bz2 +/Firebird-2.5.9.27139-0.tar.bz2 diff --git a/firebird-2.5.2-svn-CORE-3946.patch b/firebird-2.5.2-svn-CORE-3946.patch deleted file mode 100644 index 5fb9f30..0000000 --- a/firebird-2.5.2-svn-CORE-3946.patch +++ /dev/null @@ -1,151 +0,0 @@ ---- src/jrd/unicode_util.cpp 2012/10/12 09:56:14 57235 -+++ src/jrd/unicode_util.cpp 2012/10/12 21:20:30 57236 -@@ -42,6 +42,9 @@ - #include "unicode/ucnv.h" - #include "unicode/ucol.h" - -+// The next major ICU version after 4.8 is 49. -+#define ICU_NEW_VERSION_MEANING 49 -+ - - using namespace Firebird; - -@@ -49,8 +52,16 @@ - namespace Jrd { - - -+#if U_ICU_VERSION_MAJOR_NUM >= ICU_NEW_VERSION_MEANING -+const char* const UnicodeUtil::DEFAULT_ICU_VERSION = STRINGIZE(U_ICU_VERSION_MAJOR_NUM); -+#else - const char* const UnicodeUtil::DEFAULT_ICU_VERSION = - STRINGIZE(U_ICU_VERSION_MAJOR_NUM)"."STRINGIZE(U_ICU_VERSION_MINOR_NUM); -+#endif -+ -+ -+static void formatFilename(PathName& filename, const char* templateName, -+ int majorVersion, int minorVersion); - - - // encapsulate ICU collations libraries -@@ -79,6 +90,11 @@ - { - string symbol; - -+ symbol.printf("%s_%d", name, majorVersion); -+ module->findSymbol(symbol, ptr); -+ if (ptr) -+ return; -+ - symbol.printf("%s_%d_%d", name, majorVersion, minorVersion); - module->findSymbol(symbol, ptr); - if (ptr) -@@ -157,14 +173,25 @@ - RWLock lock; - }; - --namespace { -- GlobalPtr icuModules; --} -+static GlobalPtr icuModules; - - - static const char* const COLL_30_VERSION = "41.128.4.4"; // ICU 3.0 collator version - - -+static void formatFilename(PathName& filename, const char* templateName, -+ int majorVersion, int minorVersion) -+{ -+ string s; -+ if (majorVersion >= ICU_NEW_VERSION_MEANING) -+ s.printf("%d", majorVersion); -+ else -+ s.printf("%d%d", majorVersion, minorVersion); -+ -+ filename.printf(templateName, s.c_str()); -+} -+ -+ - static void getVersions(const string& configInfo, ObjectsArray& versions) - { - charset cs; -@@ -758,17 +785,17 @@ - const Firebird::string& configInfo) - { - #if defined(WIN_NT) -- const char* const inTemplate = "icuin%d%d.dll"; -- const char* const ucTemplate = "icuuc%d%d.dll"; -+ const char* const inTemplate = "icuin%s.dll"; -+ const char* const ucTemplate = "icuuc%s.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.%d%d"; -- const char* const ucTemplate = "libicuuc.sl.%d%d"; -+ const char* const inTemplate = "libicui18n.sl.%s"; -+ const char* const ucTemplate = "libicuuc.sl.%s"; - #else -- const char* const inTemplate = "libicui18n.so.%d%d"; -- const char* const ucTemplate = "libicuuc.so.%d%d"; -+ const char* const inTemplate = "libicui18n.so.%s"; -+ const char* const ucTemplate = "libicuuc.so.%s"; - #endif - - ObjectsArray versions; -@@ -776,24 +803,28 @@ - - string version = icuVersion.isEmpty() ? versions[0] : icuVersion; - if (version == "default") -- { -- version.printf("%d.%d", U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM); -- } -+ version = DEFAULT_ICU_VERSION; - - for (ObjectsArray::const_iterator i(versions.begin()); i != versions.end(); ++i) - { - int majorVersion, minorVersion; -+ int n = sscanf((*i == "default" ? version : *i).c_str(), "%d.%d", -+ &majorVersion, &minorVersion); - -- if (*i == "default") -- { -- majorVersion = U_ICU_VERSION_MAJOR_NUM; -- minorVersion = U_ICU_VERSION_MINOR_NUM; -- } -- else if (sscanf(i->c_str(), "%d.%d", &majorVersion, &minorVersion) != 2) -+ if (n == 1) -+ minorVersion = 0; -+ else if (n != 2) - continue; - - string configVersion; -- configVersion.printf("%d.%d", majorVersion, minorVersion); -+ -+ if (majorVersion >= ICU_NEW_VERSION_MEANING) -+ { -+ minorVersion = 0; -+ configVersion.printf("%d", majorVersion); -+ } -+ else -+ configVersion.printf("%d.%d", majorVersion, minorVersion); - - if (version != configVersion) - continue; -@@ -805,7 +836,7 @@ - return icu; - - PathName filename; -- filename.printf(ucTemplate, majorVersion, minorVersion); -+ formatFilename(filename, ucTemplate, majorVersion, minorVersion); - - icu = FB_NEW(*getDefaultMemoryPool()) ICU(majorVersion, minorVersion); - -@@ -822,7 +853,7 @@ - continue; - } - -- filename.printf(inTemplate, majorVersion, minorVersion); -+ formatFilename(filename, inTemplate, majorVersion, minorVersion); - - icu->inModule = ModuleLoader::loadModule(filename); - if (!icu->inModule) diff --git a/firebird-2.5.2-svn-CORE-4058.patch b/firebird-2.5.2-svn-CORE-4058.patch deleted file mode 100644 index 52ac6bd..0000000 --- a/firebird-2.5.2-svn-CORE-4058.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- src/remote/inet.cpp (révision 57727) -+++ src/remote/inet.cpp (révision 57728) -@@ -1252,7 +1252,7 @@ - case CNCT_group: - { - const size_t length = id.getClumpLength(); -- if (length != 0) -+ if (length <= sizeof(eff_gid) && length > 0) - { - eff_gid = 0; - memcpy(&eff_gid, id.getBytes(), length); diff --git a/firebird-btyacc-fpie.patch b/firebird-btyacc-fpie.patch new file mode 100644 index 0000000..e276c31 --- /dev/null +++ b/firebird-btyacc-fpie.patch @@ -0,0 +1,11 @@ +--- extern/btyacc/Makefile.ori 2013-03-19 09:38:04.000000000 +0100 ++++ extern/btyacc/Makefile 2013-04-27 13:20:35.964379129 +0200 +@@ -12,7 +12,7 @@ HDRS = defs.h mstring.h + # across all of our supported compilers/platforms. + + # Vanilla CFLAGS +-CFLAGS= ++#CFLAGS= + + # No LDFLAGS + #LDFLAGS= diff --git a/firebird.spec b/firebird.spec index c98373d..232715c 100644 --- a/firebird.spec +++ b/firebird.spec @@ -1,19 +1,19 @@ -%global pkgname Firebird-2.5.2.26539-0 +%global pkgname Firebird-2.5.9.27139-0 %global fbroot %{_libdir}/%{name} -%global major 2.5.2 - +%global major 2.5.9 +%global _hardened_build 1 Summary: SQL relational database management system Name: firebird -Version: 2.5.2.26539.0 -Release: 3%{?dist} +Version: 2.5.9.27139.0 +Release: 1%{?dist} Group: Applications/Databases License: Interbase URL: http://www.firebirdsql.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot -Source0: http://downloads.sourceforge.net/firebird/%{pkgname}.tar.bz2 +Source0: https://github.com/FirebirdSQL/firebird/releases/download/R2_5_9/%{pkgname}.tar.bz2 Source1: firebird-logrotate Source2: README.Fedora Source3: firebird.conf @@ -23,8 +23,7 @@ Source6: firebird-superclassic.service Source7: firebird-superserver.service # from upstream -Patch0: firebird-2.5.2-svn-CORE-3946.patch -Patch1: firebird-2.5.2-svn-CORE-4058.patch +Patch2: firebird-btyacc-fpie.patch BuildRequires: autoconf BuildRequires: automake @@ -35,9 +34,7 @@ BuildRequires: libtermcap-devel BuildRequires: libicu-devel BuildRequires: libedit-devel BuildRequires: gcc-c++ -%if 0%{?fedora}>=14 BuildRequires: libstdc++-static -%endif %ifnarch %{ix86} x86_64 BuildRequires: libatomic_ops-devel %endif @@ -159,8 +156,7 @@ Multi-process, local client libraries for Firebird SQL RDBMS %prep %setup -q -n %{pkgname} -%patch0 -%patch1 +%patch2 # convert intl character to UTF-8 iconv -f ISO-8859-1 -t utf-8 -c ./doc/README.intl -o ./doc/README.intl @@ -264,6 +260,8 @@ cp -d %{_builddir}/%{pkgname}/gen/buildroot%{_sysconfdir}/%{name}/* %{buildroot} cp -d %{_builddir}/%{pkgname}/gen/buildroot-classic%{fbroot}/bin-classic/* %{buildroot}%{fbroot}/bin-classic cp -d %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fb_config %{buildroot}%{fbroot}/bin-classic/fb_config sed "s@-classic@-superserver@" %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fb_config > %{buildroot}%{fbroot}/bin-superserver/fb_config +sed "s@-classic@@" %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fb_config > %{buildroot}%{_libdir}/fb_config +sed -i '/plugins/d' %{buildroot}%{_libdir}/fb_config cp -d %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fbguard %{buildroot}%{_sbindir}/fbguard cp -d %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fb_inet_server %{buildroot}%{_sbindir}/fb_inet_server cp -d %{_builddir}/%{pkgname}/gen/buildroot-classic%{_sbindir}/fb_lock_print %{buildroot}%{_sbindir}/fb_lock_print @@ -318,7 +316,6 @@ ln -s %{fbroot}/bin/gstat .%{_bindir}/gstat-fb ln -s %{fbroot}/bin/isql .%{_bindir}/isql-fb ln -s %{fbroot}/bin/nbackup .%{_bindir}/nbackup ln -s %{fbroot}/bin/qli .%{_bindir}/qli -ln -s %{fbroot}/bin/fb_config .%{_bindir}/fb_config %clean rm -Rf %{buildroot} @@ -456,6 +453,8 @@ fi %{_includedir}/%{name}/*.h %{_libdir}/libfb*.so %{_libdir}/libgds.so +%defattr(0755,root,root,0755) +%{_libdir}/fb_config %files filesystem %defattr(0644,root,root,0755) @@ -517,6 +516,51 @@ fi %changelog +* Thu Aug 22 2019 Philippe Makowski 2.5.9.27139.0-1 +- update to 2.5.9 (End of Series) + +* Fri Aug 31 2018 Philippe Makowski 2.5.8.27089.0-1 +- update to 2.5.8 + +* Tue Feb 21 2017 Philippe Makowski 2.5.7.27050.0-1 +- update to 2.5.7 +- security fix (#1425332) + +* Thu Dec 29 2016 Philippe Makowski 2.5.6.27020.0-1 +- update to 2.5.6 + +* Fri Feb 05 2016 Philippe Makowski - 2.5.5.26952.0-2 +- move fb_config (#1297506) +- fix CVE-2016-1569 (#1297447 #1297450 #1297451) + +* Thu Nov 19 2015 Philippe Makowski 2.5.5.26952.0-1 +- update to 2.5.5 + +* Thu Apr 2 2015 Philippe Makowski 2.5.4.26856.0-1 +- update to 2.5.4 + +* Sun Dec 7 2014 Philippe Makowski 2.5.3.26778.0-2 +- security fix firebird CORE-4630 + +* Sat Jul 26 2014 Philippe Makowski - 2.5.3.26778.0-1 +- update from upstream 2.5.3 +- update arm64 patch + +* Tue Jan 21 2014 Philippe Makowski 2.5.2.26539.0-8 +- add missing BR on libstdc++-static + +* Tue Jul 23 2013 Philippe Makowski 2.5.2.26539.0-7 +- make fb_config executable (bug #985335) + +* Tue Jul 23 2013 Philippe Makowski 2.5.2.26539.0-6 +- Provide fb_config in firebird-devel (bug #985335) + +* Mon Jun 03 2013 Philippe Makowski 2.5.2.26539.0-5 +- Firebird fails to build for aarch64 (bug #969851) + +* Thu Apr 25 2013 Philippe Makowski 2.5.2.26539.0-4 +- set PIE compiler flags (bug #955274) + * Sun Mar 10 2013 Philippe Makowski 2.5.2.26539.0-3 - added patch from upstream to fix Firebird CORE-4058 CVE-2013-2492 @@ -602,7 +646,7 @@ fi * Sat Sep 05 2009 Karsten Hopp 2.1.3.18185.0-5 - fix build on s390x for F-12 mass rebuild (Dan Horák) -* Mon Aug 11 2009 Philippe Makowski 2.1.3.18185.0-4 +* Tue Aug 11 2009 Philippe Makowski 2.1.3.18185.0-4 - build it against system edit lib - set correct setuid for Classic lock manager - set correct permission for /var/run/firebird @@ -661,7 +705,7 @@ fi * Sat Mar 28 2009 Philippe Makowski 2.1.1.17910.0-5 - Major packaging restructuring -* Mon Mar 21 2009 Philippe Makowski 2.1.1.17190.0-4 +* Sat Mar 21 2009 Philippe Makowski 2.1.1.17190.0-4 - Create a doc package - major cleaning to avoid rpmlint errors - revert to 2.1.1 (last stable build published) @@ -671,7 +715,7 @@ fi - Add libicu-devel in BuildRequires - Use iconv for convert files to UTF-8 -* Fri Mar 05 2009 Jonathan MERCIER 2.1.2.18116.0-2 +* Thu Mar 05 2009 Jonathan MERCIER 2.1.2.18116.0-2 - Update to 2.1.2 - Use %%global instead of %%define - Change ${SOURCE1} to %%{SOURCE1} diff --git a/sources b/sources index 2e2b41a..60be07a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -adf2d2f9d48a53dc6c490ba1e44631fd Firebird-2.5.2.26539-0.tar.bz2 +SHA512 (Firebird-2.5.9.27139-0.tar.bz2) = 3d99f2965ef30770949662d58149e800109b6e8ceb2e19950788d03c1f3c7141a9dfa82acd7d6e25d7074f59c8ce44995b54a357698058a5a35864bd8d6d8a5d