summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PHPINFO7
-rw-r--r--REFLECTION169
-rw-r--r--couchbase-openssl.patch12
-rw-r--r--php-pecl-couchbase4.spec80
4 files changed, 242 insertions, 26 deletions
diff --git a/PHPINFO b/PHPINFO
index 057e546..2769575 100644
--- a/PHPINFO
+++ b/PHPINFO
@@ -2,9 +2,10 @@
couchbase
couchbase => enabled
-couchbase_extension_version => 4.2.1
-couchbase_extension_revision => 321e898b6a9e3bdabfc176d72940eb1a6ab47912
-couchbase_client_revision => 1b506b0eb2d88725f943aa62527ff604610ba680
+couchbase_extension_abi => unspecified
+couchbase_extension_version => 4.4.0
+couchbase_extension_revision => 27e9bd4a2c12dbab082e5e03945aaf0ca61e16a3
+couchbase_client_revision => c2439a404fa6b276862fe81150b1326bf98e6164
Directive => Local Value => Master Value
couchbase.max_persistent => -1 => -1
diff --git a/REFLECTION b/REFLECTION
index f8cd673..03ec504 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -1,4 +1,4 @@
-Extension [ <persistent> extension #96 couchbase version 4.2.1 ] {
+Extension [ <persistent> extension #135 couchbase version 4.4.0 ] {
- Dependencies {
Dependency [ json (Required) ]
@@ -32,6 +32,16 @@ Extension [ <persistent> extension #96 couchbase version 4.2.1 ] {
Parameter #0 [ <required> string $forkEvent ]
}
}
+ Function [ <internal:couchbase> function Couchbase\Extension\loadExceptionAliases ] {
+
+ - Parameters [0] {
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\allowEnterpriseAnalytics ] {
+
+ - Parameters [0] {
+ }
+ }
Function [ <internal:couchbase> function Couchbase\Extension\version ] {
- Parameters [0] {
@@ -295,7 +305,7 @@ Extension [ <persistent> extension #96 couchbase version 4.2.1 ] {
Parameter #4 [ <optional> array $scan_type = <default> ]
Parameter #5 [ <optional> ?array $options = <default> ]
}
- - Return [ null ]
+ - Return [ mixed ]
}
Function [ <internal:couchbase> function Couchbase\Extension\documentScanNextItem ] {
@@ -428,7 +438,7 @@ Extension [ <persistent> extension #96 couchbase version 4.2.1 ] {
Parameter #0 [ <optional> $connection = <default> ]
Parameter #1 [ <optional> ?array $configuration = <default> ]
}
- - Return [ null ]
+ - Return [ mixed ]
}
Function [ <internal:couchbase> function Couchbase\Extension\createTransactionContext ] {
@@ -436,7 +446,7 @@ Extension [ <persistent> extension #96 couchbase version 4.2.1 ] {
Parameter #0 [ <optional> $transactions = <default> ]
Parameter #1 [ <optional> ?array $configuration = <default> ]
}
- - Return [ null ]
+ - Return [ mixed ]
}
Function [ <internal:couchbase> function Couchbase\Extension\transactionNewAttempt ] {
@@ -466,23 +476,35 @@ Extension [ <persistent> extension #96 couchbase version 4.2.1 ] {
Parameter #4 [ <required> string $id ]
}
}
+ Function [ <internal:couchbase> function Couchbase\Extension\transactionGetReplicaFromPreferredServerGroup ] {
+
+ - Parameters [5] {
+ Parameter #0 [ <required> $transactions ]
+ Parameter #1 [ <required> string $bucketName ]
+ Parameter #2 [ <required> string $scopeName ]
+ Parameter #3 [ <required> string $collectionName ]
+ Parameter #4 [ <required> string $id ]
+ }
+ }
Function [ <internal:couchbase> function Couchbase\Extension\transactionInsert ] {
- - Parameters [6] {
+ - Parameters [7] {
Parameter #0 [ <required> $transactions ]
Parameter #1 [ <required> string $bucketName ]
Parameter #2 [ <required> string $scopeName ]
Parameter #3 [ <required> string $collectionName ]
Parameter #4 [ <required> string $id ]
Parameter #5 [ <required> string $value ]
+ Parameter #6 [ <required> int $flags ]
}
}
Function [ <internal:couchbase> function Couchbase\Extension\transactionReplace ] {
- - Parameters [3] {
+ - Parameters [4] {
Parameter #0 [ <required> $transactions ]
Parameter #1 [ <required> array $document ]
Parameter #2 [ <required> string $value ]
+ Parameter #3 [ <required> int $flags ]
}
}
Function [ <internal:couchbase> function Couchbase\Extension\transactionRemove ] {
@@ -500,6 +522,22 @@ Extension [ <persistent> extension #96 couchbase version 4.2.1 ] {
Parameter #2 [ <optional> ?array $options = <default> ]
}
}
+ Function [ <internal:couchbase> function Couchbase\Extension\transactionGetMulti ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $transactions ]
+ Parameter #1 [ <required> array $entries ]
+ Parameter #2 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\transactionGetMultiReplicasFromPreferredServerGroup ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $transactions ]
+ Parameter #1 [ <required> array $entries ]
+ Parameter #2 [ <optional> ?array $options = <default> ]
+ }
+ }
Function [ <internal:couchbase> function Couchbase\Extension\searchIndexGet ] {
- Parameters [3] {
@@ -1022,6 +1060,125 @@ Extension [ <persistent> extension #96 couchbase version 4.2.1 ] {
Parameter #4 [ <optional> ?array $options = <default> ]
}
}
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsDataverseCreate ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <required> string $dataverseName ]
+ Parameter #2 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsDataverseDrop ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <required> string $dataverseName ]
+ Parameter #2 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsDatasetCreate ] {
+
+ - Parameters [4] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <required> string $datasetName ]
+ Parameter #2 [ <required> string $bucketName ]
+ Parameter #3 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsDatasetDrop ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <required> string $datasetName ]
+ Parameter #2 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsDatasetGetAll ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsIndexCreate ] {
+
+ - Parameters [5] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <required> string $datasetName ]
+ Parameter #2 [ <required> string $indexName ]
+ Parameter #3 [ <required> array $fields ]
+ Parameter #4 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsIndexDrop ] {
+
+ - Parameters [4] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <required> string $datasetName ]
+ Parameter #2 [ <required> string $indexName ]
+ Parameter #3 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsIndexGetAll ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsLinkConnect ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsLinkDisconnect ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsPendingMutationsGet ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsLinkCreate ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <required> array $analyticsLink ]
+ Parameter #2 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsLinkReplace ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <required> array $analyticsLink ]
+ Parameter #2 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsLinkDrop ] {
+
+ - Parameters [4] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <required> string $linkName ]
+ Parameter #2 [ <required> string $dataverseName ]
+ Parameter #3 [ <optional> ?array $options = <default> ]
+ }
+ }
+ Function [ <internal:couchbase> function Couchbase\Extension\analyticsLinkGetAll ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $connection ]
+ Parameter #1 [ <optional> ?array $options = <default> ]
+ }
+ }
}
- Classes [75] {
diff --git a/couchbase-openssl.patch b/couchbase-openssl.patch
new file mode 100644
index 0000000..5c5c7a5
--- /dev/null
+++ b/couchbase-openssl.patch
@@ -0,0 +1,12 @@
+diff -up couchbase-4.4.0/src/CMakeLists.txt.old couchbase-4.4.0/src/CMakeLists.txt
+--- couchbase-4.4.0/src/CMakeLists.txt.old 2025-10-01 15:56:00.692762273 +0200
++++ couchbase-4.4.0/src/CMakeLists.txt 2025-10-01 15:56:08.322608586 +0200
+@@ -40,7 +40,7 @@ set(COUCHBASE_CXX_CLIENT_BUILD_SHARED
+ OFF
+ CACHE BOOL "" FORCE)
+ set(COUCHBASE_CXX_CLIENT_STATIC_BORINGSSL
+- ON
++ OFF
+ CACHE BOOL "" FORCE)
+ set(COUCHBASE_CXX_CLIENT_INSTALL
+ OFF
diff --git a/php-pecl-couchbase4.spec b/php-pecl-couchbase4.spec
index 45b707a..377070a 100644
--- a/php-pecl-couchbase4.spec
+++ b/php-pecl-couchbase4.spec
@@ -1,20 +1,21 @@
# remirepo spec file for php-pecl-couchbase4
#
-# Copyright (c) 2013-2024 Remi Collet
-# License: CC-BY-SA-4.0
-# http://creativecommons.org/licenses/by-sa/4.0/
+# SPDX-FileCopyrightText: Copyright 2013-2025 Remi Collet
+# SPDX-License-Identifier: CECILL-2.1
+# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
#
# Please, preserve the changelog entries
#
-# NOTICE: el-7 is not supported (cmake 3.19)
-# el-8 is not supported (cmake 3.20)
-# el-9 is not supported (cmake 3.20)
-# mock requires --enable-network
+# NOTICE: mock requires: --enable-network
+# may help: --cleanup-after
-# Disable RPATH check
-%global __arch_install_post /bin/true
-%global __brp_check_rpaths /bin/true
+# use system OpenSSL instead of bundled BoringSSL
+%bcond_without openssl
+
+# Disable RPATH check (no more needed)
+#global __arch_install_post /bin/true
+#global __brp_check_rpaths /bin/true
%{?scl:%scl_package php-pecl-couchbase4}
@@ -29,8 +30,8 @@
Summary: Couchbase Server PHP extension
Name: %{?scl_prefix}php-pecl-couchbase4
-Version: 4.2.1
-Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Version: 4.4.0
+Release: 2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
# Apache-2.0
# src
# src/deps/cache/json/LICENSE.ryu
@@ -55,9 +56,11 @@ License: Apache-2.0 AND BSD-3-Clause AND BSD-2-Clause AND MIT AND BSL-1.0
URL: https://pecl.php.net/package/couchbase
Source0: https://pecl.php.net/get/%{sources}.tgz
+Patch0: %{pecl_name}-openssl.patch
+
BuildRequires: git
BuildRequires: make
-BuildRequires: cmake >= 3.27
+BuildRequires: cmake >= 3.19
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?dtsprefix}gcc-c++
BuildRequires: %{?scl_prefix}php-devel >= 8.1
@@ -65,6 +68,12 @@ BuildRequires: %{?scl_prefix}php-pear
BuildRequires: %{?scl_prefix}php-json
BuildRequires: %{?scl_prefix}php-tokenizer
BuildRequires: zlib-devel
+%if %{with openssl}
+BuildRequires: openssl-devel
+%if 0%{?fedora} >= 41
+BuildRequires: openssl-devel-engine
+%endif
+%endif
Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires: %{?scl_prefix}php(api) = %{php_core_api}
@@ -97,8 +106,10 @@ Provides: bundled(fmt)
Provides: bundled(gsl)
Provides: bundled(http_parser)
Provides: bundled(json)
-Provides: bundled(boringssl)
Provides: bundled(spdlog)
+%if %{without openssl}
+Provides: bundled(boringssl)
+%endif
%description
@@ -120,6 +131,12 @@ sed -e '/LICENSE/s/role="doc"/role="src"/;/COPYING/s/role="doc"/role="src"/' -i
: Collect license files
mkdir lic
cd %{sources}
+%if %{with openssl}
+%patch -P0 -p1
+rm -rf src/deps/cache/boringssl
+%else
+cp src/deps/cache/boringssl/*/boringssl/LICENSE ../lic/boringssl_LICENSE
+%endif
cp src/deps/cache/hdr_histogram/*/hdr_histogram/COPYING.txt ../lic/hdr_histogram_c_COPYING.txt
cp src/deps/cache/hdr_histogram/*/hdr_histogram/LICENSE.txt ../lic/hdr_histogram_c_LICENSE.txt
cp src/deps/cache/snappy/*/snappy/COPYING ../lic/snappy_COPYING
@@ -131,7 +148,6 @@ cp src/deps/cache/json/*/json/LICENSE.double-conversion ../lic/json_LICENSE.
cp src/deps/cache/json/*/json/LICENSE.itoa ../lic/json_LICENSE.itoa
cp src/deps/cache/json/*/json/LICENSE.ryu ../lic/json_LICENSE.ryu
cp src/deps/cache/spdlog/*/spdlog/LICENSE ../lic/spdlog_LICENSE
-cp src/deps/cache/boringssl/*/boringssl/LICENSE ../lic/boringssl_LICENSE
cp src/deps/couchbase-cxx-client/LICENSE.txt ../lic/LICENSE.txt
: Parallel build
@@ -170,6 +186,8 @@ mkdir ZTS
cd %{sources}
%{__phpize}
+# fix for make_install, notice make_build is broken
+sed -e 's/INSTALL_ROOT/DESTDIR/' -i build/Makefile.global
cd ../NTS
%configure --with-php-config=%{__phpconfig}
@@ -186,12 +204,12 @@ make %{?_smp_mflags}
%{?dtsenable}
# Install the NTS stuff
-make install -C NTS INSTALL_ROOT=%{buildroot}
+%make_install -C NTS
install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
# Install the ZTS stuff
%if %{with_zts}
-make install -C ZTS INSTALL_ROOT=%{buildroot}
+%make_install -C ZTS
install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
%endif
@@ -231,6 +249,34 @@ install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
%changelog
+* Wed Oct 1 2025 Remi Collet <remi@remirepo.net> - 4.4.0-2
+- build using system OpenSSL
+
+* Wed Oct 1 2025 Remi Collet <remi@remirepo.net> - 4.4.0-1
+- update to 4.4.0
+
+* Wed Jun 18 2025 Remi Collet <remi@remirepo.net> - 4.3.0-1
+- update to 4.3.0
+
+* Wed Mar 19 2025 Remi Collet <remi@remirepo.net> - 4.2.7-1
+- update to 4.2.7
+
+* Thu Jan 30 2025 Remi Collet <remi@remirepo.net> - 4.2.6-1
+- update to 4.2.6
+- re-license spec file to CECILL-2.1
+
+* Mon Nov 25 2024 Remi Collet <remi@remirepo.net> - 4.2.5-1
+- update to 4.2.5
+
+* Wed Oct 23 2024 Remi Collet <remi@remirepo.net> - 4.2.4-1
+- update to 4.2.4
+
+* Wed Aug 28 2024 Remi Collet <remi@remirepo.net> - 4.2.3-1
+- update to 4.2.3
+
+* Thu Jul 25 2024 Remi Collet <remi@remirepo.net> - 4.2.2-1
+- update to 4.2.2
+
* Wed Apr 24 2024 Remi Collet <remi@remirepo.net> - 4.2.1-1
- update to 4.2.1