diff options
author | William Thomson <wltjr@gentoo.org> | 2008-06-06 02:43:43 +0000 |
---|---|---|
committer | William Thomson <wltjr@gentoo.org> | 2008-06-06 02:43:43 +0000 |
commit | 347e6c097489225a5a55b8204dd77baecc51502e (patch) | |
tree | bb45534e7c075fb2dab8c063c1173a0f3f422171 /dev-db/firebird | |
parent | Fixed HOMEPAGE/SRC_URI. Added patch provided from upstream to fix: 'may crash... (diff) | |
download | gentoo-2-347e6c097489225a5a55b8204dd77baecc51502e.tar.gz gentoo-2-347e6c097489225a5a55b8204dd77baecc51502e.tar.bz2 gentoo-2-347e6c097489225a5a55b8204dd77baecc51502e.zip |
New conf.d file with updated root path to resolve bug #224715. Removed legacy env.d file.
(Portage version: 2.1.5.2)
Diffstat (limited to 'dev-db/firebird')
-rw-r--r-- | dev-db/firebird/ChangeLog | 11 | ||||
-rw-r--r-- | dev-db/firebird/files/firebird.conf.d | 3 | ||||
-rw-r--r-- | dev-db/firebird/firebird-2.0.3.12981.0-r7.ebuild | 271 | ||||
-rw-r--r-- | dev-db/firebird/firebird-2.1.0.17798.0-r1.ebuild (renamed from dev-db/firebird/firebird-2.1.0.17798.0.ebuild) | 5 |
4 files changed, 286 insertions, 4 deletions
diff --git a/dev-db/firebird/ChangeLog b/dev-db/firebird/ChangeLog index be83c6688474..24076ba724cc 100644 --- a/dev-db/firebird/ChangeLog +++ b/dev-db/firebird/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-db/firebird # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/firebird/ChangeLog,v 1.93 2008/04/19 01:35:53 wltjr Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/firebird/ChangeLog,v 1.94 2008/06/06 02:43:42 wltjr Exp $ + +*firebird-2.1.0.17798.0-r1 (06 Jun 2008) +*firebird-2.0.3.12981.0-r7 (06 Jun 2008) + + 06 Jun 2008; William L. Thomson Jr. <wltjr@gentoo.org> + +files/firebird.conf.d, +firebird-2.0.3.12981.0-r7.ebuild, + -firebird-2.1.0.17798.0.ebuild, +firebird-2.1.0.17798.0-r1.ebuild: + New conf.d file with updated root path to resolve bug #224715. Removed + legacy env.d file. *firebird-2.1.0.17798.0 (19 Apr 2008) diff --git a/dev-db/firebird/files/firebird.conf.d b/dev-db/firebird/files/firebird.conf.d new file mode 100644 index 000000000000..8bfc2c52c840 --- /dev/null +++ b/dev-db/firebird/files/firebird.conf.d @@ -0,0 +1,3 @@ +FBRunUser=firebird +FIREBIRD=/usr/lib/firebird +MANAGER=/usr/bin/fbmgr.bin diff --git a/dev-db/firebird/firebird-2.0.3.12981.0-r7.ebuild b/dev-db/firebird/firebird-2.0.3.12981.0-r7.ebuild new file mode 100644 index 000000000000..1963b8de8df5 --- /dev/null +++ b/dev-db/firebird/firebird-2.0.3.12981.0-r7.ebuild @@ -0,0 +1,271 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/firebird/firebird-2.0.3.12981.0-r7.ebuild,v 1.1 2008/06/06 02:43:42 wltjr Exp $ + +inherit flag-o-matic eutils autotools versionator multilib + +MY_P=Firebird-$(replace_version_separator 4 -) + +DESCRIPTION="A relational database offering many ANSI SQL-99 features" +HOMEPAGE="http://firebird.sourceforge.net/" +SRC_URI="mirror://sourceforge/firebird/${MY_P}.tar.bz2 + doc? ( ftp://ftpc.inprise.com/pub/interbase/techpubs/ib_b60_doc.zip )" + +LICENSE="IDPL Interbase-1.0" +SLOT="0" +KEYWORDS="~amd64 -ia64 ~x86" +IUSE="doc xinetd examples debug" +RESTRICT="userpriv" + +RDEPEND="dev-libs/libedit + dev-libs/icu" +DEPEND="${RDEPEND} + doc? ( app-arch/unzip )" +RDEPEND="${RDEPEND} + xinetd? ( virtual/inetd )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + enewgroup firebird 450 + enewuser firebird 450 /bin/bash /usr/$(get_libdir)/firebird firebird +} + +function check_sed() { + MSG="sed of $3, required $2 lines modified $1" + einfo "${MSG}" + [[ $1 -ge $2 ]] || die "${MSG}" +} + +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" + + # compile time relative path hacks, ew :( + mkdir -p "${WORKDIR}/../etc" \ + "${WORKDIR}/usr" \ + "${WORKDIR}/var/log/firebird" \ + "${WORKDIR}/var/run/firebird" + cd "${WORKDIR}/usr"; ln -s "${S}/gen/firebird/bin" + cd "${WORKDIR}/../etc"; ln -s "${S}/gen/firebird" firebird + + cd "${S}" + + epatch "${FILESDIR}/${P}-CVE-2008-0387.patch" + epatch "${FILESDIR}/${P}-CVE-2008-0467.patch" + epatch "${FILESDIR}/${P}-external-libs.patch" + epatch "${FILESDIR}/${P}-flags.patch" + epatch "${FILESDIR}/${P}-make-deps.patch" + + einfo "Split up Firebird via relative path hacks" + # sed vs patch for portability and addtional location changes + # based on FIREBIRD=/usr/lib/firebird + check_sed "$(sed -i -e 's:"aliases.conf":"../../../etc/firebird/aliases.conf":w /dev/stdout' \ + src/jrd/db_alias.cpp | wc -l )" "1" "src/jrd/db_alias.cpp" # 1 line + check_sed "$(sed -i -e 's:"isc_event1:"../../../var/run/firebird/isc_event1:w /dev/stdout' \ + -e 's:"isc_lock1:"../../../var/run/firebird/isc_lock1:w /dev/stdout' \ + -e 's:"isc_init1:"../../../var/run/firebird/isc_init1:w /dev/stdout' \ + -e 's:"isc_config:"../../../var/run/firebird/isc_config:w /dev/stdout' \ + -e 's:"isc_guard1:"../../../var/run/firebird/isc_guard1:w /dev/stdout' \ + -e 's:"firebird.log":"../../../var/log/firebird/firebird.log":w /dev/stdout' \ + -e 's:"security2.fdb":"../../../etc/firebird/security2.fdb":w /dev/stdout' \ + src/jrd/file_params.h | wc -l)" "14" "src/jrd/file_params.h" # 14 lines + check_sed "$(sed -i -e 's:"security2.fdb":"../../../etc/firebird/security2.fdb":w /dev/stdout' \ + src/jrd/jrd_pwd.h | wc -l)" "1" "src/jrd/jrd_pwd.h" # 1 line + check_sed "$(sed -i -e 's:"firebird.conf":"../../../etc/firebird/firebird.conf":w /dev/stdout' \ + src/jrd/os/config_root.h | wc -l)" "1" "src/jrd/os/config_root.h" # 1 line + check_sed "$(sed -i -e 's:"bin/fb_cache_print":"../../../usr/bin/fb_cache_print":w /dev/stdout' \ + -e 's:"bin/fb_lock_print":"../../../usr/bin/fb_lock_print":w /dev/stdout' \ + -e 's:"bin/fb_cache_manager":"../../../usr/bin/fb_cache_manager":w /dev/stdout' \ + -e 's:"bin/gstat":"../../../usr/bin/gstat":w /dev/stdout' \ + -e 's:"bin/gbak":"../../../usr/bin/gbak":w /dev/stdout' \ + -e 's:"bin/gdef":"../../../usr/bin/gdef":w /dev/stdout' \ + -e 's:"bin/gsec":"../../../usr/bin/gsec":w /dev/stdout' \ + -e 's:"bin/gjrn":"../../../usr/bin/gjrn":w /dev/stdout' \ + -e 's:"bin/gfix":"../../../usr/bin/gfix":w /dev/stdout' \ + src/jrd/svc.cpp | wc -l)" "26" "src/jrd/svc.cpp" # 26 lines + check_sed "$(sed -i -e 's:"bin/fb_lock_mgr":"../../../usr/bin/fb_lock_mgr":w /dev/stdout' \ + src/lock/lock.cpp | wc -l)" "1" "src/lock/lock.cpp" # 1 line + check_sed "$(sed -i -e 's:m_Root_Path + "firebird.conf":"../../../etc/firebird/firebird.conf":w /dev/stdout' \ + src/utilities/fbcpl/fbdialog.cpp | wc -l)" "1" "src/utilities/fbcpl/fbdialog.cpp" # 1 line + check_sed "$(sed -i -e 's:"security2.fdb":"../../../etc/firebird/security2.fdb":w /dev/stdout' \ + src/utilities/gsec/security.epp | wc -l)" "1" "src/utilities/gsec/security.epp" # 1 line + check_sed "$(sed -i -e 's:"bin/fbserver":"../../../usr/bin/fbserver":w /dev/stdout' \ + src/utilities/guard/guard.cpp | wc -l)" "1" "src/utilities/guard/guard.cpp" # 1 line + check_sed "$(sed -i -e 's:"bin/fbguard":"../../../usr/bin/fbguard":w /dev/stdout' \ + src/utilities/ibmgr/ibmgr.h | wc -l)" "1" "src/utilities/ibmgr/ibmgr.h" # 1 line + check_sed "$(sed -i -e 's:$FIREBIRD/firebird.log:/var/log/firebird/firebird.log:w /dev/stdout' \ + src/utilities/ibmgr/srvrmgr.cpp | wc -l)" "1" "src/utilities/ibmgr/srvrmgr.cpp" # 1 line + + # Rename references to isql to fbsql + check_sed "$(sed -i -e 's:"isql :"fbsql :w /dev/stdout' \ + src/isql/isql.epp | wc -l)" "1" "src/isql/isql.epp" # 1 line + check_sed "$(sed -i -e 's:isql :fbsql :w /dev/stdout' \ + src/msgs/history.sql | wc -l)" "4" "src/msgs/history.sql" # 4 lines + check_sed "$(sed -i -e 's:isql :fbsql :w /dev/stdout' \ + -e 's:ISQL :FBSQL :w /dev/stdout' \ + src/msgs/messages.sql | wc -l)" "4" "src/msgs/messages.sql" # 4 lines + + find "${S}" -name \*.sh -print0 | xargs -0 chmod +x + rm -rf "${S}"/extern/{editline,icu} + + eautoreconf +} + +src_compile() { + filter-flags -fprefetch-loop-arrays + filter-mfpmath sse + + econf --prefix=/usr/$(get_libdir)/firebird --with-editline \ + $(use_enable !xinetd superserver) \ + $(use_enable debug) \ + ${myconf} || die "econf failed" + emake -j1 || die "error during make" +} + +src_install() { + cd "${S}/gen/firebird" + +# Seems to be ignored? + insinto /usr/share/firebird/bin + dobin bin/{changeRunUser,restoreRootRunUser,changeDBAPassword}.sh + rm bin/*.sh || die "Could not remove *sh files" + + einfo "Renaming isql -> fbsql" + mv bin/isql bin/fbsql + + insinto /usr/bin + dobin bin/* + + insinto /usr/include + doins include/* + + insinto /usr/$(get_libdir) + dolib.so lib/*.so* + dolib.a lib/*.a* + + insinto /usr/$(get_libdir)/firebird + doins *.msg + + insinto /usr/$(get_libdir)/firebird/help + doins help/help.fdb + + insinto /usr/share/firebird/upgrade + doins "${S}"/src/misc/upgrade/v2/* + + insinto /etc/firebird + insopts -m0644 -o firebird -g firebird + doins misc/* + doins ../install/misc/aliases.conf + insopts -m0660 -o firebird -g firebird + doins security2.fdb + + exeinto /usr/$(get_libdir)/firebird/UDF + doexe UDF/*.so + + exeinto /usr/$(get_libdir)/firebird/intl + newexe intl/libfbintl.so fbintl.so + + insinto /usr/$(get_libdir)/firebird/intl + doins ../install/misc/fbintl.conf + + diropts -m 755 -o firebird -g firebird + dodir /var/log/firebird + dodir /var/run/firebird + keepdir /var/log/firebird + keepdir /var/run/firebird + + # create links for backwards compatibility + cd "${D}/usr/$(get_libdir)" + ln -s libfbclient.so libgds.so + ln -s libfbclient.so libgds.so.0 + ln -s libfbclient.so libfbclient.so.1 + + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}/${PN}.xinetd.2" ${PN} || die "newins xinetd file failed" + else + newinitd "${FILESDIR}/${PN}.init.d" ${PN} + newconfd "${FILESDIR}/${PN}.conf.d" ${PN} + fperms 640 /etc/conf.d/${PN} + fi + + # Install docs + use doc && dodoc "${WORKDIR}"/manuals/* + use examples && docinto examples +} + +pkg_postinst() { + # Hack to fix ownership/perms + chown -fR firebird:firebird "${ROOT}/etc/firebird" \ + "${ROOT}/usr/$(get_libdir)/firebird" + chmod 750 "${ROOT}/etc/firebird" + + elog + elog "Firebird is no longer installed in /opt. Binaries are in" + elog "/usr/bin. The core, udfs, etc are in /usr/lib/firebird. Logs" + elog "are in /var/log/firebird, and lock files in /var/run/firebird" + elog "The command line tool isql has been renamed to fbsql." + elog "Please report any problems or issues to bugs.gentoo.org." + elog +} + +pkg_config() { + # if found /etc/security.gdb from previous install, backup, and restore as + # /etc/security2.fdb + if [ -f "${ROOT}/etc/firebird/security.gdb" ] ; then + # if we have scurity2.fdb already, back it 1st + if [ -f "${ROOT}/etc/firebird/security2.fdb" ] ; then + cp "${ROOT}/etc/firebird/security2.fdb" "${ROOT}/etc/firebird/security2.fdb.old" + fi + gbak -B "${ROOT}/etc/firebird/security.gdb" "${ROOT}/etc/firebird/security.gbk" + gbak -R "${ROOT}/etc/firebird/security.gbk" "${ROOT}/etc/firebird/security2.fdb" + mv "${ROOT}/etc/firebird/security.gdb" "${ROOT}/etc/firebird/security.gdb.old" + rm "${ROOT}/etc/firebird/security.gbk" + + # make sure they are readable only to firebird + chown firebird:firebird "${ROOT}/etc/firebird/{security.*,security2.*}" + chmod 660 "${ROOT}/etc/firebird/{security.*,security2.*}" + + einfo + einfo "Converted old security.gdb to security2.fdb, security.gdb has been " + einfo "renamed to security.gdb.old. if you had previous security2.fdb, " + einfo "it's backed to security2.fdb.old (all under ${ROOT}/etc/firebird)." + einfo + fi + + # we need to enable local access to the server + if [ ! -f "${ROOT}/etc/hosts.equiv" ] ; then + touch "${ROOT}/etc/hosts.equiv" + chown root:0 "${ROOT}/etc/hosts.equiv" + chmod u=rw,go=r "${ROOT}/etc/hosts.equiv" + fi + + # add 'localhost.localdomain' to the hosts.equiv file... + if [ grep -q 'localhost.localdomain$' "${ROOT}/etc/hosts.equiv" 2>/dev/null ] ; then + echo "localhost.localdomain" >> "${ROOT}/etc/hosts.equiv" + einfo "Added localhost.localdomain to ${ROOT}/etc/hosts.equiv" + fi + + # add 'localhost' to the hosts.equiv file... + if [ grep -q 'localhost$' "${ROOT}/etc/hosts.equiv" 2>/dev/null ] ; then + echo "localhost" >> "${ROOT}/etc/hosts.equiv" + einfo "Added localhost to ${ROOT}/etc/hosts.equiv" + fi + + HS_NAME=`hostname` + if [ grep -q ${HS_NAME} "${ROOT}/etc/hosts.equiv" 2>/dev/null ] ; then + echo "${HS_NAME}" >> "${ROOT}/etc/hosts.equiv" + einfo "Added ${HS_NAME} to ${ROOT}/etc/hosts.equiv" + fi + + einfo "If you're using UDFs, please remember to move them" + einfo "to /usr/lib/firebird/UDF" +} diff --git a/dev-db/firebird/firebird-2.1.0.17798.0.ebuild b/dev-db/firebird/firebird-2.1.0.17798.0-r1.ebuild index 63b4d51f1b25..23d212d14797 100644 --- a/dev-db/firebird/firebird-2.1.0.17798.0.ebuild +++ b/dev-db/firebird/firebird-2.1.0.17798.0-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/firebird/firebird-2.1.0.17798.0.ebuild,v 1.1 2008/04/19 01:35:53 wltjr Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/firebird/firebird-2.1.0.17798.0-r1.ebuild,v 1.1 2008/06/06 02:43:42 wltjr Exp $ inherit flag-o-matic eutils autotools versionator @@ -196,10 +196,9 @@ src_install() { newins "${FILESDIR}/${PN}.xinetd.2" ${PN} || die "newins xinetd file failed" else newinitd "${FILESDIR}/${PN}.init.d" ${PN} - newconfd "${FILESDIR}/${PN}.conf.d.2" ${PN} + newconfd "${FILESDIR}/${PN}.conf.d" ${PN} fperms 640 /etc/conf.d/${PN} fi - doenvd "${FILESDIR}/70${PN}" # Install docs use doc && dodoc "${WORKDIR}"/manuals/* |