diff --git a/0001-Port-to-RISC-V-64-bit-riscv64.patch b/0001-Port-to-RISC-V-64-bit-riscv64.patch new file mode 100644 index 0000000..6fcc1fc --- /dev/null +++ b/0001-Port-to-RISC-V-64-bit-riscv64.patch @@ -0,0 +1,134 @@ +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/Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch b/Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch new file mode 100644 index 0000000..981b09b --- /dev/null +++ b/Make-the-generated-code-compatible-with-gcc-6-in-C-1.patch @@ -0,0 +1,29 @@ +From: asfernandes +Date: Sat, 5 Mar 2016 03:39:36 +0000 +Subject: Make the generated code compatible with gcc 6 in C++-14 mode. + (cherry picked from commit 3618aa2171674babf79ef935aa049c40a3db1321) +Patch-mainline: +Git-commit: 3618aa2171674babf79ef935aa049c40a3db1321 +References: bsc#964466 CORE-5099 + +--- + src/gpre/c_cxx.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gpre/c_cxx.cpp b/src/gpre/c_cxx.cpp +index df175dca9465..bafce8f282bf 100644 +--- a/src/gpre/c_cxx.cpp ++++ b/src/gpre/c_cxx.cpp +@@ -2820,7 +2820,7 @@ static void gen_request(const gpre_req* request) + printa(0, "static %sshort\n isc_%dl = %d;", + (request->req_flags & REQ_extend_dpb) ? "" : CONST_STR, + request->req_ident, request->req_length); +- printa(0, "static %schar\n isc_%d [] = {", CONST_STR, request->req_ident); ++ printa(0, "static %sunsigned char\n isc_%d [] = {", CONST_STR, request->req_ident); + + const TEXT* string_type = "blr"; + if (gpreGlob.sw_raw) +-- +2.8.2 + + diff --git a/Makefile b/Makefile deleted file mode 100644 index a96c986..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: firebird -# $Id$ -NAME := firebird -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) 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 new file mode 100644 index 0000000..9f869cb --- /dev/null +++ b/README.Fedora @@ -0,0 +1,20 @@ +Differences between upstream and the Fedora package +=================================================== + +* In /usr/bin you have isql-fb for Firebird isql. + We can't name it isql to avoid conflict with isql from UNIX-ODBC. + In /usr/bin you have also gstat-fb for Firebird gstat. + We can't name it gstat to avoid conflict with gstat from Ganglia-gmond. + +* 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 + If you want to have firebird started at each boot, as root : + for SuperServer : + systemctl enable firebird-superserver.service + diff --git a/add-pkgconfig-files.patch b/add-pkgconfig-files.patch new file mode 100644 index 0000000..d8ea48c --- /dev/null +++ b/add-pkgconfig-files.patch @@ -0,0 +1,42 @@ +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 +--- /dev/null ++++ b/builds/install/arch-specific/linux/misc/fbclient.pc.in +@@ -0,0 +1,10 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@FB_LIBDIR@ ++includedir=@FB_INCDIR@ ++ ++Name: fbclient ++Description: Firebird client library ++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 + 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 + + diff --git a/cloop-honour-build-flags.patch b/cloop-honour-build-flags.patch new file mode 100644 index 0000000..1f556e0 --- /dev/null +++ b/cloop-honour-build-flags.patch @@ -0,0 +1,27 @@ +Description: make cloop build honor compiler/linker flags from the environment +Author: Damyan Ivanov +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),$ + 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 + + ifeq ($(TARGET),release) diff --git a/fb_config b/fb_config new file mode 100644 index 0000000..2e4c410 --- /dev/null +++ b/fb_config @@ -0,0 +1,20 @@ +#!/usr/bin/sh + +ARCH=$(uname -m) + +case $ARCH in + x86_64 | sparc64 | s390x | ppc64 | aarch64) + LIB_DIR=/usr/lib64 + SECONDARY_LIB_DIR=/usr/lib + ;; + *) + LIB_DIR=/usr/lib + SECONDARY_LIB_DIR=/usr/lib64 + ;; +esac + +if [ ! -x $LIB_DIR/fb_config ]; then + LIB_DIR=$SECONDARY_LIB_DIR +fi + +exec $LIB_DIR/fb_config "$@" diff --git a/firebird-logrotate b/firebird-logrotate new file mode 100644 index 0000000..5da6610 --- /dev/null +++ b/firebird-logrotate @@ -0,0 +1,9 @@ +firebird.log { + weekly + missingok + rotate 52 + compress + delaycompress + notifempty + create 640 firebird adm + } diff --git a/firebird-superserver.service b/firebird-superserver.service new file mode 100644 index 0000000..50442e6 --- /dev/null +++ b/firebird-superserver.service @@ -0,0 +1,15 @@ +[Unit] +Description=Firebird Database Server ( SuperServer ) +After=network.target +Conflicts=firebird-classic.socket + +[Service] +User=firebird +Group=firebird +ExecStart=/usr/sbin/fbguard -forever +StandardError=syslog +RuntimeDirectory=firebird +RuntimeDirectoryMode=0775 + +[Install] +WantedBy=multi-user.target diff --git a/firebird.spec b/firebird.spec new file mode 100644 index 0000000..622d306 --- /dev/null +++ b/firebird.spec @@ -0,0 +1,597 @@ +%global upversion 3.0.4.33054 +%global pkgversion Firebird-%{upversion}-0 + +%global major 3.0 +%global _hardened_build 1 + +Name: firebird +Version: %{upversion} +Release: 1%{?dist} + +Summary: SQL relational database management system +License: Interbase +URL: http://www.firebirdsql.org/ + +Source0: https://github.com/FirebirdSQL/firebird/releases/download/R3_0_4/%{pkgversion}.tar.bz2 +Source1: firebird-logrotate +Source2: README.Fedora +Source3: firebird-superserver.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 + +# Support for riscv64, sent upstream: +# http://tracker.firebirdsql.org/browse/CORE-5779 +Patch401: 0001-Port-to-RISC-V-64-bit-riscv64.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 + +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 +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 +features that runs on Linux, Windows, and a variety of Unix platforms. +Firebird offers excellent concurrency, high performance, and powerful +language support for stored procedures and triggers. It has been used +in production systems, under a variety of names, since 1981. + + +%package devel +Requires: %{name} = %{version}-%{release} +Requires: libfbclient2-devel = %{version}-%{release} +Summary: UDF support library for Firebird SQL server + +%description devel +This package is needed for development of client applications and user +defined functions (UDF) for Firebird SQL server. + +Firebird is a relational database offering many ANSI SQL standard +features that runs on Linux, Windows, and a variety of Unix platforms. +Firebird offers excellent concurrency, high performance, and powerful +language support for stored procedures and triggers. It has been used +in production systems, under a variety of names, since 1981. + + +%package -n libib-util +Summary: Firebird SQL UDF support library + +%description -n libib-util +libib_util contains utility functions used by +User-Defined Functions (UDF) for memory management etc. + +Firebird is a relational database offering many ANSI SQL standard +features that runs on Linux, Windows, and a variety of Unix platforms. +Firebird offers excellent concurrency, high performance, and powerful +language support for stored procedures and triggers. It has been used +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. + +Firebird is a relational database offering many ANSI SQL standard +features that runs on Linux, Windows, and a variety of Unix platforms. +Firebird offers excellent concurrency, high performance, and powerful +language support for stored procedures and triggers. It has been used +in production systems, under a variety of names, since 1981. + + +%package -n libfbclient2-devel +Summary: Development libraries and headers for Firebird SQL server +Requires: %{name}-devel = %{version}-%{release} +Requires: libfbclient2 = %{version}-%{release} +Requires: pkgconfig + +%description -n libfbclient2-devel +Development files for Firebird SQL server client library. + +Firebird is a relational database offering many ANSI SQL standard +features that runs on Linux, Windows, and a variety of Unix platforms. +Firebird offers excellent concurrency, high performance, and powerful +language support for stored procedures and triggers. It has been used +in production systems, under a variety of names, since 1981. + + +%package doc +Requires: %{name} = %{version}-%{release} +Summary: Documentation for Firebird SQL server +BuildArch: noarch + +%description doc +Documentation for Firebird SQL server. + +Firebird is a relational database offering many ANSI SQL standard +features that runs on Linux, Windows, and a variety of Unix platforms. +Firebird offers excellent concurrency, high performance, and powerful +language support for stored procedures and triggers. It has been used +in production systems, under a variety of names, since 1981. + + +%package utils +Requires: libfbclient2 = %{version}-%{release} +Summary: Firebird SQL user utilities + +%description utils +Firebird SQL user utilities. + +Firebird is a relational database offering many ANSI SQL standard +features that runs on Linux, Windows, and a variety of Unix platforms. +Firebird offers excellent concurrency, high performance, and powerful +language support for stored procedures and triggers. It has been used +in production systems, under a variety of names, since 1981. + + +%package examples +Requires: %{name}-doc = %{version}-%{release} +Summary: Examples for Firebird SQL server +BuildArch: noarch + +%description examples +Examples for Firebird SQL server. + +Firebird is a relational database offering many ANSI SQL standard +features that runs on Linux, Windows, and a variety of Unix platforms. +Firebird offers excellent concurrency, high performance, and powerful +language support for stored procedures and triggers. It has been used +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 + +%build +export CFLAGS="%{optflags} -fno-strict-aliasing" +export CXXFLAGS="${CFLAGS} -fno-delete-null-pointer-checks" +NOCONFIGURE=1 ./autogen.sh +%configure --prefix=%{_prefix} \ + --disable-binreloc \ + --with-system-editline \ + --with-fbbin=%{_bindir} --with-fbsbin=%{_sbindir} \ + --with-fbconf=%{_sysconfdir}/%{name} \ + --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-fbintl=%{_libdir}/%{name}/intl \ + --with-fbmisc=%{_datadir}/%{name}/misc \ + --with-fbsecure-db=%{_localstatedir}/lib/%{name}/secdb/ \ + --with-fbmsg=%{_localstatedir}/lib/%{name}/system/ \ + --with-fblog=%{_localstatedir}/log/%{name} \ + --with-fbglock=%{_var}/run/%{name} \ + --with-fbplugins=%{_libdir}/%{name}/plugins + +make %{?_smp_mflags} +cd gen +make -f Makefile.install buildRoot +chmod -R u+w buildroot%{_docdir}/%{name} + +%install +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/ + +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}/%{name}/perf.h +rm -vf .%{_libdir}/libicu*.so +rm -vf .%{_includedir}/*.h +chmod -R u+w .%{_docdir}/%{name} +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 + +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} + +cp -f %{SOURCE3} .%{_datadir}/%{name}/misc/%{name}-superserver.service + +mkdir -p .%{_unitdir} +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" +oldLine=`grep "^gds_db" $FileName` +if [ -z "$oldLine" ]; then + echo $newLine >> $FileName +fi + + +%post +%systemd_post firebird-superserver.service + + +%postun +%systemd_postun_with_restart firebird-superserver.service + + +%preun +%systemd_preun firebird-superserver.service + + +%files +%{_docdir}/%{name}/IDPLicense.txt +%{_docdir}/%{name}/IPLicense.txt +%{_docdir}/%{name}/README.Fedora +%{_bindir}/fbtracemgr +%{_sbindir}/firebird +%{_sbindir}/fbguard +%{_sbindir}/fb_lock_print +%dir %{_sysconfdir}/%{name} +%config(noreplace) %{_sysconfdir}/%{name}/databases.conf +%config(noreplace) %{_sysconfdir}/%{name}/fbtrace.conf +%config(noreplace) %{_sysconfdir}/%{name}/firebird.conf +%config(noreplace) %{_sysconfdir}/%{name}/plugins.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 +%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 +%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 + + +%files devel +%{_includedir}/%{name} +%{_libdir}/fb_config +%{_sbindir}/fb_config + + +%files -n libfbclient2 +%{_libdir}/libfbclient.so.* + + +%files -n libfbclient2-devel +%{_libdir}/libfbclient.so +%{_libdir}/pkgconfig/fbclient.pc + + +%files -n libib-util +%{_libdir}/libib_util.so + + +%files doc +%{_docdir}/%{name} +%exclude %{_docdir}/%{name}/sample +%exclude %{_docdir}/%{name}/IDPLicense.txt +%exclude %{_docdir}/%{name}/IPLicense.txt + + +%files utils +%{_bindir}/gstat-fb +%{_bindir}/fbsvcmgr +%{_bindir}/gbak +%{_bindir}/gfix +%{_bindir}/gpre +%{_bindir}/gsec +%{_bindir}/isql-fb +%{_bindir}/nbackup +%{_bindir}/qli +%{_bindir}/gsplit + + +%files examples +%{_docdir}/%{name}/sample +%attr(0600,firebird,firebird) %{_localstatedir}/lib/%{name}/data/employee.fdb + + +%changelog +* Wed Sep 18 2019 Philippe Makowski - 3.0.4.33054-1 +- new upstream release + +* Thu Aug 22 2019 Philippe Makowski 2.5.9.27139.0-1 +- update to 2.5.9 (End of Series) + +* Fri Aug 31 2018 Philippe Makowski 2.5.8.27089.0-1 +- update to 2.5.8 + +* Tue Feb 21 2017 Philippe Makowski 2.5.7.27050.0-1 +- update to 2.5.7 +- security fix (#1425332) + +* Thu Dec 29 2016 Philippe Makowski 2.5.6.27020.0-1 +- update to 2.5.6 + +* Fri Feb 05 2016 Philippe Makowski - 2.5.5.26952.0-2 +- move fb_config (#1297506) +- fix CVE-2016-1569 (#1297447 #1297450 #1297451) + +* Thu Nov 19 2015 Philippe Makowski 2.5.5.26952.0-1 +- update to 2.5.5 + +* Thu Apr 2 2015 Philippe Makowski 2.5.4.26856.0-1 +- update to 2.5.4 + +* Sun Dec 7 2014 Philippe Makowski 2.5.3.26778.0-2 +- security fix firebird CORE-4630 + +* Sat Jul 26 2014 Philippe Makowski - 2.5.3.26778.0-1 +- update from upstream 2.5.3 +- update arm64 patch + +* Tue Jan 21 2014 Philippe Makowski 2.5.2.26539.0-8 +- add missing BR on libstdc++-static + +* Tue Jul 23 2013 Philippe Makowski 2.5.2.26539.0-7 +- make fb_config executable (bug #985335) + +* Tue Jul 23 2013 Philippe Makowski 2.5.2.26539.0-6 +- Provide fb_config in firebird-devel (bug #985335) + +* Mon Jun 03 2013 Philippe Makowski 2.5.2.26539.0-5 +- Firebird fails to build for aarch64 (bug #969851) + +* Thu Apr 25 2013 Philippe Makowski 2.5.2.26539.0-4 +- set PIE compiler flags (bug #955274) + +* Sun Mar 10 2013 Philippe Makowski 2.5.2.26539.0-3 +- added patch from upstream to fix Firebird CORE-4058 CVE-2013-2492 + +* Sat Jan 26 2013 Rex Dieter 2.5.2.26539.0-2 +- rebuild (icu) + +* Fri Nov 09 2012 Philippe Makowski 2.5.2.26539.0-1 +- new upstream (bug fix release) +- added patch from upstream to fix Firebird CORE-3946 + +* Sat Aug 25 2012 Philippe Makowski 2.5.1.26351.0-4 +- Modernize systemd scriptlets (bug #850109) + +* Thu Jul 19 2012 Fedora Release Engineering - 2.5.1.26351.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Apr 23 2012 Philippe Makowski 2.5.1.26351.0-2 +- rebuild for icu 4.8 + +* Thu Jan 19 2012 Philippe Makowski 2.5.1.26351.0-1 +- Fix non-fatal POSTIN fix rh #781691 +- new upstream + +* Fri Jan 06 2012 Philippe Makowski 2.5.1.26349.0-4 +- Rebuild for GCC-4.7 + +* Mon Nov 28 2011 Philippe Makowski 2.5.1.26349.O-3 +- Better systemd support fix rh #757624 + +* Sun Oct 02 2011 Karsten Hopp 2.5.1.26349.O-2 +- drop ppc64 configure script hack, not required anymore + +* Thu Sep 29 2011 Philippe Makowski 2.5.1.26349.0-1 +- new upstream (bug fix release) +- added patch from upstream to fix Firebird CORE-3610 + +* Thu Sep 22 2011 Philippe Makowski 2.5.0.26074.0-10 +- Add support for systemd (rh #737281) + +* Fri Apr 22 2011 Philippe Makowski 2.5.0.26074.0-8 +- added patch from upstream to fix rh #697313 + +* Mon Mar 07 2011 Caolรกn McNamara - 2.5.0.26074.0-7 +- rebuild for icu 4.6 + +* Tue Feb 08 2011 Fedora Release Engineering - 2.5.0.26074.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Jan 28 2011 Philippe Makowski 2.5.0.26074.0-5 +- services must not be enabled by default + +* Tue Jan 25 2011 Karsten Hopp 2.5.0.26074.0-4 +- firebird got miscompiled on ppc and had an empty libfbclient.so.2.5.0 + bump release and rebuild + +* Wed Dec 22 2010 Philippe Makowski 2.5.0.26074.0-3 +- Fix wrong assign file for classic and classic common + +* Thu Dec 16 2010 Dan Horรกk 2.5.0.26074.0-2 +- sync the s390(x) utilities list with other arches +- add libatomic_ops-devel as BR: on non-x86 arches + +* Sat Dec 04 2010 Philippe Makowski 2.5.0.26074.0-1 +- Fix rh #656587 /var/run mounted as tempfs + +* Mon Nov 22 2010 Philippe Makowski 2.5.0.26074.0-0 +- build with last upstream + +* Tue Jun 29 2010 Dan Horรกk 2.1.3.18185.0-9 +- update the s390(x) patch to match upstream + +* Fri Jun 04 2010 Philippe Makowski 2.1.3.18185.0-8 + - conditional BuildRequires libstdc++-static + +* Fri Jun 04 2010 Philippe Makowski 2.1.3.18185.0-7 +- build with last upstream +- Fix rh #563461 with backport mainstream patch CORE-2928 + + +* Fri Apr 02 2010 Caolรกn McNamara 2.1.3.18185.0-6 +- rebuild for icu 4.4 + +* Sat Sep 05 2009 Karsten Hopp 2.1.3.18185.0-5 +- fix build on s390x for F-12 mass rebuild (Dan Horรกk) + +* Tue Aug 11 2009 Philippe Makowski 2.1.3.18185.0-4 +- build it against system edit lib +- set correct setuid for Classic lock manager +- set correct permission for /var/run/firebird + +* Wed Aug 05 2009 Philippe Makowski 2.1.3.18185.0-2 +- rename /usr/bin/gstat to /usr/bin/gstat-fb to avoid conflict with ganglia-gmond (rh #515510) +- remove stupid rm -rf in postun + +* Thu Jul 30 2009 Philippe Makowski 2.1.3.18185.0-1 +- Update to 2.1.3.18185 +- Fix rh #514463 +- Remove doc patch +- Apply backport initscript patch + +* Sat Jul 11 2009 Philippe Makowski 2.1.2.18118.0-11 +- change xinetd script (rh #506528) +- add missing library (and header files) for build php4-interbase module (rh #506728) +- update README.fedora +- automatically created user now have /bin/nologin as shell to make things a little more secure + +* Tue May 12 2009 Philippe Makowski 2.1.2.18118.0-8 +- patch to fix gcc 4.4.0 and icu 4.2 build error + +* Tue May 12 2009 Philippe Makowski 2.1.2.18118.0-7 +- patch to change lock files location and avoid %%{fbroot} owned by firebird user (rh #500219) +- add README.fedora +- add symlinks in /usr/bin +- change xinetd reload (rh #500219) + +* Sat May 02 2009 Philippe Makowski 2.1.2.18118.0-6 +- add filesystem-subpackage +- remove common subpackage and use the main instead +- add logrotate config + +* Thu Apr 30 2009 Philippe Makowski 2.1.2.18118.0-5 +- fix directories owning + +* Thu Apr 23 2009 Philippe Makowski 2.1.2.18118.0-4 +- major cleaning install process to take care of the two architectures (Classic and Superserver) the right way + +* Wed Apr 22 2009 Philippe Makowski 2.1.2.18118.0-3 +- fix group creation + +* Sun Apr 19 2009 Philippe Makowski 2.1.2.18118.0-2 +- fix autogen issue for f11 +- patch init script +- fix ppc64 lib destination issue + +* Sun Apr 19 2009 Philippe Makowski 2.1.2.18118.0-1 +- backport doc patch +- update to 2.1.2.18118 +- cleanup macros +- specifie libdir +- change firebird user login + +* Sat Mar 28 2009 Philippe Makowski 2.1.1.17910.0-5 +- Major packaging restructuring + +* Sat Mar 21 2009 Philippe Makowski 2.1.1.17190.0-4 +- Create a doc package +- major cleaning to avoid rpmlint errors +- revert to 2.1.1 (last stable build published) + +* Mon Mar 09 2009 Jonathan MERCIER 2.1.2.18116.0-3 +- Perform %%configure with option --with-system-icu +- Add libicu-devel in BuildRequires +- Use iconv for convert files to UTF-8 + +* Thu Mar 05 2009 Jonathan MERCIER 2.1.2.18116.0-2 +- Update to 2.1.2 +- Use %%global instead of %%define +- Change ${SOURCE1} to %%{SOURCE1} +- Change Group Database to Applications/Databases +- Change License IPL to Interbase +- Perform %%configure section's with some module +- Cconvert cyrillic character to UTF-8 + +* Thu Jul 17 2008 Arkady L. Shane 2.1.1.17910.0-1 +- Update to 2.1.1 + +* Fri Apr 18 2008 Arkady L. Shane 2.1.0.17798.0-1 +- Update to 2.1.0 + +* Thu Sep 27 2007 Arkady L. Shane 2.0.3.12981.1-1 +- Update to 2.0.3 + +* Thu Sep 13 2007 Arkady L. Shane 2.0.1.12855.0-1 +- Initial build for Fedora +- cleanup Mandriva spec + diff --git a/honour-buildflags.patch b/honour-buildflags.patch new file mode 100644 index 0000000..221241d --- /dev/null +++ b/honour-buildflags.patch @@ -0,0 +1,78 @@ +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 new file mode 100644 index 0000000..ca26688 --- /dev/null +++ b/no-copy-from-icu.patch @@ -0,0 +1,52 @@ +Description: Link isql with ICU instead of embedding part of it in the source +Author: Damyan Ivanov + +--- a/src/isql/isql.epp ++++ b/src/isql/isql.epp +@@ -168,34 +168,6 @@ const char* UNKNOWN = "*unknown*"; + + namespace IcuUtil + { +- // Duplicate from ICU to not need to link ISQL with it. It's used by U8_NEXT_UNSAFE. +- static const uint8_t utf8_countTrailBytes[256] = { +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +- +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +- +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +- 3, 3, 3, 3, 3, +- 3, 3, 3, /* illegal in Unicode */ +- 4, 4, 4, 4, /* illegal in Unicode */ +- 5, 5, /* illegal in Unicode */ +- 0, 0 /* illegal bytes 0xfe and 0xff */ +- }; +- + // Return the number of characters of a string. + static unsigned charLength(SSHORT charset, unsigned len, const char* str) + { +--- a/builds/posix/Makefile.in ++++ b/builds/posix/Makefile.in +@@ -476,7 +476,8 @@ $(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) + + 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 e69de29..5e9598a 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (Firebird-3.0.4.33054-0.tar.bz2) = a346ebd53aeccf0b33eac5d35c3c3356624c1fbd0ad897173b3f68d940143062b28460a2822df807e8e8a1ea8792ebf98ed33e5b3ae273d86e6e36295a7fc8ad