[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