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
64 Patch0: proc-includes32.patch
65 Patch1: proc-includes64.patch
66 URL: http://www.oracle.com/technetwork/database/features/instant-client/
68 ExclusiveArch: %{ix86} %{x8664}
69 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71 %define driver_ver %(echo %{version} | cut -d. -f1)
72 %define soname %(echo %{version} | cut -d. -f1,2)
74 # verify these with odbc_update_ini.sh
75 %define driver_name "Oracle %{driver_ver}c ODBC driver"
76 %define driver_desc "Oracle ODBC driver for Oracle %{driver_ver}c"
78 %define _gcc_sys_inc_dir %(gcc -print-file-name=include)
80 # libocci.so - should be linked against libclntsh.so but is not
81 %define skip_post_check_so libclntsh.so.%{soname} libclntshcore.so.%{soname} libocci.so.%{soname} libsqora.so.%{soname}
83 # don't generate deps for Intel Cobol Compiler
84 %define _noautoreq ^libcob.*.so
87 Orcale Database Instant Client Package.
90 Summary: Oracle Database Instant Client - Basic
91 Group: Applications/Databases
92 Requires: %{name} = %{version}-%{release}
93 Conflicts: %{name} < 12.1.0.1.0-0.4
96 All files required to run OCI, and OCCI, and JDBC-OCI applications.
99 Summary: Oracle Database Instant Client - Basic Lite
100 Group: Applications/Databases
101 Requires: %{name} = %{version}-%{release}
102 Conflicts: %{name} < 12.1.0.1.0-0.4
104 %description basiclite
105 All files required to run OCI, and OCCI, and JDBC-OCI applications.
107 This package contains only English error messages and Unicode, ASCII,
108 and Western European character set support
111 Summary: SDK for Oracle Database Instant Client
112 Group: Development/Libraries
113 Requires: %{name} = %{version}-%{release}
116 Additional header files and an example makefile for developing Oracle
117 applications with Instant Client.
119 %package -n java-jdbc-%{name}
120 Summary: JDBC for Oracle Database Instant Client
121 Group: Libraries/Java
122 Requires: %{name} = %{version}-%{release}
123 Obsoletes: oracle-instantclient-jdbc < 12.1.0.1.0-0.6
125 %description -n java-jdbc-%{name}
126 Oracle Database Instant Client Package - JDBC.
128 Support for JDBC-OCI, XA, Internationalization, and RowSet operations
131 %package -n java-jdbc-%{name}-devel
132 Summary: JDBC for Oracle Database Instant Client development files
133 Group: Development/Languages/Java
134 Requires: java-jdbc-%{name} = %{version}-%{release}
135 Obsoletes: oracle-instantclient-jdbc-devel < 12.1.0.1.0-0.6
137 %description -n java-jdbc-%{name}-devel
138 Oracle Database Instant Client Package - JDBC development files.
141 Summary: ODBC for Oracle Database Instant Client
143 Requires(post,preun): /usr/bin/odbcinst
144 Requires: %{name} = %{version}-%{release}
148 Oracle Database Instant Client Package - ODBC.
150 Additional libraries for enabling ODBC applications.
153 Summary: Oracle Database Client - SQL*Plus
154 Group: Applications/Databases
155 Requires: %{name} = %{version}-%{release}
158 Oracle Database Instant Client Package - SQL*Plus.
160 Additional libraries and executable for running SQL*Plus with Instant
164 Summary: Oracle Database Workload Replay Client
165 Group: Applications/Databases
166 Requires: %{name} = %{version}-%{release}
169 Oracle Database Instant Client Package - WRC.
171 Workload Replay Client used to replay workload for RAT's DB Replay
175 Summary: Oracle Database Client - Precompiler
176 Group: Applications/Databases
177 Requires: %{name} = %{version}-%{release}
180 Oracle Database Instant Client Package - Precompiler.
182 Additional files for "proc" binary and related files to precompile a
183 Pro*C application and demo.
186 %define __unzip unzip -n
188 %setup -qcT -b 0 -b 1 -b 2 -b 3 -b 4 -b 5 -b 6 -b 7
192 %setup -qcT -b 10 -b 11 -b 12 -b 13 -b 14 -b 15 -b 16 -b 17
195 mv instantclient_*/* .
201 rm -rf $RPM_BUILD_ROOT
202 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_datadir}/sqlplus/admin} \
203 $RPM_BUILD_ROOT{%{_examplesdir}/%{name},%{_includedir}/oracle/client} \
204 $RPM_BUILD_ROOT{%{_pkgconfigdir},%{_javadir},%{_sysconfdir}}
206 cp -p *.jar $RPM_BUILD_ROOT%{_javadir}
207 cp -a *.so* $RPM_BUILD_ROOT%{_libdir}
208 install -p sqlplus $RPM_BUILD_ROOT%{_bindir}
209 install -p genezi $RPM_BUILD_ROOT%{_bindir}
210 install -p adrci $RPM_BUILD_ROOT%{_bindir}
211 install -p wrc $RPM_BUILD_ROOT%{_bindir}
212 install -p uidrvci $RPM_BUILD_ROOT%{_bindir}
213 cp -p glogin.sql $RPM_BUILD_ROOT%{_datadir}/sqlplus/admin
215 %{__sed} -e 's|@@prefix@@|%{_prefix}|' \
216 -e 's|@@libdir@@|%{_libdir}|' \
217 -e 's|@@includedir@@|%{_includedir}/oracle/client|' \
218 -e 's|@@version@@|%{version}|' %{SOURCE20} > \
219 $RPM_BUILD_ROOT%{_bindir}/oracle-instantclient-config
221 %{__sed} -e 's|@@prefix@@|%{_prefix}|' \
222 -e 's|@@libdir@@|%{_libdir}|' \
223 -e 's|@@includedir@@|%{_includedir}/oracle/client|' \
224 -e 's|@@version@@|%{version}|' %{SOURCE21} > \
225 $RPM_BUILD_ROOT%{_pkgconfigdir}/oracle-instantclient.pc
227 cp -p sdk/ottclasses.zip $RPM_BUILD_ROOT%{_javadir}
228 install -p sdk/ott $RPM_BUILD_ROOT%{_bindir}
229 install -p sdk/proc* $RPM_BUILD_ROOT%{_bindir}
230 install -p sdk/rtsora* $RPM_BUILD_ROOT%{_bindir}
231 cp -a sdk/include/* $RPM_BUILD_ROOT%{_includedir}/oracle/client
232 cp -a sdk/demo/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}
234 cp -p cobsqlintf.o $RPM_BUILD_ROOT%{_libdir}
235 cp -a precomp $RPM_BUILD_ROOT%{_libdir}
237 %{__sed} -i -e "s|@GCC_SYS_INC_DIR@|%{_gcc_sys_inc_dir}|g" \
238 $RPM_BUILD_ROOT%{_libdir}/precomp/admin/pcscfg.cfg
240 cp -p %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/tnsnames.ora
242 # rename to avoid clash with openldap header or php build will suffer
243 mv $RPM_BUILD_ROOT%{_includedir}/oracle/client/{ldap.h,oraldap.h}
245 cd $RPM_BUILD_ROOT%{_libdir}
246 for ff in lib*.so.* ; do
247 ln -s $ff ${ff:%%.so.*}.so
251 rm -rf $RPM_BUILD_ROOT
253 %post basic -p /sbin/ldconfig
254 %postun basic -p /sbin/ldconfig
256 %post basiclite -p /sbin/ldconfig
257 %postun basiclite -p /sbin/ldconfig
259 %post -n java-jdbc-%{name} -p /sbin/ldconfig
260 %postun -n java-jdbc-%{name} -p /sbin/ldconfig
262 %post sqlplus -p /sbin/ldconfig
263 %postun sqlplus -p /sbin/ldconfig
267 # install Orcale driver
268 /usr/bin/odbcinst -i -d -r <<EOF
270 Description = %{driver_desc}
271 Driver = %{_libdir}/libsqora.so.%{soname}
276 /usr/bin/odbcinst -u -d -n %{driver_name} || :
278 %postun odbc -p /sbin/ldconfig
281 %defattr(644,root,root,755)
282 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tnsnames.ora
283 %attr(755,root,root) %{_bindir}/adrci
284 %attr(755,root,root) %{_bindir}/genezi
285 %attr(755,root,root) %{_bindir}/uidrvci
286 # libnnz.so: Security library
287 %attr(755,root,root) %{_libdir}/libnnz%{driver_ver}.so
288 %attr(755,root,root) %{_libdir}/libons.so
289 # libclntsh.so, libclntshcore.so: Client Code Library and data shared library.
290 %attr(755,root,root) %{_libdir}/libclntsh.so.*
291 %attr(755,root,root) %{_libdir}/libclntshcore.so.%{soname}
293 # subpackage these (not directly needed by php-ext):
294 # libocci.so: OCCI (Oracle C++ Call Interface) Library
295 %attr(755,root,root) %{_libdir}/libocci.so.*
297 # liboramysql.so: MySQL Client Library Driver for Oracle Database,
298 # drop-in replacement for MySQL Commercial Connector/C 6.0 client library.
299 %attr(755,root,root) %{_libdir}/liboramysql%{driver_ver}.so
302 %defattr(644,root,root,755)
303 %doc BASIC_LITE_README
304 # libociicus.so: OCI Instant Client data shared library (English only)
305 %attr(755,root,root) %{_libdir}/libociicus.so
308 %defattr(644,root,root,755)
310 # libociei.so: OCI Instant Client data shared library
311 %attr(755,root,root) %{_libdir}/libociei.so
314 %defattr(644,root,root,755)
316 %attr(755,root,root) %{_bindir}/oracle-instantclient-config
317 %attr(755,root,root) %{_bindir}/ott
318 %attr(755,root,root) %{_libdir}/libclntsh.so
319 %attr(755,root,root) %{_libdir}/libocci.so
320 %attr(755,root,root) %{_libdir}/libclntshcore.so
321 %{_pkgconfigdir}/oracle-instantclient.pc
322 %dir %{_includedir}/oracle
323 %{_includedir}/oracle/client
324 %exclude %{_includedir}/oracle/client/oraca.h
325 %exclude %{_includedir}/oracle/client/sql2oci.h
326 %exclude %{_includedir}/oracle/client/sqlapr.h
327 %exclude %{_includedir}/oracle/client/sqlca.h
328 %exclude %{_includedir}/oracle/client/sqlcpr.h
329 %exclude %{_includedir}/oracle/client/sqlda.h
330 %exclude %{_includedir}/oracle/client/sqlkpr.h
331 %exclude %{_includedir}/oracle/client/sqlucs2.h
332 %{_examplesdir}/%{name}
333 %exclude %{_examplesdir}/%{name}/demo_proc*_ic.mk
334 %exclude %{_examplesdir}/%{name}/*.pc*
336 %files -n java-jdbc-%{name}
337 %defattr(644,root,root,755)
339 %attr(755,root,root) %{_libdir}/libheteroxa%{driver_ver}.so
340 # libocijdbc12.so: OCI Instant Client JDBC Library
341 %attr(755,root,root) %{_libdir}/libocijdbc%{driver_ver}.so
342 %{_javadir}/ojdbc6.jar
343 %{_javadir}/ojdbc7.jar
344 %{_javadir}/orai18n-mapping.jar
345 %{_javadir}/orai18n.jar
346 %{_javadir}/xstreams.jar
348 %files -n java-jdbc-%{name}-devel
349 %defattr(644,root,root,755)
350 %{_javadir}/ottclasses.zip
353 %defattr(644,root,root,755)
354 %doc ODBC*.html ODBCRelnotesUS.htm
355 %doc %lang(ja) ODBCRelnotesJA.htm
357 %doc %lang(ja) help_ja
358 %attr(755,root,root) %{_libdir}/libsqora.so.%{soname}
359 %attr(755,root,root) %{_libdir}/libsqora.so
362 %defattr(644,root,root,755)
364 %attr(755,root,root) %{_bindir}/sqlplus
365 # libsqlplus.so: SQL*Plus library
366 %attr(755,root,root) %{_libdir}/libsqlplus.so
367 # libsqlplusic.so: SQL*Plus data shared library
368 %attr(755,root,root) %{_libdir}/libsqlplusic.so
369 %dir %{_datadir}/sqlplus
370 %dir %{_datadir}/sqlplus/admin
371 %{_datadir}/sqlplus/admin/glogin.sql
374 %defattr(644,root,root,755)
376 %attr(755,root,root) %{_bindir}/wrc
379 %defattr(644,root,root,755)
381 %attr(755,root,root) %{_bindir}/proc
382 %attr(755,root,root) %{_bindir}/procob
383 %attr(755,root,root) %{_bindir}/rtsora
384 %{_libdir}/cobsqlintf.o
385 %dir %{_libdir}/precomp
386 %dir %{_libdir}/precomp/admin
387 %{_libdir}/precomp/admin/pcscfg.cfg
388 %{_libdir}/precomp/admin/pcbcfg.cfg
389 %{_examplesdir}/%{name}/demo_proc*_ic.mk
390 %{_examplesdir}/%{name}/*.pc*
392 # precomp-devel maybe
393 %{_includedir}/oracle/client/oraca.h
394 %{_includedir}/oracle/client/sql2oci.h
395 %{_includedir}/oracle/client/sqlapr.h
396 %{_includedir}/oracle/client/sqlca.h
397 %{_includedir}/oracle/client/sqlcpr.h
398 %{_includedir}/oracle/client/sqlda.h
399 %{_includedir}/oracle/client/sqlkpr.h
400 %{_includedir}/oracle/client/sqlucs2.h