diff --git a/.gitignore b/.gitignore index 1023084..0e5122a 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,12 @@ Firebird-2.1.3.18185-0.RC2.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/0001-Port-to-RISC-V-64-bit-riscv64.patch b/0001-Port-to-RISC-V-64-bit-riscv64.patch deleted file mode 100644 index 6fcc1fc..0000000 --- a/0001-Port-to-RISC-V-64-bit-riscv64.patch +++ /dev/null @@ -1,134 +0,0 @@ -diff -urN Firebird-3.0.3.32900-0.old/builds/posix/prefix.linux_riscv64 Firebird-3.0.3.32900-0/builds/posix/prefix.linux_riscv64 ---- Firebird-3.0.3.32900-0.old/builds/posix/prefix.linux_riscv64 1970-01-01 01:00:00.000000000 +0100 -+++ Firebird-3.0.3.32900-0/builds/posix/prefix.linux_riscv64 2018-03-19 08:56:57.254118156 +0000 -@@ -0,0 +1,26 @@ -+# The contents of this file are subject to the Interbase Public -+# License Version 1.0 (the "License"); you may not use this file -+# except in compliance with the License. You may obtain a copy -+# of the License at http://www.Inprise.com/IPL.html -+# -+# Software distributed under the License is distributed on an -+# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express -+# or implied. See the License for the specific language governing -+# rights and limitations under the License. -+# -+# The Original Code was created by Inprise Corporation -+# and its predecessors. Portions created by Inprise Corporation are -+# Copyright (C) Inprise Corporation. -+# -+# All Rights Reserved. -+# Contributor(s): ______________________________________. -+# Start of file prefix.linux: $(VERSION) $(PLATFORM) -+# -+# Richard W.M. Jones, Red Hat Inc. -+ -+WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable -Wno-invalid-offsetof -Wno-narrowing -Wno-unused-local-typedefs -+ -+PROD_FLAGS=-O3 -DLINUX -DRISCV64 -pipe -p -MMD -fPIC -fsigned-char -fmessage-length=0 -+DEV_FLAGS=-ggdb -DLINUX -DRISCV64 -pipe -p -MMD -fPIC -Wall -fsigned-char -fmessage-length=0 $(WARN_FLAGS) -+ -+CXXFLAGS := $(CXXFLAGS) -std=c++11 -diff -urN Firebird-3.0.3.32900-0.old/configure.ac Firebird-3.0.3.32900-0/configure.ac ---- Firebird-3.0.3.32900-0.old/configure.ac 2018-03-19 08:56:23.222156918 +0000 -+++ Firebird-3.0.3.32900-0/configure.ac 2018-03-19 08:56:57.254118156 +0000 -@@ -251,6 +251,18 @@ - libdir=/usr/lib64 - ;; - -+ riscv64*-*-linux*) -+ MAKEFILE_PREFIX=linux_riscv64 -+ INSTALL_PREFIX=linux -+ PLATFORM=LINUX -+ AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) -+ EDITLINE_FLG=Y -+ SHRLIB_EXT=so -+ STD_EDITLINE=true -+ STD_ICU=true -+ libdir=/usr/lib64 -+ ;; -+ - powerpc64le-*-linux*) - MAKEFILE_PREFIX=linux_powerpc64el - INSTALL_PREFIX=linux -diff -urN Firebird-3.0.3.32900-0.old/src/common/classes/DbImplementation.cpp Firebird-3.0.3.32900-0/src/common/classes/DbImplementation.cpp ---- Firebird-3.0.3.32900-0.old/src/common/classes/DbImplementation.cpp 2018-02-02 11:00:35.000000000 +0000 -+++ Firebird-3.0.3.32900-0/src/common/classes/DbImplementation.cpp 2018-03-19 08:56:57.254118156 +0000 -@@ -49,6 +49,7 @@ - static const UCHAR CpuArm64 = 15; - static const UCHAR CpuPowerPc64el = 16; - static const UCHAR CpuM68k = 17; -+static const UCHAR CpuRiscV64 = 18; - - static const UCHAR OsWindows = 0; - static const UCHAR OsLinux = 1; -@@ -89,7 +90,8 @@ - "Alpha", - "ARM64", - "PowerPC64el", -- "M68k" -+ "M68k", -+ "RiscV64" - }; - - const char* operatingSystem[] = { -@@ -116,22 +118,22 @@ - // This table lists pre-fb3 implementation codes - const UCHAR backwardTable[FB_NELEM(hardware) * FB_NELEM(operatingSystem)] = - { --// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA Alpha ARM64 PowerPC64el --/* Windows */ 50, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, --/* Linux */ 60, 66, 65, 69, 86, 71, 72, 75, 76, 79, 78, 80, 81, 82, 83, 84, 85, --/* Darwin */ 70, 73, 0, 63, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, --/* Solaris */ 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, --/* HPUX */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, --/* AIX */ 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, --/* MVS */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, --/* FreeBSD */ 61, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, --/* NetBSD */ 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -+// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA Alpha ARM64 PowerPC64el RiscV64 -+/* Windows */ 50, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+/* Linux */ 60, 66, 65, 69, 86, 71, 72, 75, 76, 79, 78, 80, 81, 82, 83, 84, 85, 88, -+/* Darwin */ 70, 73, 0, 63, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+/* Solaris */ 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+/* HPUX */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, -+/* AIX */ 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+/* MVS */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+/* FreeBSD */ 61, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+/* NetBSD */ 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }; - - const UCHAR backEndianess[FB_NELEM(hardware)] = - { --// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA Alpha ARM64 PowerPC64el M68k -- 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1 -+// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA Alpha ARM64 PowerPC64el M68k RiscV64 -+ 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, - }; - - } // anonymous namespace -diff -urN Firebird-3.0.3.32900-0.old/src/common/common.h Firebird-3.0.3.32900-0/src/common/common.h ---- Firebird-3.0.3.32900-0.old/src/common/common.h 2018-03-19 08:56:23.377156741 +0000 -+++ Firebird-3.0.3.32900-0/src/common/common.h 2018-03-19 08:56:57.255118154 +0000 -@@ -135,6 +135,10 @@ - #define FB_CPU CpuArm64 - #endif /* ARM64 */ - -+#ifdef RISCV64 -+#define FB_CPU CpuRiscV64 -+#endif /* RISCV64 */ -+ - #ifdef sparc - #define FB_CPU CpuUltraSparc - #define RISC_ALIGNMENT -diff -urN Firebird-3.0.3.32900-0.old/src/jrd/inf_pub.h Firebird-3.0.3.32900-0/src/jrd/inf_pub.h ---- Firebird-3.0.3.32900-0.old/src/jrd/inf_pub.h 2018-02-02 11:00:36.000000000 +0000 -+++ Firebird-3.0.3.32900-0/src/jrd/inf_pub.h 2018-03-19 08:56:57.255118154 +0000 -@@ -245,7 +245,7 @@ - isc_info_db_impl_linux_ppc64el = 85, - isc_info_db_impl_linux_ppc64 = 86, - isc_info_db_impl_linux_m68k = 87, -- -+ isc_info_db_impl_linux_riscv64 = 88, - - isc_info_db_impl_last_value // Leave this LAST! - }; diff --git a/Provide-sized-global-delete-operators-when-compiled.patch b/Provide-sized-global-delete-operators-when-compiled.patch deleted file mode 100644 index 1302d1d..0000000 --- a/Provide-sized-global-delete-operators-when-compiled.patch +++ /dev/null @@ -1,36 +0,0 @@ -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 9f869cb..071b351 100644 --- a/README.Fedora +++ b/README.Fedora @@ -8,13 +8,10 @@ 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 : - for SuperServer : - systemctl start firebird-superserver.service + systemctl start firebird.service If you want to have firebird started at each boot, as root : - for SuperServer : - systemctl enable firebird-superserver.service + systemctl enable firebird.service diff --git a/add-pkgconfig-files.patch b/add-pkgconfig-files.patch index d8ea48c..e9fbb3f 100644 --- a/add-pkgconfig-files.patch +++ b/add-pkgconfig-files.patch @@ -1,16 +1,6 @@ -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 000000000000..d49fdc5821c5 +index 0000000..d49fdc5 --- /dev/null +++ b/builds/install/arch-specific/linux/misc/fbclient.pc.in @@ -0,0 +1,10 @@ @@ -24,19 +14,13 @@ index 000000000000..d49fdc5821c5 +Version: @FIREBIRD_VERSION@ +Cflags: -I${includedir}/firebird +Libs: -L${libdir} -lfbclient -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 +--- 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 @@ 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/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 - - + gen/install/misc/firebird.service:builds/install/arch-specific/linux/firebird.service.in + ], + [chmod a+x gen/install/*sh 2>/dev/null]) diff --git a/btyacc-honour-build-flags.patch b/btyacc-honour-build-flags.patch new file mode 100644 index 0000000..cb9f38c --- /dev/null +++ b/btyacc-honour-build-flags.patch @@ -0,0 +1,12 @@ +--- 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 1f556e0..3ce2e2f 100644 --- a/cloop-honour-build-flags.patch +++ b/cloop-honour-build-flags.patch @@ -4,24 +4,51 @@ Forwarded: no --- a/extern/cloop/Makefile +++ b/extern/cloop/Makefile -@@ -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),$ +@@ -27,8 +27,8 @@ 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) -+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 +-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 - ifeq ($(TARGET),release) + 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 \ diff --git a/examples-honour-build-flags.patch b/examples-honour-build-flags.patch new file mode 100644 index 0000000..fc7ebd9 --- /dev/null +++ b/examples-honour-build-flags.patch @@ -0,0 +1,28 @@ +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-superserver.service b/firebird.service similarity index 75% rename from firebird-superserver.service rename to firebird.service index 50442e6..ecd4cf4 100644 --- a/firebird-superserver.service +++ b/firebird.service @@ -1,5 +1,5 @@ [Unit] -Description=Firebird Database Server ( SuperServer ) +Description=Firebird Database Server After=network.target Conflicts=firebird-classic.socket @@ -7,7 +7,6 @@ Conflicts=firebird-classic.socket User=firebird Group=firebird ExecStart=/usr/sbin/fbguard -forever -StandardError=syslog RuntimeDirectory=firebird RuntimeDirectoryMode=0775 diff --git a/firebird.spec b/firebird.spec index 0fdd7e7..a98162d 100644 --- a/firebird.spec +++ b/firebird.spec @@ -1,79 +1,67 @@ -%global upversion 3.0.4.33054 +%global upversion 5.0.3.1683 %global pkgversion Firebird-%{upversion}-0 -%global major 3.0 +%global major 5.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: 3%{?dist} +Release: 1%{?dist} Summary: SQL relational database management system -License: Interbase +# Automatically converted from old format: Interbase - review is highly recommended. +License: Interbase-1.0 URL: http://www.firebirdsql.org/ -Source0: https://github.com/FirebirdSQL/firebird/releases/download/R3_0_4/%{pkgversion}.tar.bz2 +Source0: https://github.com/FirebirdSQL/firebird/releases/download/v5.0.3/%{pkgversion}-source.tar.xz Source1: firebird-logrotate Source2: README.Fedora -Source3: firebird-superserver.service +Source3: firebird.service 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 -# Support for riscv64, sent upstream: -# http://tracker.firebirdsql.org/browse/CORE-5779 -Patch401: 0001-Port-to-RISC-V-64-bit-riscv64.patch +# not yet upstream +Patch501: examples-honour-build-flags.patch -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 +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 Requires(postun): /usr/sbin/userdel Requires(postun): /usr/sbin/groupdel -Requires(pre): /usr/sbin/groupadd -Requires(pre): /usr/sbin/useradd -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units -Requires: logrotate +Recommends: 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 @@ -115,9 +103,6 @@ in production systems, under a variety of names, since 1981. %package -n libfbclient2 Summary: Firebird SQL server client library -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. @@ -190,84 +175,85 @@ in production systems, under a variety of names, since 1981. %prep -%setup -q -n %{pkgversion} -%patch101 -p1 -%patch103 -p1 -%patch201 -p1 -%patch202 -p1 -%patch203 -p1 -%patch205 -p1 -%patch401 -p1 +%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} -cp -f %{SOURCE3} .%{_datadir}/%{name}/misc/%{name}-superserver.service - mkdir -p .%{_unitdir} -cp .%{_datadir}/%{name}/misc/%{name}-superserver.service .%{_unitdir}/%{name}-superserver.service +cp -f %{SOURCE3} .%{_unitdir}/%{name}.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" @@ -278,21 +264,19 @@ fi %post -%systemd_post firebird-superserver.service +%systemd_post firebird.service %postun -%systemd_postun_with_restart firebird-superserver.service +%systemd_postun_with_restart firebird.service %preun -%systemd_preun firebird-superserver.service +%systemd_preun firebird.service %files -%{_docdir}/%{name}/IDPLicense.txt -%{_docdir}/%{name}/IPLicense.txt -%{_docdir}/%{name}/README.Fedora +%{_docdir}/%{name}/ %{_bindir}/fbtracemgr %{_sbindir}/firebird %{_sbindir}/fbguard @@ -302,38 +286,40 @@ 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 -%attr(0600,firebird,firebird) %config(noreplace) %{_localstatedir}/lib/%{name}/secdb/security3.fdb -%attr(0644,firebird,firebird) %{_localstatedir}/lib/%{name}/system/help.fdb +%dir %attr(0755,%{name},%{name}) %{_localstatedir}/lib/%{name}/tzdata +%attr(0600,firebird,firebird) %config(noreplace) %{_localstatedir}/lib/%{name}/secdb/security5.fdb %attr(0644,firebird,firebird) %{_localstatedir}/lib/%{name}/system/firebird.msg -%ghost %dir %attr(0775,%{name},%{name}) %{_var}/run/%{name} -%ghost %attr(0644,%{name},%{name}) %{_var}/run/%{name}/fb_guard +%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 %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} -%defattr(0755,root,root,0755) -%{_unitdir}/%{name}-superserver.service +%attr(0644,root,root) %{_unitdir}/%{name}.service +%{_sysusersdir}/firebird.conf %files devel +%{_includedir}/*.h %{_includedir}/%{name} %{_libdir}/fb_config %{_sbindir}/fb_config %files -n libfbclient2 -%{_libdir}/libfbclient.so.* +%{_libdir}/libfbclient.so.2 +%{_libdir}/libfbclient.so.%{major}* %files -n libfbclient2-devel @@ -346,7 +332,7 @@ fi %files doc -%{_docdir}/%{name} +%{_docdir}/%{name}/ %exclude %{_docdir}/%{name}/sample %exclude %{_docdir}/%{name}/IDPLicense.txt %exclude %{_docdir}/%{name}/IPLicense.txt @@ -361,7 +347,6 @@ fi %{_bindir}/gsec %{_bindir}/isql-fb %{_bindir}/nbackup -%{_bindir}/qli %{_bindir}/gsplit @@ -371,9 +356,125 @@ fi %changelog -* Wed Aug 21 2019 Philippe Makowski - 3.0.4.33054-3 +* 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 diff --git a/honour-buildflags.patch b/honour-buildflags.patch deleted file mode 100644 index 221241d..0000000 --- a/honour-buildflags.patch +++ /dev/null @@ -1,78 +0,0 @@ -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. - The third change stops overriding CXXFLAGS - The result is using hardening flags from the environment when compiling and - linking. -Author: Damyan Ivanov - ---- a/builds/posix/Makefile.in -+++ b/builds/posix/Makefile.in -@@ -623,7 +623,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@ ---- a/builds/posix/prefix.linux -+++ b/builds/posix/prefix.linux -@@ -19,7 +19,7 @@ - # 2 Oct 2002, Nickolay Samofatov - Major cleanup - - COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0 -fno-delete-null-pointer-checks --CXXFLAGS=-std=gnu++03 -+CXXFLAGS+=-std=gnu++03 - OPTIMIZE_FLAGS=-O3 -march=i586 -mtune=i686 -fno-omit-frame-pointer - WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable -Wno-narrowing - ---- a/builds/posix/prefix.linux_amd64 -+++ b/builds/posix/prefix.linux_amd64 -@@ -19,7 +19,7 @@ - # 2 Oct 2002, Nickolay Samofatov - Major cleanup - - COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DAMD64 -pipe -MMD -fPIC -fmessage-length=0 -fno-delete-null-pointer-checks --CXXFLAGS=-std=gnu++03 -+CXXFLAGS+=-std=gnu++03 - OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer - WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable -Wno-invalid-offsetof -Wno-narrowing -Wno-unused-local-typedefs - ---- a/builds/posix/prefix.linux_generic -+++ b/builds/posix/prefix.linux_generic -@@ -19,7 +19,7 @@ - # 2 Oct 2002, Nickolay Samofatov - Major cleanup - - COMMON_FLAGS=-DLINUX -pipe -MMD -fPIC -DFB_SEND_FLAGS=MSG_NOSIGNAL -fno-delete-null-pointer-checks --CXXFLAGS=-std=gnu++03 -+CXXFLAGS+=-std=gnu++03 - - PROD_FLAGS=-ggdb -O3 $(COMMON_FLAGS) - DEV_FLAGS=-ggdb -p -Wall -Wno-switch $(COMMON_FLAGS) -Wno-non-virtual-dtor diff --git a/no-copy-from-icu.patch b/no-copy-from-icu.patch index ca26688..3dfbd6d 100644 --- a/no-copy-from-icu.patch +++ b/no-copy-from-icu.patch @@ -3,7 +3,7 @@ Author: Damyan Ivanov --- a/src/isql/isql.epp +++ b/src/isql/isql.epp -@@ -168,34 +168,6 @@ const char* UNKNOWN = "*unknown*"; +@@ -173,34 +173,6 @@ const char* UNKNOWN = "*unknown*"; namespace IcuUtil { @@ -40,13 +40,12 @@ Author: Damyan Ivanov { --- a/builds/posix/Makefile.in +++ b/builds/posix/Makefile.in -@@ -476,7 +476,8 @@ $(GSTAT): $(GSTAT_Objects) $(COMMON_LIB +@@ -543,7 +543,7 @@ $(GSTAT): $(GSTAT_Objects) $(COMMON_LIB isql: $(ISQL) $(ISQL): $(ISQL_Objects) $(COMMON_LIB) -- $(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) +- $(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) nbackup: $(NBACKUP) diff --git a/obsolete-syslogd.target.patch b/obsolete-syslogd.target.patch deleted file mode 100644 index a08276c..0000000 --- a/obsolete-syslogd.target.patch +++ /dev/null @@ -1,14 +0,0 @@ -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 5e9598a..deab017 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Firebird-3.0.4.33054-0.tar.bz2) = a346ebd53aeccf0b33eac5d35c3c3356624c1fbd0ad897173b3f68d940143062b28460a2822df807e8e8a1ea8792ebf98ed33e5b3ae273d86e6e36295a7fc8ad +SHA512 (Firebird-5.0.3.1683-0-source.tar.xz) = 3b1d075ced4dfcf099723f06a8a18ac6821aa9fd3c0c9919f44b4bb7126390436dc1a9f61369f0dd7401af5bbac82dff02edf28555046c89cbe33657e26fd937