Toshaan Bharvani
5 months ago
commit
c639b22512
14 changed files with 1883 additions and 0 deletions
@ -0,0 +1,17 @@ |
|||||||
|
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. |
||||||
|
|
||||||
|
* According to Fedora packaging rules, firebird service is not started |
||||||
|
automatically. You need to start it, as root : |
||||||
|
systemctl start firebird.service |
||||||
|
If you want to have firebird started at each boot, as root : |
||||||
|
systemctl enable firebird.service |
||||||
|
|
@ -0,0 +1,28 @@ |
|||||||
|
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 |
||||||
|
--- /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 0a3de36..922c778 100644 |
||||||
|
--- a/configure.ac |
||||||
|
+++ b/configure.ac |
||||||
|
@@ -1307,6 +1307,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.service:builds/install/arch-specific/linux/firebird.service.in |
||||||
|
], |
@ -0,0 +1,24 @@ |
|||||||
|
From 3fe8f6510de79689a26868e244840b24dcb19567 Mon Sep 17 00:00:00 2001 |
||||||
|
From: AlexPeshkoff <alexander.peshkoff@gmail.com> |
||||||
|
Date: Wed, 23 Nov 2022 20:30:03 +0300 |
||||||
|
Subject: [PATCH] Fixed #7394: autoconf 2.72 support |
||||||
|
|
||||||
|
--- |
||||||
|
configure.ac | 3 ++- |
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-) |
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac |
||||||
|
index 75af92e862c..800453d25fa 100644 |
||||||
|
--- a/configure.ac |
||||||
|
+++ b/configure.ac |
||||||
|
@@ -696,8 +696,9 @@ if test "$STD_EDITLINE" = "true"; then |
||||||
|
AC_CHECK_LIB(readline, readline, [READLINE=readline EDITLINE_FLG=Y], |
||||||
|
[STD_EDITLINE=false |
||||||
|
if test "$EDITLINE_FLG" = "Y"; then |
||||||
|
- AC_MSG_WARN([[[--with-system-editline specified, not found. Using bundled editline]]])]))) |
||||||
|
+ AC_MSG_WARN([[[--with-system-editline specified, not found. Using bundled editline]]]) |
||||||
|
fi |
||||||
|
+ ]))) |
||||||
|
fi |
||||||
|
XE_RESTORE_ENV() |
||||||
|
|
@ -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= |
||||||
|
|
@ -0,0 +1,144 @@ |
|||||||
|
From ff49d71b0cdbab75f8a22717c4f88343a5961868 Mon Sep 17 00:00:00 2001 |
||||||
|
From: Adriano dos Santos Fernandes <adrianosf@gmail.com> |
||||||
|
Date: Mon, 31 May 2021 08:55:26 -0300 |
||||||
|
Subject: [PATCH] Set POSIX build to use C++17. |
||||||
|
|
||||||
|
--- |
||||||
|
CMakeLists.txt | 4 ++-- |
||||||
|
builds/posix/make.defaults | 2 +- |
||||||
|
builds/posix/prefix.freebsd_amd64 | 2 +- |
||||||
|
configure.ac | 2 +- |
||||||
|
examples/extauth/Makefile | 2 +- |
||||||
|
examples/interfaces/makefile | 2 +- |
||||||
|
extern/icu/android/aarch64/config.sh | 2 +- |
||||||
|
extern/icu/android/armv7a/config.sh | 4 ++-- |
||||||
|
extern/icu/android/linux/config.sh | 2 +- |
||||||
|
9 files changed, 11 insertions(+), 11 deletions(-) |
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt |
||||||
|
index 620fd032af4..5f336efd611 100644 |
||||||
|
--- a/CMakeLists.txt |
||||||
|
+++ b/CMakeLists.txt |
||||||
|
@@ -206,14 +206,14 @@ if (MINGW) |
||||||
|
set(CMAKE_STATIC_LIBRARY_PREFIX) |
||||||
|
|
||||||
|
add_definitions(-D_WIN32_WINNT=0x0600) |
||||||
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4 -std=c++11") |
||||||
|
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4 -std=c++17") |
||||||
|
endif() |
||||||
|
|
||||||
|
if (UNIX) |
||||||
|
set(OS_DIR posix) |
||||||
|
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") |
||||||
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -msse4 -std=c++11") |
||||||
|
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -msse4 -std=c++17") |
||||||
|
|
||||||
|
if (NOT CMAKE_CROSSCOMPILING) |
||||||
|
set(LIB_readline readline) |
||||||
|
diff --git a/builds/posix/make.defaults b/builds/posix/make.defaults |
||||||
|
index d96e89053fa..57bbb006865 100755 |
||||||
|
--- a/builds/posix/make.defaults |
||||||
|
+++ b/builds/posix/make.defaults |
||||||
|
@@ -103,7 +103,7 @@ GLOB_OPTIONS:= |
||||||
|
#____________________________________________________________________________ |
||||||
|
|
||||||
|
# Global c++ flags: firebird needs no RTTI, choose build standard |
||||||
|
-PLUSPLUS_FLAGS:= -fno-rtti -std=c++11 |
||||||
|
+PLUSPLUS_FLAGS:= -fno-rtti -std=c++17 |
||||||
|
|
||||||
|
# If this is defined then we use special rules useful for developers only |
||||||
|
IsDeveloper = @DEVEL_FLG@ |
||||||
|
diff --git a/builds/posix/prefix.freebsd_amd64 b/builds/posix/prefix.freebsd_amd64 |
||||||
|
index f27567a2715..0736d87e935 100644 |
||||||
|
--- a/builds/posix/prefix.freebsd_amd64 |
||||||
|
+++ b/builds/posix/prefix.freebsd_amd64 |
||||||
|
@@ -26,4 +26,4 @@ DEV_FLAGS=-ggdb -DFREEBSD -DAMD64 -pipe -MMD -p -fPIC -Wall -Wno-non-virtual-dto |
||||||
|
# This file must be compiled with SSE4.2 support |
||||||
|
%/CRC32C.o: CXXFLAGS += -msse4 |
||||||
|
|
||||||
|
-CXXFLAGS := $(CXXFLAGS) -std=c++11 |
||||||
|
+CXXFLAGS := $(CXXFLAGS) -std=c++17 |
||||||
|
diff --git a/configure.ac b/configure.ac |
||||||
|
index 9b40be43101..e4a83cf8d3b 100644 |
||||||
|
--- a/configure.ac |
||||||
|
+++ b/configure.ac |
||||||
|
@@ -899,7 +899,7 @@ dnl if 64-bit mode, then archive tool, ar, needs -X64 option |
||||||
|
fi |
||||||
|
|
||||||
|
XE_SAVE_ENV() |
||||||
|
-CXXFLAGS="$CXXFLAGS -std=c++11" |
||||||
|
+CXXFLAGS="$CXXFLAGS -std=c++17" |
||||||
|
AC_CACHE_CHECK([whether the C++ compiler understands noexcept], [ac_cv_cxx_noexcept], [ |
||||||
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int f(int x) noexcept { return x + 1; }]], [[]])], |
||||||
|
[ac_cv_cxx_noexcept=yes], [ac_cv_cxx_noexcept=no])]) |
||||||
|
diff --git a/examples/extauth/Makefile b/examples/extauth/Makefile |
||||||
|
index 9da7bbd357f..3c8b878d225 100644 |
||||||
|
--- a/examples/extauth/Makefile |
||||||
|
+++ b/examples/extauth/Makefile |
||||||
|
@@ -61,7 +61,7 @@ KEYGEN_objects=$(INTERMED)/keygen.o |
||||||
|
TCWRAP_objects=$(INTERMED)/TcWrapper.o |
||||||
|
KEY_AUTH_objects=$(INTERMED)/ExtAuth.o |
||||||
|
|
||||||
|
-CXXFLAGS=-std=c++11 -pthread -I$(ROOT)/include -fPIC $(TOMCRYPT_COMPILE) |
||||||
|
+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/examples/interfaces/makefile b/examples/interfaces/makefile |
||||||
|
index 153c3d558dc..b65dba90a7d 100644 |
||||||
|
--- a/examples/interfaces/makefile |
||||||
|
+++ b/examples/interfaces/makefile |
||||||
|
@@ -33,7 +33,7 @@ FBCLIENT = $(FIREBIRD)/lib/libfbclient.so |
||||||
|
# General Compiler and linker Defines for Linux |
||||||
|
# --------------------------------------------------------------------- |
||||||
|
CXX = c++ |
||||||
|
-CXXFLAGS= -c -Wall -g3 -std=c++11 -fno-rtti $(INCLUDE) |
||||||
|
+CXXFLAGS= -c -Wall -g3 -std=c++17 -fno-rtti $(INCLUDE) |
||||||
|
RM = rm -f |
||||||
|
|
||||||
|
# |
||||||
|
diff --git a/extern/icu/android/aarch64/config.sh b/extern/icu/android/aarch64/config.sh |
||||||
|
index 51ef623a3c5..f464d930ec2 100755 |
||||||
|
--- a/extern/icu/android/aarch64/config.sh |
||||||
|
+++ b/extern/icu/android/aarch64/config.sh |
||||||
|
@@ -18,7 +18,7 @@ |
||||||
|
--enable-dyload \ |
||||||
|
--with-cross-build=$CROSS_BUILD_DIR \ |
||||||
|
CFLAGS='-Os' \ |
||||||
|
- CXXFLAGS='--std=c++11' \ |
||||||
|
+ CXXFLAGS='--std=c++17' \ |
||||||
|
LDFLAGS='-static-libstdc++' \ |
||||||
|
CC=aarch64-linux-android24-clang \ |
||||||
|
CXX=aarch64-linux-android24-clang++ \ |
||||||
|
diff --git a/extern/icu/android/armv7a/config.sh b/extern/icu/android/armv7a/config.sh |
||||||
|
index fe1bd037456..0e458c690e7 100755 |
||||||
|
--- a/extern/icu/android/armv7a/config.sh |
||||||
|
+++ b/extern/icu/android/armv7a/config.sh |
||||||
|
@@ -18,10 +18,10 @@ |
||||||
|
--enable-dyload \ |
||||||
|
--with-cross-build=$CROSS_BUILD_DIR \ |
||||||
|
CFLAGS='-Os -march=armv7-a -mfloat-abi=softfp -mfpu=neon' \ |
||||||
|
- CXXFLAGS='--std=c++11 -march=armv7-a -mfloat-abi=softfp -mfpu=neon' \ |
||||||
|
+ CXXFLAGS='--std=c++17 -march=armv7-a -mfloat-abi=softfp -mfpu=neon' \ |
||||||
|
LDFLAGS='-static-libstdc++ -march=armv7-a -Wl,--fix-cortex-a8' \ |
||||||
|
CC=arm-linux-androideabi-clang \ |
||||||
|
CXX=arm-linux-androideabi-clang++ \ |
||||||
|
AR=arm-linux-androideabi-ar \ |
||||||
|
RANLIB=arm-linux-androideabi-ranlib \ |
||||||
|
- --with-data-packaging=archive |
||||||
|
\ No newline at end of file |
||||||
|
+ --with-data-packaging=archive |
||||||
|
diff --git a/extern/icu/android/linux/config.sh b/extern/icu/android/linux/config.sh |
||||||
|
index a8b56024aae..6e7d9c5f5c8 100755 |
||||||
|
--- a/extern/icu/android/linux/config.sh |
||||||
|
+++ b/extern/icu/android/linux/config.sh |
||||||
|
@@ -1,7 +1,7 @@ |
||||||
|
#!/bin/sh |
||||||
|
../source/runConfigureICU Linux --prefix=$PWD/prebuilt \ |
||||||
|
CFLAGS="-Os" \ |
||||||
|
- CXXFLAGS="--std=c++11" \ |
||||||
|
+ CXXFLAGS="--std=c++17" \ |
||||||
|
--enable-static \ |
||||||
|
--enable-shared=no \ |
||||||
|
--enable-extras=no \ |
@ -0,0 +1,54 @@ |
|||||||
|
Description: make cloop build honor compiler/linker flags from the environment |
||||||
|
Author: Damyan Ivanov <dmn@debian.org> |
||||||
|
Forwarded: no |
||||||
|
|
||||||
|
--- a/extern/cloop/Makefile |
||||||
|
+++ b/extern/cloop/Makefile |
||||||
|
@@ -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) -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 ($(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 \ |
@ -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 |
||||||
|
|
@ -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 "$@" |
@ -0,0 +1,45 @@ |
|||||||
|
Add missing int return types for main in the configure script. |
||||||
|
Implicit ints are a language feature that was removed in C99. |
||||||
|
|
||||||
|
Submitted upstream: <https://github.com/FirebirdSQL/firebird/pull/7407> |
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac |
||||||
|
index 05edb5ec9410ff50..0474dc850dfd04bc 100644 |
||||||
|
--- a/configure.ac |
||||||
|
+++ b/configure.ac |
||||||
|
@@ -1038,7 +1038,7 @@ AC_CHECK_FUNCS(sem_init) |
||||||
|
if test "$ac_cv_func_sem_init" = "yes"; then |
||||||
|
AC_MSG_CHECKING(for working sem_init()) |
||||||
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <semaphore.h> |
||||||
|
- main () { |
||||||
|
+ int main () { |
||||||
|
sem_t s; |
||||||
|
return sem_init(&s,0,0); |
||||||
|
} |
||||||
|
@@ -1079,7 +1079,7 @@ AC_SYS_LARGEFILE |
||||||
|
if test "$ac_cv_sys_file_offset_bits" = "no"; then |
||||||
|
AC_MSG_CHECKING(for native large file support) |
||||||
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <unistd.h> |
||||||
|
- main () { |
||||||
|
+ int main () { |
||||||
|
return !(sizeof(off_t) == 8); |
||||||
|
}]])],[ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64) |
||||||
|
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)],[]) |
||||||
|
@@ -1126,7 +1126,7 @@ dnl EKU: try to determine the alignment of long and double |
||||||
|
dnl replaces FB_ALIGNMENT and FB_DOUBLE_ALIGN in src/jrd/common.h |
||||||
|
AC_MSG_CHECKING(alignment of long) |
||||||
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <semaphore.h> |
||||||
|
-main () { |
||||||
|
+int main () { |
||||||
|
struct s { |
||||||
|
char a; |
||||||
|
union { long long x; sem_t y; } b; |
||||||
|
@@ -1137,7 +1137,7 @@ AC_MSG_RESULT($ac_cv_c_alignment) |
||||||
|
AC_DEFINE_UNQUOTED(FB_ALIGNMENT, $ac_cv_c_alignment, [Alignment of long]) |
||||||
|
|
||||||
|
AC_MSG_CHECKING(alignment of double) |
||||||
|
-AC_RUN_IFELSE([AC_LANG_SOURCE([[main () { |
||||||
|
+AC_RUN_IFELSE([AC_LANG_SOURCE([[int main () { |
||||||
|
struct s { |
||||||
|
char a; |
||||||
|
double b; |
@ -0,0 +1,9 @@ |
|||||||
|
firebird.log { |
||||||
|
weekly |
||||||
|
missingok |
||||||
|
rotate 52 |
||||||
|
compress |
||||||
|
delaycompress |
||||||
|
notifempty |
||||||
|
create 640 firebird adm |
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
[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 |
@ -0,0 +1,51 @@ |
|||||||
|
Description: Link isql with ICU instead of embedding part of it in the source |
||||||
|
Author: Damyan Ivanov <dmn@debian.org> |
||||||
|
|
||||||
|
--- a/src/isql/isql.epp |
||||||
|
+++ b/src/isql/isql.epp |
||||||
|
@@ -173,34 +173,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 |
||||||
|
@@ -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) $(TERMLIB) $(LINK_LIBS) |
||||||
|
+ $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LIBEDITLINE) $(TERMLIB) $(LINK_LIBS) $(ICU_LIBS) |
||||||
|
|
||||||
|
nbackup: $(NBACKUP) |
||||||
|
|
@ -0,0 +1,664 @@ |
|||||||
|
From a999f35f0fad27798fdc88a3f5cdf2e3e9041594 Mon Sep 17 00:00:00 2001 |
||||||
|
From: Adriano dos Santos Fernandes <adrianosf@gmail.com> |
||||||
|
Date: Mon, 31 May 2021 08:55:26 -0300 |
||||||
|
Subject: [PATCH] Replace FB_NOTHROW by noexcept and remove FB_THROW. |
||||||
|
|
||||||
|
--- |
||||||
|
src/common/classes/alloc.cpp | 128 +++++++++++++++++------------------ |
||||||
|
src/common/classes/alloc.h | 74 ++++++++------------ |
||||||
|
2 files changed, 94 insertions(+), 108 deletions(-) |
||||||
|
|
||||||
|
diff --git a/src/common/classes/alloc.cpp b/src/common/classes/alloc.cpp |
||||||
|
index 1bd6ad4f09d..ee91ab89df8 100644 |
||||||
|
--- a/src/common/classes/alloc.cpp |
||||||
|
+++ b/src/common/classes/alloc.cpp |
||||||
|
@@ -68,19 +68,19 @@ |
||||||
|
#define VALGRIND_FIX_IT // overrides suspicious valgrind behavior |
||||||
|
#endif // USE_VALGRIND |
||||||
|
|
||||||
|
-void* operator new(size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION) |
||||||
|
+void* operator new(size_t s ALLOC_PARAMS) |
||||||
|
{ |
||||||
|
return MemoryPool::globalAlloc(s ALLOC_PASS_ARGS); |
||||||
|
} |
||||||
|
-void* operator new[](size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION) |
||||||
|
+void* operator new[](size_t s ALLOC_PARAMS) |
||||||
|
{ |
||||||
|
return MemoryPool::globalAlloc(s ALLOC_PASS_ARGS); |
||||||
|
} |
||||||
|
-void operator delete(void* mem ALLOC_PARAMS) FB_NOTHROW |
||||||
|
+void operator delete(void* mem ALLOC_PARAMS) noexcept |
||||||
|
{ |
||||||
|
MemoryPool::globalFree(mem); |
||||||
|
} |
||||||
|
-void operator delete[](void* mem ALLOC_PARAMS) FB_NOTHROW |
||||||
|
+void operator delete[](void* mem ALLOC_PARAMS) noexcept |
||||||
|
{ |
||||||
|
MemoryPool::globalFree(mem); |
||||||
|
} |
||||||
|
@@ -109,7 +109,7 @@ static const int GUARD_BYTES = 0; |
||||||
|
#endif |
||||||
|
|
||||||
|
template <typename T> |
||||||
|
-T absVal(T n) FB_NOTHROW |
||||||
|
+T absVal(T n) noexcept |
||||||
|
{ |
||||||
|
return n < 0 ? -n : n; |
||||||
|
} |
||||||
|
@@ -160,7 +160,7 @@ struct FailedBlock |
||||||
|
FailedBlock* failedList = NULL; |
||||||
|
#endif |
||||||
|
|
||||||
|
-void corrupt(const char* text) FB_NOTHROW |
||||||
|
+void corrupt(const char* text) noexcept |
||||||
|
{ |
||||||
|
#ifdef DEV_BUILD |
||||||
|
fprintf(stderr, "%s\n", text); |
||||||
|
@@ -377,7 +377,7 @@ class MemHeader |
||||||
|
|
||||||
|
#ifdef MEM_DEBUG |
||||||
|
void print_contents(bool used, FILE* file, bool used_only, |
||||||
|
- const char* filter_path, const size_t filter_len) FB_NOTHROW |
||||||
|
+ const char* filter_path, const size_t filter_len) noexcept |
||||||
|
{ |
||||||
|
if (used || !used_only) |
||||||
|
{ |
||||||
|
@@ -406,7 +406,7 @@ class MemHeader |
||||||
|
} |
||||||
|
#endif |
||||||
|
|
||||||
|
- void validate(MemPool* p, StatInt& vUse) FB_NOTHROW |
||||||
|
+ void validate(MemPool* p, StatInt& vUse) noexcept |
||||||
|
{ |
||||||
|
if (p == pool && !isExtent()) |
||||||
|
vUse += getSize(); |
||||||
|
@@ -461,7 +461,7 @@ class MemBaseHunk |
||||||
|
} |
||||||
|
|
||||||
|
public: |
||||||
|
- void validate(MemPool* pool, size_t hdr, StatInt& vMap, StatInt& vUse) FB_NOTHROW |
||||||
|
+ void validate(MemPool* pool, size_t hdr, StatInt& vMap, StatInt& vUse) noexcept |
||||||
|
{ |
||||||
|
if (length >= DEFAULT_ALLOCATION) |
||||||
|
{ |
||||||
|
@@ -526,7 +526,7 @@ class MemSmallHunk : public MemBaseHunk<MemSmallHunk> |
||||||
|
|
||||||
|
#ifdef MEM_DEBUG |
||||||
|
void print_contents(FILE* file, MemPool* pool, bool used_only, |
||||||
|
- const char* filter_path, const size_t filter_len) FB_NOTHROW |
||||||
|
+ const char* filter_path, const size_t filter_len) noexcept |
||||||
|
{ |
||||||
|
UCHAR* m = ((UCHAR*) this) + hdrSize(); |
||||||
|
fprintf(file, "Small hunk %p: memory=[%p:%p) spaceRemaining=%" SIZEFORMAT " length=%" SIZEFORMAT "\n", |
||||||
|
@@ -598,7 +598,7 @@ class MemMediumHunk : public MemBaseHunk<MemMediumHunk> |
||||||
|
|
||||||
|
#ifdef MEM_DEBUG |
||||||
|
void print_contents(FILE* file, MemPool* pool, bool used_only, |
||||||
|
- const char* filter_path, const size_t filter_len) FB_NOTHROW |
||||||
|
+ const char* filter_path, const size_t filter_len) noexcept |
||||||
|
{ |
||||||
|
UCHAR* m = ((UCHAR*) this) + hdrSize(); |
||||||
|
fprintf(file, "Medium hunk %p: memory=[%p:%p) spaceRemaining=%" SIZEFORMAT " length=%" SIZEFORMAT "\n", |
||||||
|
@@ -630,7 +630,7 @@ class MemBigHunk |
||||||
|
|
||||||
|
#ifdef MEM_DEBUG |
||||||
|
void print_contents(FILE* file, MemPool* pool, bool used_only, |
||||||
|
- const char* filter_path, const size_t filter_len) FB_NOTHROW |
||||||
|
+ const char* filter_path, const size_t filter_len) noexcept |
||||||
|
{ |
||||||
|
fprintf(file, "Big hunk %p: memory=%p length=%" SIZEFORMAT "\n", |
||||||
|
this, block, length); |
||||||
|
@@ -1647,7 +1647,7 @@ class FreeObjects |
||||||
|
|
||||||
|
~FreeObjects(); |
||||||
|
|
||||||
|
- FreeObjPtr allocateBlock(MemPool* pool, size_t from, size_t& size) FB_THROW (OOM_EXCEPTION) |
||||||
|
+ FreeObjPtr allocateBlock(MemPool* pool, size_t from, size_t& size) |
||||||
|
{ |
||||||
|
size_t full_size = size + (from ? 0 : ListBuilder::MEM_OVERHEAD); |
||||||
|
if (full_size > Limits::TOP_LIMIT) |
||||||
|
@@ -1696,7 +1696,7 @@ class FreeObjects |
||||||
|
|
||||||
|
#ifdef MEM_DEBUG |
||||||
|
void print_contents(FILE* file, MemPool* pool, bool used_only, |
||||||
|
- const char* filter_path, const size_t filter_len) FB_NOTHROW |
||||||
|
+ const char* filter_path, const size_t filter_len) noexcept |
||||||
|
{ |
||||||
|
for (Extent* ext = currentExtent; ext; ext = ext->next) |
||||||
|
ext->print_contents(file, pool, used_only, filter_path, filter_len); |
||||||
|
@@ -1717,7 +1717,7 @@ class FreeObjects |
||||||
|
ListBuilder listBuilder; |
||||||
|
Extent* currentExtent; |
||||||
|
|
||||||
|
- MemBlock* newBlock(MemPool* pool, unsigned slot) FB_THROW (OOM_EXCEPTION); |
||||||
|
+ MemBlock* newBlock(MemPool* pool, unsigned slot); |
||||||
|
}; |
||||||
|
|
||||||
|
|
||||||
|
@@ -1799,26 +1799,26 @@ class MemPool |
||||||
|
}; |
||||||
|
#endif // VALIDATE_POOL |
||||||
|
|
||||||
|
- MemBlock* alloc(size_t from, size_t& length, bool flagRedirect) FB_THROW (OOM_EXCEPTION); |
||||||
|
- void releaseBlock(MemBlock *block, bool flagDecr) FB_NOTHROW; |
||||||
|
+ MemBlock* alloc(size_t from, size_t& length, bool flagRedirect); |
||||||
|
+ void releaseBlock(MemBlock *block, bool flagDecr) noexcept; |
||||||
|
|
||||||
|
public: |
||||||
|
- void* allocate(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION); |
||||||
|
- MemBlock* allocate2(size_t from, size_t& size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION); |
||||||
|
+ void* allocate(size_t size ALLOC_PARAMS); |
||||||
|
+ MemBlock* allocate2(size_t from, size_t& size ALLOC_PARAMS); |
||||||
|
|
||||||
|
private: |
||||||
|
- virtual void memoryIsExhausted(void) FB_THROW (OOM_EXCEPTION); |
||||||
|
- void* allocRaw(size_t length) FB_THROW (OOM_EXCEPTION); |
||||||
|
- static void releaseMemory(void* block, bool flagExtent) FB_NOTHROW; |
||||||
|
- static void releaseRaw(bool destroying, void *block, size_t size, bool use_cache = true) FB_NOTHROW; |
||||||
|
- void* getExtent(size_t from, size_t& to) FB_THROW (OOM_EXCEPTION); |
||||||
|
+ virtual void memoryIsExhausted(void); |
||||||
|
+ void* allocRaw(size_t length); |
||||||
|
+ static void releaseMemory(void* block, bool flagExtent) noexcept; |
||||||
|
+ static void releaseRaw(bool destroying, void *block, size_t size, bool use_cache = true) noexcept; |
||||||
|
+ void* getExtent(size_t from, size_t& to); |
||||||
|
|
||||||
|
public: |
||||||
|
- static void releaseExtent(bool destroying, void *block, size_t size, MemPool* pool) FB_NOTHROW; |
||||||
|
+ static void releaseExtent(bool destroying, void *block, size_t size, MemPool* pool) noexcept; |
||||||
|
|
||||||
|
// pass desired size, return actual extent size |
||||||
|
template <class Extent> |
||||||
|
- void newExtent(size_t& size, Extent** linkedList) FB_THROW (OOM_EXCEPTION); |
||||||
|
+ void newExtent(size_t& size, Extent** linkedList); |
||||||
|
|
||||||
|
private: |
||||||
|
#ifdef USE_VALGRIND |
||||||
|
@@ -1830,9 +1830,9 @@ class MemPool |
||||||
|
|
||||||
|
public: |
||||||
|
static void deletePool(MemPool* pool); |
||||||
|
- static void globalFree(void* block) FB_NOTHROW; |
||||||
|
+ static void globalFree(void* block) noexcept; |
||||||
|
|
||||||
|
- static void deallocate(void* block) FB_NOTHROW; |
||||||
|
+ static void deallocate(void* block) noexcept; |
||||||
|
bool validate(char* buf, FB_SIZE_T size); |
||||||
|
|
||||||
|
// Create memory pool instance |
||||||
|
@@ -1840,7 +1840,7 @@ class MemPool |
||||||
|
|
||||||
|
// Set statistics group for pool. Usage counters will be decremented from |
||||||
|
// previously set group and added to new |
||||||
|
- void setStatsGroup(MemoryStats& stats) FB_NOTHROW; |
||||||
|
+ void setStatsGroup(MemoryStats& stats) noexcept; |
||||||
|
|
||||||
|
// Initialize and finalize global memory pool |
||||||
|
static MemPool* init() |
||||||
|
@@ -1893,25 +1893,25 @@ class MemPool |
||||||
|
} |
||||||
|
|
||||||
|
// Statistics |
||||||
|
- void increment_usage(size_t size) FB_NOTHROW |
||||||
|
+ void increment_usage(size_t size) noexcept |
||||||
|
{ |
||||||
|
stats->increment_usage(size); |
||||||
|
used_memory += size; |
||||||
|
} |
||||||
|
|
||||||
|
- void decrement_usage(size_t size) FB_NOTHROW |
||||||
|
+ void decrement_usage(size_t size) noexcept |
||||||
|
{ |
||||||
|
stats->decrement_usage(size); |
||||||
|
used_memory -= size; |
||||||
|
} |
||||||
|
|
||||||
|
- void increment_mapping(size_t size) FB_NOTHROW |
||||||
|
+ void increment_mapping(size_t size) noexcept |
||||||
|
{ |
||||||
|
stats->increment_mapping(size); |
||||||
|
mapped_memory += size; |
||||||
|
} |
||||||
|
|
||||||
|
- void decrement_mapping(size_t size) FB_NOTHROW |
||||||
|
+ void decrement_mapping(size_t size) noexcept |
||||||
|
{ |
||||||
|
stats->decrement_mapping(size); |
||||||
|
mapped_memory -= size; |
||||||
|
@@ -1919,9 +1919,9 @@ class MemPool |
||||||
|
|
||||||
|
#ifdef MEM_DEBUG |
||||||
|
// Print out pool contents. This is debugging routine |
||||||
|
- void print_contents(FILE*, unsigned flags, const char* filter_path) FB_NOTHROW; |
||||||
|
+ void print_contents(FILE*, unsigned flags, const char* filter_path) noexcept; |
||||||
|
// The same routine, but more easily callable from the debugger |
||||||
|
- void print_contents(const char* filename, unsigned flags, const char* filter_path) FB_NOTHROW; |
||||||
|
+ void print_contents(const char* filename, unsigned flags, const char* filter_path) noexcept; |
||||||
|
|
||||||
|
private: |
||||||
|
MemPool* next; |
||||||
|
@@ -1961,7 +1961,7 @@ void DoubleLinkedList::decrUsage(MemMediumHunk* hunk, MemPool* pool) |
||||||
|
|
||||||
|
|
||||||
|
template <class ListBuilder, class Limits> |
||||||
|
-MemBlock* FreeObjects<ListBuilder, Limits>::newBlock(MemPool* pool, unsigned slot) FB_THROW (OOM_EXCEPTION) |
||||||
|
+MemBlock* FreeObjects<ListBuilder, Limits>::newBlock(MemPool* pool, unsigned slot) |
||||||
|
{ |
||||||
|
size_t size = Limits::getSize(slot); |
||||||
|
|
||||||
|
@@ -2170,7 +2170,7 @@ MemPool::~MemPool(void) |
||||||
|
} |
||||||
|
|
||||||
|
template <class Extent> |
||||||
|
-void MemPool::newExtent(size_t& size, Extent** linkedList) FB_THROW(OOM_EXCEPTION) |
||||||
|
+void MemPool::newExtent(size_t& size, Extent** linkedList) |
||||||
|
{ |
||||||
|
// No large enough block found. We need to extend the pool |
||||||
|
void* memory = NULL; |
||||||
|
@@ -2214,7 +2214,7 @@ MemoryPool* MemoryPool::createPool(MemoryPool* parentPool, MemoryStats& stats) |
||||||
|
return FB_NEW_POOL(*parentPool) MemoryPool(p); |
||||||
|
} |
||||||
|
|
||||||
|
-void MemPool::setStatsGroup(MemoryStats& newStats) FB_NOTHROW |
||||||
|
+void MemPool::setStatsGroup(MemoryStats& newStats) noexcept |
||||||
|
{ |
||||||
|
MutexLockGuard guard(mutex, "MemPool::setStatsGroup"); |
||||||
|
|
||||||
|
@@ -2230,12 +2230,12 @@ void MemPool::setStatsGroup(MemoryStats& newStats) FB_NOTHROW |
||||||
|
stats->increment_usage(sav_used_memory); |
||||||
|
} |
||||||
|
|
||||||
|
-void MemoryPool::setStatsGroup(MemoryStats& newStats) FB_NOTHROW |
||||||
|
+void MemoryPool::setStatsGroup(MemoryStats& newStats) noexcept |
||||||
|
{ |
||||||
|
pool->setStatsGroup(newStats); |
||||||
|
} |
||||||
|
|
||||||
|
-MemBlock* MemPool::alloc(size_t from, size_t& length, bool flagRedirect) FB_THROW (OOM_EXCEPTION) |
||||||
|
+MemBlock* MemPool::alloc(size_t from, size_t& length, bool flagRedirect) |
||||||
|
{ |
||||||
|
MutexEnsureUnlock guard(mutex, "MemPool::alloc"); |
||||||
|
guard.enter(); |
||||||
|
@@ -2294,7 +2294,7 @@ MemBlock* MemPool::allocate2(size_t from, size_t& size |
||||||
|
#ifdef DEBUG_GDS_ALLOC |
||||||
|
, const char* fileName, int line |
||||||
|
#endif |
||||||
|
-) FB_THROW (OOM_EXCEPTION) |
||||||
|
+) |
||||||
|
{ |
||||||
|
size_t length = from ? size : ROUNDUP(size + VALGRIND_REDZONE, roundingSize) + GUARD_BYTES; |
||||||
|
MemBlock* memory = alloc(from, length, true); |
||||||
|
@@ -2324,7 +2324,7 @@ MemBlock* MemPool::allocate2(size_t from, size_t& size |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
-void* MemPool::allocate(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION) |
||||||
|
+void* MemPool::allocate(size_t size ALLOC_PARAMS) |
||||||
|
{ |
||||||
|
#ifdef VALIDATE_POOL |
||||||
|
MutexLockGuard guard(mutex, "MemPool::allocate"); |
||||||
|
@@ -2339,7 +2339,7 @@ void* MemPool::allocate(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
-void MemPool::releaseMemory(void* object, bool flagExtent) FB_NOTHROW |
||||||
|
+void MemPool::releaseMemory(void* object, bool flagExtent) noexcept |
||||||
|
{ |
||||||
|
if (object) |
||||||
|
{ |
||||||
|
@@ -2403,7 +2403,7 @@ void MemPool::releaseMemory(void* object, bool flagExtent) FB_NOTHROW |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
-void MemPool::releaseBlock(MemBlock* block, bool decrUsage) FB_NOTHROW |
||||||
|
+void MemPool::releaseBlock(MemBlock* block, bool decrUsage) noexcept |
||||||
|
{ |
||||||
|
if (block->pool != this) |
||||||
|
corrupt("bad block released"); |
||||||
|
@@ -2464,12 +2464,12 @@ void MemPool::releaseBlock(MemBlock* block, bool decrUsage) FB_NOTHROW |
||||||
|
releaseRaw(pool_destroying, hunk, hunk->length, false); |
||||||
|
} |
||||||
|
|
||||||
|
-void MemPool::memoryIsExhausted(void) FB_THROW (OOM_EXCEPTION) |
||||||
|
+void MemPool::memoryIsExhausted(void) |
||||||
|
{ |
||||||
|
Firebird::BadAlloc::raise(); |
||||||
|
} |
||||||
|
|
||||||
|
-void* MemPool::allocRaw(size_t size) FB_THROW (OOM_EXCEPTION) |
||||||
|
+void* MemPool::allocRaw(size_t size) |
||||||
|
{ |
||||||
|
#ifndef USE_VALGRIND |
||||||
|
if (size == DEFAULT_ALLOCATION) |
||||||
|
@@ -2549,7 +2549,7 @@ void* MemPool::allocRaw(size_t size) FB_THROW (OOM_EXCEPTION) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
-void* MemPool::getExtent(size_t from, size_t& to) FB_THROW(OOM_EXCEPTION) // pass desired minimum size, return actual extent size |
||||||
|
+void* MemPool::getExtent(size_t from, size_t& to) // pass desired minimum size, return actual extent size |
||||||
|
{ |
||||||
|
#ifdef VALIDATE_POOL |
||||||
|
MutexLockGuard guard(mutex, "MemPool::getExtent"); |
||||||
|
@@ -2560,7 +2560,7 @@ void* MemPool::getExtent(size_t from, size_t& to) FB_THROW(OOM_EXCEPTION) // pa |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
-void MemPool::releaseExtent(bool destroying, void* block, size_t size, MemPool* pool) FB_NOTHROW |
||||||
|
+void MemPool::releaseExtent(bool destroying, void* block, size_t size, MemPool* pool) noexcept |
||||||
|
{ |
||||||
|
if (size < DEFAULT_ALLOCATION) |
||||||
|
releaseMemory(block, true); |
||||||
|
@@ -2573,7 +2573,7 @@ void MemPool::releaseExtent(bool destroying, void* block, size_t size, MemPool* |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
-void MemPool::releaseRaw(bool destroying, void* block, size_t size, bool use_cache) FB_NOTHROW |
||||||
|
+void MemPool::releaseRaw(bool destroying, void* block, size_t size, bool use_cache) noexcept |
||||||
|
{ |
||||||
|
#ifndef USE_VALGRIND |
||||||
|
if (use_cache && (size == DEFAULT_ALLOCATION)) |
||||||
|
@@ -2666,19 +2666,19 @@ void MemPool::releaseRaw(bool destroying, void* block, size_t size, bool use_cac |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
-void MemPool::globalFree(void* block) FB_NOTHROW |
||||||
|
+void MemPool::globalFree(void* block) noexcept |
||||||
|
{ |
||||||
|
deallocate(block); |
||||||
|
} |
||||||
|
|
||||||
|
-void* MemoryPool::calloc(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION) |
||||||
|
+void* MemoryPool::calloc(size_t size ALLOC_PARAMS) |
||||||
|
{ |
||||||
|
void* block = allocate(size ALLOC_PASS_ARGS); |
||||||
|
memset(block, 0, size); |
||||||
|
return block; |
||||||
|
} |
||||||
|
|
||||||
|
-void MemPool::deallocate(void* block) FB_NOTHROW |
||||||
|
+void MemPool::deallocate(void* block) noexcept |
||||||
|
{ |
||||||
|
releaseMemory(block, false); |
||||||
|
} |
||||||
|
@@ -2720,7 +2720,7 @@ bool MemPool::validate(char* buf, FB_SIZE_T size) |
||||||
|
} |
||||||
|
|
||||||
|
#ifdef MEM_DEBUG |
||||||
|
-void MemPool::print_contents(const char* filename, unsigned flags, const char* filter_path) FB_NOTHROW |
||||||
|
+void MemPool::print_contents(const char* filename, unsigned flags, const char* filter_path) noexcept |
||||||
|
{ |
||||||
|
FILE* out = os_utils::fopen(filename, "w"); |
||||||
|
if (!out) |
||||||
|
@@ -2731,7 +2731,7 @@ void MemPool::print_contents(const char* filename, unsigned flags, const char* f |
||||||
|
} |
||||||
|
|
||||||
|
// This member function can't be const because there are calls to the mutex. |
||||||
|
-void MemPool::print_contents(FILE* file, unsigned flags, const char* filter_path) FB_NOTHROW |
||||||
|
+void MemPool::print_contents(FILE* file, unsigned flags, const char* filter_path) noexcept |
||||||
|
{ |
||||||
|
bool used_only = flags & MemoryPool::PRINT_USED_ONLY; |
||||||
|
|
||||||
|
@@ -2818,7 +2818,7 @@ MemoryPool& AutoStorage::getAutoMemoryPool() |
||||||
|
} |
||||||
|
|
||||||
|
#ifdef LIBC_CALLS_NEW |
||||||
|
-void* MemoryPool::globalAlloc(size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION) |
||||||
|
+void* MemoryPool::globalAlloc(size_t s ALLOC_PARAMS) |
||||||
|
{ |
||||||
|
if (!defaultMemoryManager) |
||||||
|
{ |
||||||
|
@@ -2831,17 +2831,17 @@ void* MemoryPool::globalAlloc(size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION) |
||||||
|
} |
||||||
|
#endif // LIBC_CALLS_NEW |
||||||
|
|
||||||
|
-void MemoryPool::globalFree(void* block) FB_NOTHROW |
||||||
|
+void MemoryPool::globalFree(void* block) noexcept |
||||||
|
{ |
||||||
|
MemPool::globalFree(block); |
||||||
|
} |
||||||
|
|
||||||
|
-void* MemoryPool::allocate(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION) |
||||||
|
+void* MemoryPool::allocate(size_t size ALLOC_PARAMS) |
||||||
|
{ |
||||||
|
return pool->allocate(size ALLOC_PASS_ARGS); |
||||||
|
} |
||||||
|
|
||||||
|
-void MemoryPool::deallocate(void* block) FB_NOTHROW |
||||||
|
+void MemoryPool::deallocate(void* block) noexcept |
||||||
|
{ |
||||||
|
pool->deallocate(block); |
||||||
|
} |
||||||
|
@@ -2870,14 +2870,14 @@ void MemoryPool::deletePool(MemoryPool* pool) |
||||||
|
delete pool; |
||||||
|
} |
||||||
|
|
||||||
|
-void MemoryPool::print_contents(FILE* file, unsigned flags, const char* filter_path) FB_NOTHROW |
||||||
|
+void MemoryPool::print_contents(FILE* file, unsigned flags, const char* filter_path) noexcept |
||||||
|
{ |
||||||
|
#ifdef MEM_DEBUG |
||||||
|
pool->print_contents(file, flags, filter_path); |
||||||
|
#endif |
||||||
|
} |
||||||
|
|
||||||
|
-void MemoryPool::print_contents(const char* filename, unsigned flags, const char* filter_path) FB_NOTHROW |
||||||
|
+void MemoryPool::print_contents(const char* filename, unsigned flags, const char* filter_path) noexcept |
||||||
|
{ |
||||||
|
#ifdef MEM_DEBUG |
||||||
|
pool->print_contents(filename, flags, filter_path); |
||||||
|
@@ -2950,21 +2950,21 @@ void AutoStorage::ProbeStack() const |
||||||
|
// in a case when we actually need "new" only with file/line information |
||||||
|
// this version should be also present as a pair for "delete". |
||||||
|
#ifdef DEBUG_GDS_ALLOC |
||||||
|
-void* operator new(size_t s) FB_THROW (OOM_EXCEPTION) |
||||||
|
+void* operator new(size_t s) |
||||||
|
{ |
||||||
|
return MemoryPool::globalAlloc(s ALLOC_ARGS); |
||||||
|
} |
||||||
|
-void* operator new[](size_t s) FB_THROW (OOM_EXCEPTION) |
||||||
|
+void* operator new[](size_t s) |
||||||
|
{ |
||||||
|
return MemoryPool::globalAlloc(s ALLOC_ARGS); |
||||||
|
} |
||||||
|
|
||||||
|
-void operator delete(void* mem) FB_NOTHROW |
||||||
|
+void operator delete(void* mem) noexcept |
||||||
|
{ |
||||||
|
MemoryPool::globalFree(mem); |
||||||
|
} |
||||||
|
|
||||||
|
-void operator delete[](void* mem) FB_NOTHROW |
||||||
|
+void operator delete[](void* mem) noexcept |
||||||
|
{ |
||||||
|
MemoryPool::globalFree(mem); |
||||||
|
} |
||||||
|
diff --git a/src/common/classes/alloc.h b/src/common/classes/alloc.h |
||||||
|
index 65f9afbb8a9..44d9e0ea462 100644 |
||||||
|
--- a/src/common/classes/alloc.h |
||||||
|
+++ b/src/common/classes/alloc.h |
||||||
|
@@ -58,20 +58,6 @@ |
||||||
|
|
||||||
|
#include <memory.h> |
||||||
|
|
||||||
|
-#define OOM_EXCEPTION std::bad_alloc |
||||||
|
- |
||||||
|
-#if __cplusplus >= 201103L |
||||||
|
-#define FB_NO_THROW_SPECIFIER |
||||||
|
-#endif |
||||||
|
- |
||||||
|
-#ifdef FB_NO_THROW_SPECIFIER |
||||||
|
-#define FB_THROW(x) |
||||||
|
-#define FB_NOTHROW noexcept |
||||||
|
-#else |
||||||
|
-#define FB_THROW(x) throw(x) |
||||||
|
-#define FB_NOTHROW throw() |
||||||
|
-#endif |
||||||
|
- |
||||||
|
#ifdef DEBUG_GDS_ALLOC |
||||||
|
#define FB_NEW new(__FILE__, __LINE__) |
||||||
|
#define FB_NEW_POOL(pool) new(pool, __FILE__, __LINE__) |
||||||
|
@@ -106,10 +92,10 @@ class MemoryStats |
||||||
|
~MemoryStats() |
||||||
|
{} |
||||||
|
|
||||||
|
- size_t getCurrentUsage() const FB_NOTHROW { return mst_usage.value(); } |
||||||
|
- size_t getMaximumUsage() const FB_NOTHROW { return mst_max_usage; } |
||||||
|
- size_t getCurrentMapping() const FB_NOTHROW { return mst_mapped.value(); } |
||||||
|
- size_t getMaximumMapping() const FB_NOTHROW { return mst_max_mapped; } |
||||||
|
+ size_t getCurrentUsage() const noexcept { return mst_usage.value(); } |
||||||
|
+ size_t getMaximumUsage() const noexcept { return mst_max_usage; } |
||||||
|
+ size_t getCurrentMapping() const noexcept { return mst_mapped.value(); } |
||||||
|
+ size_t getMaximumMapping() const noexcept { return mst_max_mapped; } |
||||||
|
|
||||||
|
private: |
||||||
|
// Forbid copying/assignment |
||||||
|
@@ -131,7 +117,7 @@ class MemoryStats |
||||||
|
size_t mst_max_mapped; |
||||||
|
|
||||||
|
// These methods are thread-safe due to usage of atomic counters only |
||||||
|
- void increment_usage(size_t size) FB_NOTHROW |
||||||
|
+ void increment_usage(size_t size) noexcept |
||||||
|
{ |
||||||
|
for (MemoryStats* statistics = this; statistics; statistics = statistics->mst_parent) |
||||||
|
{ |
||||||
|
@@ -141,7 +127,7 @@ class MemoryStats |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
- void decrement_usage(size_t size) FB_NOTHROW |
||||||
|
+ void decrement_usage(size_t size) noexcept |
||||||
|
{ |
||||||
|
for (MemoryStats* statistics = this; statistics; statistics = statistics->mst_parent) |
||||||
|
{ |
||||||
|
@@ -149,7 +135,7 @@ class MemoryStats |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
- void increment_mapping(size_t size) FB_NOTHROW |
||||||
|
+ void increment_mapping(size_t size) noexcept |
||||||
|
{ |
||||||
|
for (MemoryStats* statistics = this; statistics; statistics = statistics->mst_parent) |
||||||
|
{ |
||||||
|
@@ -159,7 +145,7 @@ class MemoryStats |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
- void decrement_mapping(size_t size) FB_NOTHROW |
||||||
|
+ void decrement_mapping(size_t size) noexcept |
||||||
|
{ |
||||||
|
for (MemoryStats* statistics = this; statistics; statistics = statistics->mst_parent) |
||||||
|
{ |
||||||
|
@@ -205,21 +191,21 @@ class MemoryPool |
||||||
|
#define ALLOC_PASS_ARGS |
||||||
|
#endif // DEBUG_GDS_ALLOC |
||||||
|
|
||||||
|
- void* calloc(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION); |
||||||
|
+ void* calloc(size_t size ALLOC_PARAMS); |
||||||
|
|
||||||
|
#ifdef LIBC_CALLS_NEW |
||||||
|
- static void* globalAlloc(size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION); |
||||||
|
+ static void* globalAlloc(size_t s ALLOC_PARAMS); |
||||||
|
#else |
||||||
|
- static void* globalAlloc(size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION) |
||||||
|
+ static void* globalAlloc(size_t s ALLOC_PARAMS) |
||||||
|
{ |
||||||
|
return defaultMemoryManager->allocate(s ALLOC_PASS_ARGS); |
||||||
|
} |
||||||
|
#endif // LIBC_CALLS_NEW |
||||||
|
|
||||||
|
- void* allocate(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION); |
||||||
|
+ void* allocate(size_t size ALLOC_PARAMS); |
||||||
|
|
||||||
|
- static void globalFree(void* mem) FB_NOTHROW; |
||||||
|
- void deallocate(void* mem) FB_NOTHROW; |
||||||
|
+ static void globalFree(void* mem) noexcept; |
||||||
|
+ void deallocate(void* mem) noexcept; |
||||||
|
|
||||||
|
// Set context pool for current thread of execution |
||||||
|
static MemoryPool* setContextPool(MemoryPool* newPool); |
||||||
|
@@ -229,7 +215,7 @@ class MemoryPool |
||||||
|
|
||||||
|
// Set statistics group for pool. Usage counters will be decremented from |
||||||
|
// previously set group and added to new |
||||||
|
- void setStatsGroup(MemoryStats& stats) FB_NOTHROW; |
||||||
|
+ void setStatsGroup(MemoryStats& stats) noexcept; |
||||||
|
|
||||||
|
// Initialize and finalize global memory pool |
||||||
|
static void init(); |
||||||
|
@@ -241,9 +227,9 @@ class MemoryPool |
||||||
|
// Print out pool contents. This is debugging routine |
||||||
|
static const unsigned PRINT_USED_ONLY = 0x01; |
||||||
|
static const unsigned PRINT_RECURSIVE = 0x02; |
||||||
|
- void print_contents(FILE*, unsigned flags = 0, const char* filter_path = 0) FB_NOTHROW; |
||||||
|
+ void print_contents(FILE*, unsigned flags = 0, const char* filter_path = 0) noexcept; |
||||||
|
// The same routine, but more easily callable from the debugger |
||||||
|
- void print_contents(const char* filename, unsigned flags = 0, const char* filter_path = 0) FB_NOTHROW; |
||||||
|
+ void print_contents(const char* filename, unsigned flags = 0, const char* filter_path = 0) noexcept; |
||||||
|
|
||||||
|
public: |
||||||
|
struct Finalizer |
||||||
|
@@ -298,7 +284,7 @@ class MemoryPool |
||||||
|
|
||||||
|
} // namespace Firebird |
||||||
|
|
||||||
|
-static inline Firebird::MemoryPool* getDefaultMemoryPool() FB_NOTHROW |
||||||
|
+static inline Firebird::MemoryPool* getDefaultMemoryPool() noexcept |
||||||
|
{ |
||||||
|
fb_assert(Firebird::MemoryPool::defaultMemoryManager); |
||||||
|
return Firebird::MemoryPool::defaultMemoryManager; |
||||||
|
@@ -355,36 +341,36 @@ class SubsystemContextPoolHolder : public ContextPoolHolder |
||||||
|
using Firebird::MemoryPool; |
||||||
|
|
||||||
|
// operators new and delete |
||||||
|
-extern void* operator new(size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION); |
||||||
|
-extern void* operator new[](size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION); |
||||||
|
-extern void operator delete(void* mem ALLOC_PARAMS) FB_NOTHROW; |
||||||
|
-extern void operator delete[](void* mem ALLOC_PARAMS) FB_NOTHROW; |
||||||
|
+extern void* operator new(size_t s ALLOC_PARAMS); |
||||||
|
+extern void* operator new[](size_t s ALLOC_PARAMS); |
||||||
|
+extern void operator delete(void* mem ALLOC_PARAMS) noexcept; |
||||||
|
+extern void operator delete[](void* mem ALLOC_PARAMS) noexcept; |
||||||
|
|
||||||
|
|
||||||
|
-inline void* operator new(size_t s, Firebird::MemoryPool& pool ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION) |
||||||
|
+inline void* operator new(size_t s, Firebird::MemoryPool& pool ALLOC_PARAMS) |
||||||
|
{ |
||||||
|
return pool.allocate(s ALLOC_PASS_ARGS); |
||||||
|
} |
||||||
|
-inline void* operator new[](size_t s, Firebird::MemoryPool& pool ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION) |
||||||
|
+inline void* operator new[](size_t s, Firebird::MemoryPool& pool ALLOC_PARAMS) |
||||||
|
{ |
||||||
|
return pool.allocate(s ALLOC_PASS_ARGS); |
||||||
|
} |
||||||
|
|
||||||
|
-inline void operator delete(void* mem, Firebird::MemoryPool& pool ALLOC_PARAMS) FB_NOTHROW |
||||||
|
+inline void operator delete(void* mem, Firebird::MemoryPool& pool ALLOC_PARAMS) noexcept |
||||||
|
{ |
||||||
|
MemoryPool::globalFree(mem); |
||||||
|
} |
||||||
|
-inline void operator delete[](void* mem, Firebird::MemoryPool& pool ALLOC_PARAMS) FB_NOTHROW |
||||||
|
+inline void operator delete[](void* mem, Firebird::MemoryPool& pool ALLOC_PARAMS) noexcept |
||||||
|
{ |
||||||
|
MemoryPool::globalFree(mem); |
||||||
|
} |
||||||
|
|
||||||
|
#if __cplusplus >= 201402L |
||||||
|
-inline void operator delete(void* mem, std::size_t s ALLOC_PARAMS) FB_NOTHROW |
||||||
|
+inline void operator delete(void* mem, std::size_t s ALLOC_PARAMS) noexcept |
||||||
|
{ |
||||||
|
MemoryPool::globalFree(mem); |
||||||
|
} |
||||||
|
-inline void operator delete[](void* mem, std::size_t s ALLOC_PARAMS) FB_NOTHROW |
||||||
|
+inline void operator delete[](void* mem, std::size_t s ALLOC_PARAMS) noexcept |
||||||
|
{ |
||||||
|
MemoryPool::globalFree(mem); |
||||||
|
} |
||||||
|
@@ -392,8 +378,8 @@ inline void operator delete[](void* mem, std::size_t s ALLOC_PARAMS) FB_NOTHROW |
||||||
|
|
||||||
|
#ifdef DEBUG_GDS_ALLOC |
||||||
|
|
||||||
|
-extern void operator delete(void* mem) FB_NOTHROW; |
||||||
|
-extern void operator delete[](void* mem) FB_NOTHROW; |
||||||
|
+extern void operator delete(void* mem) noexcept; |
||||||
|
+extern void operator delete[](void* mem) noexcept; |
||||||
|
|
||||||
|
#endif // DEBUG_GDS_ALLOC |
||||||
|
|
@ -0,0 +1,773 @@ |
|||||||
|
%global upversion 4.0.4.3010 |
||||||
|
%global pkgversion Firebird-%{upversion}-0 |
||||||
|
|
||||||
|
%global major 4.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 |
||||||
|
License: Interbase |
||||||
|
URL: http://www.firebirdsql.org/ |
||||||
|
|
||||||
|
Source0: https://github.com/FirebirdSQL/firebird/releases/download/v4.0.3/%{pkgversion}.tar.xz |
||||||
|
Source1: firebird-logrotate |
||||||
|
Source2: README.Fedora |
||||||
|
Source3: firebird.service |
||||||
|
Source4: fb_config |
||||||
|
|
||||||
|
# from OpenSuse |
||||||
|
Patch101: add-pkgconfig-files.patch |
||||||
|
|
||||||
|
# from Debian to be sent upstream |
||||||
|
Patch203: no-copy-from-icu.patch |
||||||
|
Patch205: cloop-honour-build-flags.patch |
||||||
|
|
||||||
|
# from upstream |
||||||
|
Patch301: c++17.patch |
||||||
|
Patch302: noexcept.patch |
||||||
|
Patch303: autoconf.patch |
||||||
|
Patch401: btyacc-honour-build-flags.patch |
||||||
|
Patch402: firebird-configure-c99.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 |
||||||
|
|
||||||
|
Requires(postun): /usr/sbin/userdel |
||||||
|
Requires(postun): /usr/sbin/groupdel |
||||||
|
Requires(pre): /usr/sbin/groupadd |
||||||
|
Requires(pre): /usr/sbin/useradd |
||||||
|
Recommends: logrotate |
||||||
|
Requires: libfbclient2 = %{version}-%{release} |
||||||
|
Requires: libib-util = %{version}-%{release} |
||||||
|
Requires: %{name}-utils = %{version}-%{release} |
||||||
|
|
||||||
|
Obsoletes: firebird-arch < 4.0 |
||||||
|
Obsoletes: firebird-filesystem < 4.0 |
||||||
|
Obsoletes: firebird-classic-common < 4.0 |
||||||
|
Obsoletes: firebird-classic < 4.0 |
||||||
|
Obsoletes: firebird-superclassic < 4.0 |
||||||
|
Obsoletes: firebird-superserver < 4.0 |
||||||
|
Conflicts: firebird-arch < 4.0 |
||||||
|
Conflicts: firebird-filesystem < 4.0 |
||||||
|
Conflicts: firebird-classic-common < 4.0 |
||||||
|
Conflicts: firebird-classic < 4.0 |
||||||
|
Conflicts: firebird-superclassic < 4.0 |
||||||
|
Conflicts: firebird-superserver < 4.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 < 4.0 |
||||||
|
Conflicts: firebird-libfbclient < 4.0 |
||||||
|
Obsoletes: firebird-libfbembed < 4.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} |
||||||
|
%patch -P101 -p1 |
||||||
|
%patch -P203 -p1 |
||||||
|
%patch -P205 -p1 |
||||||
|
%patch -P301 -p1 |
||||||
|
%patch -P302 -p1 |
||||||
|
%patch -P303 -p1 |
||||||
|
%patch -P401 -p1 |
||||||
|
%patch -P402 -p1 |
||||||
|
%patch -P501 -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} \ |
||||||
|
--with-system-editline \ |
||||||
|
--with-fbbin=%{_bindir} --with-fbsbin=%{_sbindir} \ |
||||||
|
--with-fbconf=%{_sysconfdir}/%{name} \ |
||||||
|
--with-fblib=%{_libdir} --with-fbinclude=%{_includedir} \ |
||||||
|
--with-fbdoc=%{_defaultdocdir}/%{name} \ |
||||||
|
--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=%{_rundir}/%{name} \ |
||||||
|
--with-fbplugins=%{_libdir}/%{name}/plugins \ |
||||||
|
--with-fbtzdata=%{_localstatedir}/lib/%{name}/tzdata |
||||||
|
|
||||||
|
make %{?_smp_mflags} |
||||||
|
cd gen |
||||||
|
sed -i '/linkFiles "/d' ./install/makeInstallImage.sh |
||||||
|
./install/makeInstallImage.sh |
||||||
|
chmod -R u+w buildroot%{_docdir}/%{name} |
||||||
|
|
||||||
|
%install |
||||||
|
chmod u+rw,a+rx gen/buildroot/%{_includedir}/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}/perf.h |
||||||
|
rm -vf .%{_libdir}/libicu*.so |
||||||
|
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 \ |
||||||
|
.%{_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 .%{_unitdir} |
||||||
|
cp -f %{SOURCE3} .%{_unitdir}/%{name}.service |
||||||
|
|
||||||
|
|
||||||
|
%pre |
||||||
|
# Create the firebird group if it doesn't exist |
||||||
|
getent group %{name} > /dev/null || /usr/sbin/groupadd -r %{name} |
||||||
|
getent passwd %{name} >/dev/null || /usr/sbin/useradd -d / -g %{name} -s /sbin/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.service |
||||||
|
|
||||||
|
|
||||||
|
%postun |
||||||
|
%systemd_postun_with_restart firebird.service |
||||||
|
|
||||||
|
|
||||||
|
%preun |
||||||
|
%systemd_preun firebird.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 |
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/replication.conf |
||||||
|
%dir %{_libdir}/%{name} |
||||||
|
%dir %{_datadir}/%{name} |
||||||
|
%{_libdir}/%{name}/intl |
||||||
|
%{_libdir}/%{name}/plugins |
||||||
|
|
||||||
|
%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/security4.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 |
||||||
|
%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 |
||||||
|
|
||||||
|
|
||||||
|
%files devel |
||||||
|
%{_includedir}/*.h |
||||||
|
%{_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 |
||||||
|
* 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. |
||||||
|
- Fix tmpfiles path |
||||||
|
|
||||||
|
* Tue Feb 13 2018 Remi Collet <remi@fedoraproject.org> - 3.0.2.32703-5 |
||||||
|
- add shebang in fb_config, fix #1544837 |
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2.32703-4 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2.32703-3 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2.32703-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild |
||||||
|
|
||||||
|
* Mon Mar 27 2017 Philippe Makowski <makowski@fedoraproject.org> - 3.0.2.32703-1 |
||||||
|
- new upstream release |
||||||
|
|
||||||
|
* Tue Feb 21 2017 Philippe Makowski <makowski@fedoraproject.org> - 3.0.1.32609-5 |
||||||
|
- security fix (#1425333) |
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.1.32609-4 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild |
||||||
|
|
||||||
|
* Tue Nov 15 2016 Philippe Makowski <makowski@fedoraproject.org> - 3.0.1.32609-3 |
||||||
|
- add requires on libfbclient2-devel for firebird-devel #1394750 |
||||||
|
|
||||||
|
* Mon Oct 31 2016 Philippe Makowski <makowski@fedoraproject.org> - 3.0.1.32609-2 |
||||||
|
- obsolete firebird-libfbembed #1388648 |
||||||
|
|
||||||
|
* Wed Oct 12 2016 Philippe Makowski <makowski@fedoraproject.org> - 3.0.1.32609-1 |
||||||
|
- new upstream release |
||||||
|
|
||||||
|
* Fri Apr 15 2016 David Tardon <dtardon@redhat.com> - 2.5.5.26952.0-7 |
||||||
|
- rebuild for ICU 57.1 |
||||||
|
|
||||||
|
* Wed Mar 30 2016 Philippe Makowski <makowski@fedoraproject.org> - 2.5.5.26952.0-6 |
||||||
|
- use _tmpfilesdir macro |
||||||
|
|
||||||
|
* Wed Mar 09 2016 Philippe Makowski <makowski@fedoraproject.org> - 2.5.5.26952.0-5 |
||||||
|
- Resolves: rbhz#1307503 building with gcc6 |
||||||
|
|
||||||
|
* Sat Feb 20 2016 David Tardon <dtardon@redhat.com> - 2.5.5.26952.0-4 |
||||||
|
- Resolves: rbhz#1309223 restore /usr/sbin/fb_config |
||||||
|
|
||||||
|
* Fri Feb 05 2016 Philippe Makowski <makowski@fedoraproject.org> - 2.5.5.26952.0-3 |
||||||
|
- move fb_config (#1297506) |
||||||
|
- fixe CVE-2016-1569 (#1297447 #1297450 #1297451) |
||||||
|
|
||||||
|
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.5.26952.0-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild |
||||||
|
|
||||||
|
* Thu Nov 19 2015 Philippe Makowski <makowski@fedoraproject.org> 2.5.5.26952.0-1 |
||||||
|
- update to 2.5.5 |
||||||
|
|
||||||
|
* Wed Oct 28 2015 David Tardon <dtardon@redhat.com> - 2.5.4.26856.0-4 |
||||||
|
- rebuild for ICU 56.1 |
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.4.26856.0-3 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild |
||||||
|
|
||||||
|
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.5.4.26856.0-2 |
||||||
|
- Rebuilt for GCC 5 C++11 ABI change |
||||||
|
|
||||||
|
* Thu Apr 2 2015 Philippe Makowski <makowski@fedoraproject.org> 2.5.4.26856.0-1 |
||||||
|
- update to 2.5.4 |
||||||
|
|
||||||
|
* Mon Jan 26 2015 David Tardon <dtardon@redhat.com> - 2.5.3.26778.0-6 |
||||||
|
- rebuild for ICU 54.1 |
||||||
|
|
||||||
|
* Sun Dec 7 2014 Philippe Makowski <makowski@fedoraproject.org> 2.5.3.26778.0-5 |
||||||
|
- security fix firebird CORE-4630 |
||||||
|
|
||||||
|
* Thu Oct 30 2014 Philippe Makowski <makowski@fedoraproject.org> 2.5.3.26778.0-4 |
||||||
|
- Remove lib64 rpaths (#1154706) |
||||||
|
|
||||||
|
* Tue Aug 26 2014 David Tardon <dtardon@redhat.com> - 2.5.3.26778.0-3 |
||||||
|
- rebuild for ICU 53.1 |
||||||
|
|
||||||
|
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.3.26778.0-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild |
||||||
|
|
||||||
|
* Sat Jul 26 2014 Philippe Makowski <makowski@fedoraproject.org> - 2.5.3.26778.0-1 |
||||||
|
- update from upstream 2.5.3 |
||||||
|
- update arm64 patch |
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.2.26539.0-11 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Feb 12 2014 Rex Dieter <rdieter@fedoraproject.org> 2.5.2.26539.0-10 |
||||||
|
- rebuild (libicu) |
||||||
|
|
||||||
|
* Sat Dec 07 2013 Philippe Makowski <makowski@fedoraproject.org> 2.5.2.26539.0-9 |
||||||
|
- fix FTBFS if "-Werror=format-security" flag is used (bug #1037062) |
||||||
|
|
||||||
|
* Thu Aug 08 2013 Philippe Makowski <makowski@fedoraproject.org> 2.5.2.26539.0-8 |
||||||
|
- add BR libatomic_ops-static (bug #993439) |
||||||
|
|
||||||
|
* Tue Jul 23 2013 Philippe Makowski <makowski@fedoraproject.org> 2.5.2.26539.0-7 |
||||||
|
- make fb_config executable (bug #985335) |
||||||
|
|
||||||
|
* Tue Jul 23 2013 Philippe Makowski <makowski@fedoraproject.org> 2.5.2.26539.0-6 |
||||||
|
- Provide fb_config in firebird-devel (bug #985335) |
||||||
|
|
||||||
|
* Mon Jun 03 2013 Philippe Makowski <makowski@fedoraproject.org> 2.5.2.26539.0-5 |
||||||
|
- Firebird fails to build for aarch64 (bug #969851) |
||||||
|
|
||||||
|
* Thu Apr 25 2013 Philippe Makowski <makowski@fedoraproject.org> 2.5.2.26539.0-4 |
||||||
|
- set PIE compiler flags (bug #955274) |
||||||
|
|
||||||
|
* Sun Mar 10 2013 Philippe Makowski <makowski@fedoraproject.org> 2.5.2.26539.0-3 |
||||||
|
- added patch from upstream to fix Firebird CORE-4058 CVE-2013-2492 |
||||||
|
|
||||||
|
* Sat Jan 26 2013 Rex Dieter <rdieter@fedoraproject.org> 2.5.2.26539.0-2 |
||||||
|
- rebuild (icu) |
||||||
|
|
||||||
|
* Fri Nov 09 2012 Philippe Makowski <makowski@fedoraproject.org> 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 <makowski@fedoraproject.org> 2.5.1.26351.0-4 |
||||||
|
- Modernize systemd scriptlets (bug #850109) |
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.1.26351.0-3 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild |
||||||
|
|
||||||
|
* Mon Apr 23 2012 Philippe Makowski <makowski@fedoraproject.org> 2.5.1.26351.0-2 |
||||||
|
- rebuild for icu 4.8 |
||||||
|
|
||||||
|
* Thu Jan 19 2012 Philippe Makowski <makowski@fedoraproject.org> 2.5.1.26351.0-1 |
||||||
|
- Fix non-fatal POSTIN fix rh #781691 |
||||||
|
- new upstream |
||||||
|
|
||||||
|
* Fri Jan 06 2012 Philippe Makowski <makowski@fedoraproject.org> 2.5.1.26349.0-4 |
||||||
|
- Rebuild for GCC-4.7 |
||||||
|
|
||||||
|
* Mon Nov 28 2011 Philippe Makowski <makowski@fedoraproject.org> 2.5.1.26349.O-3 |
||||||
|
- Better systemd support fix rh #757624 |
||||||
|
|
||||||
|
* Sun Oct 02 2011 Karsten Hopp <karsten@redhat.com> 2.5.1.26349.O-2 |
||||||
|
- drop ppc64 configure script hack, not required anymore |
||||||
|
|
||||||
|
* Thu Sep 29 2011 Philippe Makowski <makowski@fedoraproject.org> 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 <makowski@fedoraproject.org> 2.5.0.26074.0-10 |
||||||
|
- Add support for systemd (rh #737281) |
||||||
|
|
||||||
|
* Fri Apr 22 2011 Philippe Makowski <makowski@fedoraproject.org> 2.5.0.26074.0-8 |
||||||
|
- added patch from upstream to fix rh #697313 |
||||||
|
|
||||||
|
* Mon Mar 07 2011 Caolán McNamara <caolanm@redhat.com> - 2.5.0.26074.0-7 |
||||||
|
- rebuild for icu 4.6 |
||||||
|
|
||||||
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.0.26074.0-6 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild |
||||||
|
|
||||||
|
* Fri Jan 28 2011 Philippe Makowski <makowski[at]fedoraproject.org> 2.5.0.26074.0-5 |
||||||
|
- services must not be enabled by default |
||||||
|
|
||||||
|
* Tue Jan 25 2011 Karsten Hopp <karsten@redhat.com> 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 <makowski[at]fedoraproject.org> 2.5.0.26074.0-3 |
||||||
|
- Fix wrong assign file for classic and classic common |
||||||
|
|
||||||
|
* Thu Dec 16 2010 Dan Horák <dan[at]danny.cz> 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 <makowski@fedoraproject.org> 2.5.0.26074.0-1 |
||||||
|
- Fix rh #656587 /var/run mounted as tempfs |
||||||
|
|
||||||
|
* Mon Nov 22 2010 Philippe Makowski <makowski@fedoraproject.org> 2.5.0.26074.0-0 |
||||||
|
- build with last upstream |
||||||
|
|
||||||
|
* Tue Jun 29 2010 Dan Horák <dan[at]danny.cz> 2.1.3.18185.0-9 |
||||||
|
- update the s390(x) patch to match upstream |
||||||
|
|
||||||
|
* Fri Jun 04 2010 Philippe Makowski <makowski@fedoraproject.org> 2.1.3.18185.0-8 |
||||||
|
- conditional BuildRequires libstdc++-static |
||||||
|
|
||||||
|
* Fri Jun 04 2010 Philippe Makowski <makowski@fedoraproject.org> 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 <caolanm@redhat.com> 2.1.3.18185.0-6 |
||||||
|
- rebuild for icu 4.4 |
||||||
|
|
||||||
|
* Sat Sep 05 2009 Karsten Hopp <karsten@redhat.com> 2.1.3.18185.0-5 |
||||||
|
- fix build on s390x for F-12 mass rebuild (Dan Horák) |
||||||
|
|
||||||
|
* Tue Aug 11 2009 Philippe Makowski <makowski at fedoraproject.org> 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 <makowski at firebird-fr.eu.org> 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 <makowski at firebird-fr.eu.org> 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 <makowski at firebird-fr.eu.org> 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 <makowski at firebird-fr.eu.org> 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 <makowski at firebird-fr.eu.org> 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 <makowski at firebird-fr.eu.org> 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 <makowski at firebird-fr.eu.org> 2.1.2.18118.0-5 |
||||||
|
- fix directories owning |
||||||
|
|
||||||
|
* Thu Apr 23 2009 Philippe Makowski <makowski at firebird-fr.eu.org> 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 <makowski at firebird-fr.eu.org> 2.1.2.18118.0-3 |
||||||
|
- fix group creation |
||||||
|
|
||||||
|
* Sun Apr 19 2009 Philippe Makowski <makowski at firebird-fr.eu.org> 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 <makowski at firebird-fr.eu.org> 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 <makowski at firebird-fr.eu.org> 2.1.1.17910.0-5 |
||||||
|
- Major packaging restructuring |
||||||
|
|
||||||
|
* Sat Mar 21 2009 Philippe Makowski <makowski at firebird-fr.eu.org> 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 <bioinfornatics at gmail.com> 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 <bioinfornatics at gmail.com> 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 <ashejn@yandex-team.ru> 2.1.1.17910.0-1 |
||||||
|
- Update to 2.1.1 |
||||||
|
|
||||||
|
* Fri Apr 18 2008 Arkady L. Shane <ashejn@yandex-team.ru> 2.1.0.17798.0-1 |
||||||
|
- Update to 2.1.0 |
||||||
|
|
||||||
|
* Thu Sep 27 2007 Arkady L. Shane <ashejn@yandex-team.ru> 2.0.3.12981.1-1 |
||||||
|
- Update to 2.0.3 |
||||||
|
|
||||||
|
* Thu Sep 13 2007 Arkady L. Shane <ashejn@yandex-team.ru> 2.0.1.12855.0-1 |
||||||
|
- Initial build for Fedora |
||||||
|
- cleanup Mandriva spec |
Loading…
Reference in new issue