[packages/oracle-instantclient] - update to 12.1.0.1.0 - do not require to download 32bit libs when building 64bit version, .src.rpm

glen glen at pld-linux.org
Sun Apr 6 23:28:13 CEST 2014


commit 091300abecc9b8149e5e4e1412de5e0607db839a
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Mon Apr 7 00:24:03 2014 +0300

    - update to 12.1.0.1.0
    - do not require to download 32bit libs when building 64bit version, .src.rpm won't comtain the sources anyway
    - fix duplicate files packaging

 oracle-instantclient-proc-includes.patch |   8 +-
 oracle-instantclient.spec                | 199 +++++++++++++++++--------------
 2 files changed, 111 insertions(+), 96 deletions(-)
---
diff --git a/oracle-instantclient.spec b/oracle-instantclient.spec
index 8f4666a..48a4648 100644
--- a/oracle-instantclient.spec
+++ b/oracle-instantclient.spec
@@ -2,51 +2,30 @@
 # Conditional build:
 %bcond_with	lite		# build basic lite version of client
 
-%define		x86ver		11.2.0.2.0
-%define		x8664ver	11.2.0.2.0
-
+%define		otnurl	http://download.oracle.com/otn/linux/instantclient/121010
 Summary:	Oracle Database Instant Client
 Name:		oracle-instantclient
-Version:	11.2.0.2.0
-Release:	1
+Version:	12.1.0.1.0
+Release:	0.1
 License:	OTN (proprietary, non-distributable)
 Group:		Applications/Databases
-Source0:	instantclient-basic-linux32-%{x86ver}.zip
-# NoSource0-md5:	efa27cd21e6f078c27838232cb836b25
-Source1:	instantclient-basiclite-linux32-%{x86ver}.zip
-# NoSource1-md5:	4a5faca63686ba46eb01876267c06872
-Source2:	instantclient-sdk-linux32-%{x86ver}.zip
-# NoSource2-md5:	a0034b6f3ea18480d9857de7777a515e
-Source3:	instantclient-jdbc-linux32-%{x86ver}.zip
-# NoSource3-md5:	b9e46ce5dba8f7b75616a5258dce30c7
-Source4:	instantclient-odbc-linux32-%{x86ver}.zip
-# NoSource4-md5:	ac96b2f710ffe12117347c0a8c36ddcd
-Source5:	instantclient-sqlplus-linux32-%{x86ver}.zip
-# NoSource5-md5:	6d6912d016d42fcc36335275885c781f
-Source6:	instantclient-tools-linux32-%{x86ver}.zip
-# NoSource6-md5:	1c8b2c9332372b3367685bdfcf2629c4
-Source7:	instantclient-precomp-linux32-%{x86ver}.zip
-# NoSource7-md5:	e495288a85fe7e40e74e90dd97cad04c
-Source10:	instantclient-basic-linux-x86-64-%{x8664ver}.zip
-# NoSource10-md5:	7507de5158e48d7a16def5235a1b4171
-Source11:	instantclient-basiclite-linux-x86-64-%{x8664ver}.zip
-# NoSource11-md5:	9fa61d0216fdf64af1b5247734f2f291
-Source12:	instantclient-sdk-linux-x86-64-%{x8664ver}.zip
-# NoSource12-md5:	201ed479c9cfd3905cecbd213c656331
-Source13:	instantclient-jdbc-linux-x86-64-%{x8664ver}.zip
-# NoSource13-md5:	2f101569da1824eba9d9cdd393dce2ff
-Source14:	instantclient-odbc-linux-x86-64-%{x8664ver}.zip
-# NoSource14-md5:	161daea9c01f3c2e027d36d7975f0044
-Source15:	instantclient-sqlplus-linux-x86-64-%{x8664ver}.zip
-# NoSource15-md5:	805460a9d387c53c615e64d026bf15b9
-Source16:	instantclient-tools-linux-x86-64-%{x8664ver}.zip
-# NoSource16-md5:	bbe33d3fb08f226c3f0c3ca57a4ed2c2
-Source17:	instantclient-precomp-linux-x86-64-%{x8664ver}.zip
-# NoSource17-md5:	e79b5c703e8bbf5de62cf6d0061f342f
-# http://duberga.net/dbd_oracle_instantclient_linux/oracle-instantclient-config
-Source20:	oracle-instantclient-config.in
-Source21:	oracle-instantclient.pc.in
-Patch0:		%{name}-proc-includes.patch
+%ifarch %{ix86}
+Source0:	%{otnurl}/instantclient-basic-linux-%{version}.zip
+# NoSource0-md5:	7c3b522424713cc8d3814356cf092c02
+Source1:	%{otnurl}/instantclient-basiclite-linux-%{version}.zip
+# NoSource1-md5:	0d5ec661d9ebfde8880cff5ca1ef9553
+Source2:	%{otnurl}/instantclient-sdk-linux-%{version}.zip
+# NoSource2-md5:	e33beaaf88256e19f8c59e07d7033159
+Source3:	%{otnurl}/instantclient-jdbc-linux-%{version}.zip
+# NoSource3-md5:	be0c52004e52448726fb7a4e891c7c98
+Source4:	%{otnurl}/instantclient-odbc-linux-%{version}.zip
+# NoSource4-md5:	e8ba53efe62b6f3f139a30c55baf78b5
+Source5:	%{otnurl}/instantclient-sqlplus-linux-%{version}.zip
+# NoSource5-md5:	c3c5bfefce74974f98fd8e72fb2cd44f
+Source6:	%{otnurl}/instantclient-tools-linux-%{version}.zip
+# NoSource6-md5:	902c817154b5568b2db8c7328d4a10d7
+Source7:	%{otnurl}/instantclient-precomp-linux-%{version}.zip
+# NoSource7-md5:	4e99435623d82b802d4d95de3598dde7
 NoSource:	0
 NoSource:	1
 NoSource:	2
