summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PHPINFO3
-rw-r--r--REFLECTION5
-rw-r--r--composer.json20
-rw-r--r--php-pecl-opentelemetry.spec154
4 files changed, 121 insertions, 61 deletions
diff --git a/PHPINFO b/PHPINFO
index 8391fd9..36eb82f 100644
--- a/PHPINFO
+++ b/PHPINFO
@@ -2,12 +2,13 @@
opentelemetry
opentelemetry hooks => enabled
-extension version => 1.1.0beta2
+extension version => 1.3.1
Directive => Local Value => Master Value
opentelemetry.conflicts => no value => no value
opentelemetry.validate_hook_functions => On => On
opentelemetry.allow_stack_extension => Off => Off
opentelemetry.attr_hooks_enabled => Off => Off
+opentelemetry.display_warnings => Off => Off
opentelemetry.attr_pre_handler_function => OpenTelemetry\API\Instrumentation\WithSpanHandler::pre => OpenTelemetry\API\Instrumentation\WithSpanHandler::pre
opentelemetry.attr_post_handler_function => OpenTelemetry\API\Instrumentation\WithSpanHandler::post => OpenTelemetry\API\Instrumentation\WithSpanHandler::post
diff --git a/REFLECTION b/REFLECTION
index e9b7031..f9bdde2 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -1,4 +1,4 @@
-Extension [ <persistent> extension #87 opentelemetry version 1.1.0beta2 ] {
+Extension [ <persistent> extension #107 opentelemetry version 1.3.1 ] {
- INI {
Entry [ opentelemetry.conflicts <ALL> ]
@@ -13,6 +13,9 @@ Extension [ <persistent> extension #87 opentelemetry version 1.1.0beta2 ] {
Entry [ opentelemetry.attr_hooks_enabled <ALL> ]
Current = 'Off'
}
+ Entry [ opentelemetry.display_warnings <ALL> ]
+ Current = 'Off'
+ }
Entry [ opentelemetry.attr_pre_handler_function <ALL> ]
Current = 'OpenTelemetry\API\Instrumentation\WithSpanHandler::pre'
}
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..0e74f5e
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,20 @@
+{
+ "name": "open-telemetry/ext-opentelemetry",
+ "description": "Auto-instrumentation extension for OpenTelemetry",
+ "type": "php-ext",
+ "minimum-stability": "stable",
+ "license": "Apache-2.0",
+ "php-ext": {
+ "extension-name": "opentelemetry",
+ "build-path": "ext"
+ },
+ "require": {
+ "php": "^8.0"
+ },
+ "authors": [
+ {
+ "name": "opentelemetry-php contributors",
+ "homepage": "https://github.com/open-telemetry/opentelemetry-php-instrumentation/graphs/contributors"
+ }
+ ]
+} \ No newline at end of file
diff --git a/php-pecl-opentelemetry.spec b/php-pecl-opentelemetry.spec
index 7195a6c..bef3e39 100644
--- a/php-pecl-opentelemetry.spec
+++ b/php-pecl-opentelemetry.spec
@@ -1,53 +1,66 @@
# remirepo spec file for php-pecl-opentelemetry
#
-# Copyright (c) 2023-2024 Remi Collet
-# License: CC-BY-SA-4.0
-# http://creativecommons.org/licenses/by-sa/4.0/
+# SPDX-FileCopyrightText: Copyright 2023-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-opentelemetry}
+%{?scl:%scl_package php-pecl-opentelemetry}
-%bcond_without tests
+%bcond_without tests
-%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}}
-%global pecl_name opentelemetry
-%global ini_name 40-%{pecl_name}.ini
+%global pie_vend open-telemetry
+%global pie_proj ext-opentelemetry
+%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}}
+%global pecl_name opentelemetry
+%global ini_name 40-%{pecl_name}.ini
-%global upstream_version 1.1.0
-%global upstream_prever beta2
+%global upstream_version 1.3.1
+#global upstream_prever beta3
%global upstream_lower %(echo %{upstream_prever} | tr '[:upper:]' '[:lower:]')
-%global sources %{pecl_name}-%{upstream_version}%{?upstream_prever}
-%global _configure ../%{sources}/configure
+%global sources %{gh_proj}-%{upstream_version}%{?upstream_prever}
+%global _configure ../%{sources}/ext/configure
+
+# Github forge
+%global gh_vend %{pie_vend}
+%global gh_proj opentelemetry-php-instrumentation
+%global forgeurl https://github.com/%{gh_vend}/%{gh_proj}
+%global tag %{upstream_version}%{?upstream_prever}
-Summary: OpenTelemetry auto-instrumentation support extension
Name: %{?scl_prefix}php-pecl-%{pecl_name}
-Version: %{upstream_version}%{?upstream_prever:~%{upstream_lower}}
-Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Summary: OpenTelemetry auto-instrumentation support extension
License: Apache-2.0
-URL: https://pecl.php.net/package/%{pecl_name}
-Source0: https://pecl.php.net/get/%{sources}.tgz
+Version: %{upstream_version}%{?upstream_prever:~%{upstream_lower}}
+Release: 1%{?dist}
+%forgemeta
+URL: %{forgeurl}
+Source0: %{forgesource}
BuildRequires: make
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?dtsprefix}gcc-c++
BuildRequires: %{?scl_prefix}php-devel >= 8.0
-BuildRequires: %{?scl_prefix}php-pear
Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires: %{?scl_prefix}php(api) = %{php_core_api}
-Provides: %{?scl_prefix}php-%{pecl_name} = %{version}
-Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version}
-Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version}
-Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}
+# Extension
+Provides: %{?scl_prefix}php-%{pecl_name} = %{version}
+Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{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
OpenTelemetry auto-instrumentation extension.
This is a PHP extension for OpenTelemetry, to enable auto-instrumentation.
-It is based on zend_observer and requires php8+
+It is based on zend_observer.
The extension allows creating pre and post hook functions to arbitrary PHP
functions and methods, which allows those methods to be wrapped with telemetry.
@@ -59,25 +72,19 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO
%prep
%setup -q -c
-# Don't install tests
-sed -e 's/role="test"/role="src"/' \
- -e '/LICENSE/s/role="doc"/role="src"/' \
- -i package.xml
+pushd %{sources}/ext
+
+sed -e '/PHP_OPENTELEMETRY_VERSION/s/1.3.0/%{version}/' -i php_%{pecl_name}.h
-cd %{sources}
: Sanity check, really often broken
extver=$(sed -n '/#define PHP_OPENTELEMETRY_VERSION /{s/.* "//;s/".*$//;p}' php_%{pecl_name}.h)
if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}"; then
- : Error: Upstream extension version is ${extver}, expecting %{upstream_version}%{?upstream_prever}.
+ : Error: Upstream extension version is ${extver}, expecting %{upstream_version}%{?upstream_prever}
exit 1
fi
-cd ..
+popd
-mkdir NTS
-%if %{with_zts}
-# Duplicate source tree for NTS / ZTS build
-mkdir ZTS
-%endif
+mkdir NTS ZTS
# Create configuration file
cat << 'EOF' | tee %{ini_name}
@@ -89,6 +96,7 @@ extension=%{pecl_name}.so
;opentelemetry.validate_hook_functions = On
;opentelemetry.allow_stack_extension = Off
;opentelemetry.attr_hooks_enabled = Off
+;opentelemetry.display_warnings = Off
;opentelemetry.attr_pre_handler_function =OpenTelemetry\API\Instrumentation\WithSpanHandler::pre
;opentelemetry.attr_post_handler_function = OpenTelemetry\API\Instrumentation\WithSpanHandler::post
EOF
@@ -97,50 +105,47 @@ EOF
%build
%{?dtsenable}
-cd %{sources}
+pushd %{sources}/ext
%{__phpize}
+sed -e 's/INSTALL_ROOT/DESTDIR/' -i build/Makefile.global
+popd
-cd ../NTS
+pushd NTS
%configure \
--enable-opentelemetry \
--with-php-config=%{__phpconfig}
-make %{?_smp_mflags}
+
+%make_build
+popd
%if %{with_zts}
-cd ../ZTS
+pushd ZTS
%configure \
--enable-opentelemetry \
--with-php-config=%{__ztsphpconfig}
-make %{?_smp_mflags}
+
+%make_build
+popd
%endif
%install
%{?dtsenable}
-make -C NTS install INSTALL_ROOT=%{buildroot}
+%make_install -C NTS
# install config file
install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
-# Install XML package description
-install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
-
%if %{with_zts}
-make -C ZTS install INSTALL_ROOT=%{buildroot}
+%make_install -C ZTS
install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
%endif
-# Documentation
-cd %{sources}
-for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//')
-do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
-done
-
%check
-cd %{sources}
+cd %{sources}/ext
: Minimal load test for NTS extension
%{__php} --no-php-ini \
@@ -149,11 +154,8 @@ cd %{sources}
%if %{with tests}
: Upstream test suite for NTS extension
-TEST_PHP_EXECUTABLE=%{__php} \
TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \
-NO_INTERACTION=1 \
-REPORT_EXIT_STATUS=1 \
-%{__php} -n run-tests.php --show-diff
+%{__php} -n run-tests.php -q --show-diff
%endif
%if %{with_zts}
@@ -165,10 +167,10 @@ REPORT_EXIT_STATUS=1 \
%files
-#%%doc %%{pecl_docdir}/%%{pecl_name}
-%license %{sources}/LICENSE*
+%license %{sources}/LICENSE
+%doc %{sources}/composer.json
+%doc %{sources}/*.md
-%{pecl_xmldir}/%{name}.xml
%config(noreplace) %{php_inidir}/%{ini_name}
%{php_extdir}/%{pecl_name}.so
@@ -179,6 +181,40 @@ REPORT_EXIT_STATUS=1 \
%changelog
+* Fri Apr 3 2026 Remi Collet <remi@remirepo.net> - 1.3.1-1
+- update to 1.3.1 (no change)
+
+* Fri Mar 27 2026 Remi Collet <remi@remirepo.net> - 1.3.0-1
+- update to 1.3.0
+- drop pear/pecl dependency
+- sources from github
+
+* Thu Oct 2 2025 Remi Collet <remi@remirepo.net> - 1.2.1-1
+- update to 1.2.1
+
+* Thu Sep 4 2025 Remi Collet <remi@remirepo.net> - 1.2.0-2
+- add upstream patch for PHP 8.5.0beta2
+
+* Wed Jul 9 2025 Remi Collet <remi@remirepo.net> - 1.2.0-1
+- update to 1.2.0
+- drop support for PHP 8.0
+
+* Wed May 14 2025 Remi Collet <remi@remirepo.net> - 1.1.3-1
+- update to 1.1.3
+
+* Thu Jan 23 2025 Remi Collet <remi@remirepo.net> - 1.1.2-1
+- update to 1.1.2
+
+* Tue Jan 21 2025 Remi Collet <remi@remirepo.net> - 1.1.1-1
+- update to 1.1.1
+- re-license spec file to CECILL-2.1
+
+* Thu Oct 3 2024 Remi Collet <remi@remirepo.net> - 1.1.0-1
+- update to 1.1.0
+
+* Tue Sep 10 2024 Remi Collet <remi@remirepo.net> - 1.1.0~beta3-1
+- update to 1.1.0beta3
+
* Wed Sep 4 2024 Remi Collet <remi@remirepo.net> - 1.1.0~beta2-1
- update to 1.1.0beta2
- open https://github.com/open-telemetry/opentelemetry-php/issues/1376 PHP 8.4 compatibility