- New port: databases/firebird21-server

Firebird is a relational database offering many ANSI SQL-99 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.

Firebird is completely free of any registration, licensing or deployment
fees.  It may be deployed freely for use with any third-party software,
whether commercial or not.

WWW: http://sourceforge.net/projects/firebird/
WWW: http://www.firebirdsql.org/

PR:		152402
Submitted by:	Max Kochubey <root at hangover.org.ru>
This commit is contained in:
Jose Alonso Cardenas Marquez 2010-12-20 09:05:05 +00:00
parent 1b7843d717
commit 0ec9572a95
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=266634
24 changed files with 778 additions and 0 deletions

View file

@ -0,0 +1,227 @@
# New ports collection makefile for: firebird21-server
# Date created: 2010-11-19
# Whom: Max Kochubey <root@hangover.org.ru>
#
# $FreeBSD$
#
PORTNAME= firebird
PORTVERSION= 2.1.3
PORTREVISION?= 0
CATEGORIES?= databases
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION}-Release/
PKGNAMESUFFIX?= -server
DISTNAME= ${PORTNAME:S/f/F/}-${PORTVERSION}.18185-0
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= acm@FreeBSD.org
COMMENT?= Firebird-2 relational database (server)
LIB_DEPENDS= icuuc:${PORTSDIR}/devel/icu
LATEST_LINK= ${PORTNAME}21${PKGNAMESUFFIX}
USE_BISON= build
USE_BZIP2= yes
USE_GMAKE= yes
GNU_CONFIGURE= yes
USE_AUTOTOOLS= autoconf aclocal libtool
ACLOCAL_ARGS= --acdir=${ACLOCAL_DIR} -I ${LOCALBASE}/share/aclocal \
-I ${WRKSRC}/m4
MAKE_JOBS_UNSAFE= yes
LOCALSTATEDIR= /var/db/firebird
CONFDIR= ${PREFIX}/etc/firebird
LIBEXECDIR= ${PREFIX}/libexec/firebird
PLIST_SUB= FIREBIRD_VERSION=${PORTVERSION} \
LOCALSTATEDIR="var/db/firebird" CONFDIR="etc/firebird"
# Don't use ld for linking, use gcc
LD= ${CC}
# Don't strip binary files
STRIP=
ONLY_FOR_ARCHS= i386 amd64
CONFLICTS+= firebird-client-2.0* firebird-server-2.0* \
firebird-client-2.5* firebird-server-2.5*
INSTALL_FB= ${INSTALL} ${COPY} -g firebird
IPCRM_CMD= /usr/bin/ipcrm
IPCS_CMD= /usr/bin/ipcs
IPCCHECK!= ${IPCRM_CMD} -q 0 2>&1 || true
.if ${IPCCHECK:Mimplemented}
IGNORE= your system does not support sysvipc
.endif
.if !defined(CLIENT_ONLY)
# Server part stuff
LIB_DEPENDS+= fbembed.2:${PORTSDIR}/databases/firebird21-client
AUTOGENARGS= --without-editline --with-lock-manager
ALL_TARGET= firebird_boot ref_databases msgs libfbembed intl otherfiles \
inet_server extlib embed_gfix embed_gbak embed_gdef embed_util \
embed_fbudf
SUB_FILES= pkg-install pkg-message aliases.conf
UTIL_BIN= fb_inet_server fb_lock_print fbstat gbak gdef gfix gsec nbackup
UDF_SO= ib_udf.so fbudf.so
UDF_SQL= src/extlib/ib_udf2.sql src/extlib/fbudf/fbudf.sql
.else
# Client part stuff
AUTOGENARGS= --without-editline
ALL_TARGET= firebird_basic libfbembed embed_isql embed_gpre \
embed_gdef embed_qli libfbclient extlib
USE_LDCONFIG= yes
CLIENT_BIN= gpre isql-fb qli
CFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_ENV+= CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
PTHREAD_LIBS="${PTHREAD_LIBS}"
.if !defined(NOPORTDOCS)
PORTDOCS= *
FB_DOCS_FILES= WhatsNew README.* Firebird* ReleaseNotes.pdf ambiguity.txt \
ods11-index-structure.html
FB_DOCS_DIRS= sql.extensions license upgrade
.endif
.endif
MAKE_ENV+= FIREBIRD_TMP="${WRKDIR}" FIREBIRD_LOCK="${WRKDIR}"
post-extract:
@${RM} -rf ${WRKSRC}/extern/icu
post-patch:
@${MKDIR} ${WRKSRC}/m4
${CP} ${FILESDIR}/*.m4 ${WRKSRC}/m4
${FIND} ${WRKSRC} -name "*.sh" -exec ${CHMOD} +x {} \+
${REINPLACE_CMD} -e \
's|/isql|/isql-fb|g' -e \
's|/gstat|/fbstat|g' ${WRKSRC}/builds/posix/make.defaults
.include <bsd.port.pre.mk>
.if ${ARCH} == "amd64"
CFLAGS+= -DAMD64
.endif
.if !defined(CLIENT_ONLY)
pre-su-install:
@${SETENV} PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL
post-install:
@${SETENV} PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PORTNAME} POST-INSTALL
@${CAT} ${PKGMESSAGE}
.endif
.ifndef WITHOUT_IPC_CLEANUP
pre-build:
.ifndef PACKAGE_BUILDING
@if [ `${ID} -u` -eq 0 ]; then \
${ECHO_MSG} "==> Please do not build ${PORTNAME} as 'root' because this may cause conflicts with SysV semaphores of running services."; exit 1; fi
.endif
${MAKE} -C ${WRKSRC}/extern/btyacc
[ -f ${WRKDIR}/ipcs.pre.build ] || ${IPCS_CMD} -s | ${TAIL} -n +3 | \
${GREP} -F `${ID} -un` | ${CAT} > ${WRKDIR}/ipcs.pre.build
post-build:
${IPCS_CMD} -s | ${TAIL} -n +3 | ${GREP} -F `${ID} -un` | ${CAT} > ${WRKDIR}/ipcs.post.build
${DIFF} -n ${WRKDIR}/ipcs.pre.build ${WRKDIR}/ipcs.post.build | \
${TAIL} -n +2 | ${SED} -E 's/^s +([0-9]+).*$$/\/usr\/bin\/ipcrm -s \1/' > ${WRKDIR}/ipcrm.sh
${SH} ${WRKDIR}/ipcrm.sh
.endif
do-configure:
@(cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${MAKE_ENV} MAKE=${GMAKE} \
${AUTOTOOLS_VARS} ./autogen.sh --localstatedir=${LOCALSTATEDIR} \
--prefix=${LOCALSTATEDIR} --exec-prefix=${PREFIX} \
--libexecdir=${LIBEXECDIR} \
--sysconfdir=${CONFDIR} --datadir=${DATADIR} \
--with-icu-config=${LOCALBASE}/bin/icu-config \
${AUTOGENARGS})
do-install:
.if !defined(CLIENT_ONLY)
${INSTALL_PROGRAM} ${UTIL_BIN:S!^!${WRKSRC}/gen/firebird/bin/!} ${PREFIX}/bin
${INSTALL_PROGRAM} -o root -g firebird -m 4550 ${WRKSRC}/gen/firebird/bin/fb_lock_mgr ${PREFIX}/bin
${INSTALL_PROGRAM} -m 500 ${WRKSRC}/gen/firebird/bin/gds_drop ${PREFIX}/bin
@${MKDIR} ${CONFDIR}
${INSTALL_DATA} ${WRKDIR}/aliases.conf ${CONFDIR}/aliases.conf.sample
.if !exists(${CONFDIR}/aliases.conf)
${INSTALL_DATA} ${WRKDIR}/aliases.conf ${CONFDIR}/aliases.conf
.endif
${MKDIR} ${LIBEXECDIR}/udf ${LOCALSTATEDIR}/help ${LIBEXECDIR}/intl
${CHOWN} -R firebird:firebird ${LOCALSTATEDIR}
${INSTALL_FB} -m 0555 ${UDF_SO:S!^!${WRKSRC}/gen/firebird/UDF/!} ${LIBEXECDIR}/udf
${INSTALL_FB} -m 0444 ${UDF_SQL:S!^!${WRKSRC}/!} ${LIBEXECDIR}/udf
.if !exists(${LOCALSTATEDIR}/security2.fdb)
${INSTALL_FB} -m 0660 -o firebird ${WRKSRC}/gen/firebird/security2.fdb ${LOCALSTATEDIR}/security2.fdb
.endif
${INSTALL_FB} -m 0660 -o firebird ${WRKSRC}/gen/firebird/security2.fdb ${LOCALSTATEDIR}/security2.fdb.sample
${INSTALL_FB} -m 0440 ${WRKSRC}/gen/firebird/help/help.fdb ${LOCALSTATEDIR}/help
${INSTALL_FB} -m 0555 ${WRKSRC}/gen/firebird/intl/libfbintl.so ${LIBEXECDIR}/intl/fbintl
${INSTALL_FB} -m 0444 ${WRKSRC}/gen/firebird/misc/fbintl.conf ${LIBEXECDIR}/intl/
.else
# defined CLIENT_ONLY
${INSTALL_PROGRAM} ${CLIENT_BIN:S!^!${WRKSRC}/gen/firebird/bin/!} ${PREFIX}/bin
${SED} -e "s=%%PREFIX%%=${PREFIX}=g" ${WRKSRC}/gen/firebird/misc/firebird.conf > ${WRKDIR}/firebird.conf
@${MKDIR} ${CONFDIR}
.if !exists(${CONFDIR}/firebird.conf)
${INSTALL_DATA} ${WRKDIR}/firebird.conf ${CONFDIR}
.endif
${INSTALL_DATA} ${WRKDIR}/firebird.conf ${CONFDIR}/firebird.conf.sample
${INSTALL_DATA} ${WRKSRC}/gen/firebird/lib/libib_util.so \
${WRKSRC}/gen/firebird/lib/libfbclient.so.${PORTVERSION} \
${WRKSRC}/gen/firebird/lib/libfbembed.so.${PORTVERSION} \
${PREFIX}/lib
${LN} -fs libfbclient.so.${PORTVERSION} ${PREFIX}/lib/libfbclient.so.2.1
${LN} -fs libfbclient.so.${PORTVERSION} ${PREFIX}/lib/libfbclient.so.2
${LN} -fs libfbclient.so.${PORTVERSION} ${PREFIX}/lib/libfbclient.so
${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libfbembed.so.2.1
${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libfbembed.so.2
${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libfbembed.so
${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libgds.so.2.1
${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libgds.so.2
${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libgds.so
@${MKDIR} ${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/gen/firebird/include/*.h ${PREFIX}/include
@${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/gen/firebird/*.msg ${DATADIR}
.if !defined(NOPORTDOCS)
@${ECHO_MSG} "===> Installing documentation for ${PKGNAME}"
@${MKDIR} ${FB_DOCS_DIRS:S!^!${DOCSDIR}/!}
@${INSTALL_DATA} ${FB_DOCS_FILES:S!^!${WRKSRC}/doc/!} ${DOCSDIR}
@${LN} -sf ${DOCSDIR}/README.user ${DOCSDIR}/README
@${INSTALL_DATA} ${WRKSRC}/doc/sql.extensions/* ${DOCSDIR}/sql.extensions
@${INSTALL_DATA} ${WRKSRC}/doc/license/* ${DOCSDIR}/license
@${INSTALL_DATA} ${WRKSRC}/src/misc/upgrade/v2/* ${DOCSDIR}/upgrade
.endif
.endif
.include <bsd.port.post.mk>

View file

@ -0,0 +1,2 @@
SHA256 (firebird/Firebird-2.1.3.18185-0.tar.bz2) = 8047cbd4bdc79928be7369bf0cdfde74873f1de29c0ac74e7241826c02f0fd28
SIZE (firebird/Firebird-2.1.3.18185-0.tar.bz2) = 13770360

View file

@ -0,0 +1,9 @@
#
# List of known database aliases
# ------------------------------
#
# Examples:
#
# employee = %%EXAMPLESDIR%%/employee.fdb
# security = /var/db/firebird/security2.fdb
#

View file

@ -0,0 +1,46 @@
dnl AM_PATH_ICU([MINIMUM-VERSION])
dnl Adds support for ICU
AC_DEFUN([AM_PATH_ICU],
[
rast_lib_icu_major="$1"
rast_lib_icu_minor="$2"
rast_lib_icu_version="$1.$2"
AC_ARG_WITH(icu-config,
AC_HELP_STRING([--with-icu-config=PATH],[path to icu-config]),
[
AC_MSG_RESULT(using $withval for icu-config)
ICU_CONFIG="$withval"
], [
AC_PATH_PROG(ICU_CONFIG, icu-config, no)
])
HAVE_ICU="no"
if test "$ICU_CONFIG" != "no"; then
AC_MSG_CHECKING([ICU version])
ICU_VERSION="`$ICU_CONFIG --version`"
if test $? -eq 0; then
changequote(<<, >>)
ICU_MAJOR=`expr "$ICU_VERSION" : '\(.*\)\..*'`
ICU_MINOR=`expr "$ICU_VERSION" : '.*\.\(.*\)'`
changequote([, ])
if expr "$ICU_MAJOR" '>' "$rast_lib_icu_major" > /dev/null ||
( expr "$ICU_MAJOR" '=' "$rast_lib_icu_major" > /dev/null &&
expr "$ICU_MINOR" '>=' "$rast_lib_icu_minor" > /dev/null ); then
AC_MSG_RESULT([$ICU_VERSION])
ICU_CPPFLAGS=`$ICU_CONFIG --cppflags`
ICU_LIBS=`$ICU_CONFIG --ldflags-libsonly`
ICU_LDFLAGS=`$ICU_CONFIG --ldflags-searchpath`
AC_SUBST(ICU_CPPFLAGS)
AC_SUBST(ICU_LIBS)
AC_SUBST(ICU_LDFLAGS)
HAVE_ICU="yes"
else
AC_MSG_WARN([$ICU_VERSION is too old; $rast_lib_icu_version is required])
fi
else
AC_MSG_WARN([icu-config --version failed])
fi
fi
AC_SUBST(HAVE_ICU)
])

View file

@ -0,0 +1,11 @@
--- autogen.sh.orig 2010-09-08 15:44:05.000000000 +0700
+++ autogen.sh 2010-10-18 13:37:36.000000000 +0700
@@ -63,7 +63,7 @@
fi
echo "Running autoreconf ..."
-$AUTORECONF --install --force --verbose || exit 1
+$AUTORECONF --install --force --verbose -I ./m4 || exit 1
# Hack to bypass bug in autoreconf - --install switch not passed to libtoolize,
# therefore missing config.sub and confg.guess files

View file

@ -0,0 +1,20 @@
--- builds/install/misc/firebird.conf.orig Tue Aug 15 22:38:52 2006
+++ builds/install/misc/firebird.conf Tue Aug 15 22:39:24 2006
@@ -60,7 +60,7 @@
#
# Type: string
#
-#RootDirectory =
+#RootDirectory = /var/db/firebird
# ----------------------------
@@ -125,7 +125,7 @@
#
# Type: string (special format)
#
-#UdfAccess = Restrict UDF
+UdfAccess = Restrict %%PREFIX%%/libexec/firebird/udf
# ----------------------------

View file

@ -0,0 +1,45 @@
--- builds/posix/Makefile.in.firebird.orig 2008-12-10 21:22:15.000000000 +0600
+++ builds/posix/Makefile.in.firebird 2010-10-19 12:36:20.000000000 +0700
@@ -185,9 +185,6 @@
#
external_libraries:
-ifeq ($(STD_ICU),false)
- $(MAKE) -f $(GEN_ROOT)/Makefile.extern.icu
-endif
ifeq ($(STD_EDITLINE),false)
ifeq ($(EDITLINE_FLG),Y)
$(MAKE) -f $(GEN_ROOT)/Makefile.extern.editline
@@ -519,12 +516,12 @@
#___________________________________________________________________________
#
.PHONY: clean clean_objects clean_dependancies clean_extern_objects clean_build \
- clean_gpre_gen clean_icu clean_dbs clean_examples clean_makefiles \
+ clean_gpre_gen clean_dbs clean_examples clean_makefiles \
clean_editline clean_all
clean: clean_objects clean_dependancies clean_extern_objects clean_build \
- clean_yacc_gen clean_gpre_gen clean_icu clean_dbs clean_examples
+ clean_yacc_gen clean_gpre_gen clean_dbs clean_examples
ifeq ($(EDITLINE_FLG),Y)
clean: clean_editline
@@ -538,7 +535,6 @@
$(RM) $(ROOT)/libtool
$(RM_R) $(ROOT)/autom4te.cache
-make -C $(ROOT)/extern/editline distclean
- -make -C $(ROOT)/extern/icu/source distclean
-make -C $(ROOT)/extern/btyacc distclean
clean_dbs:
@@ -551,9 +547,6 @@
clean_editline:
-make -C $(ROOT)/extern/editline clean
-clean_icu:
- -make -C $(ROOT)/extern/icu/source clean
-
clean_objects:
$(RM) `find $(TMP_ROOT)/ -type f -name '*.o' -print`

View file

@ -0,0 +1,40 @@
--- builds/posix/make.defaults 2008-09-04 06:47:18.000000000 -0500
+++ builds/posix/make.defaults 2010-12-18 19:51:28.000000000 -0500
@@ -118,7 +118,7 @@
CHMOD= chmod
CHMOD_6= chmod 666
CHMOD_7= chmod 777
-CHMOD_S7= chmod 06777
+CHMOD_S7= chmod 04555
MV= mv -f
TOUCH= touch
CP= cp
@@ -162,7 +162,7 @@
STATICEXE_LINK:= @CXX@ $(GLOB_OPTIONS)
LINK_LIBS = @LIBS@
-ICU_LIBS = -licuuc -licudata -licui18n
+ICU_LIBS = @ICU_LIBS@ @ICU_LDFLAGS@
STATICLINK_LIBS = @LIBS@
SO_LINK_LIBS = @LIBS@
@@ -239,10 +239,6 @@
endif
endif
-LIBICU_SO = $(LIB)/$(LIB_PREFIX)icuuc.$(SHRLIB_EXT) \
- $(LIB)/$(LIB_PREFIX)icudata.$(SHRLIB_EXT) \
- $(LIB)/$(LIB_PREFIX)icui18n.$(SHRLIB_EXT)
-
# Shared library name for usage inside of the UDF
IbUtilLibraryName = $(LIB_PREFIX)ib_util.$(SHRLIB_EXT)
LIBIBUTIL_SO = $(LIB)/$(IbUtilLibraryName)
@@ -268,7 +264,7 @@
FB_SUPER_SERVER = $(BIN)/fbserver$(EXEC_EXT)
FB_CLASSIC_SERVER = $(BIN)/fb_inet_server$(EXEC_EXT)
-STATIC_CXXSUPPORT_LIB = -lsupc++ -lgcc_eh
+STATIC_CXXSUPPORT_LIB = -lstdc++ -lgcc_s -lgcc_eh
# From utilities
CREATE_DB = $(BIN)/create_db$(EXEC_EXT)

View file

@ -0,0 +1,13 @@
--- builds/posix/make.rules.orig 2008-12-10 07:03:31.000000000 +0600
+++ builds/posix/make.rules 2010-10-19 12:40:17.000000000 +0700
@@ -33,9 +33,7 @@
# Please don't use compiler/platform specific flags here - nmcc 02-Nov-2002
CFLAGS:= $(CFLAGS) -I$(SRC_ROOT)/include/gen -I$(SRC_ROOT)/include -I$(SRC_ROOT)/vulcan -DNAMESPACE=Vulcan
-ifeq ($(STD_ICU),false)
- CFLAGS:= $(CFLAGS) -I$(ROOT)/extern/icu/source/common -I$(ROOT)/extern/icu/source/i18n
-endif
+CFLAGS:= $(CFLAGS) @ICU_CPPFLAGS@
ifeq ($(IsProdTypeBuild),Y)
CFLAGS:= $(CFLAGS) $(PROD_FLAGS) -DPROD_BUILD

View file

@ -0,0 +1,50 @@
--- configure.in.orig 2009-06-05 16:50:33.000000000 +0700
+++ configure.in 2010-10-19 12:42:22.000000000 +0700
@@ -721,6 +721,7 @@
AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
fi
+AM_PATH_ICU(3, 6)
AC_CHECK_SIZEOF(void *)
AC_CHECK_SIZEOF(long)
@@ -905,6 +906,10 @@
AC_SUBST(NEW_FIREBIRD_DIR)
AC_DEFINE_UNQUOTED(FB_PREFIX, $(if test "x$prefix" = "xNONE" ; then echo \"$ac_default_prefix\"; else echo \"$prefix\"; fi), [Installation path prefix])
+AC_DEFINE_UNQUOTED(FB_EXEC_PREFIX, "$exec_prefix", [Executables path prefix])
+AC_DEFINE_UNQUOTED(FB_CONF_PREFIX, "$sysconfdir", [Single-machine data path prefix])
+AC_DEFINE_UNQUOTED(FB_MSG_PREFIX, "$datadir", [Architecture-independent data path prefix])
+AC_DEFINE_UNQUOTED(FB_LIBEXEC_PREFIX, "$libexecdir", [Program executables path prefix])
AC_CONFIG_COMMANDS(,,[
dnl # rebuild version header if needed
@@ -1267,9 +1272,6 @@
if test "$STD_EDITLINE" = "false"; then
AC_CONFIG_FILES(gen/Makefile.extern.editline:${MAKE_SRC_DIR}/Makefile.in.extern.editline)
fi
-if test "$STD_ICU" = "false"; then
- AC_CONFIG_FILES(gen/Makefile.extern.icu:${MAKE_SRC_DIR}/Makefile.in.extern.icu)
-fi
case "$PLATFORM" in
SOLARIS | solx86 )
@@ -1280,18 +1282,7 @@
esac
-if test "$PROD_BUILD_FLG" = N; then
- DEBUG_ICU=--enable-debug
-fi
-
-if test "$STD_ICU" = "true"; then
AC_OUTPUT
-else
-AC_OUTPUT
-(cd extern/icu/source
-chmod +x runConfigureICU configure install-sh
-./runConfigureICU "$ICU_PLATFORM" "$DEBUG_ICU" --prefix=`pwd`/..)
-fi
dnl Print out the build configuration (the most interesting thing)
echo

View file

@ -0,0 +1,11 @@
--- src/common/config/config.cpp.orig Tue Aug 15 22:53:43 2006
+++ src/common/config/config.cpp Tue Aug 15 22:54:38 2006
@@ -111,7 +111,7 @@
{TYPE_STRING, "RemoteBindAddress", (ConfigValue) 0},
{TYPE_STRING, "ExternalFileAccess", (ConfigValue) "None"}, // location(s) of external files for tables
{TYPE_STRING, "DatabaseAccess", (ConfigValue) "Full"}, // location(s) of databases
- {TYPE_STRING, "UdfAccess", (ConfigValue) "Restrict UDF"}, // location(s) of UDFs
+ {TYPE_STRING, "UdfAccess", (ConfigValue) "Restrict " FB_LIBEXEC_PREFIX "/UDF"}, // location(s) of UDFs
{TYPE_STRING, "TempDirectories", (ConfigValue) 0},
#ifdef DEV_BUILD
{TYPE_BOOLEAN, "BugcheckAbort", (ConfigValue) true}, // whether to abort() engine when internal error is found

View file

@ -0,0 +1,13 @@
--- src/jrd/db_alias.cpp.orig Tue Aug 15 23:07:31 2006
+++ src/jrd/db_alias.cpp Tue Aug 15 23:10:08 2006
@@ -33,8 +33,8 @@
bool ResolveDatabaseAlias(const string& alias, string& database)
{
- string alias_filename;
- Firebird::Prefix(alias_filename, ALIAS_FILE);
+ string alias_filename = string(FB_CONF_PREFIX)
+ + PathUtils::dir_sep + ALIAS_FILE;
ConfigFile aliasConfig(false);
aliasConfig.setConfigFilePath(alias_filename);

View file

@ -0,0 +1,11 @@
--- src/jrd/gds.cpp.orig Tue Aug 15 22:49:37 2006
+++ src/jrd/gds.cpp Tue Aug 15 22:50:14 2006
@@ -3734,7 +3734,7 @@
Firebird::PathName msgPrefix;
if (!fb_utils::readenv(FB_MSG_ENV, msgPrefix))
{
- msgPrefix = prefix;
+ msgPrefix = FB_MSG_PREFIX;
}
msgPrefix.copyTo(ib_prefix_msg_val, sizeof(ib_prefix_msg_val));
ib_prefix_msg = ib_prefix_msg_val;

View file

@ -0,0 +1,11 @@
--- src/jrd/os/config_root.h.orig Tue Aug 15 22:57:33 2006
+++ src/jrd/os/config_root.h Tue Aug 15 22:57:53 2006
@@ -76,7 +76,7 @@
{
GetRoot();
install_dir = root_dir;
- config_file = root_dir + string(CONFIG_FILE);
+ config_file = string(FB_CONF_PREFIX) + PathUtils::dir_sep + string(CONFIG_FILE);
}

View file

@ -0,0 +1,20 @@
--- src/jrd/plugin_manager.cpp.orig Tue Aug 15 23:11:04 2006
+++ src/jrd/plugin_manager.cpp Tue Aug 15 23:12:01 2006
@@ -64,7 +64,7 @@
void PluginManager::loadAllPlugins()
{
Firebird::PathName checkDir;
- const Firebird::PathName fbLibPath = Config::getRootDirectory();
+ const Firebird::PathName fbLibPath = FB_LIBEXEC_PREFIX;
for (spIterator pathItr = searchPaths.begin(); pathItr != searchPaths.end(); ++pathItr)
{
@@ -131,7 +131,7 @@
PluginManager::Module *PluginManager::loadPluginModule(const Firebird::PathName& name)
{
Firebird::PathName checkPath;
- const Firebird::PathName fbLibPath = Config::getRootDirectory();
+ const Firebird::PathName fbLibPath = FB_LIBEXEC_PREFIX;
// Check to see if the module name was specified as a relative path
// from one of our search paths. This only makes sense if the name

View file

@ -0,0 +1,22 @@
--- src/jrd/svc.cpp.orig Mon Jul 31 11:43:28 2006
+++ src/jrd/svc.cpp Wed Nov 15 16:56:13 2006
@@ -583,7 +583,8 @@
{
#ifndef SERVICE_THREAD
TEXT service_path[MAXPATHLEN];
- gds__prefix(service_path, serv->serv_executable);
+ strlcpy(service_path, FB_EXEC_PREFIX "/", MAXPATHLEN);
+ strlcat(service_path, serv->serv_executable, MAXPATHLEN);
service_fork(service_path, service);
#else
/* if service is single threaded, only call if not currently running */
@@ -1742,7 +1743,8 @@
TEXT service_path[MAXPATHLEN];
if (serv->serv_executable) {
- gds__prefix(service_path, serv->serv_executable);
+ strlcpy(service_path, FB_EXEC_PREFIX "/", MAXPATHLEN);
+ strlcat(service_path, serv->serv_executable, MAXPATHLEN);
service->svc_flags = SVC_forked;
service_fork(service_path, service);
}