@@ -55,6 +34,24 @@ NoSource:	4
 NoSource:	5
 NoSource:	6
 NoSource:	7
+%endif
+%ifarch %{x8664}
+Source10:	%{otnurl}/instantclient-basic-linux.x64-%{version}.zip
+# NoSource10-md5:	a555a7f4510e6568e66c45238929f16b
+Source11:	%{otnurl}/instantclient-basiclite-linux.x64-%{version}.zip
+# NoSource11-md5:	6c712aafb26989699d57c99a3e2bc124
+Source12:	%{otnurl}/instantclient-sdk-linux.x64-%{version}.zip
+# NoSource12-md5:	e8682f754ea63b9c5f17bd22ba158a75
+Source13:	%{otnurl}/instantclient-jdbc-linux.x64-%{version}.zip
+# NoSource13-md5:	7b0c4111c6c4a7db062ae961dbc309b6
+Source14:	%{otnurl}/instantclient-odbc-linux.x64-%{version}.zip
+# NoSource14-md5:	b0e9e3b10ba22b34dbe335426a4fe001
+Source15:	%{otnurl}/instantclient-sqlplus-linux.x64-%{version}.zip
+# NoSource15-md5:	09d2463277bdbddba36aafc051c5c1b5
+Source16:	%{otnurl}/instantclient-tools-linux.x64-%{version}.zip
+# NoSource16-md5:	95f2a981ee6515fe31652fb41f7eacbf
+Source17:	%{otnurl}/instantclient-precomp-linux.x64-%{version}.zip
+# NoSource17-md5:	8ac59bdbb1cb34796c753bdad65e72d9
 NoSource:	10
 NoSource:	11
 NoSource:	12
@@ -63,16 +60,29 @@ NoSource:	14
 NoSource:	15
 NoSource:	16
 NoSource:	17
+%endif
+# http://duberga.net/dbd_oracle_instantclient_linux/oracle-instantclient-config
+Source20:	oracle-instantclient-config.in
+Source21:	oracle-instantclient.pc.in
+Patch0:		%{name}-proc-includes.patch
 URL:		http://www.oracle.com/technetwork/database/features/instant-client/
 BuildRequires:	sed
 BuildRequires:	unzip
 ExclusiveArch:	%{ix86} %{x8664}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define		driver_ver	%(echo %{version} | cut -d. -f1)
+%define		soname		%(echo %{version} | cut -d. -f1,2)
+
+# verify these with odbc_update_ini.sh
+%define		driver_name	"Oracle %{driver_ver}c ODBC driver"
+%define		driver_desc	"Oracle ODBC driver for Oracle %{driver_ver}c"
+
 %define		_gcc_sys_inc_dir	%(gcc -print-file-name=include)
 
-# this should be linked against libclntsh.so but is not
-%define		skip_post_check_so	libocci.so.*
+# libocci.so - should be linked against libclntsh.so but is not
+%define		skip_post_check_so	libclntsh.so.%{soname} libclntshcore.so.%{soname} libocci.so.%{soname} libsqora.so.%{soname}
+
 # don't generate deps for Intel Cobol Compiler
 %define		_noautoreq		^libcob.*.so
 
