Compare commits

..

No commits in common. "rawhide" and "f28" have entirely different histories.

15 changed files with 321 additions and 334 deletions

10
.gitignore vendored
View file

@ -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

View file

@ -0,0 +1,36 @@
From: Michal Kubecek <mkubecek@suse.cz>
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

View file

@ -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

View file

@ -0,0 +1,63 @@
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"

View file

@ -1,6 +1,16 @@
From: Michal Kubecek <mkubecek@suse.cz>
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

View file

@ -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=

View file

@ -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)

View file

@ -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

1
firebird.conf Normal file
View file

@ -0,0 +1 @@
d /var/run/firebird 0775 firebird firebird -

View file

@ -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

View file

@ -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 <<EOF
u firebird - - - -
EOF
%setup -q -n %{pkgversion}
%patch101 -p1
%patch103 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch205 -p1
%patch301 -p1
%build
%ifarch s390x
%global _lto_cflags %{nil}
%endif
export CFLAGS="%{optflags} -fno-strict-aliasing"
export CXXFLAGS="${CFLAGS} -fno-delete-null-pointer-checks"
NOCONFIGURE=1 ./autogen.sh
%configure --disable-rpath --prefix=%{_prefix} \
%configure --prefix=%{_prefix} \
--disable-binreloc \
--with-system-editline \
--with-fbbin=%{_bindir} --with-fbsbin=%{_sbindir} \
--with-fbconf=%{_sysconfdir}/%{name} \
--with-fblib=%{_libdir} --with-fbinclude=%{_includedir} \
--with-fblib=%{_libdir} --with-fbinclude=%{_includedir}/%{name} \
--with-fbdoc=%{_defaultdocdir}/%{name} \
--with-fbudf=%{_libdir}/%{name}/udf \
--with-fbsample=%{_defaultdocdir}/%{name}/sample \
--with-fbsample-db=%{_localstatedir}/lib/%{name}/data \
--with-fbhelp=%{_localstatedir}/lib/%{name}/system \
--with-fbsample-db=%{_localstatedir}/lib/%{name}/data/ \
--with-fbhelp=%{_localstatedir}/lib/%{name}/system/ \
--with-fbintl=%{_libdir}/%{name}/intl \
--with-fbmisc=%{_datadir}/%{name}/misc \
--with-fbsecure-db=%{_localstatedir}/lib/%{name}/secdb \
--with-fbmsg=%{_localstatedir}/lib/%{name}/system \
--with-fbsecure-db=%{_localstatedir}/lib/%{name}/secdb/ \
--with-fbmsg=%{_localstatedir}/lib/%{name}/system/ \
--with-fblog=%{_localstatedir}/log/%{name} \
--with-fbglock=%{_rundir}/%{name} \
--with-fbplugins=%{_libdir}/%{name}/plugins \
--with-fbtzdata=%{_localstatedir}/lib/%{name}/tzdata
--with-fbglock=%{_var}/run/%{name} \
--with-fbplugins=%{_libdir}/%{name}/plugins
make %{?_smp_mflags}
cd gen
sed -i '/linkFiles "/d' ./install/makeInstallImage.sh
./install/makeInstallImage.sh
make -f Makefile.install buildRoot
chmod -R u+w buildroot%{_docdir}/%{name}
%install
chmod u+rw,a+rx gen/buildroot/%{_includedir}/firebird/impl
chmod u+rw,a+rx gen/buildroot/usr/include/firebird/firebird/impl
cp -r gen/buildroot/* ${RPM_BUILD_ROOT}/
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig
cp -v gen/install/misc/*.pc ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig/
install -m0644 -D firebird.sysusers.conf %{buildroot}%{_sysusersdir}/firebird.conf
cd ${RPM_BUILD_ROOT}
rm -vf .%{_sbindir}/*.sh
mv -v .%{_sbindir}/fb_config .%{_libdir}/
install -p -m 0755 %{SOURCE4} %{buildroot}%{_sbindir}/fb_config
rm -vf .%{_includedir}/perf.h
rm -vf .%{_includedir}/%{name}/perf.h
rm -vf .%{_libdir}/libicu*.so
rm -vf .%{_includedir}/*.h
chmod -R u+w .%{_docdir}/%{name}
mv -v .%{_datadir}/%{name}/misc/upgrade/udf/* .%{_docdir}/%{name}/
rm -rvf .%{_datadir}/%{name}/misc
mv -v .%{_sysconfdir}/%{name}/README.md .%{_sysconfdir}/%{name}/CHANGELOG.md \
rm -vf .%{_datadir}/%{name}/misc/firebird.init.*
rm -vf .%{_datadir}/%{name}/misc/firebird.xinetd
rm -vf .%{_datadir}/%{name}/misc/rc.config.firebird
mv -v .%{_sysconfdir}/%{name}/README .%{_sysconfdir}/%{name}/WhatsNew \
.%{_docdir}/%{name}/
mv -v .%{_sysconfdir}/%{name}/IDPLicense.txt .%{_docdir}/%{name}/
mv -v .%{_sysconfdir}/%{name}/IPLicense.txt .%{_docdir}/%{name}/
install -p -m 0644 -D %{SOURCE2} .%{_docdir}/%{name}/README.Fedora
mv -v .%{_bindir}/gstat .%{_bindir}/gstat-fb
mv -v .%{_bindir}/isql .%{_bindir}/isql-fb
rm -rvf .%{_defaultdocdir}/%{name}/sample/prebuilt
mkdir -p .%{_localstatedir}/log/%{name}
mkdir -p .%{_sysconfdir}/logrotate.d
echo 1 > .%{_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 <gwync@protonmail.com> - 5.0.3.1683-1
- 5.0.3.1683
* Thu Sep 25 2025 Gwyn Ciesla <gwync@protonmail.com> - 4.0.6.3221-1
- 4.0.6.3221
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.4.3010-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <releng@fedoraproject.org> - 4.0.4.3010-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Aug 07 2024 Miroslav Suchý <msuchy@redhat.com> - 4.0.4.3010-5
- convert license to SPDX
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.4.3010-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.4.3010-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.4.3010-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Nov 09 2023 Philippe Makowski <makowski@fedoraproject.org> - 4.0.4.3010-0
- Update to 4.0.4 (#2247832)
* Tue Aug 08 2023 Philippe Makowski <makowski@fedoraproject.org> - 4.0.3.2975-0
- Update to 4.0.3 (#2228171)
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2.2816-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2.2816-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Dec 1 2022 Florian Weimer <fweimer@redhat.com> - 4.0.2.2816-3
- Port configure script to C99
* Thu Nov 24 2022 Philippe Makowski <makowski@fedoraproject.org> - 4.0.2.2816-2
- Patch for autoconf 2.72 (#2144802)
* Fri Aug 12 2022 Philippe Makowski <makowski@fedoraproject.org> - 4.0.2.2816-1
- Update to 4.0.2 (#2033945)
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0.2496-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri May 13 2022 Philippe Makowski <makowski@fedoraproject.org> - 4.0.0.2496-7
- Remove Standard output type syslog (#2035798)
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0.2496-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sun Oct 10 2021 Kalev Lember <klember@redhat.com> - 4.0.0.2496-5
- Recommend logrotate rather than hard requiring
* Fri Oct 08 2021 Kalev Lember <klember@redhat.com> - 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 <makowski@fedoraproject.org> - 4.0.0.2496-3
- Fix build on s390x (#1969393)
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0.2496-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jun 08 2021 Philippe Makowski <makowski@fedoraproject.org> - 4.0.0.2496-1
- Update to 4.0.0 (#1963311)
* Mon May 10 2021 Jeff Law <law@tachyum.com> - 3.0.7.33374-5
- Re-enable LTO
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <releng@fedoraproject.org> - 3.0.7.33374-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Oct 27 2020 Jeff Law <law@redhat.com> - 3.0.7.33374-2
- Force C++14 as this code is not C++17 ready
* Fri Oct 23 2020 Philippe Makowski <makowski@fedoraproject.org> - 3.0.7.33374-1
- new upstream release fix #1887991
* Mon Aug 10 2020 Jeff Law <law@fedoraproject.org> - 3.0.6.33328-4
- Disable LTO on s390x for now
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.6.33328-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.6.33328-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 08 2020 Philippe Makowski <makowski@fedoraproject.org> - 3.0.6.33328-1
- new upstream release fix #1850675
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.5.33220-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Jan 20 2020 Philippe Makowski <makowski@fedoraproject.org> - 3.0.5.33220-1
- new upstream release fix #1786885
* Mon Nov 4 2019 Philippe Makowski <makowski@fedoraproject.org> - 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 <makowski@fedoraproject.org> - 3.0.4.33054-4
- Remove tmpfile, fix #1687058
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4.33054-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4.33054-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Nov 22 2018 Philippe Makowski <makowski@fedoraproject.org> - 3.0.4.33054-1
- new upstream release
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3.32900-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sun Mar 18 2018 Richard W.M. Jones <rjones@redhat.com> - 3.0.3.32900-2
- Add support for riscv64.
* Tue Feb 20 2018 Philippe Makowski <makowski@fedoraproject.org> - 3.0.3.32900-1
- new upstream release.
- Drop obsolete ldconfig scriptlets.

43
honour-buildflags.patch Normal file
View file

@ -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 <dmn@debian.org>
--- 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) <ibase.h >$@
$(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@

View file

@ -40,12 +40,13 @@ Author: Damyan Ivanov <dmn@debian.org>
{
--- 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)

View file

@ -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 <dmn@debian.org>
--- 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]

View file

@ -1 +1 @@
SHA512 (Firebird-5.0.3.1683-0-source.tar.xz) = 3b1d075ced4dfcf099723f06a8a18ac6821aa9fd3c0c9919f44b4bb7126390436dc1a9f61369f0dd7401af5bbac82dff02edf28555046c89cbe33657e26fd937
SHA512 (Firebird-3.0.3.32900-0.tar.bz2) = 09c4b48745b91973ead9a0be065ebe0ba38db40e4e8a98e29a56c37582e7a7b2bc503c9303af5478bb4c857ce6b7ea07713d769ef7df0543c6c02cffdb630555