[php-pecl-solr] - add numerical prefix to extension configuration file (php 5.6) - install doc in pecl_docdir - inst
Remi Collet
remi at fedoraproject.org
Thu Apr 24 08:05:15 UTC 2014
commit 01e1768e218f85512a849650a297c3d933a7d712
Author: Remi Collet <remi at fedoraproject.org>
Date: Thu Apr 24 10:05:08 2014 +0200
- add numerical prefix to extension configuration file (php 5.6)
- install doc in pecl_docdir
- install tests in pecl_testdir
- build ZTS extension
.gitignore | 3 +-
php-pecl-solr.spec | 169 ++++++++++++++++++++++++++++++++++++++--------------
xml2changelog | 34 -----------
3 files changed, 125 insertions(+), 81 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index fcf514d..d1b48c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-*~
-package-*.xml
+clog
/solr-1.0.1.tgz
/solr-1.0.2.tgz
diff --git a/php-pecl-solr.spec b/php-pecl-solr.spec
index e776a23..a21c527 100644
--- a/php-pecl-solr.spec
+++ b/php-pecl-solr.spec
@@ -1,35 +1,67 @@
-%{!?__pecl: %{expand: %%global __pecl %{_bindir}/pecl}}
-%{!?php_extdir: %{expand: %%global php_extdir %(php-config --extension-dir)}}
+# spec file for php-pecl-solr
+#
+# Copyright (c) 2011-2014 Remi Collet
+# Copyright (c) 2010 Johan Cwiklinski
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/3.0/
+#
+# Please, preserve the changelog entries
+#
+%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d}
+%{!?__pecl: %global __pecl %{_bindir}/pecl}
+%{!?__php: %global __php %{_bindir}/php}
%global pecl_name solr
+%global with_zts 0%{?__ztsphp:1}
+%if 0%{?fedora} < 21
+# After curl, json
+%global ini_name %{pecl_name}.ini
+%else
+# After 20-curl, 40-json
+%global ini_name 50-%{pecl_name}.ini
+%endif
Summary: Object oriented API to Apache Solr
Summary(fr): API orientée objet pour Apache Solr
Name: php-pecl-solr
Version: 1.0.2
-Release: 7%{?dist}
+Release: 8%{?dist}
License: PHP
Group: Development/Languages
URL: http://pecl.php.net/package/solr
Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz
-Source2: xml2changelog
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: php-devel, php-pear, curl-devel, libxml2-devel
+BuildRequires: php-devel
+BuildRequires: php-pear
+BuildRequires: php-curl
+BuildRequires: php-json
+BuildRequires: curl-devel
+BuildRequires: libxml2-devel
Requires(post): %{__pecl}
Requires(postun): %{__pecl}
Requires: php(zend-abi) = %{php_zend_api}
Requires: php(api) = %{php_core_api}
-Requires: php-xml >= 5.2.3
-Provides: php-pecl(%{pecl_name}) = %{version}, php-%{pecl_name} = %{version}
-
-# RPM 4.8
-%{?filter_provides_in: %filter_provides_in %{php_extdir}/.*\.so$}
+%if "%{php_version}" < "5.4"
+# php 5.3.3 in EL-6 don't use arched virtual provides
+# so only requires real packages instead
+Requires: php-common%{?_isa}
+%else
+Requires: php-curl%{?_isa}
+Requires: php-json%{?_isa}
+%endif
+
+Provides: php-%{pecl_name} = %{version}
+Provides: php-%{pecl_name}%{?_isa} = %{version}
+Provides: php-pecl(%{pecl_name}) = %{version}
+Provides: php-pecl(%{pecl_name})%{?_isa} = %{version}
+
+%if 0%{?fedora} < 20 && 0%{?rhel} < 7
+# Filter shared private
+%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$}
%{?filter_setup}
-# RPM 4.9
-%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}%{php_extdir}/.*\\.so$
+%endif
%description
@@ -52,6 +84,8 @@ SSL-enabled containers.
More info on PHP-Solr can be found at:
http://www.php.net/manual/en/book.solr.php
+Warning: PECL Solr 1 is not compatible with Solr Server >= 4.0.
+
%description -l fr
Bibliothèque riche en fonctionnalités qui permet aux développeurs PHP
@@ -75,12 +109,15 @@ serveurs via SSL.
Plus d'informations sur PHP-Solr sur:
http://www.php.net/manual/fr/book.solr.php
+Attention: PECL Solr 1 n'est pas compatible avec un serveur Solr >= 4.0.
+
%prep
%setup -c -q
-%{_bindir}/php %{SOURCE2} package.xml >CHANGELOG
-cd %{pecl_name}-%{version}
+mv %{pecl_name}-%{version}%{?prever} NTS
+cd NTS
+
# Fix version
sed -i -e '/PHP_SOLR_DOTTED_VERSION/s/1.0.1/1.0.2/' php_solr_version.h
@@ -102,29 +139,51 @@ chmod -x README.* \
cd ..
# Create configuration file
-cat > %{pecl_name}.ini << 'EOF'
+cat > %{ini_name} << 'EOF'
; Enable Solr extension module
extension=%{pecl_name}.so
EOF
+%if %{with_zts}
+cp -r NTS ZTS
+%endif
+
%build
-cd %{pecl_name}-%{version}
-phpize
-%configure
-%{__make} %{?_smp_mflags}
+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
-rm -rf %{buildroot}
-make -C %{pecl_name}-%{version} \
- install INSTALL_ROOT=%{buildroot}
+make -C NTS install INSTALL_ROOT=%{buildroot}
# Install XML package description
install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
# install config file
-install -D -m 644 %{pecl_name}.ini %{buildroot}%{_sysconfdir}/php.d/%{pecl_name}.ini
+install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
+
+%if %{with_zts}
+make -C ZTS install INSTALL_ROOT=%{buildroot}
+install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
+%endif
+
+# Test & Documentation
+for i in $(grep 'role="test"' package.xml | sed -e 's/^.*name="//;s/".*$//')
+do install -Dpm 644 NTS/$i %{buildroot}%{pecl_testdir}/%{pecl_name}/$i
+done
+for i in LICENSE $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//')
+do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
+done
%post
@@ -138,39 +197,59 @@ fi
%check
-cd %{pecl_name}-%{version}
-ln -s %{php_extdir}/curl.so modules/
-ln -s %{php_extdir}/json.so modules/
-
-TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=curl.so -d extension=json.so -d extension=%{pecl_name}.so" \
+DEP="-d extension=curl.so -d extension=json.so"
+cd NTS
+: Minimal load test for NTS extension
+%{__php} --no-php-ini \
+ $DEP \
+ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
+ --modules | grep %{pecl_name}
+
+TEST_PHP_ARGS="-n $DEP -d extension=$PWD/modules/%{pecl_name}.so" \
REPORT_EXIT_STATUS=1 \
NO_INTERACTION=1 \
- TEST_PHP_EXECUTABLE=%{_bindir}/php \
- %{_bindir}/php \
+ TEST_PHP_EXECUTABLE=%{__php} \
+ %{__php} \
run-tests.php
+%if %{with_zts}
+cd ../ZTS
+: Minimal load test for ZTS extension
+%{__ztsphp} --no-php-ini \
+ $DEP \
+ --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \
+ --modules | grep %{pecl_name}
-%clean
-rm -rf %{buildroot}
+TEST_PHP_ARGS="-n $DEP -d extension=$PWD/modules/%{pecl_name}.so" \
+ REPORT_EXIT_STATUS=1 \
+ NO_INTERACTION=1 \
+ TEST_PHP_EXECUTABLE=%{__ztsphp} \
+ %{__ztsphp} \
+ run-tests.php
+%endif
%files
-%defattr(-, root, root, -)
-%doc CHANGELOG
-%doc %{pecl_name}-%{version}/CREDITS
-%doc %{pecl_name}-%{version}/README.ABOUT_SOLR_EXTENSION
-%doc %{pecl_name}-%{version}/README.CONTRIBUTORS
-%doc %{pecl_name}-%{version}/README.MEMORY_ALLOCATION
-%doc %{pecl_name}-%{version}/README.SUBMITTING_CONTRIBUTIONS
-%doc %{pecl_name}-%{version}/TODO
-%doc %{pecl_name}-%{version}/LICENSE
-%doc %{pecl_name}-%{version}/docs/documentation.php
-%config(noreplace) %{_sysconfdir}/php.d/%{pecl_name}.ini
-%{php_extdir}/%{pecl_name}.so
+%doc %{pecl_docdir}/%{pecl_name}
+%doc %{pecl_testdir}/%{pecl_name}
%{pecl_xmldir}/%{name}.xml
+%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
+* Thu Apr 17 2014 Remi Collet <remi at fedoraproject.org> - 1.0.2-8
+- add numerical prefix to extension configuration file (php 5.6)
+- install doc in pecl_docdir
+- install tests in pecl_testdir
+- build ZTS extension
+
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.0.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
More information about the scm-commits
mailing list