summaryrefslogtreecommitdiffstats
path: root/php-pinba.spec
blob: 6ecc2373789d11e85e7cc6fe868f73a36a7383d5 (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
# remirepo spec file for php-pinba
#
# SPDX-FileCopyrightText:  Copyright 2017-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-pinba}

%global gh_owner    XOlegator
%global gh_project  pinba_extension
%global pie_vend    xolegator
%global pie_proj    %{gh_project}
%global ext_name    pinba
%global ini_name    40-%{ext_name}.ini
%global forgeurl    https://github.com/%{gh_owner}/%{gh_project}

Name:          %{?scl_prefix}php-pinba
Summary:       Client extension for Pinba statistics server
Version:       1.8.0
Release:       1%{?dist}
License:       LGPL-2.1-or-later
%forgemeta
URL:           %{forgeurl}
Source0:       %{forgesource}

BuildRequires: make
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel >= 8.0
BuildRequires: protobuf-c-devel

Requires:      %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires:      %{?scl_prefix}php(api) = %{php_core_api}

# PIE
Provides:      %{?scl_prefix}php-pie(%{pie_vend}/%{pie_proj}) = %{version}
Provides:      %{?scl_prefix}php-%{pie_vend}-%{pie_proj}      = %{version}


%description
Pinba Extension is the PHP client extension for the Pinba monitoring stack.

It collects timing and request metrics inside PHP, serializes them with
protobuf, and sends them over UDP to Pinba Engine.

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

# Sanity check, really often broken
extver=$(sed -n '/#define PHP_PINBA_VERSION/{s/.* "//;s/".*$//;p}' php_pinba.h)
if test "x${extver}" != "x%{version}%{?gh_date:-dev}"; then
   : Error: Upstream extension version is ${extver}, expecting %{version}%{?gh_date:-dev}.
   exit 1
fi

# Drop in the bit of configuration
cat << 'EOF' | tee %{ini_name}
; Enable '%{summary}' extension module
extension = %{ext_name}.so

; Configuration
;pinba.server = ''
;pinba.resolve_interval = 60
;pinba.enabled = 0
;pinba.auto_flush = 1
EOF


%build
%{?dtsenable}

%{__phpize}
sed -e 's/INSTALL_ROOT/DESTDIR/' -i build/Makefile.global

%configure \
    --with-php-config=%{__phpconfig} \
    --enable-pinba

%make_build


%install
%{?dtsenable}

# Install the extension
%make_install

# Install the configuration file
install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}


%check
: Minimal load test for NTS extension
%{__php} --no-php-ini \
    --define extension=%{buildroot}%{php_extdir}/%{ext_name}.so \
    --modules | grep '^%{ext_name}$'

: Upstream test suite  for NTS extension
TEST_PHP_EXECUTABLE=%{__php} \
TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{ext_name}.so" \
NO_INTERACTION=1 \
REPORT_EXIT_STATUS=1 \
%{__php} -n run-tests.php --show-diff


%files
%license LICENSE
%doc composer.json
%doc AUTHORS
%doc NOTICE
%doc *.md

%config(noreplace) %{php_inidir}/%{ini_name}
%{php_extdir}/%{ext_name}.so


%changelog
* Sat Jul  4 2026 Remi Collet <remi@remirepo.net> - 1.8.0-1
- update to 1.8.0

* Fri Jul  3 2026 Remi Collet <remi@remirepo.net> - 1.7.0-1
- update to 1.7.0 (no change)

* Fri Jul  3 2026 Remi Collet <remi@remirepo.net> - 1.6.0-1
- update to 1.6.0 (no change)

* Thu Jul  2 2026 Remi Collet <remi@remirepo.net> - 1.5.0-1
- update to 1.5.0

* Fri Jun 19 2026 Remi Collet <remi@remirepo.net> - 1.4.0-1
- update to 1.4.0
- switch to XOlegator fork
- drop ZTS build
- re-license spec file to CECILL-2.1
- add pie virtual provides

* Sun Aug  2 2020 Remi Collet <remi@remirepo.net> - 1.1.2-1
- update to 1.1.2

* Tue Sep 03 2019 Remi Collet <remi@remirepo.net> - 1.1.1-6
- rebuild for 7.4.0RC1

* Tue Jul 23 2019 Remi Collet <remi@remirepo.net> - 1.1.1-5
- rebuild for 7.4.0beta1

* Thu Aug 16 2018 Remi Collet <remi@remirepo.net> - 1.1.1-4
- rebuild for 7.3.0beta2 new ABI

* Wed Jul 18 2018 Remi Collet <remi@remirepo.net> - 1.1.1-3
- rebuild for 7.3.0alpha4 new ABI

* Thu Jun 28 2018 Remi Collet <remi@remirepo.net> - 1.1.1-2
- add upstream patch for PHP 7.3

* Thu Feb  1 2018 Remi Collet <remi@remirepo.net> - 1.1.1-1
- update to 1.1.1

* Tue Jul 18 2017 Remi Collet <remi@remirepo.net> - 1.1.0-2
- rebuild for PHP 7.2.0beta1 new API

* Tue Jan 24 2017 Remi Collet <remi@remirepo.net> - 1.1.0-1
- new package, version 1.1.0