1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
|
# remirepo/fedora spec file for oracle-instantclient
#
# Copyright (c) 2006-2021 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.23
%global libclnt 19.1
%global topdir instantclient_19_23
%global oradir %{_libdir}/oracle/%{mainver}/client64
%global incdir %{_includedir}/oracle/%{mainver}/client64
%global tarsuf dbru
Summary: Instant Client for Oracle Database %{major}
Name: oracle-instantclient
Version: %{mainver}.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-linux.arm64-%{version}%{?tarsuf}.zip
Source1: instantclient-jdbc-linux.arm64-%{version}%{?tarsuf}.zip
Source2: instantclient-odbc-linux.arm64-%{version}%{?tarsuf}.zip
Source3: instantclient-sdk-linux.arm64-%{version}%{?tarsuf}.zip
Source4: instantclient-sqlplus-linux.arm64-%{version}%{?tarsuf}.zip
Source5: instantclient-tools-linux.arm64-%{version}%{?tarsuf}.zip
Source6: instantclient-precomp-linux.arm64-%{version}%{?tarsuf}.zip
#NoSource: 0
#NoSource: 1
#NoSource: 2
#NoSource: 3
#NoSource: 4
#NoSource: 5
#NoSource: 6
ExclusiveArch: aarch64
BuildRequires: chrpath
%description
Base files for Instant Client. Support for OCI, OCCI,
and JDBC-OCI applications.
Oracle Call Interface %{mainver} can connect to Oracle Database 11.2 or later.
%package basic
Summary: Instant Client for Oracle Database 11g
Group: Applications/File
%description basic
Base files for Instant Client. Support for OCI, OCCI,
and JDBC-OCI applications.
%package devel
Summary: Development headers for Instant Client
Group: Applications/File
Requires: oracle-instantclient-basic%{?_isa} = %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: Applications/File
Requires: oracle-instantclient-basic%{?_isa} = %version
%description jdbc
Additional support for XA, Internationalization,
and RowSet operations under JDBC.
%package odbc
Summary: Oracle ODBC Instant Client for Linux
Group: Applications/File
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 %{version} ODBC driver for Windows, without
the need for a traditional ORACLE_HOME installation.
%package sqlplus
Summary: SQL*Plus for Instant Client
Group: Applications/File
Requires: oracle-instantclient-basic%{?_isa} = %version
%description sqlplus
Additional libraries and executable for running
SQL*Plus with Instant Client.
%package tools
Summary: Tools for Oracle Database 11g
Group: Applications/File
Requires: oracle-instantclient-basic%{?_isa} = %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: Applications/File
Requires: oracle-instantclient-devel%{?_isa} = %version
%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.
%prep
rm -rf %{topdir}
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
cd %{topdir}
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 -p adrci %{buildroot}%{oradir}/bin
install -p genezi %{buildroot}%{oradir}/bin
install -p uidrvci %{buildroot}%{oradir}/bin
chrpath -d %{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 libociei.so %{buildroot}%{oradir}/lib
install -p libocijdbc%{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 -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
# sdk/admin/oraaccess.xsd not provided in upstream RPM.
# SQL*Plus
install -p sqlplus %{buildroot}%{oradir}/bin
chrpath -d %{buildroot}%{oradir}/bin/sqlplus
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 -p libheteroxa%{major}.so %{buildroot}%{oradir}/lib
install -p orai18n-mapping.jar %{buildroot}%{oradir}/lib
install -p orai18n.jar %{buildroot}%{oradir}/lib
# ODBC
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
chrpath -d %{buildroot}%{oradir}/bin/$cmd
ln -sf %{oradir}/bin/$cmd %{buildroot}%{_bindir}/$cmd
done
# Precomp
# NOTICE: don't install rtsora - broken dep on libcobcrtn64.so
install -p -m 755 sdk/{proc,procob} %{buildroot}%{oradir}/bin
chrpath -d %{buildroot}%{oradir}/bin/{proc,procob}
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
chrpath -d %{buildroot}%{oradir}/lib/*.so*
%post basic -p /sbin/ldconfig
%postun basic -p /sbin/ldconfig
%post sqlplus -p /sbin/ldconfig
%postun sqlplus -p /sbin/ldconfig
%{!?_licensedir:%global license %%doc}
%files 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/libociei.so
%{oradir}/lib/libocijdbc%{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 -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
%{oradir}/lib/ottclasses.zip
%dir %{incdir}
%{_bindir}/ott
%{oradir}/bin/ott
%files 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
%license %{topdir}/JDBC_LICENSE
%doc %{topdir}/JDBC_README
%{oradir}/lib/libheteroxa%{major}.so
%{oradir}/lib/orai18n-mapping.jar
%{oradir}/lib/orai18n.jar
%files odbc
%license %{topdir}/ODBC_LICENSE
%doc %{topdir}/ODBC_README
%doc %{topdir}/odbc_update_ini.sh
%doc %{topdir}/help
%{oradir}/lib/libsqora.so.%{libclnt}
%files 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
%files 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
|