# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 inherit eutils multilib MY_P_x86="${PN/oracle-/}-linux32-${PV}-20061115" MY_PSDK_x86="${MY_P_x86/basic/sdk}" MY_P_amd64="${PN/oracle-/}-linux-x86-64-${PV}-20070103" MY_PSDK_amd64="${MY_P_amd64/basic/sdk}" S=${WORKDIR} DESCRIPTION="Oracle 10g client installation for Linux with SDK" HOMEPAGE="http://www.oracle.com/technology/tech/oci/instantclient/index.html" SRC_URI="amd64? ( ${MY_P_amd64}.zip ${MY_PSDK_amd64}.zip ) x86? ( ${MY_P_x86}.zip ${MY_PSDK_x86}.zip )" LICENSE="OTN" SLOT="0" KEYWORDS="-* amd64 x86" RESTRICT="fetch" IUSE="" DEPEND="app-arch/unzip" RDEPEND="~virtual/libstdc++-3.3" my_arch() { MY_P=MY_P_${ARCH} export MY_P=${!MY_P} MY_PSDK=MY_PSDK_${ARCH} export MY_PSDK=${!MY_PSDK} } pkg_setup() { my_arch } pkg_nofetch() { my_arch eerror "Please go to:" eerror " ${HOMEPAGE}" eerror "select your platform and download the" eerror "Basic client package with SDK, which are:" eerror " ${MY_P}.zip" eerror " ${MY_PSDK}.zip" eerror "Then after downloading put them in:" eerror " ${DISTDIR}" } src_unpack() { unzip "${DISTDIR}"/${MY_P}.zip || die "unsuccesful unzip ${MY_P}.zip" unzip "${DISTDIR}"/${MY_PSDK}.zip || die "unsuccesful unzip ${MY_PSDK}.zip" } src_install() { # Patch the SDK makefile epatch "${FILESDIR}"/${P}-makefile.patch # SDK makefile dodir /usr/$(get_libdir)/oracle/${PV}/client/rdbms/demo cd "${S}"/instantclient_10_2/sdk/demo mv demo.mk demo_xe.mk insinto /usr/$(get_libdir)/oracle/${PV}/client/rdbms/demo doins demo_xe.mk # library dodir /usr/$(get_libdir)/oracle/${PV}/client/lib cd "${S}"/instantclient_10_2 insinto /usr/$(get_libdir)/oracle/${PV}/client/lib doins *.jar *.so *.so.10.1 # fixes symlinks dosym /usr/$(get_libdir)/oracle/${PV}/client/lib/libocci.so.10.1 /usr/$(get_libdir)/oracle/${PV}/client/lib/libocci.so dosym /usr/$(get_libdir)/oracle/${PV}/client/lib/libclntsh.so.10.1 /usr/$(get_libdir)/oracle/${PV}/client/lib/libclntsh.so dosym /usr/$(get_libdir)/oracle/${PV}/client/include /usr/$(get_libdir)/oracle/${PV}/client/rdbms/public # includes dodir /usr/$(get_libdir)/oracle/${PV}/client/include insinto /usr/$(get_libdir)/oracle/${PV}/client/include cd "${S}"/instantclient_10_2/sdk/include doins *.h # link to original location dodir /usr/include/oracle/${PV}/ ln -s "${D}"/usr/$(get_libdir)/oracle/${PV}/client/include "${D}"/usr/include/oracle/${PV}/client # share info cd "${S}"/instantclient_10_2/sdk/demo dodoc * # Add OCI libs to library path dodir /etc/env.d echo "ORACLE_HOME=/usr/$(get_libdir)/oracle/${PV}/client" >> "${D}"/etc/env.d/50oracle-instantclient-basic echo "LDPATH=/usr/$(get_libdir)/oracle/${PV}/client/lib" >> "${D}"/etc/env.d/50oracle-instantclient-basic echo "C_INCLUDE_PATH=/usr/$(get_libdir)/oracle/${PV}/client/include" >> "${D}"/etc/env.d/50oracle-instantclient-basic echo "TNS_ADMIN=/etc/oracle/" >> "${D}"/etc/env.d/50oracle-instantclient-basic # create path for tnsnames.ora dodir /etc/oracle } pkg_postinst() { elog "The Basic client page for Oracle 10g has been installed." elog "You may also wish to install the oracle-instantclient-jdbc (for" elog "supplemental JDBC functionality with Oracle) and the" elog "oracle-instantclient-sqlplus (for running the SQL*Plus application)" elog "packages as well." elog elog "Examples are located in /usr/share/doc/${PF}/" elog elog "oracle-instantclient-* packages aren't installed in different" elog "SLOTs any longer. You may want to uninstall older versions." elog elog "TNS_ADMIN has been set to "${ROOT}"etc/oracle by default, put your" elog "tnsnames.ora there or configure TNS_ADMIN to point to" elog "your user specific configuration." }