1 %define otnurl http://download.oracle.com/otn/linux/instantclient/121010
2 Summary: Oracle Database Instant Client
3 Name: oracle-instantclient
6 License: OTN (proprietary, non-distributable)
7 Group: Applications/Databases
9 Source0: %{otnurl}/instantclient-basic-linux-%{version}.zip
10 # NoSource0-md5: 7c3b522424713cc8d3814356cf092c02
11 Source1: %{otnurl}/instantclient-basiclite-linux-%{version}.zip
12 # NoSource1-md5: 0d5ec661d9ebfde8880cff5ca1ef9553
13 Source2: %{otnurl}/instantclient-sdk-linux-%{version}.zip
14 # NoSource2-md5: e33beaaf88256e19f8c59e07d7033159
15 Source3: %{otnurl}/instantclient-jdbc-linux-%{version}.zip
16 # NoSource3-md5: be0c52004e52448726fb7a4e891c7c98
17 Source4: %{otnurl}/instantclient-odbc-linux-%{version}.zip
18 # NoSource4-md5: e8ba53efe62b6f3f139a30c55baf78b5
19 Source5: %{otnurl}/instantclient-sqlplus-linux-%{version}.zip
20 # NoSource5-md5: c3c5bfefce74974f98fd8e72fb2cd44f
21 Source6: %{otnurl}/instantclient-tools-linux-%{version}.zip
22 # NoSource6-md5: 902c817154b5568b2db8c7328d4a10d7
23 Source7: %{otnurl}/instantclient-precomp-linux-%{version}.zip
24 # NoSource7-md5: 4e99435623d82b802d4d95de3598dde7
35 Source10: %{otnurl}/instantclient-basic-linux.x64-%{version}.zip
36 # NoSource10-md5: a555a7f4510e6568e66c45238929f16b
37 Source11: %{otnurl}/instantclient-basiclite-linux.x64-%{version}.zip
38 # NoSource11-md5: 6c712aafb26989699d57c99a3e2bc124
39 Source12: %{otnurl}/instantclient-sdk-linux.x64-%{version}.zip
40 # NoSource12-md5: e8682f754ea63b9c5f17bd22ba158a75
41 Source13: %{otnurl}/instantclient-jdbc-linux.x64-%{version}.zip
42 # NoSource13-md5: 7b0c4111c6c4a7db062ae961dbc309b6
43 Source14: %{otnurl}/instantclient-odbc-linux.x64-%{version}.zip
44 # NoSource14-md5: b0e9e3b10ba22b34dbe335426a4fe001
45 Source15: %{otnurl}/instantclient-sqlplus-linux.x64-%{version}.zip
46 # NoSource15-md5: 09d2463277bdbddba36aafc051c5c1b5
47 Source16: %{otnurl}/instantclient-tools-linux.x64-%{version}.zip
48 # NoSource16-md5: 95f2a981ee6515fe31652fb41f7eacbf
49 Source17: %{otnurl}/instantclient-precomp-linux.x64-%{version}.zip
50 # NoSource17-md5: 8ac59bdbb1cb34796c753bdad65e72d9
60 # http://duberga.net/dbd_oracle_instantclient_linux/oracle-instantclient-config
61 Source20: %{name}-config.in
62 Source21: %{name}.pc.in
63 Source22: tnsnames.ora
65 Patch0: proc-includes32.patch
66 Patch1: proc-includes64.patch
67 URL: http://www.oracle.com/technetwork/database/features/instant-client/
69 Suggests: %{name}-basic
70 Suggests: %{name}-basiclite
71 ExclusiveArch: %{ix86} %{x8664}
72 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
74 %define driver_ver %(echo %{version} | cut -d. -f1)
75 %define soname %(echo %{version} | cut -d. -f1,2)
77 # verify these with odbc_update_ini.sh
78 %define driver_name "Oracle %{driver_ver}c ODBC driver"
79 %define driver_desc "Oracle ODBC driver for Oracle %{driver_ver}c"
81 %define _gcc_sys_inc_dir %(gcc -print-file-name=include)
83 # libocci.so - should be linked against libclntsh.so but is not
84 %define skip_post_check_so libclntsh.so.%{soname} libclntshcore.so.%{soname} libocci.so.%{soname} libsqora.so.%{soname}
86 # don't generate deps for Intel Cobol Compiler
87 %define _noautoreq ^libcob.*.so
90 Oracle Database Instant Client Package.
93 Summary: Oracle Database Instant Client - Basic
94 Group: Applications/Databases
95 Requires: %{name} = %{version}-%{release}
96 Conflicts: %{name} < 12.1.0.1.0-0.4
99 All files required to run OCI, and OCCI, and JDBC-OCI applications.
102 Summary: Oracle Database Instant Client - Basic Lite
103 Group: Applications/Databases
104 Requires: %{name} = %{version}-%{release}
105 Conflicts: %{name} < 12.1.0.1.0-0.4
107 %description basiclite
108 All files required to run OCI, and OCCI, and JDBC-OCI applications.
110 This package contains only English error messages and Unicode, ASCII,
111 and Western European character set support
114 Summary: SDK for Oracle Database Instant Client
115 Group: Development/Libraries
116 Requires: %{name} = %{version}-%{release}
119 Additional header files and an example makefile for developing Oracle
120 applications with Instant Client.
122 %package -n java-jdbc-%{name}
123 Summary: JDBC for Oracle Database Instant Client
124 Group: Libraries/Java
125 Requires: %{name} = %{version}-%{release}
126 Obsoletes: oracle-instantclient-jdbc < 12.1.0.1.0-0.6
128 %description -n java-jdbc-%{name}
129 Oracle Database Instant Client Package - JDBC.
131 Support for JDBC-OCI, XA, Internationalization, and RowSet operations
134 %package -n java-jdbc-%{name}-devel
135 Summary: JDBC for Oracle Database Instant Client development files
136 Group: Development/Languages/Java
137 Requires: java-jdbc-%{name} = %{version}-%{release}
138 Obsoletes: oracle-instantclient-jdbc-devel < 12.1.0.1.0-0.6
140 %description -n java-jdbc-%{name}-devel
141 Oracle Database Instant Client Package - JDBC development files.
144 Summary: ODBC for Oracle Database Instant Client
146 Requires(post,preun): /usr/bin/odbcinst
147 Requires: %{name} = %{version}-%{release}
151 Oracle ODBC Instant Client for Linux complies with ODBC 3.52
152 specifications. It is based on features of Oracle %{version} ODBC
153 driver for Windows, without the need for a traditional ORACLE_HOME
157 Summary: Oracle Database Client - SQL*Plus
158 Group: Applications/Databases
159 Requires: %{name} = %{version}-%{release}
162 Oracle Database Instant Client Package - SQL*Plus.
164 Additional libraries and executable for running SQL*Plus with Instant
168 Summary: Oracle Database Workload Replay Client
169 Group: Applications/Databases
170 Requires: %{name} = %{version}-%{release}
173 Oracle Database Instant Client Package - WRC.
175 WRC - Workload Replay Client used to replay workload for RAT's DB
179 Summary: Oracle Database Client - Precompiler
180 Group: Applications/Databases
181 Requires: %{name} = %{version}-%{release}
184 PRECOMP Instant Client (IC) Package contains following components:
185 - "proc" binary to precompile a Pro*C application
186 - "procob" binary to precompile a Pro*COBOL application
187 - sample configuration files, demo programs and demo make files for
188 building proc and procob demos and in general any Pro*C/Pro*COBOL
192 %define __unzip unzip -n
194 %setup -qcT -b 0 -b 1 -b 2 -b 3 -b 4 -b 5 -b 6 -b 7
198 %setup -qcT -b 10 -b 11 -b 12 -b 13 -b 14 -b 15 -b 16 -b 17
201 mv instantclient_*/* .
207 rm -rf $RPM_BUILD_ROOT
208 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_datadir}/sqlplus/admin} \
209 $RPM_BUILD_ROOT{%{_examplesdir}/%{name},%{_includedir}/oracle/client} \
210 $RPM_BUILD_ROOT{%{_pkgconfigdir},%{_javadir},%{_sysconfdir}}
212 cp -p *.jar $RPM_BUILD_ROOT%{_javadir}
213 cp -a *.so* $RPM_BUILD_ROOT%{_libdir}
214 install -p sqlplus $RPM_BUILD_ROOT%{_bindir}
215 install -p genezi $RPM_BUILD_ROOT%{_bindir}
216 install -p adrci $RPM_BUILD_ROOT%{_bindir}
217 install -p wrc $RPM_BUILD_ROOT%{_bindir}
218 install -p uidrvci $RPM_BUILD_ROOT%{_bindir}
219 cp -p glogin.sql $RPM_BUILD_ROOT%{_datadir}/sqlplus/admin
221 %{__sed} -e 's|@@prefix@@|%{_prefix}|' \
222 -e 's|@@libdir@@|%{_libdir}|' \
223 -e 's|@@includedir@@|%{_includedir}/oracle/client|' \
224 -e 's|@@version@@|%{version}|' %{SOURCE20} > \
225 $RPM_BUILD_ROOT%{_bindir}/oracle-instantclient-config
227 %{__sed} -e 's|@@prefix@@|%{_prefix}|' \
228 -e 's|@@libdir@@|%{_libdir}|' \
229 -e 's|@@includedir@@|%{_includedir}/oracle/client|' \
230 -e 's|@@version@@|%{version}|' %{SOURCE21} > \
231 $RPM_BUILD_ROOT%{_pkgconfigdir}/oracle-instantclient.pc
233 cp -p sdk/ottclasses.zip $RPM_BUILD_ROOT%{_javadir}
234 install -p sdk/ott $RPM_BUILD_ROOT%{_bindir}
235 install -p sdk/proc* $RPM_BUILD_ROOT%{_bindir}
236 install -p sdk/rtsora* $RPM_BUILD_ROOT%{_bindir}
237 cp -a sdk/include/* $RPM_BUILD_ROOT%{_includedir}/oracle/client
238 cp -a sdk/demo/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}
240 cp -p cobsqlintf.o $RPM_BUILD_ROOT%{_libdir}
241 cp -a precomp $RPM_BUILD_ROOT%{_libdir}
243 %{__sed} -i -e "s|@GCC_SYS_INC_DIR@|%{_gcc_sys_inc_dir}|g" \
244 $RPM_BUILD_ROOT%{_libdir}/precomp/admin/pcscfg.cfg
246 cp -p %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/tnsnames.ora
247 cp -p %{SOURCE23} $RPM_BUILD_ROOT%{_sysconfdir}/sqlnet.ora
248 # make it load without ORACLE_HOME env
249 install -d $RPM_BUILD_ROOT%{_libdir}/network/admin
250 ln -s %{_sysconfdir}/sqlnet.ora $RPM_BUILD_ROOT%{_libdir}/network/admin/sqlnet.ora
252 # rename to avoid clash with openldap header or php build will suffer
253 mv $RPM_BUILD_ROOT%{_includedir}/oracle/client/{ldap.h,oraldap.h}
255 cd $RPM_BUILD_ROOT%{_libdir}
256 for ff in lib*.so.* ; do
257 ln -s $ff ${ff:%%.so.*}.so
261 rm -rf $RPM_BUILD_ROOT
263 %post basic -p /sbin/ldconfig
264 %postun basic -p /sbin/ldconfig
266 %post basiclite -p /sbin/ldconfig
267 %postun basiclite -p /sbin/ldconfig
269 %post -n java-jdbc-%{name} -p /sbin/ldconfig
270 %postun -n java-jdbc-%{name} -p /sbin/ldconfig
272 %post sqlplus -p /sbin/ldconfig
273 %postun sqlplus -p /sbin/ldconfig
277 # install Oracle driver
278 /usr/bin/odbcinst -i -d -r <<EOF
280 Description = %{driver_desc}
281 Driver = %{_libdir}/libsqora.so.%{soname}
286 /usr/bin/odbcinst -u -d -n %{driver_name} || :
288 %postun odbc -p /sbin/ldconfig
291 %defattr(644,root,root,755)
292 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tnsnames.ora
293 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sqlnet.ora
294 %attr(755,root,root) %{_bindir}/adrci
295 %attr(755,root,root) %{_bindir}/genezi
296 %attr(755,root,root) %{_bindir}/uidrvci
297 # libnnz.so: Security library
298 %attr(755,root,root) %{_libdir}/libnnz%{driver_ver}.so
299 %attr(755,root,root) %{_libdir}/libons.so
300 # libclntsh.so, libclntshcore.so: Client Code Library and data shared library.
301 %attr(755,root,root) %{_libdir}/libclntsh.so.*
302 %attr(755,root,root) %{_libdir}/libclntshcore.so.%{soname}
304 # subpackage these (not directly needed by php-ext):
305 # libocci.so: OCCI (Oracle C++ Call Interface) Library
306 %attr(755,root,root) %{_libdir}/libocci.so.*
308 # liboramysql.so: MySQL Client Library Driver for Oracle Database,
309 # drop-in replacement for MySQL Commercial Connector/C 6.0 client library.
310 %attr(755,root,root) %{_libdir}/liboramysql%{driver_ver}.so
312 # parent dirs for sqlnet.ora
313 %dir %{_libdir}/network
314 %dir %{_libdir}/network/admin
315 %config(noreplace) %verify(not md5 mtime size) %{_libdir}/network/admin/sqlnet.ora
318 %defattr(644,root,root,755)
319 %doc BASIC_LITE_README
320 # libociicus.so: OCI Instant Client data shared library (English only)
321 %attr(755,root,root) %{_libdir}/libociicus.so
324 %defattr(644,root,root,755)
326 # libociei.so: OCI Instant Client data shared library
327 %attr(755,root,root) %{_libdir}/libociei.so
330 %defattr(644,root,root,755)
332 %attr(755,root,root) %{_bindir}/oracle-instantclient-config
333 %attr(755,root,root) %{_bindir}/ott
334 %attr(755,root,root) %{_libdir}/libclntsh.so
335 %attr(755,root,root) %{_libdir}/libocci.so
336 %attr(755,root,root) %{_libdir}/libclntshcore.so
337 %{_pkgconfigdir}/oracle-instantclient.pc
338 %dir %{_includedir}/oracle
339 %{_includedir}/oracle/client
340 %exclude %{_includedir}/oracle/client/oraca.h
341 %exclude %{_includedir}/oracle/client/sql2oci.h
342 %exclude %{_includedir}/oracle/client/sqlapr.h
343 %exclude %{_includedir}/oracle/client/sqlca.h
344 %exclude %{_includedir}/oracle/client/sqlcpr.h
345 %exclude %{_includedir}/oracle/client/sqlda.h
346 %exclude %{_includedir}/oracle/client/sqlkpr.h
347 %exclude %{_includedir}/oracle/client/sqlucs2.h
348 %{_examplesdir}/%{name}
349 %exclude %{_examplesdir}/%{name}/demo_proc*_ic.mk
350 %exclude %{_examplesdir}/%{name}/*.pc*
352 %files -n java-jdbc-%{name}
353 %defattr(644,root,root,755)
355 %attr(755,root,root) %{_libdir}/libheteroxa%{driver_ver}.so
356 # libocijdbc12.so: OCI Instant Client JDBC Library
357 %attr(755,root,root) %{_libdir}/libocijdbc%{driver_ver}.so
358 %{_javadir}/ojdbc6.jar
359 %{_javadir}/ojdbc7.jar
360 %{_javadir}/orai18n-mapping.jar
361 %{_javadir}/orai18n.jar
362 %{_javadir}/xstreams.jar
364 %files -n java-jdbc-%{name}-devel
365 %defattr(644,root,root,755)
366 %{_javadir}/ottclasses.zip
369 %defattr(644,root,root,755)
370 %doc ODBC*.html ODBCRelnotesUS.htm
371 %doc %lang(ja) ODBCRelnotesJA.htm
373 %doc %lang(ja) help_ja
374 %attr(755,root,root) %{_libdir}/libsqora.so.%{soname}
375 %attr(755,root,root) %{_libdir}/libsqora.so
378 %defattr(644,root,root,755)
380 %attr(755,root,root) %{_bindir}/sqlplus
381 # libsqlplus.so: SQL*Plus library
382 %attr(755,root,root) %{_libdir}/libsqlplus.so
383 # libsqlplusic.so: SQL*Plus data shared library
384 %attr(755,root,root) %{_libdir}/libsqlplusic.so
385 %dir %{_datadir}/sqlplus
386 %dir %{_datadir}/sqlplus/admin
387 %{_datadir}/sqlplus/admin/glogin.sql
390 %defattr(644,root,root,755)
392 %attr(755,root,root) %{_bindir}/wrc
395 %defattr(644,root,root,755)
397 %attr(755,root,root) %{_bindir}/proc
398 %attr(755,root,root) %{_bindir}/procob
399 %attr(755,root,root) %{_bindir}/rtsora
400 %{_libdir}/cobsqlintf.o
401 %dir %{_libdir}/precomp
402 %dir %{_libdir}/precomp/admin
403 %{_libdir}/precomp/admin/pcscfg.cfg
404 %{_libdir}/precomp/admin/pcbcfg.cfg
405 %{_examplesdir}/%{name}/demo_proc*_ic.mk
406 %{_examplesdir}/%{name}/*.pc*
408 # precomp-devel maybe
409 %{_includedir}/oracle/client/oraca.h
410 %{_includedir}/oracle/client/sql2oci.h
411 %{_includedir}/oracle/client/sqlapr.h
412 %{_includedir}/oracle/client/sqlca.h
413 %{_includedir}/oracle/client/sqlcpr.h
414 %{_includedir}/oracle/client/sqlda.h
415 %{_includedir}/oracle/client/sqlkpr.h
416 %{_includedir}/oracle/client/sqlucs2.h