Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions srcpkgs/firebird3/INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
case "${ACTION}" in
post)
if [ "$UPDATE" = "no" ]
then
gsec -add sysdba -pw masterkey || true
firebird-fix-perm-fdb
fi
;;
esac
22 changes: 22 additions & 0 deletions srcpkgs/firebird3/files/firebird-fix-perm-fdb
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/sh

RunUser=_firebird
RunGroup=_firebird
databasesconf='/etc/firebird/databases.conf'

dir_sampledb='/tmp'
dir_secdb='/var/lib/firebird/system'

checkfdb(){
[ -e "$@" ] || { echo "$@ - WARNING: No exists!" && return; }
chpst -u $RunUser test -w "$@" && echo "$@ - OK" || { echo "$@ - FIX PERMISSIONS..."; chown $RunUser:$RunGroup "$@" && chmod 660 "$@"; }
}

for i in $(grep '^[^#]*=.*\.fdb.*$' "$databasesconf" | sed "s|#.*||; s|^\(.*= *\)\(.*\)$|\2|; s|\$(dir_sampledb)|$dir_sampledb|i; s|\$(dir_secdb)|$dir_secdb|i") # need more testing
do
checkfdb "$i"
done

install /dev/null -m 644 -o $RunUser -g $RunGroup /etc/firebird/fb_guard

echo 'DONE.'
16 changes: 16 additions & 0 deletions srcpkgs/firebird3/files/firebird.xinetd
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# default: off
# description: FirebirdSQL v3.0
service gds-db
{
disable = yes
flags = REUSE NODELAY
socket_type = stream
wait = no
user = _firebird
# These lines cause problems with Windows XP SP2 clients
# using default firewall configuration (SF#1065511)
# log_on_success += USERID
# log_on_failure += USERID
# Need ServerMode = Classic in /etc/firebird/firebird.conf
server = /usr/lib/firebird/bin/firebird
}
3 changes: 3 additions & 0 deletions srcpkgs/firebird3/files/firebird3/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh
chpst -u _firebird:_firebird test -w /etc/firebird/fb_guard || install /dev/null -m 644 -o _firebird -g _firebird /etc/firebird/fb_guard
exec chpst -u _firebird:_firebird /usr/lib/firebird/bin/fbguard -forever
15 changes: 15 additions & 0 deletions srcpkgs/firebird3/patches/fix-databases-conf.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
--- a/builds/install/misc/databases.conf.in
+++ b/builds/install/misc/databases.conf.in
@@ -17,8 +17,9 @@
#
# Example Database:
#
-employee.fdb = $(dir_sampleDb)/employee.fdb
-employee = $(dir_sampleDb)/employee.fdb
+# employee.fdb = $(dir_sampleDb)/employee.fdb
+# employee = $(dir_sampleDb)/employee.fdb
+help = /usr/share/doc/firebird/help/help.fdb

#
# Master security database specific setup.

13 changes: 0 additions & 13 deletions srcpkgs/firebird3/patches/fix-std-isnan.patch

This file was deleted.

37 changes: 24 additions & 13 deletions srcpkgs/firebird3/template
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
# Template file for 'firebird3'
pkgname=firebird3
version=3.0.6.33328
version=3.0.10
revision=1
_build=0
_uver=${version//./_}
build_style=gnu-configure
build_helper="qemu"
configure_args="--prefix=/usr
Expand All @@ -23,23 +21,36 @@ configure_args="--prefix=/usr
--with-fbmisc
--without-fbsample
--without-fbsample-db
--with-system-icu
--with-system-editline"
hostmakedepends="automake libtool pkg-config icu"
# unrecognized options: --with-system-icu
hostmakedepends="automake libtool pkg-config icu rsync"
makedepends="boost-devel libedit-devel icu-devel ncurses-devel libatomic_ops-devel
libtommath-devel zlib-devel"
short_desc="Relational database offering many ANSI SQL standard features (V3)"
maintainer="Orphaned <orphan@voidlinux.org>"
license="custom"
homepage="https://www.firebirdsql.org/en/start/"
distfiles="https://github.com/FirebirdSQL/firebird/releases/download/R${_uver%_*}/Firebird-${version}-${_build}.tar.bz2"
checksum=34c1d2a29bbaf288e682cd1b5f8083f2baf73f351062245ace0bee35a3f7d35f
distfiles="https://github.com/FirebirdSQL/firebird/archive/refs/tags/v${version}.tar.gz"
checksum=636bb3c4b4d982dd5fac7c8f2fb08789fa6d7815cecf6dd9cceb86743d7f10b9
replaces="firebird>=0"
nocross="Fails to build gpre_boot for host but builds for target"

CFLAGS="-fno-strict-aliasing"
CXXFLAGS="-fno-delete-null-pointer-checks -Wno-deprecated -Wno-deprecated-declarations"

# Create firebird system user/group
system_accounts="_firebird _firebird"
_firebird_homedir="/var/lib/firebird"
_firebird_descr="Firebird Database Owner"
triggers="system-accounts"

conf_files="
/etc/firebird/databases.conf
/etc/firebird/fbtrace.conf
/etc/firebird/firebird.conf
/etc/firebird/plugins.conf
/var/lib/firebird/system/security3.fdb"

if [ "$CROSS_BUILD" ]; then
configure_args+=" --enable-binreloc"
configure_args+=" ac_cv_func_sem_init=no"
Expand Down Expand Up @@ -97,8 +108,6 @@ pre_configure() {
}

do_install() {
local _lib _v0=${version%.*} _v1=${version%.*.*} _v2=${version%.*.*.*}

cd ${wrksrc}/gen
./install/makeInstallImage.sh

Expand All @@ -111,11 +120,13 @@ do_install() {
vlicense doc/license/IDPL.txt IDPL
vlicense doc/license/README.license.usage.txt LICENSE

cp -pR gen/buildroot/* ${DESTDIR}/
# cp -pR gen/buildroot/* ${DESTDIR}/
rsync -a --exclude '*.sh' gen/buildroot/ ${DESTDIR}/ # exclude old broken scripts
mv ${DESTDIR}/usr/bin/isql{,-fb} # fix conflict firebird3 and unixodbc

# TODO: create superserver?
# system account?
# runit service?
vsv firebird3 # runit service, default ServerMode = Super, see: /etc/firebird/firebird.conf
vinstall ${FILESDIR}/firebird.xinetd 644 etc/xinetd.d firebird3 # xinetd, need ServerMode = Classic
vbin ${FILESDIR}/firebird-fix-perm-fdb
# Example https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=firebird-superserver
}

Expand Down