- 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:
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
227
databases/firebird21-server/Makefile
Normal file
227
databases/firebird21-server/Makefile
Normal 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>
|
2
databases/firebird21-server/distinfo
Normal file
2
databases/firebird21-server/distinfo
Normal 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
|
9
databases/firebird21-server/files/aliases.conf.in
Normal file
9
databases/firebird21-server/files/aliases.conf.in
Normal file
|
@ -0,0 +1,9 @@
|
|||
#
|
||||
# List of known database aliases
|
||||
# ------------------------------
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# employee = %%EXAMPLESDIR%%/employee.fdb
|
||||
# security = /var/db/firebird/security2.fdb
|
||||
#
|
46
databases/firebird21-server/files/icu.m4
Normal file
46
databases/firebird21-server/files/icu.m4
Normal 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)
|
||||
])
|
11
databases/firebird21-server/files/patch-autogen.sh
Normal file
11
databases/firebird21-server/files/patch-autogen.sh
Normal 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
|
|
@ -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
|
||||
|
||||
|
||||
# ----------------------------
|
|
@ -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`
|
||||
|
|
@ -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)
|
|
@ -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
|
50
databases/firebird21-server/files/patch-configure.in
Normal file
50
databases/firebird21-server/files/patch-configure.in
Normal 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
|
|
@ -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
|
13
databases/firebird21-server/files/patch-src%jrd%db_alias.cpp
Normal file
13
databases/firebird21-server/files/patch-src%jrd%db_alias.cpp
Normal 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);
|
||||
|
11
databases/firebird21-server/files/patch-src%jrd%gds.cpp
Normal file
11
databases/firebird21-server/files/patch-src%jrd%gds.cpp
Normal 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;
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
@ -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
|
22
databases/firebird21-server/files/patch-src%jrd%svc.cpp
Normal file
22
databases/firebird21-server/files/patch-src%jrd%svc.cpp
Normal 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);
|
||||
}
|
16
databases/firebird21-server/files/patch-src%lock%lock.cpp
Normal file
16
databases/firebird21-server/files/patch-src%lock%lock.cpp
Normal 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.
|
|
@ -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");
|
||||
|
|
@ -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);
|
71
databases/firebird21-server/files/pkg-install.in
Normal file
71
databases/firebird21-server/files/pkg-install.in
Normal 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
|
27
databases/firebird21-server/files/pkg-message.in
Normal file
27
databases/firebird21-server/files/pkg-message.in
Normal 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 ;)
|
||||
|
||||
################################################################################
|
12
databases/firebird21-server/pkg-descr
Normal file
12
databases/firebird21-server/pkg-descr
Normal 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/
|
35
databases/firebird21-server/pkg-plist
Normal file
35
databases/firebird21-server/pkg-plist
Normal 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%%
|
29
databases/firebird21-server/pkg-plist.client
Normal file
29
databases/firebird21-server/pkg-plist.client
Normal 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%%
|
Loading…
Reference in a new issue