You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
3.7 KiB
115 lines
3.7 KiB
# 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."
|
|
}
|