@@ -171,12 +181,12 @@ to precompile a Pro*C application and demo.
 
 %prep
 %ifarch %{ix86}
-%setup -q -c -T -b %{?with_lite:1}%{!?with_lite:0} -b 2 -b 3 -b 4 -b 5 -b 6 -b 7
+%setup -qcT -b %{?with_lite:1}%{!?with_lite:0} -b 2 -b 3 -b 4 -b 5 -b 6 -b 7
 %endif
-
 %ifarch %{x8664}
-%setup -q -c -T -b %{?with_lite:11}%{!?with_lite:10} -b 12 -b 13 -b 14 -b 15 -b 16 -b 17
+%setup -qcT -b %{?with_lite:11}%{!?with_lite:10} -b 12 -b 13 -b 14 -b 15 -b 16 -b 17
 %endif
+mv instantclient_*/* .
 
 %patch0 -p1
 
@@ -186,16 +196,14 @@ install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_datadir}/sqlplus/admin} \
 	$RPM_BUILD_ROOT{%{_examplesdir}/%{name},%{_includedir}/oracle/client} \
 	$RPM_BUILD_ROOT{%{_pkgconfigdir},%{_javadir},/etc}
 
-cd instantclient_*
-
-install -p *.jar $RPM_BUILD_ROOT%{_javadir}
-install -p *.so* $RPM_BUILD_ROOT%{_libdir}
+cp -p *.jar $RPM_BUILD_ROOT%{_javadir}
+cp -a *.so* $RPM_BUILD_ROOT%{_libdir}
 install -p sqlplus $RPM_BUILD_ROOT%{_bindir}
 install -p genezi $RPM_BUILD_ROOT%{_bindir}
 install -p adrci $RPM_BUILD_ROOT%{_bindir}
 install -p wrc $RPM_BUILD_ROOT%{_bindir}
 install -p uidrvci $RPM_BUILD_ROOT%{_bindir}
-install -p glogin.sql $RPM_BUILD_ROOT%{_datadir}/sqlplus/admin
+cp -p glogin.sql $RPM_BUILD_ROOT%{_datadir}/sqlplus/admin
 
 %{__sed} -e 's|@@prefix@@|%{_prefix}|' \
 	-e 's|@@libdir@@|%{_libdir}|' \
@@ -209,17 +217,17 @@ install -p glogin.sql $RPM_BUILD_ROOT%{_datadir}/sqlplus/admin
 	-e 's|@@version@@|%{version}|' %{SOURCE21} > \
 		$RPM_BUILD_ROOT%{_pkgconfigdir}/oracle-instantclient.pc
 
-install -p sdk/ottclasses.zip $RPM_BUILD_ROOT%{_javadir}
+cp -p sdk/ottclasses.zip $RPM_BUILD_ROOT%{_javadir}
 install -p sdk/ott $RPM_BUILD_ROOT%{_bindir}
 install -p sdk/proc* $RPM_BUILD_ROOT%{_bindir}
 install -p sdk/rtsora* $RPM_BUILD_ROOT%{_bindir}
-install -p sdk/include/* $RPM_BUILD_ROOT%{_includedir}/oracle/client
-install -p sdk/demo/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}
+cp -a sdk/include/* $RPM_BUILD_ROOT%{_includedir}/oracle/client
+cp -a sdk/demo/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}
 
-install -p cobsqlintf.o $RPM_BUILD_ROOT%{_libdir}
+cp -p cobsqlintf.o $RPM_BUILD_ROOT%{_libdir}
 cp -a precomp $RPM_BUILD_ROOT%{_libdir}
 
-%{__sed} -i -e "s|@@GCC_SYS_INC_DIR@@|%{_gcc_sys_inc_dir}|g" \
+%{__sed} -i -e "s|@GCC_SYS_INC_DIR@|%{_gcc_sys_inc_dir}|g" \
 	$RPM_BUILD_ROOT%{_libdir}/precomp/admin/pcscfg.cfg
 
 cat <<EOF >$RPM_BUILD_ROOT/etc/tnsnames.ora
@@ -248,69 +256,68 @@ done
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post basic -p /sbin/ldconfig
-%postun basic -p /sbin/ldconfig
+%post	basic -p /sbin/ldconfig
+%postun	basic -p /sbin/ldconfig
 
-%post basiclite -p /sbin/ldconfig
-%postun basiclite -p /sbin/ldconfig
+%post	basiclite -p /sbin/ldconfig
+%postun	basiclite -p /sbin/ldconfig
 
-%post jdbc -p /sbin/ldconfig
-%postun jdbc -p /sbin/ldconfig
+%post	jdbc -p /sbin/ldconfig
+%postun	jdbc -p /sbin/ldconfig
 
-%post sqlplus -p /sbin/ldconfig
-%postun sqlplus -p /sbin/ldconfig
+%post	sqlplus -p /sbin/ldconfig
+%postun	sqlplus -p /sbin/ldconfig
 
 %post odbc
 /sbin/ldconfig
 # install Orcale driver
 /usr/bin/odbcinst -i -d -r <<EOF
-[Oracle 11g]
-Description = Oracle ODBC driver for Oracle 11g
-Driver = %{_libdir}/libsqora.so.11.1
+[%{driver_name}]
+Description = %{driver_desc}
+Driver = %{_libdir}/libsqora.so.%{soname}
 Setup = 
 EOF
 
 %preun odbc
-/usr/bin/odbcinst -u -d -n "Oracle 11g" || true
+/usr/bin/odbcinst -u -d -n %{driver_name} || :
 
 %postun odbc -p /sbin/ldconfig
 
 %if %{with lite}
 %files basiclite
 %defattr(644,root,root,755)
-%doc instantclient_*/BASIC_LITE_README
-%config(noreplace) %verify(not md5 mtime size) /etc/tnsnames.ora
-%attr(755,root,root) %{_bindir}/adrci
-%attr(755,root,root) %{_bindir}/genezi
-%attr(755,root,root) %{_bindir}/uidrvci
-%attr(755,root,root) %{_libdir}/libclntsh.so.*
-%attr(755,root,root) %{_libdir}/libocci.so.*
+%doc BASIC_LITE_README
 %attr(755,root,root) %{_libdir}/libociicus.so
