# 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}.0" MY_PSDK_x86="${MY_P_x86/basic/sdk}" MY_PBASE_amd64="${PN/oracle-instantclient-basic/instantclient-basic-linux}-x86-64-${PV}.0" MY_P_amd64="${PN/oracle-instantclient-basic/instantclient-basic-linux}-x86-64-${PV}.0" MY_PSDK_amd64="${MY_PBASE_amd64/basic/sdk}" DESCRIPTION="Oracle 11g client installation for Linux with SDK" HOMEPAGE="http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html" SRC_URI="x86? ( ${MY_P_x86}.zip ${MY_PSDK_x86}.zip ) amd64? ( ${MY_P_amd64}.zip ${MY_PSDK_amd64}.zip )" LICENSE="OTN" SLOT="0" KEYWORDS="-* ~x86 ~amd64" RESTRICT="fetch" IUSE="" DEPEND="app-arch/unzip" RDEPEND="dev-libs/libaio" S="${WORKDIR}" 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() { # SDK makefile dodir /usr/$(get_libdir)/oracle/${PV}/client/rdbms/demo cd "${S}"/instantclient_11_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_11_2 insinto /usr/$(get_libdir)/oracle/${PV}/client/lib doins *.jar *.so *.so.11.1 # fixes symlinks dosym /usr/$(get_libdir)/oracle/${PV}/client/lib/libocci.so.11.1 /usr/$(get_libdir)/oracle/${PV}/client/lib/libocci.so dosym /usr/$(get_libdir)/oracle/${PV}/client/lib/libclntsh.so.11.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_11_2/sdk/include # Remove ldap.h, #299562 rm ldap.h || die "rm failed" 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_11_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 package for Oracle 11g 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 "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." }