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
1 change: 1 addition & 0 deletions srcpkgs/firebird5-doc
45 changes: 45 additions & 0 deletions srcpkgs/firebird5/INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
_PASSW_SAVE(){
local _savef=/etc/${PKGNAME}/SYSDBA.password-$(date +%Y%m%d%H%M%S)
install -m 600 /dev/null "${_savef}"

cat > "${_savef}" <<-! && echo "See password in file ${_savef}"
# This file was created when ${PKGNAME} was installed.
# This file should not be readable by other users.
# Remember the user password and you can delete this file.
user=SYSDBA
password=${_pass}
!
[ $? -eq 0 ] && ln -srf "${_savef}" "/etc/${PKGNAME}/SYSDBA.password" || echo 'Something went wrong.'
}

_PASSW_SET(){
echo "${PKGNAME}: Post install: Warning! Attempting to set password for user SYSDBA ..."

local _n1=$(expr "${VERSION}" : '\([^.]*\)')
local _securitydb=/var/lib/${PKGNAME}/system/security${_n1}.fdb
local _pass=$(head -c 9 /dev/random | base64) # maybe pwgen ?

chmod 660 -- /var/lib/${PKGNAME}/system/security*.fdb
chown _firebird:_firebird -- /var/lib/${PKGNAME}/system/security*.fdb

chpst -u _firebird:_firebird /usr/lib/${PKGNAME}/bin/isql <<-!
CONNECT '${_securitydb}' USER SYSDBA;
CREATE USER SYSDBA PASSWORD '${_pass}';
!

if [ $? -eq 0 ]; then
echo 'Password set successfully.'
_PASSW_SAVE
else
echo 'Password set fail.'
fi
}

case "${ACTION}" in
post)
if [ "$UPDATE" = "no" ]
then
_PASSW_SET
fi
;;
esac
127 changes: 127 additions & 0 deletions srcpkgs/firebird5/files/cross-compile.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
--- extern/cloop/Makefile 2020-06-26 12:02:51.000000000 +0200
+++ extern/cloop/Makefile 2020-09-16 18:36:31.230025798 +0200
@@ -4,9 +4,9 @@

TARGET := release

-CC := $(CC)
-CXX := $(CXX)
-LD := $(CXX)
+CC := $(CC_host)
+CXX := $(CXX_host)
+LD := $(CXX_host)

SRC_DIR := src
BUILD_DIR := build
@@ -27,8 +27,9 @@
OBJS_C := $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRCS_C))
OBJS_CPP := $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRCS_CPP))

-C_FLAGS := -ggdb -fPIC -MMD -MP -W -Wall -Wno-unused-parameter
-CXX_FLAGS := $(C_FLAGS)
+COMMON_C_FLAGS := -ggdb -fPIC -MMD -MP -W -Wall -Wno-unused-parameter
+C_FLAGS := $(COMMON_C_FLAGS) $(CFLAGS_host) $(CPPFLAGS)
+CXX_FLAGS := $(COMMON_C_FLAGS) $(CXXFLAGS_host) $(CPPFLAGS)
FPC_FLAGS := -Mdelphi

ifeq ($(TARGET),release)
@@ -81,7 +82,7 @@
$(OBJ_DIR)/cloop/Parser.o \
$(OBJ_DIR)/cloop/Main.o \

- $(LD) $^ -o $@
+ $(LD) $(LDFLAGS_host) $^ -o $@

$(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
@@ -108,23 +109,23 @@
$(OBJ_DIR)/tests/test1/CalcCApi.o \
$(OBJ_DIR)/tests/test1/CTest.o \

- $(LD) $^ -shared -ldl -o $@
+ $(LD) $(LDFLAGS_host) $^ -shared -ldl -o $@

$(BIN_DIR)/test1-c$(EXE_EXT): \
$(OBJ_DIR)/tests/test1/CalcCApi.o \
$(OBJ_DIR)/tests/test1/CTest.o \

- $(LD) $^ -ldl -o $@
+ $(LD) $(LDFLAGS_host) $^ -ldl -o $@

$(BIN_DIR)/test1-cpp$(SHRLIB_EXT): \
$(OBJ_DIR)/tests/test1/CppTest.o \

- $(LD) $^ -shared -ldl -o $@
+ $(LD) $(LDFLAGS_host) $^ -shared -ldl -o $@

$(BIN_DIR)/test1-cpp$(EXE_EXT): \
$(OBJ_DIR)/tests/test1/CppTest.o \

- $(LD) $^ -ldl -o $@
+ $(LD) $(LDFLAGS_host) $^ -ldl -o $@

$(BIN_DIR)/test1-pascal$(SHRLIB_EXT): \
$(SRC_DIR)/tests/test1/PascalClasses.pas \
--- configure.ac 2020-06-26 12:02:51.000000000 +0200
+++ configure.ac 2020-09-17 04:29:43.550904331 +0200
@@ -1021,37 +1021,13 @@
AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE,1,[Define this if struct dirent has d_type]),,
[#include <dirent.h>])

-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 () {
- struct s {
- char a;
- union { long long x; sem_t y; } b;
- };
- exit((int)&((struct s*)0)->b);
-}]])],[ac_cv_c_alignment=$ac_status],[ac_cv_c_alignment=$ac_status],[])
-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 () {
- struct s {
- char a;
- double b;
- };
- exit((int)&((struct s*)0)->b);
-}]])],[ac_cv_c_double_align=$ac_status],[ac_cv_c_double_align=$ac_status],[])
-AC_MSG_RESULT($ac_cv_c_double_align)
AC_DEFINE_UNQUOTED(FB_DOUBLE_ALIGN, $ac_cv_c_double_align, [Alignment of double])

