blob: b496e4eb7a3f0a6e0a442599353cd31cb38b3a20 (
plain)
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
|
# remirepo spec file for php-pecl-pdo-oci
#
# SPDX-FileCopyrightText: Copyright 2024-2026 Remi Collet
# SPDX-License-Identifier: CECILL-2.1
# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
#
# Please, preserve the changelog entries
#
%{?scl: %scl_package php-pecl-pdo-oci}
%{!?scl: %global _root_prefix %{_prefix}}
%global pie_vend pecl
%global pie_proj pdo_oci
%global pecl_name pdo_oci
%global ini_name 40-%{pecl_name}.ini
# Github forge
%global gh_vend php
%global gh_proj pecl-database-pdo_oci
%global forgeurl https://github.com/%{gh_vend}/%{gh_proj}
%global tag v%{version}
# for EL-8 to avoid TAG usage
%global archivename %{gh_proj}-%{version}
%global oraclever 23.26
%global oraclemax 24
%global oraclelib 23.1
%global oracledir 23
%global with_dtrace 1
Name: %{?scl_prefix}php-pecl-pdo-oci
Summary: PDO driver for Oracle Database
License: PHP-3.01
Version: 1.2.0
Release: 2%{?dist}
%forgemeta
URL: %{forgeurl}
Source0: %{forgesource}
BuildRequires: %{?scl_prefix}php-devel >= 8.4
BuildRequires: %{?scl_prefix}php-pdo
%if %{with_dtrace}
BuildRequires: systemtap-sdt-devel
%if 0%{?fedora} >= 41
BuildRequires: systemtap-sdt-dtrace
%endif
%endif
BuildRequires: (oracle-instantclient-devel >= %{oraclever} with oracle-instantclient-devel < %{oraclemax})
Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires: %{?scl_prefix}php(api) = %{php_core_api}
%if "%{php_version}" < "8.4"
Conflicts: %{?scl_prefix}php-oci8 < 8.4
%endif
# Ext
Provides: %{?scl_prefix}php-%{pecl_name} = 1:%{version}
Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = 1:%{version}
# PECL
Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version}
Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}
# PIE
Provides: %{?scl_prefix}php-pie(%{pie_vend}/%{pie_proj}) = %{version}
Provides: %{?scl_prefix}php-%{pie_vend}-%{pie_proj} = %{version}
%description
The PDO_OCI extension provides the driver to access Oracle Database.
The extension is linked with Oracle client libraries %{oraclever}
(Oracle Instant Client). For details, see Oracle's note
"Oracle Client / Server Interoperability Support" (ID 207303.1).
You must install libclntsh.so.%{oraclelib} to use this package,
provided by Oracle Instant Client RPM available from Oracle on:
https://www.oracle.com/database/technologies/instant-client/downloads.html
Documentation is at https://php.net/oci8
Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}.
%prep
%forgesetup
# Check reported version (phpinfo), as this is often broken
extver=$(sed -n '/#define PHP_PDO_OCI_VERSION/{s/.* "//;s/".*$//;p}' php_pdo_oci.h)
if test "x${extver}" != "x%{version}%{?versuffix}"; then
: Error: Upstream version is ${extver}, expecting %{version}.
exit 1
fi
# Drop in the bit of configuration
cat > %{ini_name} << 'EOF'
; Enable %{summary}
extension = %{pecl_name}.so
EOF
%build
%{?dtsenable}
%if %{with_dtrace}
export PHP_DTRACE=yes
%endif
peclconf() {
%configure \
--with-pdo-oci=shared,instantclient,%{_root_prefix}/lib/oracle/%{oracledir}/client64/lib,%{oraclever} \
--with-php-config=$1
}
%{__phpize}
sed -e 's/INSTALL_ROOT/DESTDIR/' -i build/Makefile.global
peclconf %{__phpconfig}
%make_build
%install
%{?dtsenable}
# Install the NTS stuff
%make_install
install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
%check
: Minimal load test for NTS extension
%{__php} --no-php-ini \
--define extension=pdo \
--define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
--modules | grep '^PDO_OCI$'
%files
%license LICENSE
%doc CREDITS
%doc *.md
%config(noreplace) %{php_inidir}/%{ini_name}
%{php_extdir}/%{pecl_name}.so
%changelog
* Thu Mar 26 2026 Remi Collet <remi@remirepo.net> - 1.2.0-2
- drop pear/pecl dependency
- sources from github
- cleanup ZTS stuff
* Wed Jan 7 2026 Remi Collet <remi@remirepo.net> - 1.2.0-1
- update to 1.2.0
- add pie virtual provides
* Fri Jul 18 2025 Remi Collet <remi@remirepo.net> - 1.1.0-3
- add fix for PHP 8.5.0alpha2 using upstream patches
* Wed Mar 12 2025 Remi Collet <remi@remirepo.net> - 1.1.0-2
- use oracle client library version 23.7 on x86_64 and arm64
- re-license spec file to CECILL-2.1
* Wed Aug 21 2024 Remi Collet <remi@remirepo.net> - 1.1.0-1
- update to 1.1.0
* Thu Jul 25 2024 Remi Collet <remi@remirepo.net> - 1.1.0-0.1
- initial package, test build of upcoming version 1.1.0
|