-%attr(755,root,root) %{_libdir}/libnnz11.so
-%attr(755,root,root) %{_libdir}/libocijdbc11.so
 %else
 %files basic
 %defattr(644,root,root,755)
-%doc instantclient_*/BASIC_README
+%doc BASIC_README
+%attr(755,root,root) %{_libdir}/libociei.so
+%endif
+
+# common to basic/basiclite
 %config(noreplace) %verify(not md5 mtime size) /etc/tnsnames.ora
 %attr(755,root,root) %{_bindir}/adrci
 %attr(755,root,root) %{_bindir}/genezi
 %attr(755,root,root) %{_bindir}/uidrvci
-%attr(755,root,root) %{_libdir}/libclntsh.so.*
 %attr(755,root,root) %{_libdir}/libocci.so.*
-%attr(755,root,root) %{_libdir}/libnnz11.so
-%attr(755,root,root) %{_libdir}/libociei.so
-%attr(755,root,root) %{_libdir}/libocijdbc11.so
-%endif
+%attr(755,root,root) %{_libdir}/libocijdbc%{driver_ver}.so
+%attr(755,root,root) %{_libdir}/libnnz%{driver_ver}.so
+%attr(755,root,root) %{_libdir}/libclntsh.so.*
+%attr(755,root,root) %{_libdir}/libclntshcore.so.%{soname}
+%attr(755,root,root) %{_libdir}/libons.so
+%attr(755,root,root) %{_libdir}/liboramysql12.so
 
 %files devel
 %defattr(644,root,root,755)
-%doc instantclient_*/sdk/SDK_README
+%doc sdk/SDK_README
 %attr(755,root,root) %{_bindir}/oracle-instantclient-config
 %attr(755,root,root) %{_bindir}/ott
 %attr(755,root,root) %{_libdir}/libclntsh.so
 %attr(755,root,root) %{_libdir}/libocci.so
+%attr(755,root,root) %{_libdir}/libclntshcore.so
 %{_pkgconfigdir}/oracle-instantclient.pc
+%dir %{_includedir}/oracle
 %{_includedir}/oracle/client
 %exclude %{_includedir}/oracle/client/oraca.h
 %exclude %{_includedir}/oracle/client/sql2oci.h
@@ -320,30 +327,28 @@ EOF
 %exclude %{_includedir}/oracle/client/sqlda.h
 %exclude %{_includedir}/oracle/client/sqlkpr.h
 %exclude %{_includedir}/oracle/client/sqlucs2.h
