]> git.pld-linux.org Git - packages/oracle-instantclient.git/blob - oracle-instantclient.spec
suggest basic and basiclite
[packages/oracle-instantclient.git] / oracle-instantclient.spec
1 %define         otnurl  http://download.oracle.com/otn/linux/instantclient/121010
2 Summary:        Oracle Database Instant Client
3 Name:           oracle-instantclient
4 Version:        12.1.0.1.0
5 Release:        1
6 License:        OTN (proprietary, non-distributable)
7 Group:          Applications/Databases
8 %ifarch %{ix86}
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
25 NoSource:       0
26 NoSource:       1
27 NoSource:       2
28 NoSource:       3
29 NoSource:       4
30 NoSource:       5
31 NoSource:       6
32 NoSource:       7
33 %endif
34 %ifarch %{x8664}
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
51 NoSource:       10
52 NoSource:       11
53 NoSource:       12
54 NoSource:       13
55 NoSource:       14
56 NoSource:       15
57 NoSource:       16
58 NoSource:       17
59 %endif
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 Source23:       sqlnet.ora
65 Patch0:         proc-includes32.patch
66 Patch1:         proc-includes64.patch
67 URL:            http://www.oracle.com/technetwork/database/features/instant-client/
68 BuildRequires:  unzip
69 Suggests:       %{name}-basic
70 Suggests:       %{name}-basiclite
71 ExclusiveArch:  %{ix86} %{x8664}
72 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73
74 %define         driver_ver      %(echo %{version} | cut -d. -f1)
75 %define         soname          %(echo %{version} | cut -d. -f1,2)
76
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"
80
81 %define         _gcc_sys_inc_dir        %(gcc -print-file-name=include)
82
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}
85
86 # don't generate deps for Intel Cobol Compiler
87 %define         _noautoreq              ^libcob.*.so
88
89 %description
90 Oracle Database Instant Client Package.
91
92 %package basic
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
97
98 %description basic
99 All files required to run OCI, and OCCI, and JDBC-OCI applications.
100
101 %package basiclite
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
106
107 %description basiclite
108 All files required to run OCI, and OCCI, and JDBC-OCI applications.
109
110 This package contains only English error messages and Unicode, ASCII,
111 and Western European character set support
112
113 %package devel
114 Summary:        SDK for Oracle Database Instant Client
115 Group:          Development/Libraries
116 Requires:       %{name} = %{version}-%{release}
117
118 %description devel
119 Additional header files and an example makefile for developing Oracle
120 applications with Instant Client.
121
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
127
128 %description -n java-jdbc-%{name}
129 Oracle Database Instant Client Package - JDBC.
130
131 Support for JDBC-OCI, XA, Internationalization, and RowSet operations
132 under JDBC.
133
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
139
140 %description -n java-jdbc-%{name}-devel
141 Oracle Database Instant Client Package - JDBC development files.
142
143 %package odbc
144 Summary:        ODBC for Oracle Database Instant Client
145 Group:          Libraries
146 Requires(post,preun):   /usr/bin/odbcinst
147 Requires:       %{name} = %{version}-%{release}
148 Requires:       unixODBC
149
150 %description odbc
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
154 installation.
155
156 %package sqlplus
157 Summary:        Oracle Database Client - SQL*Plus
158 Group:          Applications/Databases
159 Requires:       %{name} = %{version}-%{release}
160
161 %description sqlplus
162 Oracle Database Instant Client Package - SQL*Plus.
163
164 Additional libraries and executable for running SQL*Plus with Instant
165 Client.
166
167 %package tools
168 Summary:        Oracle Database Workload Replay Client
169 Group:          Applications/Databases
170 Requires:       %{name} = %{version}-%{release}
171
172 %description tools
173 Oracle Database Instant Client Package - WRC.
174
175 WRC - Workload Replay Client used to replay workload for RAT's DB
176 Replay Feature.
177
178 %package precomp
179 Summary:        Oracle Database Client - Precompiler
180 Group:          Applications/Databases
181 Requires:       %{name} = %{version}-%{release}
182
183 %description precomp
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
189   application.
190
191 %prep
192 %define __unzip unzip -n
193 %ifarch %{ix86}
194 %setup -qcT -b 0 -b 1 -b 2 -b 3 -b 4 -b 5 -b 6 -b 7
195 %patch0 -p1
196 %endif
197 %ifarch %{x8664}
198 %setup -qcT -b 10 -b 11 -b 12 -b 13 -b 14 -b 15 -b 16 -b 17
199 %patch1 -p1
200 %endif
201 mv instantclient_*/* .
202
203 mv help/us help_us
204 mv help/ja help_ja
205
206 %install
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}}
211
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
220
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
226
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
232
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}
239
240 cp -p cobsqlintf.o $RPM_BUILD_ROOT%{_libdir}
241 cp -a precomp $RPM_BUILD_ROOT%{_libdir}
242
243 %{__sed} -i -e "s|@GCC_SYS_INC_DIR@|%{_gcc_sys_inc_dir}|g" \
244         $RPM_BUILD_ROOT%{_libdir}/precomp/admin/pcscfg.cfg
245
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
251
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}
254
255 cd $RPM_BUILD_ROOT%{_libdir}
256 for ff in lib*.so.* ; do
257         ln -s $ff ${ff:%%.so.*}.so
258 done
259
260 %clean
261 rm -rf $RPM_BUILD_ROOT
262
263 %post   basic -p /sbin/ldconfig
264 %postun basic -p /sbin/ldconfig
265
266 %post   basiclite -p /sbin/ldconfig
267 %postun basiclite -p /sbin/ldconfig
268
269 %post   -n java-jdbc-%{name} -p /sbin/ldconfig
270 %postun -n java-jdbc-%{name} -p /sbin/ldconfig
271
272 %post   sqlplus -p /sbin/ldconfig
273 %postun sqlplus -p /sbin/ldconfig
274
275 %post odbc
276 /sbin/ldconfig
277 # install Oracle driver
278 /usr/bin/odbcinst -i -d -r <<EOF
279 [%{driver_name}]
280 Description = %{driver_desc}
281 Driver = %{_libdir}/libsqora.so.%{soname}
282 Setup =
283 EOF
284
285 %preun odbc
286 /usr/bin/odbcinst -u -d -n %{driver_name} || :
287
288 %postun odbc -p /sbin/ldconfig
289
290 %files
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}
303
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.*
307
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
311
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
316
317 %files basiclite
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
322
323 %files basic
324 %defattr(644,root,root,755)
325 %doc BASIC_README
326 # libociei.so: OCI Instant Client data shared library
327 %attr(755,root,root) %{_libdir}/libociei.so
328
329 %files devel
330 %defattr(644,root,root,755)
331 %doc sdk/SDK_README
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*
351
352 %files -n java-jdbc-%{name}
353 %defattr(644,root,root,755)
354 %doc JDBC_README
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
363
364 %files -n java-jdbc-%{name}-devel
365 %defattr(644,root,root,755)
366 %{_javadir}/ottclasses.zip
367
368 %files odbc
369 %defattr(644,root,root,755)
370 %doc ODBC*.html ODBCRelnotesUS.htm
371 %doc %lang(ja) ODBCRelnotesJA.htm
372 %doc help_us
373 %doc %lang(ja) help_ja
374 %attr(755,root,root) %{_libdir}/libsqora.so.%{soname}
375 %attr(755,root,root) %{_libdir}/libsqora.so
376
377 %files sqlplus
378 %defattr(644,root,root,755)
379 %doc SQLPLUS_README
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
388
389 %files tools
390 %defattr(644,root,root,755)
391 %doc TOOLS_README
392 %attr(755,root,root) %{_bindir}/wrc
393
394 %files precomp
395 %defattr(644,root,root,755)
396 %doc PRECOMP_README
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*
407
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
This page took 0.10958 seconds and 3 git commands to generate.