summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Lauer <patrick@gentoo.org>2009-10-22 22:06:07 +0000
committerPatrick Lauer <patrick@gentoo.org>2009-10-22 22:06:07 +0000
commit1408deb8f9719cdd70e1f0b553a743adc423fac4 (patch)
tree95d5e7829226799c998f64aa999a5a7943de0b35 /dev-db/ingres/ingres-10.0.0.108.ebuild
parentAdded two more test sets to the black list for UID-0 testing (diff)
downloadgentoo-2-1408deb8f9719cdd70e1f0b553a743adc423fac4.tar.gz
gentoo-2-1408deb8f9719cdd70e1f0b553a743adc423fac4.tar.bz2
gentoo-2-1408deb8f9719cdd70e1f0b553a743adc423fac4.zip
Bump to 10.0, fixes bug #287626. Thanks to Alexander Thiem for the shiny patches.
(Portage version: 2.2_rc46/cvs/Linux x86_64)
Diffstat (limited to 'dev-db/ingres/ingres-10.0.0.108.ebuild')
-rw-r--r--dev-db/ingres/ingres-10.0.0.108.ebuild221
1 files changed, 221 insertions, 0 deletions
diff --git a/dev-db/ingres/ingres-10.0.0.108.ebuild b/dev-db/ingres/ingres-10.0.0.108.ebuild
new file mode 100644
index 000000000000..901a91513e58
--- /dev/null
+++ b/dev-db/ingres/ingres-10.0.0.108.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/ingres/ingres-10.0.0.108.ebuild,v 1.1 2009/10/22 22:06:07 patrick Exp $
+
+EAPI="2"
+
+inherit eutils flag-o-matic versionator
+
+# amd64 doesn't work yet
+KEYWORDS="~x86"
+SLOT="0"
+
+# Several Ingres instances can be installed with different
+# installation identifiers - default is II
+# This is not the same as slotting because we have
+# n installations of the same version which is not supported
+# by portage (e.g. portage doesn't know which one to unmerge)
+II_INSTALLATION=${II_INSTALLATION:-"II"}
+
+# Getting the version strings from the package name
+VERSION=$(get_version_component_range 1-3)
+SHORT_VERSION=$(get_version_component_range 1-2)
+BUILD=$(get_version_component_range 4)
+
+DESCRIPTION="Ingres Relational Database Management System"
+HOMEPAGE="http://www.ingres.com/"
+SRC_DIR="ingres-${VERSION}-${BUILD}-gpl-src"
+SRC_TGZ="${SRC_DIR}.tgz"
+DOWNLOAD_URL="http://dev.gentooexperimental.org/~dreeevil/ingres/ingres-${VERSION}-${BUILD}-gpl-src.tgz"
+SRC_URI="${DOWNLOAD_URL}/${SRC_TGZ}"
+S="${WORKDIR}/${SRC_DIR}"
+LICENSE="GPL-2"
+
+# nodbms means client installation
+IUSE="client net das odbc demodb"
+
+RDEPEND="dev-libs/xerces-c
+ app-arch/pax"
+
+DEPEND="${RDEPEND}
+ app-crypt/mit-krb5
+ dev-util/ftjam"
+
+PG_DIR="/var/lib/ingres"
+
+pkg_setup() {
+ if use client && use demodb; then
+ eerror "Cannot install demodb without the dbms"
+ die "Invalid USE flags"
+ fi
+
+ if [ -d "${PG_DIR}/Ingres${II_INSTALLATION}" ]; then
+ einfo "Existing installation found in ${PG_DIR}/Ingres${II_INSTALLATION}."
+ einfo "This installation will be upgraded."
+ einfo "If that is not what you want press CTRL-C now!"
+ epause 5
+ fi
+
+ if ps ax | grep -qe "iigc[n|c|d] ${II_INSTALLATION}"; then
+ ewarn ""
+ ewarn "Running instance of Ingres ${II_INSTALLATION} found!"
+ ewarn "Ingres will be compiled and merged but not configured"
+ ewarn "when another copy of the same instance is running."
+ ewarn "You can do that afterwards with "
+ ewarn "USE=\"...\" emerge --config ingres"
+ epause 5
+ fi
+
+ enewgroup ingres
+ enewuser ingres -1 /bin/bash ${PG_DIR} ingres
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${SHORT_VERSION}-bldenv.patch"
+ epatch "${FILESDIR}/${SHORT_VERSION}-sharelib.patch"
+ epatch "${FILESDIR}/${SHORT_VERSION}-Jamdefs.patch"
+ epatch "${FILESDIR}/${SHORT_VERSION}-mksecret.patch"
+ epatch "${FILESDIR}/sql.patch"
+}
+
+src_compile() {
+ export ING_ROOT="${S}"
+
+ local paxlocation=`which pax`
+ export PAXLOC=`dirname ${paxlocation}`
+
+ source src/tools/port/jam/bldenv || die "Setting of environment failed"
+
+ cd tools/port/jam
+ jam || die "Building of mkjams failed"
+ mkjams || die "Creation of jam files failed"
+
+ cd "$ING_SRC"
+
+ grep -vE "gtk|rpm|deb|packman|pixmap" front/st/Jamfile > front/st/_Jamfile
+ mv front/st/_Jamfile front/st/Jamfile
+
+ einfo "Compiling Ingres..."
+
+ jam -q || die "Building Ingres failed"
+
+}
+
+src_install() {
+
+ einfo "Creating II_SYSTEM..."
+
+ II_SYSTEM="${D}${PG_DIR}/Ingres${II_INSTALLATION}"
+
+ II_LOC="${II_SYSTEM}/ingres"
+
+ mkdir -p "${II_LOC}"
+
+ DIRS="abf bin ckp data demo dmp files ice jnl lib log sig utility work vdba version.rel"
+
+ for DIR in ${DIRS}; do
+ echo -n "${DIR} "
+ cp -rpLf "${S}/build/${DIR}" "${II_LOC}/" || die "Copying ${DIR} failed"
+ done
+ echo
+ chown -R ingres:ingres "${II_LOC}"
+
+ cat - > ${II_SYSTEM}/.ing${II_INSTALLATION}bash << EOF
+export II_SYSTEM=${PG_DIR}/Ingres${II_INSTALLATION}
+export PATH=\$II_SYSTEM/ingres/bin:\$II_SYSTEM/ingres/utility:\$PATH
+if [ "\$LD_LIBRARY_PATH" ] ; then
+ LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib:\$II_SYSTEM/ingres/lib
+else
+ LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:\$II_SYSTEM/ingres/lib
+fi
+export LD_LIBRARY_PATH
+export TERM=vt100
+export TERM_INGRES=vt100fx
+EOF
+
+ newinitd "${FILESDIR}/ingres-initd" ingres${II_INSTALLATION} || die "Adding init.d script failed"
+
+ einfo "done."
+}
+
+pkg_config() {
+
+ export II_SYSTEM="${PG_DIR}/Ingres${II_INSTALLATION}"
+
+ ERRMSG="Installing Ingres failed
+ You may find information in ${II_SYSTEM}/ingres/files/install.log.
+ You can retry by executing USE=\"...\" emerge --config ingres"
+
+ if ps ax | grep -qe "iigc[n|c|d] ${II_INSTALLATION}"; then
+ eerror "Running instance of Ingres ${II_INSTALLATION} found!"
+ eerror "Please stop that instance first, before upgrading."
+ die "${ERRMSG}"
+ fi
+
+ einfo "Fixing file permissions..."
+ chmod u+s "${II_SYSTEM}/ingres/bin/verifydb"
+ chmod u+s "${II_SYSTEM}/ingres/bin/ingvalidpw"
+ chmod u+s "${II_SYSTEM}/ingres/bin/iimerge"
+ chmod u+s "${II_SYSTEM}/ingres/utility/csreport"
+
+ einfo "Setting up Ingres (please wait - this will take a few minutes)"
+
+ PARTS="tm"
+
+ if ! use client; then
+ PARTS="${PARTS} dbms"
+ fi
+ for FLAG in net das odbc demodb; do
+ if use ${FLAG}; then
+ PARTS="${PARTS} ${FLAG}"
+ fi
+ done
+
+ for PART in ${PARTS}; do
+ einfo "${PART}..."
+ if [ ${PART} == "demodb" ]; then
+ su ingres -c "
+ . ${II_SYSTEM}/.ing${II_INSTALLATION}bash
+ cd ${II_SYSTEM}/ingres/demo/data
+ ingstart > /dev/null
+ if createdb -n demodb > /dev/null; then
+ sql demodb < copy.in > /dev/null
+ fi" || die "${ERRMSG}"
+ else
+ su ingres -c "
+ . ${II_SYSTEM}/.ing${II_INSTALLATION}bash
+ export II_INSTALLATION=${II_INSTALLATION}
+ ${II_SYSTEM}/ingres/utility/iisu${PART} -batch" || die "${ERRMSG}"
+ fi
+ done
+
+ einfo "Upgrading any existing databases"
+
+ su ingres -c "
+ . ${II_SYSTEM}/.ing${II_INSTALLATION}bash
+ ingstart > /dev/null 2>&1
+ upgradedb -all > /dev/null
+ ingstop > /dev/null" || die "${ERRMSG}"
+
+ su ingres -c "
+ . ${II_SYSTEM}/.ing${II_INSTALLATION}bash
+ ingsetenv ING_ABFDIR ${II_SYSTEM}/ingres/abf" || die "${ERRMSG}"
+
+ "${II_SYSTEM}/ingres/bin/mkvalidpw" > /dev/null || die "${ERRMSG}"
+
+ einfo "Done."
+
+}
+
+pkg_postinst() {
+
+ pkg_config
+
+ elog ""
+ elog "Run '/etc/init.d/ingres${II_INSTALLATION} start' to start Ingres"
+ elog ""
+ elog "After that, as user ingres type"
+ elog " source ${PG_DIR}/Ingres${II_INSTALLATION}/.ing${II_INSTALLATION}bash"
+ elog "to run the Ingres commands such as sql or createdb."
+
+}