-%{_javadir}/*.zip
 %{_examplesdir}/%{name}
 %exclude %{_examplesdir}/%{name}/demo_proc*_ic.mk
 %exclude %{_examplesdir}/%{name}/*.pc*
 
 %files jdbc
 %defattr(644,root,root,755)
-%doc instantclient_*/JDBC_README
-%attr(755,root,root) %{_libdir}/libheteroxa11.so
+%doc JDBC_README
+%attr(755,root,root) %{_libdir}/libheteroxa%{driver_ver}.so
 %{_javadir}/*.jar
 
 %files jdbc-devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/ott
 %{_javadir}/*.zip
 
 %files odbc
 %defattr(644,root,root,755)
-%doc instantclient_*/ODBC*.htm*
+%doc ODBC*.htm*
 %attr(755,root,root) %{_libdir}/libsqora.so*
 
 %files sqlplus
 %defattr(644,root,root,755)
-%doc instantclient_*/SQLPLUS_README
+%doc SQLPLUS_README
 %attr(755,root,root) %{_bindir}/sqlplus
 %attr(755,root,root) %{_libdir}/libsqlplus.so
 %attr(755,root,root) %{_libdir}/libsqlplusic.so
@@ -351,15 +356,25 @@ EOF
 
 %files tools
 %defattr(644,root,root,755)
-%doc instantclient_*/TOOLS_README
+%doc TOOLS_README
 %attr(755,root,root) %{_bindir}/wrc
 
 %files precomp
 %defattr(644,root,root,755)
-%doc instantclient_*/PRECOMP_README
+%doc PRECOMP_README
 %attr(755,root,root) %{_bindir}/proc*
 %attr(755,root,root) %{_bindir}/rtsora
 %{_libdir}/cobsqlintf.o
 %{_libdir}/precomp
 %{_examplesdir}/%{name}/demo_proc*_ic.mk
 %{_examplesdir}/%{name}/*.pc*
+
+# precomp-devel maybe
+%{_includedir}/oracle/client/oraca.h
+%{_includedir}/oracle/client/sql2oci.h
+%{_includedir}/oracle/client/sqlapr.h
+%{_includedir}/oracle/client/sqlca.h
+%{_includedir}/oracle/client/sqlcpr.h
+%{_includedir}/oracle/client/sqlda.h
+%{_includedir}/oracle/client/sqlkpr.h
+%{_includedir}/oracle/client/sqlucs2.h
diff --git a/oracle-instantclient-proc-includes.patch b/oracle-instantclient-proc-includes.patch
index ad47eed..8671b65 100644
--- a/oracle-instantclient-proc-includes.patch
+++ b/oracle-instantclient-proc-includes.patch
@@ -1,7 +1,7 @@
---- oracle-instantclient-11.2.0.2.0/instantclient_11_2/precomp/admin/pcscfg.cfg~	2010-09-05 06:48:16.000000000 +0200
-+++ oracle-instantclient-11.2.0.2.0/instantclient_11_2/precomp/admin/pcscfg.cfg	2011-07-06 12:27:22.913334260 +0200
+--- oracle-instantclient-12.1.0.1.0/precomp/admin/pcscfg.cfg~	2013-05-24 20:20:51.000000000 +0300
++++ oracle-instantclient-12.1.0.1.0/precomp/admin/pcscfg.cfg	2014-04-06 23:53:16.569452168 +0300
 @@ -1,3 +1,3 @@
--sys_include=($ORACLE_HOME/sdk/include,/usr/include,/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/include,/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include,/usr/lib64/gcc/x86_64-suse-linux/4.1.2/include,/usr/lib64/gcc/x86_64-suse-linux/4.3/include)
-+sys_include=(/usr/include/orcale/client,$ORACLE_HOME/sdk/include,/usr/include,@@GCC_SYS_INC_DIR@@)
+-sys_include=($ORACLE_HOME/sdk/include,/usr/include,/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include,/usr/lib/gcc/x86_64-redhat-linux/4.4.6/include,/usr/lib64/gcc/x86_64-suse-linux/4.1.2/include,/usr/lib64/gcc/x86_64-suse-linux/4.3/include)
++sys_include=(/usr/include/oracle/client,$ORACLE_HOME/sdk/include,/usr/include, at GCC_SYS_INC_DIR@)
  ltype=short
  define=__x86_64__
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/oracle-instantclient.git/commitdiff/89420c8435ab4d38b1a45362f671b539007f4d3b



More information about the pld-cvs-commit mailing list