diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-db/oracle-instantclient-basic | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-db/oracle-instantclient-basic')
9 files changed, 815 insertions, 0 deletions
diff --git a/dev-db/oracle-instantclient-basic/Manifest b/dev-db/oracle-instantclient-basic/Manifest new file mode 100644 index 000000000000..466c86e32785 --- /dev/null +++ b/dev-db/oracle-instantclient-basic/Manifest @@ -0,0 +1,16 @@ +DIST instantclient-basic-linux-11.2.0.3.0.zip 58502865 SHA256 1d5f9a3db6cdf91c332e75aa42995729e499f794bea6c5806ecba357c1258239 SHA512 c790f593e67bcc7c114a6287e1f064c03f292472e0a1a5e617a9f19017f06442f31502f66af8e6cfdf2235a18546104dc9aac164a3aa641db5728b66685c9302 WHIRLPOOL 5d2f256cfb39af3207698b261c12837a2b8385e4e11cee8d2bad6978899168962d396c2239d9a92f7656a44b9e3391057d23e176749fc74b6622a8d386d7241c +DIST instantclient-basic-linux-11.2.0.4.0.zip 58793148 SHA256 462c300f43a87d053e8254982bf955d850ddc7b2801bbf6686dcf5ea8139b06d SHA512 b333c9334e960617ac7cc68ad1c7b45f990d5c24c7a5bc8e51b3bc8ff6476acfb6a032521f75ba39327c71ee9676d1163b252066d52e97c1dfe9c092a92a62a0 WHIRLPOOL efd4ea8c7c3fe52203f81b0c236d0da2b169069d5bb27e1ec985606051d4fa7ce95e1e53525b534a392b2e647916431a8b9cda34f408ce2c16c3740eaee0b098 +DIST instantclient-basic-linux-x86-64-10.2.0.3-20070103.zip 36454483 SHA256 9195ab13e59365bfef6b2b43732a652d77d7ef8b93019f31104bc13832c6a491 +DIST instantclient-basic-linux-x86-64-11.2.0.2.0.zip 59090676 SHA256 eeaa8101138b59c73c22bbb25e2a1cfd415dc830cafba6f9f19696789ab666e2 +DIST instantclient-basic-linux.x64-11.2.0.3.0.zip 60331694 SHA256 202d8abc5a3e626e00fdba805b60b3e4bd21aaa94a49cc3fc36bc4ed616ab436 SHA512 708940b5ca5bc4e0617da2c4da61d0a85834e3e0731ac328a201954558a624162f71d342d674b08ec2cf076e8f639c230f88a73f6d9bfe8908b0e76805e617b7 WHIRLPOOL 3b9653c2bebcd63177158d1a9520296368afbf63b1d7693ee15104b4869aa7573b9227d5958eda7c1a520a98ca98bae780209077487e0885bd09396071c90e95 +DIST instantclient-basic-linux.x64-11.2.0.4.0.zip 60704657 SHA256 77efd0021c3e122075bf994786646e123063af843475395eb95b139501387160 SHA512 01ed32f1771bfa2f8ef1b81314843fb2b7b81582f33c07d86670c959bbb08355dc7cc8da586852bb353a3a914658d1e7828d6b5df884215de8d76881c956a989 WHIRLPOOL 467612cc84bd40cf2871e4b4477c3a92d2926adbca2e1e47f5cfed9626f2d2e4a8d01bb8050e93ad1ff8302fa6b5b934389efdcff07ecd43fd263092997a25d2 +DIST instantclient-basic-linux32-10.2.0.3-20061115.zip 34556803 SHA256 11fce485c405afa4a30f34eba36ad0d566a599617f80dfc565bd08d8c421e1ae +DIST instantclient-basic-linux32-11.2.0.2.0.zip 57278802 SHA256 53f97a73991b2380e987f7cf4e1ba650a866044892c378b9340dc2e695160c14 +DIST instantclient-sdk-linux-11.2.0.3.0.zip 639306 SHA256 f51b3c91a63f176443a681881fb15281c4487dde637c9c6e5b0703462a330bee SHA512 fa0f98d4b2002982fab4438f734904e0ebfab777d601321423b454f9188c3b863e853fc5486c9958771f7ff8c9a544ce73e80750d745c3142872927ed1777ee1 WHIRLPOOL fb9c18785c62b2b6eef274c7c0e58d59b30491ef377eca4be4abbe263099660138bcb4d58da56b7184ad39d5226a3b16aedb9358eed252c3b46a3f7ae6f1a2cb +DIST instantclient-sdk-linux-11.2.0.4.0.zip 643080 SHA256 672e4a73f6015fd744082f1c788df154c48d2e4efd1ca038a35c7dab6513ab9a SHA512 09e14a0ed88182b685a00b6370da4379710c4179fcf2d5ebdb43684b7099484122f7f5181a80352464f03ae9d0150f5c2ee5f20ede98faa9073294324b9faec8 WHIRLPOOL 4dd283fc2144af2cc164dd9756c84503210d9ce0032cd8e7c4c9a9ad733a2182334aeefddd9f3375e2c0a4bd83cd994042963a65198465fa325e014482e466de +DIST instantclient-sdk-linux-x86-64-10.2.0.3-20070103.zip 603137 SHA256 d9da1494a9d19e96bff79c3ff77d079633d18c7d9b462a37eacc9a2a40641912 SHA512 25b00c407d4ed04287cc8473cf156c7c987e2c36787cf1bac229b902adc2781554f10f1a50b17bae96e2704b217ff60c4eb9f8c79ecdb3d44b13c9a84784a766 WHIRLPOOL 752ba8c748705b21048927b8204bf8696cb7b3c69157b9477af21fee666e8bf29c6110705fae6531e37244d72412808482ea711b9258a196e3db4fe4b0431bee +DIST instantclient-sdk-linux-x86-64-11.2.0.2.0.zip 638214 SHA256 9faf4edec8806e8ed38419d17587e19de673a9e0bbdeb24a9e232e118681500e +DIST instantclient-sdk-linux.x64-11.2.0.3.0.zip 641586 SHA256 6c7be8e2ad4288eb2e7453ca73a5ead89b6016dc4fd4e10b38bc95bbd2748ece SHA512 08b3fdc68e09f262549e2505867943aff5c3927d158569ea7e0bca4f958af725a46143d325dcf80a6d48d09f9240f147470439ac55ea848a27df3eeedd28f732 WHIRLPOOL e8a3c583b82c0adefff4200b5945704bfa6c106d32be82ce7c64adb10f92af0085b53f15836d4f92c177f20f33d5ca1fc60b6ddd972eb1ddb502f3091e9e9ff5 +DIST instantclient-sdk-linux.x64-11.2.0.4.0.zip 643089 SHA256 44473954a2e7031a4eec4692766cbf3c69e55c217bd1c5f8bee29a36da555dcc SHA512 7198ddc7d8804353900e45b36de79659d75dee0197c4dd58bd4d69408e7131c95025223bbd1f39ef208269bff379daa6e05f4371af83a82b83997cafadc1d642 WHIRLPOOL a673fa91683939c4a32aef3ccb8ab5374eee05d41478bfbfb6908ebe08ea624ac7661ccaed52a5ab55a3b87eaded4b6e6f6d2374e7f7c4b9f1ce802b15c4e69f +DIST instantclient-sdk-linux32-10.2.0.3-20061115.zip 602897 SHA256 6893a784e1802e18300230dcac1ed2ecd6dc68a7060c02717f73bf268d43f6a5 +DIST instantclient-sdk-linux32-11.2.0.2.0.zip 638200 SHA256 172c0116de16f55abd775aaf4dd1666d0e64eb1226b43388974ccf83235c8b18 diff --git a/dev-db/oracle-instantclient-basic/files/11.2.0.3-makefile.patch b/dev-db/oracle-instantclient-basic/files/11.2.0.3-makefile.patch new file mode 100644 index 000000000000..efcc2c6fac7c --- /dev/null +++ b/dev-db/oracle-instantclient-basic/files/11.2.0.3-makefile.patch @@ -0,0 +1,57 @@ +Fake demo_xe.mk found in Oracle eXpress Edition, +known by CPAN DBD::Oracle (bug#165834). +This provides absolute paths for headers and libraries. + +Paranoia drops those REMOVE lines. +--- sdk/demo/demo.mk.orig 2012-03-06 17:11:57.636990449 +0100 ++++ sdk/demo/demo.mk 2012-03-06 17:19:37.985324293 +0100 +@@ -28,8 +28,9 @@ + CC=/opt/SunProd/SUNWspro6.1/bin/CC + cc=/opt/SunProd/SUNWspro6.1/bin/cc + +-ICINCHOME=../ +-ICLIBHOME=../../ ++LIBDIR=lib ++ICINCHOME=$(ORACLE_HOME)/ ++ICLIBHOME=$(ORACLE_HOME)/$(LIBDIR) + ICLIBPATH=-L$(ICLIBHOME) + THREADLIBS=-lthread + CCLIB=$(ICLIBPATH) -locci -lclntsh $(THREADLIBS) +@@ -64,18 +64,18 @@ + all: clean buildoci $(OCCIDEMO) $(OCCIOBJDEMO) + + buildoci: $(CLNCACHE) $(LIBCLNT) $(CDEMOOBJS) +- $(MKLINK) $(ICLIBHOME)libclntsh$(SO_EXT).11.1 $(ICLIBHOME)libclntsh$(SO_EXT) +- $(MKLINK) $(ICLIBHOME)libocci$(SO_EXT).11.1 $(ICLIBHOME)libocci$(SO_EXT) ++# $(MKLINK) $(ICLIBHOME)libclntsh$(SO_EXT).11.1 $(ICLIBHOME)libclntsh$(SO_EXT) ++# $(MKLINK) $(ICLIBHOME)libocci$(SO_EXT).11.1 $(ICLIBHOME)libocci$(SO_EXT) + $(CC) -o $(CDEMOEXE) $(LDFLAGS) $(CDEMOOBJS) $(CCLIB) +- $(REMOVE) $(ICLIBHOME)libclntsh$(SO_EXT) +- $(REMOVE) $(ICLIBHOME)libocci$(SO_EXT) ++# $(REMOVE) $(ICLIBHOME)libclntsh$(SO_EXT) ++# $(REMOVE) $(ICLIBHOME)libocci$(SO_EXT) + + buildocci: $(CLNCACHE) $(LIBCLNT) $(OBJS) +- $(MKLINK) $(ICLIBHOME)libclntsh$(SO_EXT).11.1 $(ICLIBHOME)libclntsh$(SO_EXT) +- $(MKLINK) $(ICLIBHOME)libocci$(SO_EXT).11.1 $(ICLIBHOME)libocci$(SO_EXT) ++# $(MKLINK) $(ICLIBHOME)libclntsh$(SO_EXT).11.1 $(ICLIBHOME)libclntsh$(SO_EXT) ++# $(MKLINK) $(ICLIBHOME)libocci$(SO_EXT).11.1 $(ICLIBHOME)libocci$(SO_EXT) + $(CC) -o $(EXE) $(LDFLAGS) $(OBJS) $(CCLIB) +- $(REMOVE) $(ICLIBHOME)libclntsh$(SO_EXT) +- $(REMOVE) $(ICLIBHOME)libocci$(SO_EXT) ++# $(REMOVE) $(ICLIBHOME)libclntsh$(SO_EXT) ++# $(REMOVE) $(ICLIBHOME)libocci$(SO_EXT) + + $(OCCIDEMO): + $(MAKE) -f $(MAKEFILE) buildocci OBJS=$@.o EXE=$@ +@@ -93,8 +93,8 @@ + + cleancache: + $(REMOVE) $(CACHEDIR) +- $(REMOVE) $(ICLIBHOME)libclntsh$(SO_EXT) +- $(REMOVE) $(ICLIBHOME)libocci$(SO_EXT) ++# $(REMOVE) $(ICLIBHOME)libclntsh$(SO_EXT) ++# $(REMOVE) $(ICLIBHOME)libocci$(SO_EXT) + + clean: $(CLNCACHE) + $(REMOVE) cdemo81 cdemo81.o occidml occidml.o occiobj occiobj.o occiobjo* occiobjm* occiobj.h occiobjout.type diff --git a/dev-db/oracle-instantclient-basic/files/oracle-instantclient-basic-10.2.0.3-makefile.patch b/dev-db/oracle-instantclient-basic/files/oracle-instantclient-basic-10.2.0.3-makefile.patch new file mode 100644 index 000000000000..80df560a1014 --- /dev/null +++ b/dev-db/oracle-instantclient-basic/files/oracle-instantclient-basic-10.2.0.3-makefile.patch @@ -0,0 +1,11 @@ +--- instantclient_10_2/sdk/demo/demo.mk.orig 2007-02-06 17:51:47.018247041 -0800 ++++ instantclient_10_2/sdk/demo/demo.mk 2007-02-06 17:52:35.374869934 -0800 +@@ -30,7 +30,7 @@ + + ICINCHOME=../ + ICLIBHOME=../../ +-ICLIBPATH=-L$(ICLIBHOME) ++ICLIBPATH=-L$(ICLIBHOME) -L$(ORACLE_HOME)/lib + THREADLIBS=-lthread + CCLIB=$(ICLIBPATH) -locci -lclntsh $(THREADLIBS) + diff --git a/dev-db/oracle-instantclient-basic/files/tnsnames.ora.sample b/dev-db/oracle-instantclient-basic/files/tnsnames.ora.sample new file mode 100644 index 000000000000..f0524f5993cd --- /dev/null +++ b/dev-db/oracle-instantclient-basic/files/tnsnames.ora.sample @@ -0,0 +1,93 @@ +# This file contains the syntax information for +# the entries to be put in any tnsnames.ora file +# The entries in this file are need based. +# There are no defaults for entries in this file +# that Sqlnet/Net3 use that need to be overridden +# +# Typically you could have two tnsnames.ora files +# in the system, one that is set for the entire system +# and is called the system tnsnames.ora file, and a +# second file that is used by each user locally so that +# he can override the definitions dictated by the system +# tnsnames.ora file. + +# The entries in tnsnames.ora are an alternative to using +# the names server with the onames adapter. +# They are a collection of aliases for the addresses that +# the listener(s) is(are) listening for a database or +# several databases. + +# The following is the general syntax for any entry in +# a tnsnames.ora file. There could be several such entries +# tailored to the user's needs. + +<alias>= [ (DESCRIPTION_LIST = # Optional depending on whether u have + # one or more descriptions + # If there is just one description, unnecessary ] + (DESCRIPTION= + [ (SDU=2048) ] # Optional, defaults to 2048 + # Can take values between 512 and 32K + [ (ADDRESS_LIST= # Optional depending on whether u have + # one or more addresses + # If there is just one address, unnecessary ] + (ADDRESS= + [ (COMMUNITY=<community_name>) ] + (PROTOCOL=tcp) + (HOST=<hostname>) + (PORT=<portnumber (1521 is a standard port used)>) + ) + [ (ADDRESS= + (PROTOCOL=ipc) + (KEY=<ipckey (PNPKEY is a standard key used)>) + ) + ] + [ (ADDRESS= + [ (COMMUNITY=<community_name>) ] + (PROTOCOL=decnet) + (NODE=<nodename>) + (OBJECT=<objectname>) + ) + ] + ... # More addresses + [ ) ] # Optional depending on whether ADDRESS_LIST is used or not + [ (CONNECT_DATA= + (SID=<oracle_sid>) + [ (GLOBAL_NAME=<global_database_name>) ] + ) + ] + [ (SOURCE_ROUTE=yes) ] + ) + (DESCRIPTION= + [ (SDU=2048) ] # Optional, defaults to 2048 + # Can take values between 512 and 32K + [ (ADDRESS_LIST= ] # Optional depending on whether u have more + # than one address or not + # If there is just one address, unnecessary + (ADDRESS + [ (COMMUNITY=<community_name>) ] + (PROTOCOL=tcp) + (HOST=<hostname>) + (PORT=<portnumber (1521 is a standard port used)>) + ) + [ (ADDRESS= + (PROTOCOL=ipc) + (KEY=<ipckey (PNPKEY is a standard key used)>) + ) + ] + ... # More addresses + [ ) ] # Optional depending on whether ADDRESS_LIST + # is being used + [ (CONNECT_DATA= + (SID=<oracle_sid>) + [ (GLOBAL_NAME=<global_database_name>) ] + ) + ] + [ (SOURCE_ROUTE=yes) ] + ) + [ (CONNECT_DATA= + (SID=<oracle_sid>) + [ (GLOBAL_NAME=<global_database_name>) ] + ) + ] + ... # More descriptions + [ ) ] # Optional depending on whether DESCRIPTION_LIST is used or not diff --git a/dev-db/oracle-instantclient-basic/metadata.xml b/dev-db/oracle-instantclient-basic/metadata.xml new file mode 100644 index 000000000000..f189d943b5d8 --- /dev/null +++ b/dev-db/oracle-instantclient-basic/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> + <email>haubi@gentoo.org</email> +</maintainer> +<longdescription>Instant Client Package - Basic: All files required to run OCI, OCCI, and JDBC-OCI applications</longdescription> +</pkgmetadata> diff --git a/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-10.2.0.3-r1.ebuild b/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-10.2.0.3-r1.ebuild new file mode 100644 index 000000000000..4ef0ba4aed4a --- /dev/null +++ b/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-10.2.0.3-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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." +} diff --git a/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.2.ebuild b/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.2.ebuild new file mode 100644 index 000000000000..372e20ef1f64 --- /dev/null +++ b/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.2.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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." +} diff --git a/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.3.ebuild b/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.3.ebuild new file mode 100644 index 000000000000..f1ea34b85b11 --- /dev/null +++ b/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.3.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils multilib + +MY_PLAT_x86="Linux x86" +MY_BITS_x86=32 +MY_A_x86="${PN/oracle-/}-linux-${PV}.0.zip" +MY_ASDK_x86="${MY_A_x86/basic/sdk}" + +MY_PLAT_amd64="Linux x86-64" +MY_BITS_amd64=64 +MY_A_amd64="${PN/oracle-}-linux.x64-${PV}.0.zip" +MY_ASDK_amd64="${MY_A_amd64/basic/sdk}" + +DESCRIPTION="Oracle 11g Instant Client with SDK" +HOMEPAGE="http://www.oracle.com/technetwork/database/features/instant-client/index.html" +SRC_URI=" + x86? ( ${MY_A_x86} ${MY_ASDK_x86} ) + amd64? ( ${MY_A_amd64} ${MY_ASDK_amd64} multilib? ( ${MY_A_x86} ) ) +" + +LICENSE="OTN" +SLOT="0" +KEYWORDS="amd64 x86" +RESTRICT="fetch" +IUSE="multilib" + +EMULTILIB_PKG="true" + +DEPEND="app-arch/unzip" +RDEPEND=" + dev-libs/libaio + multilib? ( >=dev-libs/libaio-0.3.109-r3 ) +" + +S="${WORKDIR}" + +QA_PREBUILT="usr/lib*/oracle/${PV}/client/lib*/lib*" + +set_my_abivars() { + S="${WORKDIR}/${ABI}/instantclient_11_2" + + local abi=${ABI} + [[ ${abi} == 'default' ]] && abi=${ARCH} + MY_PLAT=MY_PLAT_${abi}; MY_PLAT=${!MY_PLAT} # platform name + MY_BITS=MY_BITS_${abi}; MY_BITS=${!MY_BITS} # platform bitwidth + MY_A=MY_A_${abi} ; MY_A=${!MY_A} # runtime distfile + MY_ASDK=MY_ASDK_${abi}; MY_ASDK=${!MY_ASDK} # sdk distfile + + [[ -n ${MY_PLAT} ]] +} + +oic_distfile_status() { + if [[ -r ${DISTDIR}/${1} ]]; then + echo "already here" + else + echo "still absent" + fi +} + +pkg_nofetch() { + eerror "Please go to" + eerror " ${HOMEPAGE%/*}/index-097480.html" + eerror " and download" + for ABI in $(get_install_abis) + do + set_my_abivars || continue + eerror "Instant Client for ${MY_PLAT}" + eerror " Basic: ($(oic_distfile_status ${MY_A})) ${MY_A}" + if is_final_abi; then + eerror " SDK: ($(oic_distfile_status ${MY_ASDK})) ${MY_ASDK}" + fi + done + eerror "After downloading these files (for *all* shown architectures), put them in:" + eerror " ${DISTDIR}/" +} + +src_unpack() { + for ABI in $(get_install_abis) + do + set_my_abivars || continue + mkdir "${WORKDIR}"/${ABI} || die + cd "${WORKDIR}"/${ABI} || die + unpack ${MY_A} + if is_final_abi; then + unpack ${MY_ASDK} + fi + done +} + +src_prepare() { + # need to patch for the final ABI only + set_my_abivars || die "${ABI} ABI not supported!" + cd "${S}" || die + epatch "${FILESDIR}"/11.2.0.3-makefile.patch +} + +src_install() { + # all binaries go here + local oracle_home=/usr/$(get_libdir)/oracle/${PV}/client + into "${oracle_home}" + + local ldpath= + for ABI in $(get_install_abis) # last iteration is final ABI + do + if ! set_my_abivars; then + elog "Skipping unsupported ABI ${ABI}." + continue + fi + einfo "Installing runtime for ${MY_PLAT} ..." + + cd "${S}" || die + + # shared libraries + dolib.so lib*$(get_libname)* + + # ensure to be linkable + [[ -e libocci$(get_libname) ]] || + dosym libocci$(get_libname 11.1) \ + "${oracle_home}"/$(get_libdir)/libocci$(get_libname) + [[ -e libclntsh$(get_libname) ]] || + dosym libclntsh$(get_libname 11.1) \ + "${oracle_home}"/$(get_libdir)/libclntsh$(get_libname) + + # java archives + insinto "${oracle_home}"/$(get_libdir) + doins *.jar + + # runtime library path + ldpath+=${ldpath:+:}${oracle_home}/$(get_libdir) + + eend $? + done + + # ensure ORACLE_HOME/lib exists + [[ -e ${ED}${oracle_home}/lib ]] || + dosym $(get_libdir) "${oracle_home}"/lib + + einfo "Installing SDK ..." + cd "${S}"/sdk || die + + # SDK makefile, for #165834 + # As we change the relative filesystem layout compared + # to vanilla instantclient.zip content, it feels easier + # to fake the layout found in Oracle eXpress Edition. + # Both layouts are known to DBD::Oracle (cpan). + insinto "${oracle_home}"/rdbms/demo + newins demo/demo.mk demo_xe.mk + + # Remove ldap.h, #299562 + rm include/ldap.h || die + # DBD::Oracle needs rdbms/public as real directory + insinto "${oracle_home}"/rdbms/public + doins include/*.h + dosym rdbms/public "${oracle_home}"/include + # ruby-oci8 expects the headers here + dosym "${oracle_home}"/rdbms/public /usr/include/oracle/${PV}/client + + dodoc demo/* + + eend $? + + # create path for tnsnames.ora + insinto /etc/oracle + doins "${FILESDIR}"/tnsnames.ora.sample + + # Add OCI libs to library path + { + echo "ORACLE_HOME=${EPREFIX}${oracle_home}" + echo "LDPATH=${ldpath}" +# who does need this? +# echo "C_INCLUDE_PATH=${oracle_home}/include" + echo "TNS_ADMIN=/etc/oracle/" + } > "${T}"/50oracle-instantclient-basic + doenvd "${T}"/50oracle-instantclient-basic +} + +pkg_postinst() { + elog "${P} does not provide an sqlnet.ora" + elog "configuration file, redirecting oracle diagnostics for database-" + elog "and network-issues into ~USER/oradiag_USER/ instead." + elog "It should be safe to ignore this message in sqlnet.log there:" + elog " Directory does not exist for read/write [ORACLE_HOME/client/log] []" + elog "See https://bugs.gentoo.org/show_bug.cgi?id=465252 for reference." + elog "If you want to directly analyse low-level debug info or don't want" + elog "to see it at all, so you really need an sqlnet.ora file, please" + elog "consult http://search.oracle.com/search/search?q=sqlnet.ora" + elog "" + elog "TNS_ADMIN has been set to ${EROOT}etc/oracle by default," + elog "put your tnsnames.ora there or configure TNS_ADMIN" + elog "to point to your user specific configuration." + ewarn "Please re-source your shell settings for ORACLE_HOME" + ewarn " changes, such as: source /etc/profile" +} diff --git a/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.4.ebuild b/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.4.ebuild new file mode 100644 index 000000000000..fa7547f640bc --- /dev/null +++ b/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.4.ebuild @@ -0,0 +1,200 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils multilib-minimal + +MY_PLAT_x86="Linux x86" +MY_BITS_x86=32 +MY_A_x86="${PN/oracle-/}-linux-${PV}.0.zip" +MY_ASDK_x86="${MY_A_x86/basic/sdk}" + +MY_PLAT_amd64="Linux x86-64" +MY_BITS_amd64=64 +MY_A_amd64="${PN/oracle-}-linux.x64-${PV}.0.zip" +MY_ASDK_amd64="${MY_A_amd64/basic/sdk}" + +DESCRIPTION="Oracle 11g Instant Client with SDK" +HOMEPAGE="http://www.oracle.com/technetwork/database/features/instant-client/index.html" +SRC_URI=" + abi_x86_32? ( ${MY_A_x86} !abi_x86_64? ( ${MY_ASDK_x86} ) ) + abi_x86_64? ( ${MY_A_amd64} ${MY_ASDK_amd64} ) +" + +LICENSE="OTN" +SLOT="0" +KEYWORDS="amd64 x86" +RESTRICT="fetch splitdebug" +IUSE="" + +DEPEND="app-arch/unzip" +RDEPEND=">=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}]" + +S="${WORKDIR}" + +QA_PREBUILT="usr/lib*/oracle/${PV}/client/lib*/lib*" + +set_my_abivars() { + S="${WORKDIR}/${ABI}/instantclient_11_2" + + local abi=${ABI} + [[ ${abi} == 'default' ]] && abi=${ARCH} + MY_PLAT=MY_PLAT_${abi}; MY_PLAT=${!MY_PLAT} # platform name + MY_BITS=MY_BITS_${abi}; MY_BITS=${!MY_BITS} # platform bitwidth + MY_A=MY_A_${abi} ; MY_A=${!MY_A} # runtime distfile + MY_ASDK=MY_ASDK_${abi}; MY_ASDK=${!MY_ASDK} # sdk distfile + + [[ -n ${MY_PLAT} ]] +} + +oic_distfile_status() { + if [[ -r ${DISTDIR}/${1} ]]; then + echo "already here" + else + echo "still absent" + fi +} + +pkg_nofetch() { + eerror "Please go to" + eerror " ${HOMEPAGE%/*}/index-097480.html" + eerror " and download" + local ABI + for ABI in $(multilib_get_enabled_abis) + do + set_my_abivars || continue + eerror "Instant Client for ${MY_PLAT}" + eerror " Basic: ($(oic_distfile_status ${MY_A})) ${MY_A}" + multilib_is_native_abi && + eerror " SDK: ($(oic_distfile_status ${MY_ASDK})) ${MY_ASDK}" + done + eerror "After downloading these files (for *all* shown architectures), put them in:" + eerror " ${DISTDIR}/" +} + +src_unpack() { + local ABI + for ABI in $(multilib_get_enabled_abis) + do + set_my_abivars || continue + mkdir "${WORKDIR}"/${ABI} || die + cd "${WORKDIR}"/${ABI} || die + unpack ${MY_A} + multilib_is_native_abi && + unpack ${MY_ASDK} + done +} + +src_prepare() { + local ABI + for ABI in $(multilib_get_enabled_abis) + do : # need to patch for the final ABI only + done + set_my_abivars || die "${ABI} ABI not supported!" + cd "${S}" || die + epatch "${FILESDIR}"/11.2.0.3-makefile.patch +} + +# suppress configure&compile messages from multilib-minimal +src_configure() { :; } +src_compile() { :; } + +src_install() { + # all binaries go here + local oracle_home=/usr/$(get_libdir)/oracle/${PV}/client + into "${oracle_home}" + + local ldpath= ABI + for ABI in $(multilib_get_enabled_abis) # last iteration is final ABI + do + if ! set_my_abivars; then + elog "Skipping unsupported ABI ${ABI}." + continue + fi + einfo "Installing runtime for ${MY_PLAT} ..." + + cd "${S}" || die + + # shared libraries + dolib.so lib*$(get_libname)* + + # ensure to be linkable + [[ -e libocci$(get_libname) ]] || + dosym libocci$(get_libname 11.1) \ + "${oracle_home}"/$(get_libdir)/libocci$(get_libname) + [[ -e libclntsh$(get_libname) ]] || + dosym libclntsh$(get_libname 11.1) \ + "${oracle_home}"/$(get_libdir)/libclntsh$(get_libname) + + # java archives + insinto "${oracle_home}"/$(get_libdir) + doins *.jar + + # runtime library path + ldpath+=${ldpath:+:}${oracle_home}/$(get_libdir) + + eend $? + done + + # ensure ORACLE_HOME/lib exists + [[ -e ${ED}${oracle_home}/lib ]] || + dosym $(get_libdir) "${oracle_home}"/lib + + einfo "Installing SDK ..." + cd "${S}"/sdk || die + + # SDK makefile, for #165834 + # As we change the relative filesystem layout compared + # to vanilla instantclient.zip content, it feels easier + # to fake the layout found in Oracle eXpress Edition. + # Both layouts are known to DBD::Oracle (cpan). + insinto "${oracle_home}"/rdbms/demo + newins demo/demo.mk demo_xe.mk + + # Remove ldap.h, #299562 + rm include/ldap.h || die + # DBD::Oracle needs rdbms/public as real directory + insinto "${oracle_home}"/rdbms/public + doins include/*.h + dosym rdbms/public "${oracle_home}"/include + # ruby-oci8 expects the headers here + dosym "${oracle_home}"/rdbms/public /usr/include/oracle/${PV}/client + + dodoc demo/* + + eend $? + + # create path for tnsnames.ora + insinto /etc/oracle + doins "${FILESDIR}"/tnsnames.ora.sample + + # Add OCI libs to library path + { + echo "ORACLE_HOME=${EPREFIX}${oracle_home}" + echo "LDPATH=${ldpath}" +# who does need this? +# echo "C_INCLUDE_PATH=${oracle_home}/include" + echo "TNS_ADMIN=/etc/oracle/" + } > "${T}"/50oracle-instantclient-basic + doenvd "${T}"/50oracle-instantclient-basic +} + +pkg_postinst() { + elog "${P} does not provide an sqlnet.ora" + elog "configuration file, redirecting oracle diagnostics for database-" + elog "and network-issues into ~USER/oradiag_USER/ instead." + elog "It should be safe to ignore this message in sqlnet.log there:" + elog " Directory does not exist for read/write [ORACLE_HOME/client/log] []" + elog "See https://bugs.gentoo.org/show_bug.cgi?id=465252 for reference." + elog "If you want to directly analyse low-level debug info or don't want" + elog "to see it at all, so you really need an sqlnet.ora file, please" + elog "consult http://search.oracle.com/search/search?q=sqlnet.ora" + elog "" + elog "TNS_ADMIN has been set to ${EROOT}etc/oracle by default," + elog "put your tnsnames.ora there or configure TNS_ADMIN" + elog "to point to your user specific configuration." + ewarn "Please re-source your shell settings for ORACLE_HOME" + ewarn " changes, such as: source /etc/profile" +} |