diff --git a/.gitignore b/.gitignore index 0e5122a..edc2066 100644 --- a/.gitignore +++ b/.gitignore @@ -9,13 +9,3 @@ Firebird-2.1.3.18185-0.RC2.tar.bz2 /Firebird-3.0.1.32609-0.tar.bz2 /Firebird-3.0.2.32703-0.tar.bz2 /Firebird-3.0.3.32900-0.tar.bz2 -/Firebird-3.0.4.33054-0.tar.bz2 -/Firebird-3.0.5.33220-0.tar.bz2 -/Firebird-3.0.6.33328-0.tar.bz2 -/Firebird-3.0.7.33374-0.tar.bz2 -/Firebird-4.0.0.2496-0.tar.xz -/Firebird-4.0.2.2816-0.tar.xz -/Firebird-4.0.3.2975-0.tar.xz -/Firebird-4.0.4.3010-0.tar.xz -/Firebird-4.0.6.3221-0.tar.xz -/Firebird-5.0.3.1683-0-source.tar.xz diff --git a/Provide-sized-global-delete-operators-when-compiled.patch b/Provide-sized-global-delete-operators-when-compiled.patch new file mode 100644 index 0000000..1302d1d --- /dev/null +++ b/Provide-sized-global-delete-operators-when-compiled.patch @@ -0,0 +1,36 @@ +From: Michal Kubecek +Date: Mon, 25 Apr 2016 08:55:36 +0200 +Subject: Provide sized global delete operators when compiled in C++14 mode +Patch-mainline: submitted +Git-commit: 038f9fbf559e56032e4cb49eb7ce4c3ead23fda9 +References: bsc#964466 CORE-5099 + +--- + src/common/classes/alloc.h | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/common/classes/alloc.h b/src/common/classes/alloc.h +index b1026ce2aac4..fda5bfebb0cc 100644 +--- a/src/common/classes/alloc.h ++++ b/src/common/classes/alloc.h +@@ -331,6 +331,16 @@ inline void operator delete[](void* mem, Firebird::MemoryPool& pool ALLOC_PARAMS + MemoryPool::globalFree(mem); + } + ++#if __cplusplus >= 201402L ++inline void operator delete(void* mem, std::size_t s ALLOC_PARAMS) throw() ++{ ++ MemoryPool::globalFree(mem); ++} ++inline void operator delete[](void* mem, std::size_t s ALLOC_PARAMS) throw() ++{ ++ MemoryPool::globalFree(mem); ++} ++#endif + #ifdef DEBUG_GDS_ALLOC + + #ifdef __clang__ +-- +2.8.2 + + diff --git a/README.Fedora b/README.Fedora index 071b351..9f869cb 100644 --- a/README.Fedora +++ b/README.Fedora @@ -8,10 +8,13 @@ Differences between upstream and the Fedora package * By default, Firebird is set as superserver mode. Please read the Firebird doc if you want to change the mode. + To help you, you have systemd units in /usr/share/firebird/misc. * According to Fedora packaging rules, firebird service is not started automatically. You need to start it, as root : - systemctl start firebird.service + for SuperServer : + systemctl start firebird-superserver.service If you want to have firebird started at each boot, as root : - systemctl enable firebird.service + for SuperServer : + systemctl enable firebird-superserver.service diff --git a/a4cb621bf55ef2101e22b1e7da5c458a1e0cc2ab.patch b/a4cb621bf55ef2101e22b1e7da5c458a1e0cc2ab.patch new file mode 100644 index 0000000..196c6da --- /dev/null +++ b/a4cb621bf55ef2101e22b1e7da5c458a1e0cc2ab.patch @@ -0,0 +1,63 @@ +From a4cb621bf55ef2101e22b1e7da5c458a1e0cc2ab Mon Sep 17 00:00:00 2001 +From: AlexPeshkoff +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(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 + + 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 + #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 + #include "../common/unicode_util.h" + + diff --git a/add-pkgconfig-files.patch b/add-pkgconfig-files.patch index e9fbb3f..d8ea48c 100644 --- a/add-pkgconfig-files.patch +++ b/add-pkgconfig-files.patch @@ -1,6 +1,16 @@ +From: Michal Kubecek +Date: Tue, 12 Jun 2012 14:32:44 +0200 +Subject: add pkgconfig files + +--- + builds/install/arch-specific/linux/misc/fbclient.pc.in | 10 ++++++++++ + configure.ac | 1 + + 2 files changed, 11 insertions(+) + create mode 100644 builds/install/arch-specific/linux/misc/fbclient.pc.in + diff --git a/builds/install/arch-specific/linux/misc/fbclient.pc.in b/builds/install/arch-specific/linux/misc/fbclient.pc.in new file mode 100644 -index 0000000..d49fdc5 +index 000000000000..d49fdc5821c5 --- /dev/null +++ b/builds/install/arch-specific/linux/misc/fbclient.pc.in @@ -0,0 +1,10 @@ @@ -14,13 +24,19 @@ index 0000000..d49fdc5 +Version: @FIREBIRD_VERSION@ +Cflags: -I${includedir}/firebird +Libs: -L${libdir} -lfbclient ---- Firebird-5.0.3.1683-0-source/configure.ac~ 2025-07-14 01:33:58.000000000 -0500 -+++ Firebird-5.0.3.1683-0-source/configure.ac 2025-09-26 10:42:45.022624859 -0500 -@@ -1540,6 +1540,7 @@ +diff --git a/configure.ac b/configure.ac +index 717f5eccc53d..60b3aaa5b08b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1200,6 +1200,7 @@ case "$PLATFORM" in gen/install/misc/firebird.init.d.gentoo:builds/install/arch-specific/linux/firebird.init.d.gentoo.in gen/install/misc/firebird.init.d.slackware:builds/install/arch-specific/linux/firebird.init.d.slackware.in gen/install/misc/rc.config.firebird:builds/install/arch-specific/linux/rc.config.firebird.in + gen/install/misc/fbclient.pc:builds/install/arch-specific/linux/misc/fbclient.pc.in - gen/install/misc/firebird.service:builds/install/arch-specific/linux/firebird.service.in - ], - [chmod a+x gen/install/*sh 2>/dev/null]) + gen/Release/firebird/bin/linuxLibrary.sh:builds/install/arch-specific/linux/linuxLibrary.sh.in + gen/install/misc/firebird-classic@.service:builds/install/arch-specific/linux/firebird-classic.service.in + gen/install/misc/firebird-classic.socket:builds/install/arch-specific/linux/firebird-classic.socket.in +-- +2.3.4 + + diff --git a/btyacc-honour-build-flags.patch b/btyacc-honour-build-flags.patch deleted file mode 100644 index cb9f38c..0000000 --- a/btyacc-honour-build-flags.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/extern/btyacc/Makefile 2022-08-12 15:24:40.846774310 +0200 -+++ a/extern/btyacc/Makefile 2022-08-12 15:26:20.954809720 +0200 -@@ -12,7 +12,7 @@ - # across all of our supported compilers/platforms. - - # Vanilla CFLAGS --CFLAGS= -+CFLAGS=-fPIC -pie - - # No LDFLAGS - #LDFLAGS= - diff --git a/cloop-honour-build-flags.patch b/cloop-honour-build-flags.patch index 3ce2e2f..1f556e0 100644 --- a/cloop-honour-build-flags.patch +++ b/cloop-honour-build-flags.patch @@ -4,51 +4,24 @@ Forwarded: no --- a/extern/cloop/Makefile +++ b/extern/cloop/Makefile -@@ -27,8 +27,8 @@ SRCS_CPP := $(foreach sdir,$(SRC_DIRS),$ +@@ -6,7 +6,7 @@ TARGET := release + + CC := gcc + CXX := g++ +-LD := $(CXX) ++LD := $(CXX) $(LDFLAGS) + + SRC_DIR := src + BUILD_DIR := build +@@ -27,8 +27,9 @@ SRCS_CPP := $(foreach sdir,$(SRC_DIRS),$ OBJS_C := $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRCS_C)) OBJS_CPP := $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRCS_CPP)) -C_FLAGS := -ggdb -fPIC -MMD -MP -W -Wall -Wno-unused-parameter --CXX_FLAGS := $(C_FLAGS) -std=c++11 -+C_FLAGS := -ggdb -fPIC -MMD -MP -W -Wall -Wno-unused-parameter $(CPPFLAGS) $(CFLAGS) -+CXX_FLAGS := $(C_FLAGS) $(CXXFLAGS) -std=c++11 - FPC_FLAGS := -Mdelphi -Cg +-CXX_FLAGS := $(C_FLAGS) ++COMMON_C_FLAGS := -ggdb -fPIC -MMD -MP -W -Wall -Wno-unused-parameter ++C_FLAGS := $(COMMON_C_FLAGS) $(CFLAGS) $(CPPFLAGS) ++CXX_FLAGS := $(COMMON_C_FLAGS) $(CXXFLAGS) $(CPPFLAGS) + FPC_FLAGS := -Mdelphi - ifeq ($(shell uname),FreeBSD) -@@ -94,7 +94,7 @@ $(BIN_DIR)/cloop: \ - $(OBJ_DIR)/cloop/Main.o \ - | $(BIN_DIR) - -- $(LD) $^ -o $@ $(LIBS) -+ $(LD) $(LDFLAGS) $^ -o $@ $(LIBS) - - $(SRC_DIR)/tests/test1/CalcCApi.h: $(BIN_DIR)/cloop $(SRC_DIR)/tests/test1/Interface.idl - $(BIN_DIR)/cloop $(SRC_DIR)/tests/test1/Interface.idl c-header $@ CALC_C_API_H CALC_I -@@ -121,23 +121,23 @@ $(BIN_DIR)/test1-c$(SHRLIB_EXT): \ - $(OBJ_DIR)/tests/test1/CalcCApi.o \ - $(OBJ_DIR)/tests/test1/CTest.o \ - -- $(LD) $^ -shared $(DL_LIB) -o $@ $(LIBS) -+ $(LD) $(LDFLAGS) $^ -shared $(DL_LIB) -o $@ $(LIBS) - - $(BIN_DIR)/test1-c$(EXE_EXT): \ - $(OBJ_DIR)/tests/test1/CalcCApi.o \ - $(OBJ_DIR)/tests/test1/CTest.o \ - -- $(LD) $^ $(DL_LIB) -o $@ $(LIBS) -+ $(LD) $(LDFLAGS) $^ $(DL_LIB) -o $@ $(LIBS) - - $(BIN_DIR)/test1-cpp$(SHRLIB_EXT): \ - $(OBJ_DIR)/tests/test1/CppTest.o \ - -- $(LD) $^ -shared $(DL_LIB) -o $@ $(LIBS) -+ $(LD) $(LDFLAGS) $^ -shared $(DL_LIB) -o $@ $(LIBS) - - $(BIN_DIR)/test1-cpp$(EXE_EXT): \ - $(OBJ_DIR)/tests/test1/CppTest.o \ - -- $(LD) $^ $(DL_LIB) -o $@ $(LIBS) -+ $(LD) $(LDFLAGS) $^ $(DL_LIB) -o $@ $(LIBS) - - $(BIN_DIR)/test1-pascal$(SHRLIB_EXT): \ - $(SRC_DIR)/tests/test1/PascalClasses.pas \ + ifeq ($(TARGET),release) diff --git a/examples-honour-build-flags.patch b/examples-honour-build-flags.patch deleted file mode 100644 index fc7ebd9..0000000 --- a/examples-honour-build-flags.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/builds/posix/Makefile.in.plugins_examples b/builds/posix/Makefile.in.plugins_examples -index 989e80d..344f487 100644 ---- a/builds/posix/Makefile.in.plugins_examples -+++ b/builds/posix/Makefile.in.plugins_examples -@@ -101,7 +101,7 @@ AllObjects += $(CA_Objects) - crypt_app: $(CRYPT_APP) - - $(CRYPT_APP): $(CA_Objects) -- $(EXE_LINK) $(LSB_UNDEF) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) -+ $(EXE_LINK) $(EXE_LINK_OPTIONS) $(LSB_UNDEF) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) - - - include $(ROOT)/gen/make.shared.targets -diff --git a/examples/extauth/Makefile b/examples/extauth/Makefile -index 3c8b878..7de22a8 100644 ---- a/examples/extauth/Makefile -+++ b/examples/extauth/Makefile -@@ -61,8 +61,8 @@ KEYGEN_objects=$(INTERMED)/keygen.o - TCWRAP_objects=$(INTERMED)/TcWrapper.o - KEY_AUTH_objects=$(INTERMED)/ExtAuth.o - --CXXFLAGS=-std=c++17 -pthread -I$(ROOT)/include -fPIC $(TOMCRYPT_COMPILE) --LDFLAGS=-pthread -L$(LIB) -Wl,-rpath,'$$ORIGIN/../lib' $(TOMCRYPT_LINK) -+CXXFLAGS+=-std=c++17 -pthread -I$(ROOT)/include -fPIC $(TOMCRYPT_COMPILE) -+LDFLAGS+=-pthread -L$(LIB) -Wl,-rpath,'$$ORIGIN/../lib' $(TOMCRYPT_LINK) - - LINK_LIBS=-lfbclient -ltomcrypt -ltommath - diff --git a/firebird.conf b/firebird.conf new file mode 100644 index 0000000..fc6e407 --- /dev/null +++ b/firebird.conf @@ -0,0 +1 @@ +d /var/run/firebird 0775 firebird firebird - diff --git a/firebird.service b/firebird.service deleted file mode 100644 index ecd4cf4..0000000 --- a/firebird.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=Firebird Database Server -After=network.target -Conflicts=firebird-classic.socket - -[Service] -User=firebird -Group=firebird -ExecStart=/usr/sbin/fbguard -forever -RuntimeDirectory=firebird -RuntimeDirectoryMode=0775 - -[Install] -WantedBy=multi-user.target diff --git a/firebird.spec b/firebird.spec index a98162d..97ef734 100644 --- a/firebird.spec +++ b/firebird.spec @@ -1,67 +1,79 @@ -%global upversion 5.0.3.1683 +%global upversion 3.0.3.32900 %global pkgversion Firebird-%{upversion}-0 -%global major 5.0 +%global major 3.0 %global _hardened_build 1 -# firebird is mis-compiled when LTO is enabled. A root -# cause analysis has not yet been completed. Reported upstream. -# Disable LTO for now -%global _lto_cflags %nil Name: firebird Version: %{upversion} Release: 1%{?dist} Summary: SQL relational database management system -# Automatically converted from old format: Interbase - review is highly recommended. -License: Interbase-1.0 +Group: Applications/Databases +License: Interbase URL: http://www.firebirdsql.org/ -Source0: https://github.com/FirebirdSQL/firebird/releases/download/v5.0.3/%{pkgversion}-source.tar.xz +Source0: https://github.com/FirebirdSQL/firebird/releases/download/R3_0_3/%{pkgversion}.tar.bz2 Source1: firebird-logrotate Source2: README.Fedora -Source3: firebird.service +Source3: firebird.conf Source4: fb_config # from OpenSuse Patch101: add-pkgconfig-files.patch +Patch103: Provide-sized-global-delete-operators-when-compiled.patch # from Debian to be sent upstream +Patch201: obsolete-syslogd.target.patch +Patch202: honour-buildflags.patch Patch203: no-copy-from-icu.patch Patch205: cloop-honour-build-flags.patch # from upstream -Patch401: btyacc-honour-build-flags.patch +Patch301: a4cb621bf55ef2101e22b1e7da5c458a1e0cc2ab.patch -# not yet upstream -Patch501: examples-honour-build-flags.patch - -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: libtommath-devel -BuildRequires: libtool -BuildRequires: ncurses-devel -BuildRequires: libicu-devel -BuildRequires: libedit-devel -BuildRequires: gcc-c++ -BuildRequires: libstdc++-static -BuildRequires: systemd-rpm-macros -BuildRequires: chrpath -BuildRequires: zlib-devel -BuildRequires: procmail -BuildRequires: make -BuildRequires: libtomcrypt-devel -BuildRequires: unzip -BuildRequires: sed -BuildRequires: cmake +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtommath-devel +BuildRequires: libtool +BuildRequires: ncurses-devel +BuildRequires: libtermcap-devel +BuildRequires: libicu-devel +BuildRequires: libedit-devel +BuildRequires: gcc-c++ +BuildRequires: libstdc++-static +BuildRequires: systemd-units +BuildRequires: chrpath +BuildRequires: zlib-devel +BuildRequires: procmail +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig Requires(postun): /usr/sbin/userdel Requires(postun): /usr/sbin/groupdel -Recommends: logrotate +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units +Requires: logrotate Requires: libfbclient2 = %{version}-%{release} Requires: libib-util = %{version}-%{release} Requires: %{name}-utils = %{version}-%{release} +Obsoletes: firebird-arch < 3.0 +Obsoletes: firebird-filesystem < 3.0 +Obsoletes: firebird-classic-common < 3.0 +Obsoletes: firebird-classic < 3.0 +Obsoletes: firebird-superclassic < 3.0 +Obsoletes: firebird-superserver < 3.0 +Conflicts: firebird-arch < 3.0 +Conflicts: firebird-filesystem < 3.0 +Conflicts: firebird-classic-common < 3.0 +Conflicts: firebird-classic < 3.0 +Conflicts: firebird-superclassic < 3.0 +Conflicts: firebird-superserver < 3.0 + %description Firebird is a relational database offering many ANSI SQL standard @@ -72,6 +84,7 @@ in production systems, under a variety of names, since 1981. %package devel +Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} Requires: libfbclient2-devel = %{version}-%{release} Summary: UDF support library for Firebird SQL server @@ -88,6 +101,7 @@ in production systems, under a variety of names, since 1981. %package -n libib-util +Group: System Environment/Libraries Summary: Firebird SQL UDF support library %description -n libib-util @@ -102,7 +116,13 @@ in production systems, under a variety of names, since 1981. %package -n libfbclient2 +Group: System Environment/Libraries Summary: Firebird SQL server client library +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig +Obsoletes: firebird-libfbclient < 3.0 +Conflicts: firebird-libfbclient < 3.0 +Obsoletes: firebird-libfbembed < 3.0 %description -n libfbclient2 Shared client library for Firebird SQL server. @@ -115,6 +135,7 @@ in production systems, under a variety of names, since 1981. %package -n libfbclient2-devel +Group: System Environment/Libraries Summary: Development libraries and headers for Firebird SQL server Requires: %{name}-devel = %{version}-%{release} Requires: libfbclient2 = %{version}-%{release} @@ -131,6 +152,7 @@ in production systems, under a variety of names, since 1981. %package doc +Group: Applications/Databases Requires: %{name} = %{version}-%{release} Summary: Documentation for Firebird SQL server BuildArch: noarch @@ -146,6 +168,7 @@ in production systems, under a variety of names, since 1981. %package utils +Group: Applications/Databases Requires: libfbclient2 = %{version}-%{release} Summary: Firebird SQL user utilities @@ -160,6 +183,7 @@ in production systems, under a variety of names, since 1981. %package examples +Group: Applications/Databases Requires: %{name}-doc = %{version}-%{release} Summary: Examples for Firebird SQL server BuildArch: noarch @@ -175,85 +199,85 @@ in production systems, under a variety of names, since 1981. %prep -%setup -q -n %{pkgversion}-source -%patch -P101 -p1 -%patch -P203 -p1 -%patch -P205 -p1 -%patch -P401 -p1 -%patch -P501 -p1 - -# Create a sysusers.d config file -cat >firebird.sysusers.conf < .%{_localstatedir}/log/%{name}/%{name}.log sed "s@%{name}.log@%{_localstatedir}/log/%{name}/%{name}.log@g" %{SOURCE1} > .%{_sysconfdir}/logrotate.d/%{name} +mkdir -p .%{_tmpfilesdir} +cp %{SOURCE3} .%{_tmpfilesdir}/ + mkdir -p .%{_unitdir} -cp -f %{SOURCE3} .%{_unitdir}/%{name}.service +cp .%{_datadir}/%{name}/misc/%{name}-superserver.service .%{_unitdir}/%{name}-superserver.service %pre +# Create the firebird group if it doesn't exist +getent group %{name} || /usr/sbin/groupadd -r %{name} +getent passwd %{name} >/dev/null || /usr/sbin/useradd -d / -g %{name} -s /bin/nologin -r %{name} + # Add gds_db to /etc/services if needed FileName=/etc/services newLine="gds_db 3050/tcp # Firebird SQL Database Remote Protocol" @@ -264,19 +288,22 @@ fi %post -%systemd_post firebird.service +/bin/systemd-tmpfiles --create %{_tmpfilesdir}/firebird.conf +%systemd_post firebird-superserver.service %postun -%systemd_postun_with_restart firebird.service +%systemd_postun_with_restart firebird-superserver.service %preun -%systemd_preun firebird.service +%systemd_preun firebird-superserver.service %files -%{_docdir}/%{name}/ +%{_docdir}/%{name}/IDPLicense.txt +%{_docdir}/%{name}/IPLicense.txt +%{_docdir}/%{name}/README.Fedora %{_bindir}/fbtracemgr %{_sbindir}/firebird %{_sbindir}/fbguard @@ -286,59 +313,63 @@ fi %config(noreplace) %{_sysconfdir}/%{name}/fbtrace.conf %config(noreplace) %{_sysconfdir}/%{name}/firebird.conf %config(noreplace) %{_sysconfdir}/%{name}/plugins.conf -%config(noreplace) %{_sysconfdir}/%{name}/replication.conf %dir %{_libdir}/%{name} %dir %{_datadir}/%{name} %{_libdir}/%{name}/intl %{_libdir}/%{name}/plugins +%{_libdir}/%{name}/udf +%{_datadir}/%{name}/misc %dir %{_localstatedir}/lib/%{name} %dir %attr(0700,%{name},%{name}) %{_localstatedir}/lib/%{name}/secdb %dir %attr(0700,%{name},%{name}) %{_localstatedir}/lib/%{name}/data %dir %attr(0755,%{name},%{name}) %{_localstatedir}/lib/%{name}/system -%dir %attr(0755,%{name},%{name}) %{_localstatedir}/lib/%{name}/tzdata -%attr(0600,firebird,firebird) %config(noreplace) %{_localstatedir}/lib/%{name}/secdb/security5.fdb +%attr(0600,firebird,firebird) %config(noreplace) %{_localstatedir}/lib/%{name}/secdb/security3.fdb +%attr(0644,firebird,firebird) %{_localstatedir}/lib/%{name}/system/help.fdb %attr(0644,firebird,firebird) %{_localstatedir}/lib/%{name}/system/firebird.msg -%attr(0644,firebird,firebird) %{_localstatedir}/lib/%{name}/tzdata/*.res -%ghost %dir %attr(0775,%{name},%{name}) /run/%{name} -%ghost %attr(0644,%{name},%{name}) /run/%{name}/fb_guard +%ghost %dir %attr(0775,%{name},%{name}) %{_var}/run/%{name} +%ghost %attr(0644,%{name},%{name}) %{_var}/run/%{name}/fb_guard +%attr(0644,root,root) %{_tmpfilesdir}/firebird.conf %dir %{_localstatedir}/log/%{name} %config(noreplace) %attr(0664,%{name},%{name}) %{_localstatedir}/log/%{name}/%{name}.log %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name} -%attr(0644,root,root) %{_unitdir}/%{name}.service -%{_sysusersdir}/firebird.conf +%defattr(0755,root,root,0755) +%{_unitdir}/%{name}-superserver.service %files devel -%{_includedir}/*.h +%defattr(-,root,root) %{_includedir}/%{name} %{_libdir}/fb_config %{_sbindir}/fb_config %files -n libfbclient2 -%{_libdir}/libfbclient.so.2 -%{_libdir}/libfbclient.so.%{major}* +%defattr(-,root,root) +%{_libdir}/libfbclient.so.* %files -n libfbclient2-devel +%defattr(-,root,root) %{_libdir}/libfbclient.so %{_libdir}/pkgconfig/fbclient.pc %files -n libib-util +%defattr(-,root,root) %{_libdir}/libib_util.so %files doc -%{_docdir}/%{name}/ +%{_docdir}/%{name} %exclude %{_docdir}/%{name}/sample %exclude %{_docdir}/%{name}/IDPLicense.txt %exclude %{_docdir}/%{name}/IPLicense.txt %files utils +%defattr(-,root,root) %{_bindir}/gstat-fb %{_bindir}/fbsvcmgr %{_bindir}/gbak @@ -347,6 +378,7 @@ fi %{_bindir}/gsec %{_bindir}/isql-fb %{_bindir}/nbackup +%{_bindir}/qli %{_bindir}/gsplit @@ -356,137 +388,6 @@ fi %changelog -* Fri Sep 26 2025 Gwyn Ciesla - 5.0.3.1683-1 -- 5.0.3.1683 - -* Thu Sep 25 2025 Gwyn Ciesla - 4.0.6.3221-1 -- 4.0.6.3221 - -* Wed Jul 23 2025 Fedora Release Engineering - 4.0.4.3010-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 4.0.4.3010-7 -- Add sysusers.d config file to allow rpm to create users/groups automatically - -* Thu Jan 16 2025 Fedora Release Engineering - 4.0.4.3010-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Aug 07 2024 Miroslav Suchý - 4.0.4.3010-5 -- convert license to SPDX - -* Wed Jul 17 2024 Fedora Release Engineering - 4.0.4.3010-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jan 24 2024 Fedora Release Engineering - 4.0.4.3010-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 4.0.4.3010-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Nov 09 2023 Philippe Makowski - 4.0.4.3010-0 -- Update to 4.0.4 (#2247832) - -* Tue Aug 08 2023 Philippe Makowski - 4.0.3.2975-0 -- Update to 4.0.3 (#2228171) - -* Wed Jul 19 2023 Fedora Release Engineering - 4.0.2.2816-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jan 19 2023 Fedora Release Engineering - 4.0.2.2816-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Thu Dec 1 2022 Florian Weimer - 4.0.2.2816-3 -- Port configure script to C99 - -* Thu Nov 24 2022 Philippe Makowski - 4.0.2.2816-2 -- Patch for autoconf 2.72 (#2144802) - -* Fri Aug 12 2022 Philippe Makowski - 4.0.2.2816-1 -- Update to 4.0.2 (#2033945) - -* Thu Jul 21 2022 Fedora Release Engineering - 4.0.0.2496-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri May 13 2022 Philippe Makowski - 4.0.0.2496-7 -- Remove Standard output type syslog (#2035798) - -* Thu Jan 20 2022 Fedora Release Engineering - 4.0.0.2496-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Sun Oct 10 2021 Kalev Lember - 4.0.0.2496-5 -- Recommend logrotate rather than hard requiring - -* Fri Oct 08 2021 Kalev Lember - 4.0.0.2496-4 -- BuildRequire systemd-rpm-macros instead of systemd-units -- Remove requires on systemd-units as per updated guidelines - -* Fri Aug 20 2021 Philippe Makowski - 4.0.0.2496-3 -- Fix build on s390x (#1969393) - -* Wed Jul 21 2021 Fedora Release Engineering - 4.0.0.2496-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jun 08 2021 Philippe Makowski - 4.0.0.2496-1 -- Update to 4.0.0 (#1963311) - -* Mon May 10 2021 Jeff Law - 3.0.7.33374-5 -- Re-enable LTO - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 3.0.7.33374-4 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Tue Jan 26 2021 Fedora Release Engineering - 3.0.7.33374-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Oct 27 2020 Jeff Law - 3.0.7.33374-2 -- Force C++14 as this code is not C++17 ready - -* Fri Oct 23 2020 Philippe Makowski - 3.0.7.33374-1 -- new upstream release fix #1887991 - -* Mon Aug 10 2020 Jeff Law - 3.0.6.33328-4 -- Disable LTO on s390x for now - -* Sat Aug 01 2020 Fedora Release Engineering - 3.0.6.33328-3 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 3.0.6.33328-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Jul 08 2020 Philippe Makowski - 3.0.6.33328-1 -- new upstream release fix #1850675 - -* Tue Jan 28 2020 Fedora Release Engineering - 3.0.5.33220-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Mon Jan 20 2020 Philippe Makowski - 3.0.5.33220-1 -- new upstream release fix #1786885 - -* Mon Nov 4 2019 Philippe Makowski - 3.0.4.33054-5 -- Change firebird-superserver.service file permissions, fix #1768091 -- Set login shell to /sbin/nologin, fix #1764128 -- Remove BR libtermcap-devel - -* Wed Aug 21 2019 Philippe Makowski - 3.0.4.33054-4 -- Remove tmpfile, fix #1687058 - -* Thu Jul 25 2019 Fedora Release Engineering - 3.0.4.33054-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Jan 31 2019 Fedora Release Engineering - 3.0.4.33054-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Nov 22 2018 Philippe Makowski - 3.0.4.33054-1 -- new upstream release - -* Fri Jul 13 2018 Fedora Release Engineering - 3.0.3.32900-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Sun Mar 18 2018 Richard W.M. Jones - 3.0.3.32900-2 -- Add support for riscv64. - * Tue Feb 20 2018 Philippe Makowski - 3.0.3.32900-1 - new upstream release. - Drop obsolete ldconfig scriptlets. diff --git a/honour-buildflags.patch b/honour-buildflags.patch new file mode 100644 index 0000000..fb3487b --- /dev/null +++ b/honour-buildflags.patch @@ -0,0 +1,43 @@ +Description: improved support for build flags + The first change makes linking makeHeader use the same CPP/CXX/LD flags as the + rest of the sources. + The second change stops btyacc/Makefile from ignoring CFLAGS from the + environment. + Both changes help compile/link with default hardening flags. +Author: Damyan Ivanov + +--- a/builds/posix/Makefile.in ++++ b/builds/posix/Makefile.in +@@ -602,7 +602,7 @@ MAKE_HEADER_Src = $(addprefix $(SRC_ROOT + MAKE_HEADER_Bin = ./makeHeader + + $(INCLUDE_DEST)/ibase.h: $(SRC_IBASE_ExtraFiles) +- $(STATICEXE_LINK) -o $(MAKE_HEADER_Bin) $(MAKE_HEADER_Src) ++ $(STATICEXE_LINK) $(EXE_LINK_OPTIONS) $(LINK_OPTS) $(CPPFLAGS) -o $(MAKE_HEADER_Bin) $(MAKE_HEADER_Src) + $(CP) $^ . + $(MAKE_HEADER_Bin) $@ + $(RM) -f ibase.h +--- a/extern/btyacc/Makefile ++++ b/extern/btyacc/Makefile +@@ -42,7 +42,7 @@ OTHERS = README README.BYACC \ + all: $(PROGRAM) + + $(PROGRAM): $(OBJS) $(LIBS) +- $(CC) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS) + + clean:; rm -f $(OBJS) + +--- a/builds/posix/make.defaults ++++ b/builds/posix/make.defaults +@@ -166,8 +166,8 @@ LD = @CXX@ + + LIB_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) + STATICLIB_LINK = $(AR) crus +-EXE_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) +-STATICEXE_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) ++EXE_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) $(LDFLAGS) ++STATICEXE_LINK = $(CXX) $(GLOB_OPTIONS) $(CXXFLAGS) $(LDFLAGS) + + LINK_LIBS = @LIBS@ + STATICLINK_LIBS = @LIBS@ diff --git a/no-copy-from-icu.patch b/no-copy-from-icu.patch index 3dfbd6d..2155d2d 100644 --- a/no-copy-from-icu.patch +++ b/no-copy-from-icu.patch @@ -40,12 +40,13 @@ Author: Damyan Ivanov { --- a/builds/posix/Makefile.in +++ b/builds/posix/Makefile.in -@@ -543,7 +543,7 @@ $(GSTAT): $(GSTAT_Objects) $(COMMON_LIB +@@ -425,7 +425,8 @@ $(GSTAT): $(GSTAT_Objects) $(COMMON_LIB isql: $(ISQL) $(ISQL): $(ISQL_Objects) $(COMMON_LIB) -- $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LIBEDITLINE) $(TERMLIB) $(LINK_LIBS) -+ $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LIBEDITLINE) $(TERMLIB) $(LINK_LIBS) $(ICU_LIBS) +- $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LIBEDITLINE) $(LINK_LIBS) ++ $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) \ ++ $(LIBEDITLINE) $(LINK_LIBS) $(ICU_LIBS) nbackup: $(NBACKUP) diff --git a/obsolete-syslogd.target.patch b/obsolete-syslogd.target.patch new file mode 100644 index 0000000..a08276c --- /dev/null +++ b/obsolete-syslogd.target.patch @@ -0,0 +1,14 @@ +Description: remove reference to obsolete syslog.target + Syslog is socket-activated, so no need to declare a dependency on it +Author: Damyan Ivanov + +--- a/builds/install/arch-specific/linux/firebird-superserver.service.in ++++ b/builds/install/arch-specific/linux/firebird-superserver.service.in +@@ -1,6 +1,6 @@ + [Unit] + Description=Firebird Database Server ( SuperServer ) +-After=syslog.target network.target ++After=network.target + Conflicts=firebird-classic.socket + + [Service] diff --git a/sources b/sources index deab017..ef1293b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Firebird-5.0.3.1683-0-source.tar.xz) = 3b1d075ced4dfcf099723f06a8a18ac6821aa9fd3c0c9919f44b4bb7126390436dc1a9f61369f0dd7401af5bbac82dff02edf28555046c89cbe33657e26fd937 +SHA512 (Firebird-3.0.3.32900-0.tar.bz2) = 09c4b48745b91973ead9a0be065ebe0ba38db40e4e8a98e29a56c37582e7a7b2bc503c9303af5478bb4c857ce6b7ea07713d769ef7df0543c6c02cffdb630555