-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Add FirebirdSQL server #5837
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
vitkabele
wants to merge
15
commits into
SynoCommunity:master
Choose a base branch
from
vitkabele:firebird
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Add FirebirdSQL server #5837
Changes from 8 commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
80a50e7
Add native/libtool (#5837)
vitkabele 651fcbf
Add cross/firebird (#5837)
vitkabele c108b23
Add spk/firebird (#5837)
vitkabele 62172ff
High-quality logo
mreid-tt a3a2a0c
[firebird] Define PKG_DIST_FILE variable in cross/firebird/Makefile (…
vitkabele edd5643
[firebird] Remove BETA and redundant include from spk/firebird/Makefi…
vitkabele e5ef0f7
[firebird] Update input type in install wizard
vitkabele f6cc627
[firebird] Remove shebang and move SYSDBA.password to PKGVAR (#5837)
vitkabele 585124d
[firebird] Remove useless and obsolete files from PLIST (#5837)
vitkabele 18969c8
[firebird] Define security database location as $SYNOPKG_PKGVAR
vitkabele 9bcf340
[firebird] Explain what is SYSDBA user in the install_uifile (#5837)
vitkabele fe8628c
[firebird] The service-setup now sets sysdba password more carefully …
vitkabele 4e39aeb
Don't use install_log in service-setup.sh script
vitkabele 808b003
Do not even build the binaries not added to the plist
vitkabele 48123ab
[firebird] Move config files to $SYNOPKG_PKGVAR
vitkabele File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
PKG_NAME = firebird | ||
PKG_VERS = 4.0.3 | ||
PKG_EXT = tar.gz | ||
PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) | ||
PKG_DIST_SITE = https://github.com/FirebirdSQL/firebird/archive/refs/tags | ||
PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) | ||
PKG_DIR = $(PKG_NAME)-$(PKG_VERS) | ||
|
||
DEPENDS = cross/zlib cross/libicu native/libicu native/libtool | ||
|
||
UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) | ||
|
||
# Create proper src/make.synology.evansport to support this | ||
UNSUPPORTED_ARCHS += $(i686_ARCHS) | ||
|
||
# Uses too old GCC 4.9 | ||
UNSUPPORTED_ARCHS += comcerto2k | ||
|
||
include ../../mk/spksrc.common.mk | ||
|
||
# Currently v4.0.2 works only with 7.0 and 7.1 | ||
# DSM 7.2 has issues with GLIBC version | ||
# DSM 6.x has issues with some C++ libraries versions | ||
ifeq ($(call version_lt,$(TCVERSION),7.0)$(call version_gt,$(TCVERSION),7.1),1) | ||
UNSUPPORTED_ARCHS += $(ARCH) | ||
endif | ||
|
||
HOMEPAGE = https://www.firebirdsql.org/ | ||
COMMENT = Firebird is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, MacOS and a variety of Unix platforms. | ||
LICENSE = MPL | ||
MAINTAINER = vitkabele | ||
|
||
PRE_CONFIGURE_TARGET = firebird_pre_configure | ||
|
||
CONFIGURE_TARGET = firebird_configure | ||
|
||
COMPILE_TARGET = firebird_compile | ||
|
||
INSTALL_TARGET = firebird_install | ||
|
||
# CXXFLAGS should be set fine by the spksrc for cross-compilation, we will | ||
# use it in cross2 step CROSS_ENV | ||
ADDITIONAL_CXXFLAGS = -Wno-invalid-offsetof | ||
|
||
# Path to the libtool installed in the cross/libtool DEPENDS target | ||
# We need the native libtool for building libommath/libtomcrypt in cross1 step | ||
LIBTOOL_BIN = $(WORK_DIR)/../../../native/libtool/work-native/install/usr/local/bin/libtool | ||
|
||
# We need both native and cross compilers for building the binary. | ||
include ../../mk/spksrc.cross-cc.mk | ||
|
||
# If we use --with-builtin-tomcrypt/math, the libraries are built during cross1 | ||
# phase without -fPIC and then refuse to link during cross2 phase. Further, | ||
# they can be built for different platforms during cross1 and cross2 phase. | ||
# | ||
# termlib and editline are disabled because we don't provide ncurses | ||
# and editline libraries | ||
CONFIGURE_ARGS = --without-termlib --with-builtin-tommath --with-builtin-tomcrypt \ | ||
--without-editline --with-cross-build=synology.$(ARCH) --prefix=$(INSTALL_PREFIX) | ||
|
||
NATIVE_LIBICU_DIR := $(WORK_DIR)/../../../native/libicu/work-native/install/usr/local | ||
|
||
# CFLAGS and CXXFLAGS for cross1 compile stage | ||
NATIVE_CFLAGS := -I$(NATIVE_LIBICU_DIR)/include -L$(NATIVE_LIBICU_DIR)/lib | ||
|
||
# Preprocessor flags | ||
NATIVE_CPPFLAGS := -I$(NATIVE_LIBICU_DIR)/include | ||
|
||
# This ENV is for cross1 phase where we build native target | ||
# | ||
# The NATIVE flags must be passed to the configure part, because the configure | ||
# fails when it cant find the headers. | ||
NATIVE_ENV = CC=gcc CXX=g++ AS=as AR=ar LD=ld NM=nm OBJCOPY=objcopy OBJDUMP=objdump \ | ||
PARALLEL_MAKE=max \ | ||
LIBTOOL="$(LIBTOOL_BIN)" \ | ||
CFLAGS="$(NATIVE_CFLAGS)" \ | ||
CXXFLAGS="$(NATIVE_CFLAGS)" \ | ||
CPPFLAGS="$(NATIVE_CPPFLAGS)" | ||
|
||
NATIVE_RUN = cd $(WORK_DIR)/$(PKG_DIR) && env $(NATIVE_ENV) | ||
|
||
# DO NOT MODIFY $(ENV) variable (too much) a.k.a. only add variables for ourselves | ||
# and do not modify any CFLAGS or other universally recognized variable | ||
# It breaks compilation of dependent cross/* libraries (especially cross/libicu) | ||
# | ||
# This ENV is for cross2 build phase where we build binaries for target platform | ||
# CROSS_ prefixed vars are for the cross2 phase and we "strip" the CROSS_ prefix | ||
# in our provided src/makefile.xxx | ||
# | ||
# The C(XX)FLAGS variables are ready by the spksrc for cross compilation, we | ||
# just use them | ||
ENV += CROSS_TOOLCHAIN=$(TC_PATH)$(TC_PREFIX) | ||
|
||
.PHONY: firebird_pre_configure | ||
firebird_pre_configure: | ||
cp src/make.synology.* $(WORK_DIR)/$(PKG_DIR)/builds/posix/ | ||
cp src/cross_config/* $(WORK_DIR)/$(PKG_DIR)/src/include/cross/ | ||
$(NATIVE_RUN) NOCONFIGURE=1 ./autogen.sh | ||
|
||
# Override the configure target, because we must pass it different env than | ||
# ENV. We cannot modify ENV to contain -I for native/libicu, because it breaks | ||
# compilation of native/libicu, but we must have this -I in the configure | ||
# CFLAGS, otherwise the configure step fails with unicode headers not found. | ||
.PHONY: firebird_configure | ||
firebird_configure: | ||
$(NATIVE_RUN) ./configure $(CONFIGURE_ARGS) | ||
|
||
# Firebird itself would be compiled by simple make, but we must pass different | ||
# environment to cross1 and cross2 step. The toolchain and CFLAGS differ | ||
.PHONY: firebird_compile | ||
firebird_compile: | ||
$(NATIVE_RUN) make TARGET=Native cross1 | ||
$(RUN) make TARGET=Release CROSS_OUT=Y cross2 | ||
|
||
.PHONY: firebird_install | ||
firebird_install: | ||
$(RUN) make TARGET=Release CROSS_OUT=Y dist | ||
# We assume there is just one buildroot.tar.gz file in the build tree | ||
# This is a little hack since we don't know the exact path where it is | ||
# produced and it is easier than patching the firebird Makefiles | ||
cd $(WORK_DIR)/install && tar xf $$(find ../ -name buildroot.tar.gz) | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
rsc:CHANGELOG.md | ||
rsc:IDPLicense.txt | ||
rsc:IPLicense.txt | ||
rsc:README.md | ||
rsc:bin/changeServerMode.sh | ||
rsc:bin/fb_config | ||
bin:bin/build_file | ||
bin:bin/fb_lock_print | ||
bin:bin/fbguard | ||
bin:bin/fbsvcmgr | ||
bin:bin/fbtracemgr | ||
bin:bin/firebird | ||
bin:bin/gbak | ||
bin:bin/gfix | ||
bin:bin/gpre | ||
bin:bin/gsec | ||
bin:bin/gsplit | ||
bin:bin/gstat | ||
bin:bin/isql | ||
bin:bin/nbackup | ||
bin:bin/qli | ||
rsc:bin/registerDatabase.sh | ||
rsc:databases.conf | ||
rsc:fbtrace.conf | ||
rsc:firebird.conf | ||
rsc:security4.gbak | ||
rsc:msg.gbak | ||
rsc:help/help.gbak | ||
rsc:intl/fbintl | ||
rsc:intl/fbintl.conf | ||
lnk:lib/libfbclient.so | ||
lnk:lib/libfbclient.so.2 | ||
lib:lib/libfbclient.so.4.0.3 | ||
lib:lib/libib_util.so | ||
rsc:misc/intl.sql | ||
rsc:misc/rc.config.firebird | ||
rsc:misc/upgrade/udf/udf_replace.sql | ||
rsc:misc/upgrade/udf/udf_replace.txt | ||
rsc:plugins.conf | ||
lib:plugins/libChaCha.so | ||
lib:plugins/libEngine13.so | ||
lib:plugins/libLegacy_Auth.so | ||
lib:plugins/libLegacy_UserManager.so | ||
lib:plugins/libSrp.so | ||
lib:plugins/libfbtrace.so | ||
lib:plugins/libudr_engine.so | ||
lib:plugins/udr/libudf_compat.so | ||
rsc:plugins/udr/udf_compat.sql | ||
rsc:plugins/udr_engine.conf | ||
rsc:replication.conf |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
firebird-4.0.3.tar.gz SHA1 02dd8914e80acef2a662eab42b7ee5a3dc41248e | ||
firebird-4.0.3.tar.gz SHA256 90b799043c83325479989b1f44116d1f0112f77c5def4bb452470bf7a0dcc138 | ||
firebird-4.0.3.tar.gz MD5 1d57b5ee362be4c0b2c3f28e78f69aaf |
28 changes: 28 additions & 0 deletions
28
cross/firebird/patches/0001-install-gbak-files-and-build_file.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
diff -u builds/install/arch-specific/linux/makeInstallImage.sh.in builds/install/arch-specific/linux/makeInstallImage.sh.in | ||
--- builds/install/arch-specific/linux/makeInstallImage.sh.in 2023-08-11 11:55:02.848124743 +0200 | ||
+++ builds/install/arch-specific/linux/makeInstallImage.sh.in 2023-08-11 13:44:38.846348466 +0200 | ||
@@ -34,7 +34,7 @@ | ||
BuildRootDir=.. | ||
BuiltFBDir=Release/firebird # Where the just build fb exists. | ||
TargetDir=buildroot # Where we want to build the install image | ||
-SecurityDatabase=security4.fdb | ||
+SecurityDatabase=security4.gbak | ||
TomMathBuild="@TOMMATH_BUILD@" | ||
TomCryptBuild="@TOMCRYPT_BUILD@" | ||
|
||
@@ -183,6 +183,7 @@ | ||
copyIfExists $BuiltFBDir/bin/fbtracemgr ${TargetDir}@FB_BINDIR@ | ||
cp $BuiltFBDir/bin/isql ${TargetDir}@FB_BINDIR@/isql | ||
cp $BuiltFBDir/bin/qli ${TargetDir}@FB_BINDIR@/qli | ||
+ cp $BuiltFBDir/bin/build_file ${TargetDir}@FB_BINDIR@/build_file | ||
|
||
chmod 0755 ${TargetDir}@FB_BINDIR@/* | ||
|
||
@@ -239,6 +240,7 @@ | ||
|
||
#secureDB (access rights will be set at install time) | ||
cp $BuiltFBDir/$SecurityDatabase ${TargetDir}@FB_SECDBDIR@ | ||
+ cp $BuiltFBDir/msg.gbak ${TargetDir}@FB_SECDBDIR@ | ||
|
||
#include (.h .pas files) | ||
cp $BuiltFBDir/include/*.h ${TargetDir}@FB_INCDIR@ |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.