File oracle-instantclient19.spec of Package oracle-instantclient19
#
# spec file for package oracle-instantclient19
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# SPEC file for
# oracle-instantclient-basic
# oracle-instantclient-devel
# oracle-instantclient-sqlplus
# oracle-instantclient-jdbc
# oracle-instantclient-odbc
# oracle-instantclient-tools
# oracle-instantclient-precomp
%define __arch_install_post /bin/true
#%%define version 19.0.0.0.0
%ifarch i386
%define version 19.9.0.0.0
%define version_precomp 19.9.0.0.0
%define topdir instantclient_19_9
%define precomptopdir precomp/instantclient_19_9
%define oradir %{_libdir}/oracle/%{version}/client
%define incdir %{_includedir}/oracle/%{version}/client
%endif
%ifarch x86_64
%define version 19.6.0.0.0
%define version_precomp 19.10.0.0.0
%define topdir instantclient_19_6
%define precomptopdir precomp/instantclient_19_10
%define oradir %{_libdir}/oracle/%{version}/client
%define incdir %{_includedir}/oracle/%{version}/client
%endif
Name: oracle-instantclient19
Summary: Instant Client for Oracle Database 18c
Version: %{version}
Release: 0
# http://www.oracle.com/technetwork/licenses/instant-client-lic-152016.html
License: SUSE-NonFree
Group: Productivity/Databases/Tools
Url: http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
%ifarch i386
Source0: instantclient-basic-linux-%{version}dbru.zip
Source1: instantclient-jdbc-linux-%{version}dbru.zip
Source2: instantclient-odbc-linux-%{version}dbru.zip
Source3: instantclient-sdk-linux-%{version}dbru.zip
Source4: instantclient-sqlplus-linux-%{version}dbru.zip
Source5: instantclient-tools-linux-%{version}dbru.zip
Source6: instantclient-precomp-linux-%{version_precomp}dbru.zip
NoSource: 0
NoSource: 1
NoSource: 2
NoSource: 3
NoSource: 4
NoSource: 5
NoSource: 6
%endif
%ifarch x86_64
Source10: instantclient-basic-linux.x64-%{version}dbru.zip
Source11: instantclient-jdbc-linux.x64-%{version}dbru.zip
Source12: instantclient-odbc-linux.x64-%{version}dbru.zip
Source13: instantclient-sdk-linux.x64-%{version}dbru.zip
Source14: instantclient-sqlplus-linux.x64-%{version}dbru.zip
Source15: instantclient-tools-linux.x64-%{version}dbru.zip
Source16: instantclient-precomp-linux.x64-%{version_precomp}dbru.zip
NoSource: 10
NoSource: 11
NoSource: 12
NoSource: 13
NoSource: 14
NoSource: 15
NoSource: 16
%endif
Source20: oracle-instantclient-config
Source21: %{name}-rpmlintrc
#BuildArch: i386 x86_64
ExclusiveArch: i386 x86_64
Buildroot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: unzip
Conflicts: oracle-instantclient
Conflicts: oracle-instantclient12.1
Conflicts: oracle-instantclient12.2
Conflicts: oracle-instantclient18.3
%description
Basic files for Instant Client. Support for OCI, OCCI,
and JDBC-OCI applications.
%package devel
Summary: Development headers for Instant Client
Group: Development/Tools/Other
Requires: %{name} = %version
%description devel
Additional header files and an example Makefile for developing Oracle
applications with Instant Client.
%package jdbc
Summary: Supplemental JDBC features under Instant Client
Group: Productivity/Databases/Tools
Requires: %{name} = %version
%description jdbc
Additional support for XA, Internationalization,
and RowSet operations under JDBC.
%package odbc
Summary: Oracle ODBC Instant Client for Linux
Group: Productivity/Databases/Tools
Requires: %{name} = %version
%description odbc
Oracle ODBC Instant Client for Linux complies with
ODBC 3.52 specifications. It is based on features of
Oracle %{version} ODBC driver for Windows, without
the need for a traditional ORACLE_HOME installation.
%package sqlplus
Summary: SQL*Plus for Instant Client
Group: Productivity/Databases/Tools
Requires: %{name} = %version
%description sqlplus
Additional libraries and executable for running
SQL*Plus with Instant Client.
%package tools
Summary: Tools for Oracle Database 18c
Group: Productivity/Databases/Tools
Requires: %{name} = %{version}
%description tools
This package provides tools to be used with the Oracle Database.
It currently includes
- wrc : a client to be used with the Database Replay feature
%package precomp
Summary: Oracle Precompilers for Pro*C and Pro*COBOL
Group: Development/Languages/Other
Requires: %{name} = %{version}, %{name}-precomp-devel = %{version}
%if 0%?suse_version >= 1010
Recommends: %{name}-devel = %{version}
%endif
%description precomp
PRECOMP Instant Client (IC) Package contains following
components:
i) "proc" binary to precompile a Pro*C application
ii) "procob" binary to precompile a Pro*COBOL application
iii) sample configuration files, demo programs and demo
make files for building proc and procob demos and
in general any Pro*C/Pro*COBOL application.
%package precomp-devel
Summary: Libraries needed by precompilers for Pro*C and Pro*COBOL
Group: Development/Libraries/Other
BuildArch: noarch
Requires: %{name} = %{version}
%description precomp-devel
This are the Required libraries to run Pro*C and Pro*COBOL precompiler
%prep
%{__rm} -rf %{topdir}
%ifarch i386
%define _sdk_source %{S:3}
%define _precomp_source %{S:6}
unzip %{S:0}
unzip %{S:1}
unzip %{S:2}
unzip %{S:3}
unzip %{S:4}
unzip %{S:5}
unzip -d precomp %{S:6}
%endif
%ifarch x86_64
%define _sdk_source %{S:13}
%define _precomp_source %{S:16}
unzip %{S:10}
unzip %{S:11}
unzip %{S:12}
unzip %{S:13}
unzip %{S:14}
unzip %{S:15}
unzip -d precomp %{S:16}
%endif
# Fix rights
chmod -x ./%{topdir}/sdk/demo/*
chmod -x ./%{topdir}/*_LICENSE
chmod -x ./%{precomptopdir}/sdk/demo/*
%build
# Nothing to build
%install
cd %{topdir}
#chmod 0644 *.{htm,html}
#chmod 0644 *.html
%{__install} -d -m0755 %{buildroot}%{_bindir}
%{__install} -d -m0755 %{buildroot}%{oradir}/{bin,lib,precomp,precomp/admin,network,network/admin}
%{__install} -d -m0755 %{buildroot}%{incdir}
%{__install} -d -m0755 %{buildroot}%{_sysconfdir}/ld.so.conf.d
%{__install} -d -m0755 %{buildroot}%{_sysconfdir}/profile.d
# Basic
%{__install} -m0755 adrci %{buildroot}%{oradir}/bin
%{__install} -m0755 genezi %{buildroot}%{oradir}/bin
%{__install} -m0755 uidrvci %{buildroot}%{oradir}/bin
%{__install} -m0755 libclntshcore.so.19.1 %{buildroot}%{oradir}/lib
%{__install} -m0755 libclntsh.so.19.1 %{buildroot}%{oradir}/lib
%{__install} -m0755 libnnz19.so %{buildroot}%{oradir}/lib
%{__install} -m0755 libocci.so.19.1 %{buildroot}%{oradir}/lib
%{__install} -m0755 libociei.so %{buildroot}%{oradir}/lib
%{__install} -m0755 libocijdbc19.so %{buildroot}%{oradir}/lib
%{__install} -m0755 liboramysql19.so %{buildroot}%{oradir}/lib
%{__install} -m0644 ojdbc8.jar %{buildroot}%{oradir}/lib
%{__install} -m0644 ucp.jar %{buildroot}%{oradir}/lib
%{__install} -m0644 xstreams.jar %{buildroot}%{oradir}/lib
%{__install} -m0755 %{S:20} %{buildroot}%{_bindir}
%ifarch x86_64
%{__install} -m0755 libipc1.so %{buildroot}%{oradir}/lib
%{__install} -m0755 libmql1.so %{buildroot}%{oradir}/lib
%endif
%{__sed} -i -e "s/@version@/%{version}/g" -e "s/@lib@/%{_lib}/g" %{buildroot}%{_bindir}/oracle-instantclient-config
echo %{oradir}/lib >%{buildroot}%{_sysconfdir}/ld.so.conf.d/oracle-instantclient.conf
cat >%{buildroot}%{oradir}/network/admin/tnsnames.ora <<EOF
# Example configuration - RAC
#MYSID =
# (DESCRIPTION =
# (ADDRESS_LIST =
# (ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1521))
# (ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1521))
# (LOAD_BALANCE = no)
# )
# (SDU = 8192)
# (CONNECT_DATA =
# (SERVICE_NAME = SNAME)
# (INSTANCE_NAME = instance1)
# )
# )
EOF
cat >%{buildroot}%{_sysconfdir}/profile.d/instantclient.sh <<EOF
##!/bin/bash
export ORACLE_HOME=%{oradir}
EOF
# ERROR: the files above contain java bytecode for something later than java 1.5,
# ERROR: please set the javac target to 1.5 or lower
# Disabling BYTECODE check on SLES. Being a bynary package we can't specify target
export NO_BRP_CHECK_BYTECODE_VERSION=true
# Devel
%{__install} -m0644 sdk/include/*.h %{buildroot}%{incdir}
%{__install} -m0644 sdk/include/*.hpp %{buildroot}%{incdir}
%{__install} -m0644 sdk/ottclasses.zip %{buildroot}%{oradir}/lib
%{__install} -m0755 sdk/ott %{buildroot}%{oradir}/bin
ln -sf %{oradir}/bin/ott %{buildroot}%{_bindir}/ott
ln -s libocci.so.19.1 %{buildroot}%{oradir}/lib/libocci.so
ln -s libclntsh.so.19.1 %{buildroot}%{oradir}/lib/libclntsh.so
ln -s libclntshcore.so.19.1 %{buildroot}%{oradir}/lib/libclntshcore.so
unzip -l %{_sdk_source} | grep include/\. | \
sed 's#.*include/#%{incdir}/#' > ../devel-include.files
# JDBC
%{__install} -m0755 libheteroxa19.so %{buildroot}%{oradir}/lib
%{__install} -m0644 orai18n.jar %{buildroot}%{oradir}/lib
%{__install} -m0644 orai18n-mapping.jar %{buildroot}%{oradir}/lib
# ODBC
%{__install} -m0755 libsqora.so.19.1 %{buildroot}%{oradir}/lib
%{__install} -m0755 odbc_update_ini.sh %{buildroot}%{oradir}/bin
# SQL*Plus
%{__install} -m0755 sqlplus %{buildroot}%{oradir}/bin
%{__install} -m0644 glogin.sql %{buildroot}%{oradir}/lib
%{__install} -m0755 libsqlplus.so %{buildroot}%{oradir}/lib
%{__install} -m0755 libsqlplusic.so %{buildroot}%{oradir}/lib
ln -sf %{oradir}/bin/sqlplus %{buildroot}%{_bindir}/sqlplus
#ERROR: RPATH "/ade/aime_sqlplus_179840/oracle/lib" on /var/tmp/oracle-instantclient-10.2.0.4-build/usr/lib64/oracle/10.2.0.4/client/bin/sqlplus is not allowed
#ERROR: RPATH "/ade/aime_rdbms_187601/oracle/lib" on /var/tmp/oracle-instantclient-10.2.0.4-build/usr/lib64/oracle/10.2.0.4/client/bin/genezi is not allowed
#ERROR: RPATH "/ade/aime_sqlplus_179840/oracle/lib" on /var/tmp/oracle-instantclient-10.2.0.4-build/usr/lib64/oracle/10.2.0.4/client/lib/libsqlplusic.so is not allowed
#ERROR: RPATH "/ade/aime_sqlplus_179840/oracle/lib" on /var/tmp/oracle-instantclient-10.2.0.4-build/usr/lib64/oracle/10.2.0.4/client/lib/libsqlplus.so is not allowed
#ERROR: RPATH "/ade/aime_rdbms_187601/oracle/lib" on /var/tmp/oracle-instantclient-10.2.0.4-build/usr/lib64/oracle/10.2.0.4/client/lib/libociei.so is not allowed
#ERROR: RPATH "/ade/aime_rdbms_187601/oracle/lib" on /var/tmp/oracle-instantclient-10.2.0.4-build/usr/lib64/oracle/10.2.0.4/client/lib/libclntsh.so.10.1 is not allowed
# bad RPATH=. which is not good
# But we cannot change this in a binary only package, we can only
# disable the check:
export NO_BRP_CHECK_RPATH="true"
# Tools
%{__install} -m0755 wrc %{buildroot}%{oradir}/bin
%{__install} -m0755 exp %{buildroot}%{oradir}/bin
%{__install} -m0755 expdp %{buildroot}%{oradir}/bin
%{__install} -m0755 imp %{buildroot}%{oradir}/bin
%{__install} -m0755 impdp %{buildroot}%{oradir}/bin
%{__install} -m0755 sqlldr %{buildroot}%{oradir}/bin
%{__install} -m0755 libnfsodm19.so %{buildroot}%{oradir}/lib
ln -sf %{oradir}/bin/wrc %{buildroot}%{_bindir}/wrc
ln -sf %{oradir}/bin/exp %{buildroot}%{_bindir}/exp
ln -sf %{oradir}/bin/expdp %{buildroot}%{_bindir}/expdp
ln -sf %{oradir}/bin/imp %{buildroot}%{_bindir}/imp
ln -sf %{oradir}/bin/impdp %{buildroot}%{_bindir}/impdp
ln -sf %{oradir}/bin/sqlldr %{buildroot}%{_bindir}/sqlldr
# Precomp
cd ../%{precomptopdir}
%{__install} -m0755 sdk/{proc,procob,rtsora} %{buildroot}%{oradir}/bin
%{__install} -m0755 cobsqlintf.o %{buildroot}%{oradir}/lib
%{__install} -m0644 precomp/admin/* %{buildroot}%{oradir}/precomp/admin
ln -sf %{oradir}/bin/proc %{buildroot}%{_bindir}/proc
ln -sf %{oradir}/bin/procob %{buildroot}%{_bindir}/procob
ln -sf %{oradir}/bin/rtsora %{buildroot}%{_bindir}/rtsora
# Precomp-Devel
%{__install} -m0644 sdk/include/*.h %{buildroot}%{incdir}
unzip -l %{_precomp_source} |grep include/\. | \
sed 's#.*include/#%{incdir}/#' > ../precomp-include.files
%post
/sbin/ldconfig
%postun
/sbin/ldconfig
%post jdbc
/sbin/ldconfig
%postun jdbc
/sbin/ldconfig
%post odbc
/sbin/ldconfig
%postun odbc
/sbin/ldconfig
%post sqlplus
/sbin/ldconfig
%postun sqlplus
/sbin/ldconfig
%post precomp
/sbin/ldconfig
%postun precomp
/sbin/ldconfig
%files
%defattr(-,root,root)
%doc %{topdir}/BASIC_README
%config %{_sysconfdir}/ld.so.conf.d/oracle-instantclient.conf
%config %{_sysconfdir}/profile.d/instantclient.sh
%config %{oradir}/network/admin/tnsnames.ora
%dir %{_libdir}/oracle
%dir %{_libdir}/oracle/%{version}
%dir %{oradir}
%dir %{oradir}/bin
%dir %{oradir}/lib
%dir %{oradir}/network
%dir %{oradir}/network/admin
%{oradir}/lib/libclntsh.so.19.1
%{oradir}/lib/libclntshcore.so.19.1
%{oradir}/lib/libnnz19.so
%{oradir}/lib/libocci.so.19.1
%{oradir}/lib/libociei.so
%{oradir}/lib/libocijdbc19.so
%{oradir}/lib/liboramysql19.so
%{oradir}/lib/ojdbc8.jar
%{oradir}/lib/ucp.jar
%{oradir}/lib/xstreams.jar
%ifarch x86_64
%{oradir}/lib/libipc1.so
%{oradir}/lib/libmql1.so
%endif
%{oradir}/bin/genezi
%{oradir}/bin/adrci
%{oradir}/bin/uidrvci
%{_bindir}/oracle-instantclient-config
%files devel -f devel-include.files
%defattr(-,root,root)
%license %{topdir}/SDK_LICENSE
%doc %{topdir}/SDK_README %{topdir}/sdk/demo
%dir %{incdir}
%{oradir}/lib/libclntsh.so
%{oradir}/lib/libclntshcore.so
%{oradir}/lib/libocci.so
%{oradir}/lib/ottclasses.zip
%{_bindir}/ott
%{oradir}/bin/ott
%files jdbc
%defattr(-,root,root)
%doc %{topdir}/JDBC_README
%{oradir}/lib/libheteroxa19.so
%{oradir}/lib/orai18n.jar
%{oradir}/lib/orai18n-mapping.jar
%files odbc
%defattr(-,root,root)
%doc %{topdir}/ODBC_README
%{oradir}/bin/odbc_update_ini.sh
%{oradir}/lib/libsqora.so.19.1
%files sqlplus
%defattr(-,root,root)
%doc %{topdir}/SQLPLUS_README
%{_bindir}/sqlplus
%{oradir}/bin/sqlplus
%{oradir}/lib/glogin.sql
%{oradir}/lib/libsqlplus.so
%{oradir}/lib/libsqlplusic.so
%files tools
%defattr(-,root,root)
%doc %{topdir}/TOOLS_README
%{_bindir}/wrc
%{_bindir}/exp*
%{_bindir}/imp*
%{_bindir}/sqlldr
%{oradir}/bin/wrc
%{oradir}/bin/exp*
%{oradir}/bin/imp*
%{oradir}/bin/sqlldr
%{oradir}/lib/libnfsodm19.so
%files precomp
%defattr(-,root,root)
%doc %{precomptopdir}/sdk/demo %{precomptopdir}/PRECOMP_README
%dir %{_includedir}/oracle
%dir %{_includedir}/oracle/%{version}
%dir %{oradir}/precomp
%dir %{oradir}/precomp/admin
%config %{oradir}/precomp/admin/pcbcfg.cfg
%config %{oradir}/precomp/admin/pcscfg.cfg
%{oradir}/lib/cobsqlintf.o
%{oradir}/bin/proc
%{oradir}/bin/procob
%{oradir}/bin/rtsora
%{_bindir}/proc
%{_bindir}/procob
%{_bindir}/rtsora
%files precomp-devel -f precomp/precomp-include.files
%defattr(-,root,root)
%dir %{incdir}
%changelog