View file

@ -0,0 +1,16 @@
--- src/lock/lock.cpp.orig Fri Feb 3 16:13:23 2006
+++ src/lock/lock.cpp Wed Aug 16 12:41:32 2006
@@ -2708,7 +2708,12 @@
#ifdef DEBUG_MANAGER
gds__prefix(string, DEBUG_MANAGER);
#else
- gds__prefix(string, LOCK_MANAGER);
+ if (! getenv("FIREBIRD")) {
+ strlcpy(string, FB_EXEC_PREFIX "/", MAXPATHLEN);
+ strlcat(string, LOCK_MANAGER, MAXPATHLEN);
+ } else {
+ gds__prefix(string, LOCK_MANAGER);
+ }
#endif
if (statistics(string, &stat_buf) == -1) {
// bug() fills the vector with this address, it must be static.

View file

@ -0,0 +1,11 @@
--- src/jrd/IntlManager.cpp.orig Tue Nov 21 16:24:19 2006
+++ src/jrd/IntlManager.cpp Tue Nov 21 16:30:40 2006
@@ -78,7 +78,7 @@
#endif
Firebird::PathName intlPath;
- PathUtils::concatPath(intlPath, Config::getRootDirectory(), "intl");
+ PathUtils::concatPath(intlPath, FB_LIBEXEC_PREFIX, "intl");
ScanDir dir(intlPath.c_str(), "*.conf");

View file

@ -0,0 +1,26 @@
--- src/common/classes/alloc.h 2010-12-18 19:21:49.000000000 -0500
+++ src/common/classes/alloc.h 2010-12-18 19:23:30.000000000 -0500
@@ -47,6 +47,7 @@
#include <stdlib.h> /* XPG: prototypes for malloc/free have to be in
stdlib.h (EKU) */
#endif
+#include <new>
#ifdef _MSC_VER
#define THROW_BAD_ALLOC
@@ -448,15 +449,6 @@
);
}
-inline void* operator new(size_t, void* ptr) throw()
-{
- return ptr;
-}
-inline void* operator new[](size_t, void* ptr) throw()
-{
- return ptr;
-}
-
inline void operator delete(void* mem) throw()
{
Firebird::MemoryPool::globalFree(mem);

View file

@ -0,0 +1,71 @@
#!/bin/sh
# $FreeBSD: /tmp/pcvs/ports/databases/firebird21-server/files/pkg-install.in,v 1.1 2010-12-20 09:05:05 acm Exp $
PATH=/bin:/usr/bin:/usr/sbin
case $2 in
PRE-INSTALL)
if [ `id -u` -ne 0 ]; then
echo; echo "You must be root to run this step!"; echo; echo
exit 1
fi
nofbuid=0
fbUID=`id -u firebird 2>/dev/null`
if [ $? -ne 0 ]; then
fbUID=90
while [ ! -z `id -un $fbUID 2>/dev/null` ]
do
fbUID=$(($fbUID+1))
done
nofbuid=1
fi
fbGID=`pw groupshow firebird 2>/dev/null`
if [ $? -ne 0 ]; then
fbGID=90
while [ ! -z `id -gn $fbGID 2>/dev/null` ]
do
fbGID=$(($fbGID+1))
done
echo "firebird:*:$fbGID:" >> /etc/group
else
fbGID=`echo $fbGID | awk -F: '{print $3}'`
fi
echo "firebird user using uid $fbUID"
echo "firebird user using gid $fbGID"
if which -s pw; then
if [ $nofbuid -ne 0 ]; then
pw useradd firebird -u $fbUID -g $fbGID -h - -s /usr/sbin/nologin \
-d /nonexistent -c "Firebird Database Administrator"
fi
else
echo -n "unable to create user firebird - please create it manually,"
echo " before reinstalling this package."
exit 1
fi
;;
POST-INSTALL)
cd /var/db/firebird
# Lock files
for i in isc_init1 isc_lock1 isc_event1
do
FileName=$i.`hostname`
touch $FileName
chmod uga=rw $FileName
chown firebird:firebird $FileName
done
touch firebird.log
chown firebird:firebird firebird.log security2.fdb
;;
esac

