From 4c49ec1cbcbbcc97b427d118b04deeacce628739 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 8 Feb 2021 16:08:10 +0100 Subject: single spec --- Makefile | 35 +--- oracle-instantclient.spec | 447 ++++++++++++++++++++++++++++++++-------------- 2 files changed, 313 insertions(+), 169 deletions(-) diff --git a/Makefile b/Makefile index 5613163..1e65467 100644 --- a/Makefile +++ b/Makefile @@ -1,35 +1,4 @@ SRCDIR := $(shell pwd) -NAME := oracle-instantclient-19 - -RPMDEFINES := --define "_sourcedir $(SRCDIR)" \ - --define "_specdir $(SRCDIR)" \ - --define "_srcrpmdir $(SRCDIR)" \ - --define "_rpmdir $(SRCDIR)" - -SRCDEFINES := --define "dist .remi" \ - --define "_source_filedigest_algorithm 1" \ - --define "_binary_filedigest_algorithm 1" - - -arch: - mv *.src.rpm /data/rpms/SRPMS.remi/ && echo done || echo Nothing to do - -clean: - @echo Clean $(NAME) in $(SRCDIR) - @rm -rfv *~ noarch x86_64 *.src.rpm - -srpm64: - rpmbuild $(RPMDEFINES) $(SRCDEFINES) -bs $(NAME)-x86_64.spec - -build64: - rpmbuild $(RPMDEFINES) -bb $(NAME)-x86_64.spec - -srpm32: - rpmbuild $(RPMDEFINES) $(SRCDEFINES) -bs $(NAME)-i386.spec - -build32: - rpmbuild $(RPMDEFINES) -bb $(NAME)-i386.spec - -bp: - rpmbuild $(RPMDEFINES) -bp $(NAME).spec +NAME := $(shell basename $(SRCDIR)) +include ../common/Makefile diff --git a/oracle-instantclient.spec b/oracle-instantclient.spec index dc45445..f368f08 100644 --- a/oracle-instantclient.spec +++ b/oracle-instantclient.spec @@ -1,212 +1,387 @@ -# SPEC file for -# oracle-instantclient-basic -# oracle-instantclient-devel -# oracle-instantclient-sqlplus -# oracle-instantclient-jdbc - -%define __arch_install_post /bin/true - -Summary: Instant Client for Oracle Database 10g -Name: oracle-instantclient -Version: 10.2.0.3 -Release: 3%{?dist} +# remirepo/fedora spec file for oracle-instantclient/x86_64 +# +# Copyright (c) 2006-2019 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# + +%global __arch_install_post /bin/true +%global _build_id_links none + +%global major 19 +%global mainver 19.9 +%global libclnt 19.1 +%global topdir instantclient_19_9 +%global oradir %{_libdir}/oracle/%{mainver}/client64 +%global incdir %{_includedir}/oracle/%{mainver}/client64 + + +Summary: Instant Client for Oracle Database %{major} +Name: oracle-instantclient-x86_64 +Version: 19.9.0.0.0 +Release: 1%{?dist} License: Oracle Group: Applications/File Url: http://www.oracle.com/technology/software/tech/oci/instantclient/index.html -Source0: instantclient-basic-linux32-%{version}-20061115.zip -Source1: instantclient-jdbc-linux32-%{version}-20061115.zip -Source2: instantclient-odbc-linux32-%{version}-20061115.zip -Source3: instantclient-sdk-linux32-%{version}-20061115.zip -Source4: instantclient-sqlplus-linux32-%{version}-20061115.zip - -Source10: instantclient-basic-linux-x86-64-%{version}-20070103.zip -Source11: instantclient-jdbc-linux-x86-64-%{version}-20070103.zip -Source12: instantclient-odbc-linux-x86-64-%{version}-20070103.zip -Source13: instantclient-sdk-linux-x86-64-%{version}-20070103.zip -Source14: instantclient-sqlplus-linux-x86-64-%{version}-20070103.zip -NoSource: 0 -NoSource: 1 -NoSource: 2 -NoSource: 3 -NoSource: 4 -NoSource: 10 -NoSource: 11 -NoSource: 12 -NoSource: 13 -NoSource: 14 - -Buildroot: %{_tmppath}/%{name}-root -BuildArch: i386 x86_64 - -%define topdir instantclient_10_2 -%define oradir %{_libdir}/oracle/%{version}/client -%define incdir %{_includedir}/oracle/%{version}/client +Source0: instantclient-basic-linux.x64-%{version}dbru.zip +Source1: instantclient-jdbc-linux.x64-%{version}dbru.zip +Source2: instantclient-odbc-linux.x64-%{version}dbru.zip +Source3: instantclient-sdk-linux.x64-%{version}dbru.zip +Source4: instantclient-sqlplus-linux.x64-%{version}dbru.zip +Source5: instantclient-tools-linux.x64-%{version}dbru.zip +Source6: instantclient-precomp-linux.x64-%{version}dbru.zip +#NoSource: 0 +#NoSource: 1 +#NoSource: 2 +#NoSource: 3 +#NoSource: 4 +#NoSource: 5 +#NoSource: 6 + +BuildArch: x86_64 + %description -Base files for Instant Client. Support for OCI, OCCI, +Base files for Instant Client. Support for OCI, OCCI, and JDBC-OCI applications. -%package basic -Summary: Instant Client for Oracle Database 10g +Oracle Call Interface %{mainver} can connect to Oracle Database 11.2 or later. + + +%package -n oracle-instantclient-basic +Summary: Instant Client for Oracle Database 11g Group: Applications/File -%description basic +%description -n oracle-instantclient-basic Base files for Instant Client. Support for OCI, OCCI, and JDBC-OCI applications. -%package devel +%package -n oracle-instantclient-devel Summary: Development headers for Instant Client Group: Applications/File -Requires: %{name}-basic = %version +Requires: oracle-instantclient-basic%{?_isa} = %version -%description devel +%description -n oracle-instantclient-devel Additional header files and an example Makefile for developing Oracle applications with Instant Client. -%package jdbc +%package -n oracle-instantclient-jdbc Summary: Supplemental JDBC features under Instant Client Group: Applications/File -Requires: %{name}-basic = %version +Requires: oracle-instantclient-basic%{?_isa} = %version -%description jdbc +%description -n oracle-instantclient-jdbc Additional support for XA, Internationalization, and RowSet operations under JDBC. -%package odbc +%package -n oracle-instantclient-odbc Summary: Oracle ODBC Instant Client for Linux Group: Applications/File -Requires: %{name}-basic = %version +Requires: oracle-instantclient-basic%{?_isa} = %version -%description odbc -Oracle ODBC Instant Client for Linux complies with -ODBC 3.52 specifications. It is based on features of -Oracle 10.2.0.1.0 ODBC driver for Windows, without +%description -n oracle-instantclient-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 +%package -n oracle-instantclient-sqlplus Summary: SQL*Plus for Instant Client Group: Applications/File -Requires: %{name}-basic = %version +Requires: oracle-instantclient-basic%{?_isa} = %version -%description sqlplus -Additional libraries and executable for running +%description -n oracle-instantclient-sqlplus +Additional libraries and executable for running SQL*Plus with Instant Client. +%package -n oracle-instantclient-tools +Summary: Tools for Oracle Database 11g +Group: Applications/File +Requires: oracle-instantclient-basic%{?_isa} = %version + +%description -n oracle-instantclient-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 -n oracle-instantclient-precomp +Summary: Oracle Precompilers for Pro*C and Pro*COBOL +Group: Applications/File +Requires: oracle-instantclient-devel%{?_isa} = %version + +%description -n oracle-instantclient-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. + + %prep rm -rf %{topdir} -%ifarch i386 -unzip %{SOURCE0} -unzip %{SOURCE1} -unzip %{SOURCE2} -unzip %{SOURCE3} -unzip %{SOURCE4} -%else -unzip %{SOURCE10} -unzip %{SOURCE11} -unzip %{SOURCE12} -unzip %{SOURCE13} -unzip %{SOURCE14} -%endif +unzip %{SOURCE0} | tee BASIC +unzip %{SOURCE1} | tee JDBC +unzip %{SOURCE2} | tee ODBC +unzip %{SOURCE3} | tee DEVEL +unzip %{SOURCE4} | tee SQLPLUS +unzip %{SOURCE5} | tee TOOLS +unzip %{SOURCE6} | tee PRECOMP + %install -rm -rf %{buildroot} cd %{topdir} -%{__mkdir_p} %{buildroot}%{_bindir} -%{__mkdir_p} %{buildroot}%{oradir}/bin -%{__mkdir_p} %{buildroot}%{oradir}/lib -%{__mkdir_p} %{buildroot}%{incdir} -%{__mkdir_p} %{buildroot}%{_sysconfdir}/ld.so.conf.d +mkdir -p %{buildroot}%{_bindir} +mkdir -p %{buildroot}%{oradir}/{bin,lib} +mkdir -p %{buildroot}%{oradir}/lib/precomp/admin +mkdir -p %{buildroot}%{incdir} +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d # Basic -%__install libclntsh.so.10.1 %{buildroot}%{oradir}/lib -%__install libnnz10.so %{buildroot}%{oradir}/lib -%__install libocci.so.10.1 %{buildroot}%{oradir}/lib -%__install libociei.so %{buildroot}%{oradir}/lib -%__install libocijdbc10.so %{buildroot}%{oradir}/lib -%__install classes12.jar %{buildroot}%{oradir}/lib -%__install ojdbc14.jar %{buildroot}%{oradir}/lib -%__install genezi %{buildroot}%{oradir}/bin +install -p adrci %{buildroot}%{oradir}/bin +install -p genezi %{buildroot}%{oradir}/bin +install -p uidrvci %{buildroot}%{oradir}/bin +install -p libclntshcore.so.%{libclnt} %{buildroot}%{oradir}/lib +install -p libclntsh.so.%{libclnt} %{buildroot}%{oradir}/lib +install -p libnnz%{major}.so %{buildroot}%{oradir}/lib +install -p libocci.so.%{libclnt} %{buildroot}%{oradir}/lib +install -p libipc1.so %{buildroot}%{oradir}/lib +install -p libmql1.so %{buildroot}%{oradir}/lib +install -p libociei.so %{buildroot}%{oradir}/lib +install -p libocijdbc%{major}.so %{buildroot}%{oradir}/lib +install -p liboramysql%{major}.so %{buildroot}%{oradir}/lib +install -p ojdbc8.jar %{buildroot}%{oradir}/lib +install -p xstreams.jar %{buildroot}%{oradir}/lib echo %{oradir}/lib >%{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}.conf # Devel -%__install -m 644 sdk/include/*.h %{buildroot}%{incdir} +install -p -m 644 sdk/include/*.h %{buildroot}%{incdir} +install -p sdk/ottclasses.zip %{buildroot}%{oradir}/lib +install -p -m 755 sdk/ott %{buildroot}%{oradir}/bin + +ln -s %{oradir}/bin/ott %{buildroot}%{_bindir}/ott +ln -s libocci.so.%{libclnt} %{buildroot}%{oradir}/lib/libocci.so +ln -s libclntsh.so.%{libclnt} %{buildroot}%{oradir}/lib/libclntsh.so +ln -s libclntshcore.so.%{libclnt} %{buildroot}%{oradir}/lib/libclntshcore.so -ln -s libocci.so.10.1 %{buildroot}%{oradir}/lib/libocci.so -ln -s libclntsh.so.10.1 %{buildroot}%{oradir}/lib/libclntsh.so +# sdk/admin/oraaccess.xsd not provided in upstream RPM. # SQL*Plus -%__install sqlplus %{buildroot}%{oradir}/bin -%__install glogin.sql %{buildroot}%{oradir}/lib -%__install libsqlplus.so %{buildroot}%{oradir}/lib -%__install libsqlplusic.so %{buildroot}%{oradir}/lib +install -p sqlplus %{buildroot}%{oradir}/bin +install -p glogin.sql %{buildroot}%{oradir}/lib +install -p libsqlplus.so %{buildroot}%{oradir}/lib +install -p libsqlplusic.so %{buildroot}%{oradir}/lib ln -sf %{oradir}/bin/sqlplus %{buildroot}%{_bindir}/sqlplus # JDBC -%__install libheteroxa10.so %{buildroot}%{oradir}/lib -%__install orai18n.jar %{buildroot}%{oradir}/lib +install -p libheteroxa%{major}.so %{buildroot}%{oradir}/lib +install -p orai18n-mapping.jar %{buildroot}%{oradir}/lib +install -p orai18n.jar %{buildroot}%{oradir}/lib # ODBC -%__install libsqora.so.10.1 %{buildroot}%{oradir}/lib - -%clean -rm -rf %{buildroot} - -%post basic -/sbin/ldconfig - -%postun basic -/sbin/ldconfig - -%files basic -%defattr(-,root,root) -%{oradir}/lib/libclntsh.so.10.1 -%{oradir}/lib/libnnz10.so -%{oradir}/lib/libocci.so.10.1 +install -p libsqora.so.%{libclnt} %{buildroot}%{oradir}/lib + +# Tools +for cmd in exp expdp imp impdp sqlldr wrc; do + install -p $cmd %{buildroot}%{oradir}/bin/$cmd + ln -sf %{oradir}/bin/$cmd %{buildroot}%{_bindir}/$cmd +done +install -p libnfsodm%{major}.so %{buildroot}%{oradir}/lib + +# Precomp +# NOTICE: don't install rtsora - broken dep on libcobcrtn64.so +install -p -m 755 sdk/{proc,procob} %{buildroot}%{oradir}/bin +install -p -m 755 cobsqlintf.o %{buildroot}%{oradir}/lib +install -p -m 644 precomp/admin/* %{buildroot}%{oradir}/lib/precomp/admin + +ln -s %{oradir}/bin/proc %{buildroot}%{_bindir}/proc +ln -s %{oradir}/bin/procob %{buildroot}%{_bindir}/procob + +# Precomp-Devel +install -p -m 644 sdk/include/*.h %{buildroot}%{incdir} + +# Create files lists +rm -f devel.files precomp.files +for header in sdk/include/*.h +do if grep -q $header ../DEVEL + then echo %{incdir}/$(basename $header) >>devel.files + else echo %{incdir}/$(basename $header) >>precomp.files +fi +done + + +%post -n oracle-instantclient-basic -p /sbin/ldconfig +%postun -n oracle-instantclient-basic -p /sbin/ldconfig +%post -n oracle-instantclient-sqlplus -p /sbin/ldconfig +%postun -n oracle-instantclient-sqlplus -p /sbin/ldconfig + + +%{!?_licensedir:%global license %%doc} + +%files -n oracle-instantclient-basic +%license %{topdir}/BASIC_LICENSE +%doc %{topdir}/BASIC_README +%dir %{oradir} +%dir %{oradir}/lib +%dir %{oradir}/bin +%{oradir}/lib/libclntshcore.so.%{libclnt} +%{oradir}/lib/libclntsh.so.%{libclnt} +%{oradir}/lib/libnnz%{major}.so +%{oradir}/lib/libocci.so.%{libclnt} +%{oradir}/lib/libipc1.so +%{oradir}/lib/libmql1.so %{oradir}/lib/libociei.so -%{oradir}/lib/libocijdbc10.so -%{oradir}/lib/classes12.jar -%{oradir}/lib/ojdbc14.jar +%{oradir}/lib/libocijdbc%{major}.so +%{oradir}/lib/liboramysql%{major}.so +%{oradir}/lib/ojdbc8.jar +%{oradir}/lib/xstreams.jar %{_sysconfdir}/ld.so.conf.d/%{name}.conf %{oradir}/bin/genezi +%{oradir}/bin/adrci +%{oradir}/bin/uidrvci -%files devel -%defattr(-,root,root) -%doc %{topdir}/sdk/demo +%files -n oracle-instantclient-devel -f %{topdir}/devel.files +%license %{topdir}/SDK_LICENSE +%doc %{topdir}/sdk/demo %{topdir}/SDK_README %{topdir}/sdk/ott +%{oradir}/lib/libclntshcore.so %{oradir}/lib/libclntsh.so %{oradir}/lib/libocci.so -%{incdir}/* - -%post sqlplus -/sbin/ldconfig - -%postun sqlplus -/sbin/ldconfig - -%files sqlplus -%defattr(-,root,root) +%{oradir}/lib/ottclasses.zip +%dir %{incdir} +%{_bindir}/ott +%{oradir}/bin/ott + +%files -n oracle-instantclient-sqlplus +%license %{topdir}/SQLPLUS_LICENSE +%doc %{topdir}/SQLPLUS_README %{_bindir}/sqlplus %{oradir}/bin/sqlplus %{oradir}/lib/glogin.sql %{oradir}/lib/libsqlplus.so %{oradir}/lib/libsqlplusic.so -%files jdbc -%defattr(-,root,root) -%{oradir}/lib/libheteroxa10.so +%files -n oracle-instantclient-jdbc +%license %{topdir}/JDBC_LICENSE +%doc %{topdir}/JDBC_README +%{oradir}/lib/libheteroxa%{major}.so +%{oradir}/lib/orai18n-mapping.jar %{oradir}/lib/orai18n.jar -%files odbc -%defattr(-,root,root) -%doc %{topdir}/ODBC_IC_Readme_Linux.html %{topdir}/ODBCRelnotesJA.htm %{topdir}/ODBCRelnotesUS.htm +%files -n oracle-instantclient-odbc +%license %{topdir}/ODBC_LICENSE +%doc %{topdir}/ODBC_README %doc %{topdir}/odbc_update_ini.sh -%{oradir}/lib/libsqora.so.10.1 +%doc %{topdir}/help +%{oradir}/lib/libsqora.so.%{libclnt} + +%files -n oracle-instantclient-tools +%license %{topdir}/TOOLS_LICENSE +%doc %{topdir}/TOOLS_README +%{_bindir}/exp +%{_bindir}/expdp +%{_bindir}/imp +%{_bindir}/impdp +%{_bindir}/sqlldr +%{_bindir}/wrc +%{oradir}/bin/exp +%{oradir}/bin/expdp +%{oradir}/bin/imp +%{oradir}/bin/impdp +%{oradir}/bin/sqlldr +%{oradir}/bin/wrc +%{oradir}/lib/libnfsodm%{major}.so + +%files -n oracle-instantclient-precomp -f %{topdir}/precomp.files +%doc %{topdir}/sdk/demo %{topdir}/PRECOMP_README +%dir %{oradir}/lib/precomp +%dir %{oradir}/lib/precomp/admin +%config %{oradir}/lib/precomp/admin/pcbcfg.cfg +%config %{oradir}/lib/precomp/admin/pcscfg.cfg +%{oradir}/lib/cobsqlintf.o +%{oradir}/bin/proc +%{oradir}/bin/procob +%{_bindir}/proc +%{_bindir}/procob + %changelog +* Tue Nov 17 2020 Remi Collet 19.9.0.0.0-1 +- update to 19.9.0.0.0 + +* Wed Jul 22 2020 Remi Collet 19.8.0.0.0-1 +- update to 19.8.0.0.0 + +* Wed Mar 11 2020 Remi Collet 19.6.0.0.0-1 +- update to 19.6.0.0.0 + +* Tue Dec 10 2019 Remi Collet 19.5.0.0.0-1 +- update to 19.5.0.0.0 + +* Mon Jun 17 2019 Remi Collet 19.3.0.0.0-1 +- update to 19.3.0.0.0 + +* Wed Apr 17 2019 Remi Collet 18.5.0.0.0-1 +- update to 18.5.0.0.0 + +* Tue Sep 4 2018 Remi Collet 18.3.0.0.0-1 +- update to 18.3.0.0.0 + +* Fri Mar 24 2017 Remi Collet 12.2.0.1.0-2 +- fix links in devel sub-package + +* Fri Mar 24 2017 Remi Collet 12.2.0.1.0-1 +- update to 12.2.0.1.0 + +* Tue Aug 9 2016 Remi Collet 12.1.0.1.0-3 +- simplify headers packaging +- simplify ldconfig call in scriptlets + +* Tue Aug 9 2016 Pierre Duperray - 12.1.0.2.0-2 +- separated devel and precomp headers and moved precomp pcbcfg.cfg file to the right folder + +* Mon Aug 8 2016 Pierre Duperray - 12.1.0.2.0-1 +- unfortunately due to not yet packaged tuxedo dependancy, remove rtsora from precomp package + +* Fri Jul 26 2013 Remi Collet 12.1.0.1.0-1 +- update to 12.1.0.1.0 + +* Wed Feb 29 2012 Remi Collet 11.2.0.3.0-1 +- update to 11.2.0.3.0 +- add precomp subpackage +- merge some changes from Ciro Iriarte + http://track.itsolutions.com.py/pub/oracle/oracle-instantclient.spec + +* Thu Nov 11 2010 Remi Collet 11.2.0.2.0-1 +- update to 11.2.0.2.0 + +* Fri Feb 12 2010 Remi Collet 11.2.0.1.0-1.###.remi +- update to 11.2.0.1.0 + +* Sat Dec 26 2009 Remi Collet 11.2.0.0.2-1.###.remi +- update to 11.2.0.0.2 + +* Thu Dec 04 2008 Remi Collet 11.1.0.7-1.###.remi +- update to 11.1.0.7 +- add tools sub-package + +* Sat Sep 13 2008 Remi Collet 11.1.0.6-1.###.remi +- improved split spec + +* Tue Dec 11 2007 Remi Collet 11.1.0.6-1.###.remi +- version 11.1.0.6 + +* Fri Nov 09 2007 Remi Collet 10.2.0.3-3.fc8.remi +- split spec for i386, x86_64 and ppc +- F8 rebuid + * Sun Aug 19 2007 Ciro Iriarte 10.2.0.3-3.###.remi - added genezi to basic package @@ -220,7 +395,7 @@ rm -rf %{buildroot} - FC6.x86_64 build (conditional targetname & datever) * Thu Oct 26 2006 Remi Collet 10.2.0.2-2.fc6.remi -- FC6.i386 build +- FC6.i386 build * Fri Jun 23 2006 Remi Collet 10.2.0.2-2.fc5.remi - Switch back to defaut oracle strategie. -- cgit