summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/firebird')
-rw-r--r--dev-db/firebird/ChangeLog10
-rw-r--r--dev-db/firebird/files/digest-firebird-1.5.4-r312
-rw-r--r--dev-db/firebird/firebird-1.5.4-r3.ebuild270
3 files changed, 291 insertions, 1 deletions
diff --git a/dev-db/firebird/ChangeLog b/dev-db/firebird/ChangeLog
index f9b32165c6c5..8e33ebf434d2 100644
--- a/dev-db/firebird/ChangeLog
+++ b/dev-db/firebird/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-db/firebird
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/firebird/ChangeLog,v 1.60 2007/05/15 21:08:33 wltjr Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/firebird/ChangeLog,v 1.61 2007/05/16 17:04:39 wltjr Exp $
+
+*firebird-1.5.4-r3 (16 May 2007)
+
+ 16 May 2007; William L. Thomson Jr. <wltjr@gentoo.org>
+ +firebird-1.5.4-r3.ebuild:
+ Fixed issue *.so being installed into /opt/firebird/lib instead of
+ /opt/firebird/lib64 on stable 64bit archs. Where ~arch creates and installs
+ to /opt/firebird/lib64 ?
15 May 2007; William L. Thomson Jr. <wltjr@gentoo.org>
-files/70firebird-1.5.0, -files/firebird-1.5.1-gcc34.patch,
diff --git a/dev-db/firebird/files/digest-firebird-1.5.4-r3 b/dev-db/firebird/files/digest-firebird-1.5.4-r3
new file mode 100644
index 000000000000..b3e31cc48311
--- /dev/null
+++ b/dev-db/firebird/files/digest-firebird-1.5.4-r3
@@ -0,0 +1,12 @@
+MD5 3690d389b3b69883f4bbc258b6c81851 Firebird-1.5-QuickStart.pdf 193637
+RMD160 c3d541701950a9b8ac0b353e5360af9235a3cf3f Firebird-1.5-QuickStart.pdf 193637
+SHA256 3b6cbf86d9ee7deaeeae101edf6c124c694ca423c9f4d09da035eed9e2bb70fe Firebird-1.5-QuickStart.pdf 193637
+MD5 b3530a500074ab5b2a276e37ecd10ccf firebird-1.5.4-debian-patchset.tar.bz2 22696
+RMD160 e4fec480f4480fc2dbc460c5dffab6c0127867f1 firebird-1.5.4-debian-patchset.tar.bz2 22696
+SHA256 c88345bad9064c552f4231d1ce82e3fb89d2cdfde8bf0965a966b426d9aaefea firebird-1.5.4-debian-patchset.tar.bz2 22696
+MD5 6655190f760217845623a75001b6ddd4 firebird-1.5.4.4910.tar.bz2 5087076
+RMD160 00480f290b8e82f9965387a903ae392e8b71c3f1 firebird-1.5.4.4910.tar.bz2 5087076
+SHA256 c4464b1b89fde0676562de2b82c971d4f791133dcc2967760dc2f3a5cfd52556 firebird-1.5.4.4910.tar.bz2 5087076
+MD5 e48478a6034eb449ad502495e83a0764 ib_b60_doc.zip 10530848
+RMD160 c64b4b6bc9125929928517ba072558a58ddf577d ib_b60_doc.zip 10530848
+SHA256 8c0158678b2a2fe3ba3abfea1f5487fc5af2644d66837ab8a558f5ad6b6cfd6d ib_b60_doc.zip 10530848
diff --git a/dev-db/firebird/firebird-1.5.4-r3.ebuild b/dev-db/firebird/firebird-1.5.4-r3.ebuild
new file mode 100644
index 000000000000..588aa35f039a
--- /dev/null
+++ b/dev-db/firebird/firebird-1.5.4-r3.ebuild
@@ -0,0 +1,270 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/firebird/firebird-1.5.4-r3.ebuild,v 1.1 2007/05/16 17:04:39 wltjr Exp $
+
+inherit flag-o-matic eutils
+
+extra_ver="4910"
+MY_P=${P}.${extra_ver}
+DESCRIPTION="A relational database offering many ANSI SQL-99 features."
+HOMEPAGE="http://firebird.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2
+ mirror://gentoo/firebird-1.5.4-debian-patchset.tar.bz2
+ doc? ( http://firebird.sourceforge.net/pdfmanual/Firebird-1.5-QuickStart.pdf
+ ftp://ftpc.inprise.com/pub/interbase/techpubs/ib_b60_doc.zip )"
+
+LICENSE="Interbase-1.0"
+SLOT="0"
+KEYWORDS="~amd64 -ia64 ~sparc ~x86"
+IUSE="xinetd doc"
+RESTRICT="nouserpriv"
+
+RDEPEND="xinetd? ( virtual/inetd )"
+DEPEND="${RDEPEND}
+ doc? ( app-arch/unzip )"
+
+
+S="${WORKDIR}"/${MY_P}
+
+pkg_setup() {
+ enewgroup firebird 450
+ enewuser firebird 450 /bin/bash /opt/firebird firebird
+}
+
+src_unpack() {
+ if use doc; then
+ # Unpack docs
+ mkdir ${WORKDIR}/manuals
+ cd ${WORKDIR}/manuals
+ unpack ib_b60_doc.zip
+ cd ${WORKDIR}
+ fi
+
+ unpack ${MY_P}.tar.bz2
+ unpack firebird-1.5.4-debian-patchset.tar.bz2
+ cd ${S}
+
+ for p in $(ls ${WORKDIR}/patches) ; do
+ epatch ${WORKDIR}/patches/${p} || die "Patch did not apply."
+ done
+
+ # This file must be regenerated during build
+ rm ${S}/src/dsql/parse.cpp
+}
+
+src_compile() {
+ # fix bug #33584
+ #strip-flags -funroll-loops
+ # but Meir intended "filter-flags -funroll-loops"; awaiting bug reports...
+
+ filter-flags -fprefetch-loop-arrays
+ filter-mfpmath sse
+
+ local myconf="--prefix=/opt/firebird --with-editline"
+ use xinetd || myconf="${myconf} --enable-superserver"
+
+ NOCONFIGURE=1
+
+ ./autogen.sh ${myconf} || die "couldn't run autogen.sh"
+
+ find . -type f -exec sed -i -e "s/-lcurses/-lncurses/g" {} \;
+
+ econf ${myconf} || die "./configure failed"
+ emake -j 1 || die "error during make"
+}
+
+src_install() {
+ cd ${S}/gen
+ make -f Makefile.install tarfile || die "Can't create buildroot tar file"
+ cd ${D}
+ tar zxpf ${S}/gen/Firebird?S-*/buildroot.tar.gz
+
+ dodoc ${D}/opt/firebird/{README,WhatsNew,doc/*}
+ docinto examples
+ dodoc ${D}/opt/firebird/examples/*
+ docinto sql.extensions
+ dodoc ${D}/opt/firebird/doc/sql.extensions/*
+
+ rm -r ${D}/opt/firebird/{README,WhatsNew,doc,misc}
+ rm -r ${D}/opt/firebird/examples
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d ; newins ${FILESDIR}/${PN}-1.5.0.xinetd firebird
+ else
+ exeinto /etc/init.d ; newexe ${FILESDIR}/${PN}.init.d firebird
+ insinto /etc/conf.d ; newins ${FILESDIR}/firebird.conf.d firebird
+ fperms 640 /etc/conf.d/firebird
+ fi
+ insinto /etc/env.d ; newins ${FILESDIR}/70${PN} 70firebird
+
+ # Following is adapted from postinstall.sh
+
+ dodir /opt/firebird/run
+ keepdir /opt/firebird/run
+
+ # make sure everything is owned by firebird
+ chown -R firebird:firebird ${D}/opt/firebird
+
+ # make sure permissions are set
+ chmod -R o= ${D}/opt/firebird
+
+ # fix directories
+ find ${D}/opt/firebird -print -type d | xargs chmod o=rx
+
+ # set permissions for /bin
+ cd ${D}/opt/firebird/bin
+ chmod ug=rx,o= *
+ chmod a=rx isql qli gpre
+
+ use xinetd && chmod ug=rxs,o= ${D}/opt/firebird/bin/{fb_lock_mgr,gds_drop,fb_inet_server}
+ chmod u=rw,go=r ${D}/opt/firebird/{aliases.conf,firebird.conf}
+ chmod ug=rw,o= ${D}/opt/firebird/{security.fdb,help/help.fdb}
+
+ for i in include lib UDF intl; do chmod a=r ${D}/opt/firebird/${i}/*; done
+ chmod ug=rx,o= ${D}/opt/firebird/{intl/fbintl,UDF/fbudf.so,UDF/ib_udf.so}
+
+ local my_lib=$(get_libdir)
+
+ # firebird has a problem with lib64 dir name, bug?
+ if [ ${my_lib} == "lib64" ] ; then
+ # tmp fix since stable arch seems to install in lib, not lib64 as ~arch
+ if [ -d ${D}/opt/firebird/lib ]; then
+ mv ${D}/opt/firebird/lib ${D}/opt/firebird/lib64
+ fi
+ dosym /opt/firebird/lib64 /opt/firebird/lib
+ fi
+
+ # create links for back compatibility
+ dosym ../../opt/firebird/${my_lib}/libfbclient.so /usr/${my_lib}/libgds.so
+ dosym ../../opt/firebird/${my_lib}/libfbclient.so /usr/${my_lib}/libgds.so.0
+ dosym ./libfbclient.so /opt/firebird/${my_lib}/libgds.so
+ dosym ./libfbclient.so /opt/firebird/${my_lib}/libgds.so.0
+
+ # we want relative symlinks...
+ dosym ../../opt/firebird/${my_lib}/libfbclient.so /usr/${my_lib}/libfbclient.so
+ dosym ../../opt/firebird/${my_lib}/libfbclient.so.1 /usr/${my_lib}/libfbclient.so.1
+ dosym ../../opt/firebird/${my_lib}/libfbclient.so.1.5.4 /usr/${my_lib}/libfbclient.so.1.5.4
+
+ # move and link config files to /etc/firebird so they'll be protected
+ dodir /etc/firebird
+ mv ${D}/opt/firebird/{security.fdb,aliases.conf,firebird.conf} ${D}/etc/firebird
+ dosym ../../etc/firebird/security.fdb /opt/firebird/security.fdb
+ dosym ../../etc/firebird/aliases.conf /opt/firebird/aliases.conf
+ dosym ../../etc/firebird/firebird.conf /opt/firebird/firebird.conf
+
+ # Install docs
+ if use doc; then
+ dodoc ${DISTDIR}/Firebird-1.5-QuickStart.pdf
+ dodoc ${WORKDIR}/manuals/*
+ fi
+}
+
+pkg_postinst() {
+ elog
+ elog "1. If haven't done so already, please run:"
+ elog
+ elog " \"emerge --config =${PF}\""
+ elog
+ elog " to create lockfiles, set permissions and more"
+ elog
+ elog "2. Firebird now runs with it's own user. Please remember to"
+ elog " set permissions to firebird:firebird on databases you "
+ elog " already have (if any)."
+ elog
+
+ if ! use xinetd
+ then
+ elog "3. You've built the stand alone deamon version,"
+ elog " SuperServer. If you were using pre 1.5.0 ebuilds"
+ elog " you're probably have one installed via xinetd. please"
+ elog " remember to disable it (usually in /etc/xinetd.d/firebird),"
+ elog " since the current one has it's own init script under"
+ elog " /etc/init.d"
+ fi
+}
+
+pkg_config() {
+ cd /opt/firebird
+
+ # Create Lock files
+ for i in isc_init1 isc_lock1 isc_event1
+ do
+ FileName=$i.`hostname`
+ touch $FileName
+ chown firebird:firebird $FileName
+ chmod ug=rw,o= $FileName
+ done
+
+ # Create log
+ if [ ! -h firebird.log ]
+ then
+ if [ -f firebird.log ]
+ then
+ mv firebird.log /var/log
+ else
+ touch /var/log/firebird.log
+ chown firebird:firebird /var/log/firebird.log
+ chmod ug=rw,o= /var/log/firebird.log
+ fi
+
+ # symlink the log to /var/log
+ ln -s /var/log/firebird.log firebird.log
+ fi
+
+ # add gds_db to /etc/services
+ if [ -z "`grep gds_db /etc/services`" ]
+ then
+ echo -e "#\n#Service added for gds_db (firebird)\n#" >> /etc/services
+ echo "gds_db 3050/tcp" >> /etc/services
+ einfo "added gds_db to /etc/services"
+ fi
+
+ # if found /etc/isc4.gdb from previous install, backup, and restore as
+ # /etc/security.fdb
+ if [ -f /etc/firebird/isc4.gdb ]
+ then
+ # if we have scurity.fdb already, back it 1st
+ if [ -f /etc/firebird/security.fdb ]
+ then
+ cp /etc/firebird/security.fdb /etc/firebird/security.fdb.old
+ fi
+ gbak -B /etc/firebird/isc4.gdb /etc/firebird/isc4.gbk
+ gbak -R /etc/firebird/isc4.gbk /etc/firebird/security.fdb
+ mv /etc/firebird/isc4.gdb /etc/firebird/isc4.gdb.old
+ rm /etc/firebird/isc4.gbk
+
+ # make sure they are readable only to firebird
+ chown firebird:firebird /etc/firebird/{isc4.*,security.*}
+ chmod 660 /etc/firebird/{isc4.*,security.*}
+
+ elog
+ elog "Converted old isc4.gdb to security.fdb, isc4.gdb has been "
+ elog "renamed to isc4.gdb.old. if you had previous security.fdb, "
+ elog "it's backed to security.fdb.old (all under /etc/firebird)."
+ elog
+ fi
+
+ # we need to enable local access to the server
+ if [ ! -f /etc/hosts.equiv ]
+ then
+ touch /etc/hosts.equiv
+ chown root:0 /etc/hosts.equiv
+ chmod u=rw,go=r /etc/hosts.equiv
+ fi
+
+ if [ -z "`grep 'localhost$' /etc/hosts.equiv`" ]
+ then
+ echo "localhost" >> /etc/hosts.equiv
+ einfo "Added localhost to /etc/hosts.equiv"
+ fi
+
+ HS_NAME=`hostname`
+ if [ -z "`grep ${HS_NAME} /etc/hosts.equiv`" ]
+ then
+ echo "${HS_NAME}" >> /etc/hosts.equiv
+ einfo "Added ${HS_NAME} to /etc/hosts.equiv"
+ fi
+
+ elog "If you're using UDFs, please remember to move them"
+ elog "to /opt/firebird/UDF"
+}