View file

@ -0,0 +1,27 @@
###############################################################################
Firebird was installed.
1) Before start the server ensure that the following line exists in /etc/services:
gds_db 3050/tcp #InterBase Database Remote Protocol
2) If you use inetd then add the following line to /etc/inetd.conf
gds_db stream tcp nowait firebird %%PREFIX%%/bin/fb_inet_server fb_inet_server
And finally restart inetd.
3) It is STRONGLY recommended that you change the SYSDBA
password with:
% gsec -user SYSDBA -pass masterkey
GSEC> modify SYSDBA -pw newpassword
GSEC> quit
before doing anything serious with Firebird.
4) See documentation in %%DOCSDIR%%/ for more information.
5) Enjoy it ;)
################################################################################

View file

@ -0,0 +1,12 @@
Firebird is a relational database offering many ANSI SQL-99 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.
Firebird is completely free of any registration, licensing or deployment
fees. It may be deployed freely for use with any third-party software,
whether commercial or not.
WWW: http://sourceforge.net/projects/firebird/
WWW: http://www.firebirdsql.org/

View file

@ -0,0 +1,35 @@
@comment $FreeBSD$
bin/fb_inet_server
bin/fb_lock_mgr
bin/fb_lock_print
bin/fbstat
bin/gbak
bin/gdef
bin/gds_drop
bin/gfix
bin/gsec
bin/nbackup
libexec/firebird/intl/fbintl
libexec/firebird/intl/fbintl.conf
libexec/firebird/udf/fbudf.so
libexec/firebird/udf/fbudf.sql
libexec/firebird/udf/ib_udf.so
libexec/firebird/udf/ib_udf2.sql
@unexec (cmp -s %D/%%CONFDIR%%/aliases.conf %D/%%CONFDIR%%/aliases.conf.sample && rm -f %D/%%CONFDIR%%/aliases.conf) || true
%%CONFDIR%%/aliases.conf.sample
@exec [ -f %B/aliases.conf ] || cp %B/%f %B/aliases.conf
@dirrmtry %%CONFDIR%%
@dirrm libexec/firebird/intl
@dirrm libexec/firebird/udf
@dirrm libexec/firebird
@cwd /
@unexec (cmp -s %D/%%LOCALSTATEDIR%%/security2.fdb %D/%%LOCALSTATEDIR%%/security2.fdb.sample && rm -f %D/%%LOCALSTATEDIR%%/security2.fdb) || true
%%LOCALSTATEDIR%%/security2.fdb.sample
@exec [ -f %D/%%LOCALSTATEDIR%%/security2.fdb ] || cp %D/%F %D/%%LOCALSTATEDIR%%/security2.fdb
%%LOCALSTATEDIR%%/help/help.fdb
@unexec [ -s %D/%%LOCALSTATEDIR%%/firebird.log ] || rm -f %D/%%LOCALSTATEDIR%%/firebird.log
@rmtry %%LOCALSTATEDIR%%/isc_event1.`hostname`
@rmtry %%LOCALSTATEDIR%%/isc_init1.`hostname`
@rmtry %%LOCALSTATEDIR%%/isc_lock1.`hostname`
@dirrm %%LOCALSTATEDIR%%/help
@dirrmtry %%LOCALSTATEDIR%%

View file

@ -0,0 +1,29 @@
@comment $FreeBSD$
bin/gpre
bin/isql-fb
bin/qli
include/blr.h
include/ib_util.h
include/ibase.h
include/iberror.h
include/perf.h
lib/libfbclient.so
lib/libfbclient.so.2
lib/libfbclient.so.2.1
lib/libfbclient.so.%%FIREBIRD_VERSION%%
lib/libfbembed.so
lib/libfbembed.so.2
lib/libfbembed.so.2.1
lib/libfbembed.so.%%FIREBIRD_VERSION%%
lib/libgds.so
lib/libgds.so.2
lib/libgds.so.2.1
lib/libib_util.so
@unexec if cmp -s %D/%%CONFDIR%%/firebird.conf %D/%%CONFDIR%%/firebird.conf.sample; then rm -f %D/%%CONFDIR%%/firebird.conf; fi
%%CONFDIR%%/firebird.conf.sample
@exec [ -f %B/firebird.conf ] || cp %B/%f %B/firebird.conf
@dirrmtry %%CONFDIR%%
%%DATADIR%%/de_DE.msg
%%DATADIR%%/firebird.msg
%%DATADIR%%/fr_FR.msg
@dirrm %%DATADIR%%