dnl EKU: Add any platform specific tests below
case "$PLATFORM" in
LINUX)
- dnl MOD: Check for /proc/self/exe mainly used on linux systems
- dnl this is used to determine path to executable file.
- AC_CHECK_FILES(/proc/self/exe)
+ AC_DEFINE_UNQUOTED(HAVE_PROC_SELF_EXEC, 1, [Void Linux has /proc/self/exe])
;;

FREEBSD|GENTOOFREEBSD)
@@ -1216,10 +1216,6 @@
])
done

-if test "x$CROSS" != "x"; then
-AC_CONFIG_FILES([gen/make.crossPlatform:builds/posix/make.$CROSS])
-fi
-
AC_CONFIG_FILES([
gen/Release/firebird/bin/fb_config:builds/install/posix-common/fb_config.in
gen/Release/firebird/bin/posixLibrary.sh:builds/install/posix-common/posixLibrary.sh.in
--- src/misc/writeBuildNum.sh 2020-06-26 12:02:52.000000000 +0200
+++ src/misc/writeBuildNum.sh 2020-09-17 04:42:28.645858727 +0200
@@ -114,7 +114,7 @@
$CXX $TestCpp -o $AOut
if [ -x $AOut ]
then
- $AOut
+ qemu-${XBPS_TARGET_QEMU_MACHINE}-static $AOut
OdsVersion=$?
else
OdsVersion=0
16 changes: 16 additions & 0 deletions srcpkgs/firebird5/files/firebird.xinetd
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# default: off
# description: firebirdXXX
service gds-dbXXX
{
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
# Requires ServerMode = Classic in /etc/firebirdXXX/firebird.conf
server = /usr/lib/firebirdXXX/sbin/firebird
}
30 changes: 30 additions & 0 deletions srcpkgs/firebird5/files/firebird5/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/sh
FBUSER=_firebird
FBGROUP=_firebird
FBNAME=${PWD##*/}
FBROOT="/usr/lib/$FBNAME"
FBLOGDIR="/var/log/$FBNAME" # chmod 750
FBLOGFILE="${FBLOGDIR}/firebird.log"

CHK(){ chpst -u $FBUSER:$FBGROUP test $@; }
BKP(){ mv -T --backup=numbered -- "$1" "$1".bkp; }

D='/tmp/firebird' # 700 ?
[ -e "$D" ] && { CHK -d "$D" -a -O "$D" || { BKP "$D"; install -m 750 -o $FBUSER -g $FBGROUP -d "$D"; } }

F="$FBLOGFILE"
if ! CHK -f "$F" -a -w "$F"
then
if [ -e "$F" ]
then
BKP "$F"
else
D="$FBLOGDIR"
CHK -d "$D" -a -w "$D" || { [ -e "$D" ] && BKP "$D"; install -m 750 -o $FBUSER -g $FBGROUP -d "$D"; }
fi
fi

F="/etc/${FBNAME}/fb_guard"
CHK -f "$F" -a -O "$F" || install --backup -m 640 -o $FBUSER -g $FBGROUP /dev/null "$F"

exec chpst -u $FBUSER:$FBGROUP /usr/lib/${FBNAME}/sbin/fbguard -forever
13 changes: 13 additions & 0 deletions srcpkgs/firebird5/patches/fix-databases-conf.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
--- a/builds/install/misc/databases.conf 2024-01-11 04:17:47.000000000 +0300
+++ b/builds/install/misc/databases.conf 2024-01-14 05:39:44.684927372 +0300
@@ -17,8 +17,8 @@
#
# Example Database:
#
-employee.fdb = $(dir_sampleDb)/employee.fdb
-employee = $(dir_sampleDb)/employee.fdb
+#employee.fdb = $(dir_sampleDb)/employee.fdb
+#employee = $(dir_sampleDb)/employee.fdb

#
# Master security database specific setup.
Loading