diff options
-rw-r--r-- | php-pecl-solr-dev.spec | 235 |
1 files changed, 122 insertions, 113 deletions
diff --git a/php-pecl-solr-dev.spec b/php-pecl-solr-dev.spec index 0dc0ba9..94b9ad3 100644 --- a/php-pecl-solr-dev.spec +++ b/php-pecl-solr-dev.spec @@ -1,30 +1,27 @@ -%{!?__pecl: %{expand: %%global __pecl %{_bindir}/pecl}} +%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} +%{!?__pecl: %global __pecl %{_bindir}/pecl} +%{!?__php: %global __php %{_bindir}/php} %global pecl_name solr -#global svnver 320130 +%global prever b +%global with_zts 0%{?__ztsphp:1} 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: 4%{?dist}.4 +Version: 2.0.0 +Release: 0.1.beta%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} License: PHP Group: Development/Languages URL: http://pecl.php.net/package/solr -%if 0%{?svnver} -# svn export -r 320130 https://svn.php.net/repository/pecl/solr/trunk solr -# tar czf solr-svn320130.tgz solr -Source0: solr-svn320130.tgz -%else -Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz -%endif -Source2: xml2changelog +Source0: http://pecl.php.net/get/%{pecl_name}-%{version}%{prever}.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: php-devel -BuildRequires: php-simplexml BuildRequires: php-pear +BuildRequires: php-curl +BuildRequires: php-json BuildRequires: curl-devel BuildRequires: libxml2-devel @@ -32,7 +29,14 @@ 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 +%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: %{?scl_prefix}php-common%{?_isa} +%else +Requires: %{?scl_prefix}php-curl%{?_isa} +Requires: %{?scl_prefix}php-json%{?_isa} +%endif Provides: php-%{pecl_name} = %{version} Provides: php-%{pecl_name}%{?_isa} = %{version} @@ -48,85 +52,55 @@ Obsoletes: php54-pecl-%{pecl_name} %if "%{php_version}" > "5.5" Obsoletes: php55u-pecl-%{pecl_name} %endif +%if "%{php_version}" > "5.6" +Obsoletes: php56u-pecl-%{pecl_name} +%endif -# Filter private shared +%if 0%{?fedora} < 20 +# Filter shared private %{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} %{?filter_setup} +%endif %description -Feature-rich library that allows PHP developers to communicate easily and -efficiently with Apache Solr server instances using an object-oriented API. - It effectively simplifies the process of interacting with Apache Solr using -PHP5 and it already comes with built-in readiness for the latest features -added in Solr 3.1. The extension has features such as built-in, -serializable query string builder objects which effectively simplifies the -manipulation of name-value pair request parameters across repeated requests. -The response from the Solr server is also automatically parsed into native php -objects whose properties can be accessed as array keys or object properties -without any additional configuration on the client-side. Its advanced HTTP -client reuses the same connection across multiple requests and provides -built-in support for connecting to Solr servers secured behind HTTP -Authentication or HTTP proxy servers. It is also able to connect to -SSL-enabled containers. +PHP5 and it already comes with built-in readiness for the latest features. -More info on PHP-Solr can be found at: -http://www.php.net/manual/en/book.solr.php +The extension has features such as built-in, serializable query string builder +objects which effectively simplifies the manipulation of name-value pair +request parameters across repeated requests. +The response from the Solr server is also automatically parsed into native php +objects whose properties can be accessed as array keys or object properties +without any additional configuration on the client-side. -%description -l fr -Bibliothèque riche en fonctionnalités qui permet aux développeurs PHP -de communiquer facilement et efficacement avec des instances du serveur -Apache Solr en utilisant une API orientée objet. +Its advanced HTTP client reuses the same connection across multiple requests +and provides built-in support for connecting to Solr servers secured behind +HTTP Authentication or HTTP proxy servers. It is also able to connect to +SSL-enabled containers. -Cela simplifie réellement le processus d'interaction avec Apache Solr en -utilisant PHP5 et fournit dores et déjà des facilités pour les dernières -fonctionnalités ajoutées dans Solr 3.1. L'extension possède des -fonctionnalités telles qu'un constructeur de requêtes embarqué et sérialisable -qui simplifie réellement la manipulation des couples de paramètres nom-valeur -entre différentes requêtes. La réponse de Solr est également analysée -automatiquement en objets php natifs dont les propriétés sont accessibles -en tant que clés de tableaux ou en tant que propriétés d'objets sans la moindre -configuration supplémentaire sur le client. Son client HTTP avancé utilise -la même connexion entre différentes requêtes et fournit un support embarqué -pour la connexion aux serveurs Solr protégés par authentification HTTP ou -par un serveur mandataire. Il est également possible de se connecter à des -serveurs via SSL. +Please consult the documentation for more details on features. + http://php.net/solr -Plus d'informations sur PHP-Solr sur: -http://www.php.net/manual/fr/book.solr.php +Warning: PECL Solr >= 2 is not compatible with Solr Server < 4.0 %prep %setup -c -q -%if 0%{?svnver} -mv %{pecl_name}/package.xml . -mv %{pecl_name} %{pecl_name}-%{version} -%endif - -%{__php} %{SOURCE2} package.xml >CHANGELOG - -cd %{pecl_name}-%{version} -# Fix version -sed -i -e '/PHP_SOLR_DOTTED_VERSION/s/1.0.1/1.0.2/' php_solr_version.h +mv %{pecl_name}-%{version}%{?prever} NTS +cd NTS # Check version -extver=$(sed -n '/#define PHP_SOLR_DOTTED_VERSION/{s/.* "//;s/".*$//;p}' php_solr_version.h) -if test "x${extver}" != "x%{version}"; then - : Error: Upstream version is ${extver}, expecting %{version}. +extver=$(sed -n '/#define PHP_SOLR_VERSION /{s/.* "//;s/".*$//;p}' php_solr_version.h) +if test "x${extver}" != "x%{version}%{?prever}"; then + : Error: Upstream version is ${extver}, expecting %{version}%{?prever}. exit 1 fi -# Fix rights -chmod -x README.* \ - CREDITS \ - LICENSE \ - TODO \ - docs/documentation.php \ - *.c \ - *.h +# Fix rights (fixed upstream) +find . -type f -exec chmod -x {} \; cd .. # Create configuration file @@ -135,36 +109,49 @@ cat > %{pecl_name}.ini << 'EOF' extension=%{pecl_name}.so EOF -cp -pr %{pecl_name}-%{version} %{pecl_name}-%{version}-zts +%if %{with_zts} +cp -r NTS ZTS +%endif %build -cd %{pecl_name}-%{version} +cd NTS %{_bindir}/phpize %configure --with-php-config=%{_bindir}/php-config make %{?_smp_mflags} -cd ../%{pecl_name}-%{version}-zts +%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 %{pecl_name}-%{version}-zts \ - 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}%{php_inidir}/%{pecl_name}.ini + +%if %{with_zts} +make -C ZTS install INSTALL_ROOT=%{buildroot} install -D -m 644 %{pecl_name}.ini %{buildroot}%{php_ztsinidir}/%{pecl_name}.ini +%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 @@ -178,27 +165,49 @@ 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" \ - REPORT_EXIT_STATUS=1 \ - NO_INTERACTION=1 \ - TEST_PHP_EXECUTABLE=%{__php} \ - %{__php} \ - run-tests.php - -cd ../%{pecl_name}-%{version}-zts -ln -s %{php_ztsextdir}/curl.so modules/ -ln -s %{php_ztsextdir}/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" \ - REPORT_EXIT_STATUS=1 \ - NO_INTERACTION=1 \ - TEST_PHP_EXECUTABLE=%{__ztsphp} \ - %{__ztsphp} \ - run-tests.php +cd NTS + +: Minimal load test for NTS extension +%{__php} \ + -n \ + -d extension=curl.so \ + -d extension=json.so \ + -d extension=$PWD/modules/%{pecl_name}.so \ + -m | grep %{pecl_name} + +: Upstream test suite for NTS extension +sed -e '/SOLR_SERVER_CONFIGURED/s/true/false/' \ + -i tests/test.config.inc +sed -e '/^curl$/d' -i tests/*phpt + +TEST_PHP_ARGS="-n -d extension=curl.so -d extension=json.so -d extension=$PWD/modules/%{pecl_name}.so" \ +REPORT_EXIT_STATUS=1 \ +NO_INTERACTION=1 \ +TEST_PHP_EXECUTABLE=%{__php} \ +%{__php} run-tests.php + +%if %{with_zts} +cd ../ZTS + +: Minimal load test for ZTS extension +%{__ztsphp} \ + -n \ + -d extension=curl.so \ + -d extension=json.so \ + -d extension=$PWD/modules/%{pecl_name}.so \ + -m | grep %{pecl_name} + +: Upstream test suite for ZTS extension +sed -e '/SOLR_SERVER_CONFIGURED/s/true/false/' \ + -i tests/test.config.inc +sed -e '/^curl$/d' -i tests/*phpt + +TEST_PHP_ARGS="-n -d extension=curl.so -d extension=json.so -d extension=$PWD/modules/%{pecl_name}.so" \ +REPORT_EXIT_STATUS=1 \ +NO_INTERACTION=1 \ +TEST_PHP_EXECUTABLE=%{__ztsphp} \ +%{__ztsphp} run-tests.php +%endif %clean @@ -207,23 +216,23 @@ rm -rf %{buildroot} %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 +%doc %{pecl_docdir}/%{pecl_name} +%doc %{pecl_testdir}/%{pecl_name} %config(noreplace) %{php_inidir}/%{pecl_name}.ini -%config(noreplace) %{php_ztsinidir}/%{pecl_name}.ini %{php_extdir}/%{pecl_name}.so -%{php_ztsextdir}/%{pecl_name}.so %{pecl_xmldir}/%{name}.xml +%if %{with_zts} +%config(noreplace) %{php_ztsinidir}/%{pecl_name}.ini +%{php_ztsextdir}/%{pecl_name}.so +%endif %changelog +* Sat Mar 8 2014 Remi Collet <remi@fedoraproject.org> - 2.0.0-0.1.beta +- update to 2.0.0b (beta) +- install doc in pecl_docdir +- install tests in pecl_testdir + * Sun Oct 21 2012 Remi Collet <remi@fedoraproject.org> - 1.0.2-4 - rebuild @@ -254,13 +263,13 @@ rm -rf %{buildroot} * Wed Jun 23 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.9.11-1 - update to latest release -* Fri May 13 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.9.10-2 +* Thu May 13 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.9.10-2 - consitent use of pecl_name macro - add %%check - fixes some typos - thanks Remi :) -* Fri May 13 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.9.10-1 +* Thu May 13 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.9.10-1 - update to latest release * Tue Apr 27 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.9.9-2 |