You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
226 lines
6.2 KiB
226 lines
6.2 KiB
# Fedora spec file for php-phpiredis |
|
# Without SCL compatibility stuff, from: |
|
# |
|
# remirepo spec file for php-phpiredis |
|
# |
|
# Copyright (c) 2016-2018 Remi Collet |
|
# License: CC-BY-SA |
|
# http://creativecommons.org/licenses/by-sa/4.0/ |
|
# |
|
# Please, preserve the changelog entries |
|
# |
|
|
|
# we don't want -z defs linker flag |
|
%undefine _strict_symbol_defs_build |
|
|
|
%global gh_commit 981d455034a48bb19db39c578e9c16d889289b99 |
|
%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) |
|
%global gh_owner nrk |
|
%global gh_project phpiredis |
|
|
|
%global pecl_name phpiredis |
|
%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} |
|
%if "%{php_version}" < "5.6" |
|
%global ini_name %{pecl_name}.ini |
|
%else |
|
%global ini_name 40-%{pecl_name}.ini |
|
%endif |
|
%global with_tests 0%{!?_without_tests:1} |
|
|
|
Name: php-%{pecl_name} |
|
Version: 1.0.0 |
|
Release: 12%{?dist} |
|
|
|
Summary: Client extension for Redis |
|
|
|
License: BSD |
|
URL: https://github.com/%{gh_owner}/%{gh_project} |
|
Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz |
|
|
|
BuildRequires: php-devel |
|
BuildRequires: php-pear |
|
BuildRequires: hiredis-devel |
|
%if %{with_tests} |
|
BuildRequires: redis |
|
%endif |
|
|
|
Requires: php(zend-abi) = %{php_zend_api} |
|
Requires: php(api) = %{php_core_api} |
|
|
|
%if 0%{?fedora} < 20 && 0%{?rhel} < 7 |
|
# Filter private shared |
|
%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} |
|
%{?filter_setup} |
|
%endif |
|
|
|
|
|
%description |
|
Phpiredis is an extension for PHP 5.x and 7.x based on hiredis |
|
that provides a simple and efficient client for Redis and a fast |
|
incremental parser / serializer for the RESP protocol. |
|
|
|
|
|
%prep |
|
%setup -q -c |
|
mv %{gh_project}-%{gh_commit} NTS |
|
|
|
cd NTS |
|
# Check extension version |
|
ver=$(sed -n '/define PHP_PHPIREDIS_VERSION/{s/.* "//;s/".*$//;p}' php_phpiredis.h) |
|
if test "$ver" != "%{version}%{?prever}%{?gh_date:-dev}"; then |
|
: Error: Upstream VERSION version is ${ver}, expecting %{version}%{?prever}%{?gh_date:-dev}. |
|
exit 1 |
|
fi |
|
cd .. |
|
|
|
cat << 'EOF' | tee %{ini_name} |
|
; Enable %{pecl_name} extension module |
|
extension=%{pecl_name}.so |
|
EOF |
|
|
|
|
|
%if %{with_zts} |
|
# Duplicate source tree for NTS / ZTS build |
|
cp -pr NTS ZTS |
|
%endif |
|
|
|
|
|
%build |
|
cd NTS |
|
%{_bindir}/phpize |
|
%configure --with-php-config=%{_bindir}/php-config |
|
make %{?_smp_mflags} |
|
|
|
%if %{with_zts} |
|
cd ../ZTS |
|
%{_bindir}/zts-phpize |
|
%configure --with-php-config=%{_bindir}/zts-php-config |
|
make %{?_smp_mflags} |
|
%endif |
|
|
|
|
|
%install |
|
make -C NTS install INSTALL_ROOT=%{buildroot} |
|
|
|
# install configuration |
|
install -Dpm 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} |
|
|
|
%if %{with_zts} |
|
make -C ZTS install INSTALL_ROOT=%{buildroot} |
|
install -Dpm 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} |
|
%endif |
|
|
|
|
|
%check |
|
: Minimal load test for NTS extension |
|
%{__php} --no-php-ini \ |
|
--define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ |
|
--modules | grep %{pecl_name} |
|
|
|
%if %{with_zts} |
|
: Minimal load test for NTS extension |
|
%{__ztsphp} --no-php-ini \ |
|
--define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ |
|
--modules | grep %{pecl_name} |
|
%endif |
|
|
|
%if %{with_tests} |
|
: Upstream test suite for NTS extension |
|
pidfile=$PWD/redis.pid |
|
port=$(%{__php} -r 'echo 9000 + PHP_MAJOR_VERSION*100 + PHP_MINOR_VERSION*10 + PHP_INT_SIZE;') |
|
sed -e "/REDIS_PORT/s/6379/$port/" -i ?TS/tests/testsuite_configuration.inc |
|
mkdir -p data |
|
|
|
redis-server \ |
|
--bind 127.0.0.1 \ |
|
--port $port \ |
|
--daemonize yes \ |
|
--logfile $PWD/redis.log \ |
|
--dir $PWD/data \ |
|
--pidfile $pidfile |
|
|
|
cd NTS |
|
: 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 || ret=1 |
|
|
|
%if %{with_zts} |
|
cd ../ZTS |
|
: Upstream test suite for ZTS extension |
|
TEST_PHP_EXECUTABLE=%{__ztsphp} \ |
|
TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so" \ |
|
NO_INTERACTION=1 \ |
|
REPORT_EXIT_STATUS=1 \ |
|
%{__ztsphp} -n run-tests.php --show-diff || ret=1 |
|
%endif |
|
|
|
: Cleanup |
|
if [ -s $pidfile ]; then |
|
kill $(cat $pidfile) |
|
sleep 1 |
|
fi |
|
|
|
exit $ret |
|
%endif |
|
|
|
|
|
%files |
|
%license NTS/LICENSE |
|
%doc NTS/README.md |
|
|
|
%config(noreplace) %{php_inidir}/%{ini_name} |
|
%{php_extdir}/%{pecl_name}.so |
|
|
|
%if %{with_zts} |
|
%config(noreplace) %{php_ztsinidir}/%{ini_name} |
|
%{php_ztsextdir}/%{pecl_name}.so |
|
%endif |
|
|
|
|
|
%changelog |
|
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-12 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild |
|
|
|
* Thu Oct 11 2018 Remi Collet <remi@remirepo.net> - 1.0.0-11 |
|
- Rebuild for https://fedoraproject.org/wiki/Changes/php73 |
|
|
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-10 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild |
|
|
|
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-9 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild |
|
|
|
* Mon Jan 29 2018 Remi Collet <remi@remirepo.net> - 1.0.0-8 |
|
- undefine _strict_symbol_defs_build |
|
|
|
* Tue Oct 03 2017 Remi Collet <remi@fedoraproject.org> - 1.0.0-7 |
|
- rebuild for https://fedoraproject.org/wiki/Changes/php72 |
|
|
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-6 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild |
|
|
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-5 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild |
|
|
|
* Fri Jul 07 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.0.0-4 |
|
- Rebuild due to bug in RPM (RHBZ #1468476) |
|
|
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-3 |
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild |
|
|
|
* Sat Nov 26 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-2 |
|
- cleanup for fedora review |
|
|
|
* Thu Nov 24 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-1 |
|
- update to 1.0.0 release |
|
|
|
* Sun Nov 13 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.2.20160715gita64e3bf |
|
- add minor fix for portability |
|
- add full reflection for all functions |
|
- open https://github.com/nrk/phpiredis/pull/53 |
|
|
|
* Sat Nov 12 2016 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.1.20160715gita64e3bf |
|
- Initial packaging of 1.0.0-dev
|
|
|