From c51fd51f2bd5abe29c2d9829d2eff3c88c83e663 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sun, 9 Mar 2014 07:28:30 +0100 Subject: php-pecl-solr: cleanups --- php-pecl-solr-dev.spec | 282 ------------------------------------------------- php-pecl-solr.spec | 127 +++++++++++++--------- xml2changelog | 34 ------ 3 files changed, 77 insertions(+), 366 deletions(-) delete mode 100644 php-pecl-solr-dev.spec delete mode 100644 xml2changelog diff --git a/php-pecl-solr-dev.spec b/php-pecl-solr-dev.spec deleted file mode 100644 index 94b9ad3..0000000 --- a/php-pecl-solr-dev.spec +++ /dev/null @@ -1,282 +0,0 @@ -%{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} -%{!?__pecl: %global __pecl %{_bindir}/pecl} -%{!?__php: %global __php %{_bindir}/php} - -%global pecl_name solr -%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: 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 - -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-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} -%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} -Provides: php-pecl(%{pecl_name}) = %{version} -Provides: php-pecl(%{pecl_name})%{?_isa} = %{version} - -# Other third party repo stuff -Obsoletes: php53-pecl-%{pecl_name} -Obsoletes: php53u-pecl-%{pecl_name} -%if "%{php_version}" > "5.4" -Obsoletes: php54-pecl-%{pecl_name} -%endif -%if "%{php_version}" > "5.5" -Obsoletes: php55u-pecl-%{pecl_name} -%endif -%if "%{php_version}" > "5.6" -Obsoletes: php56u-pecl-%{pecl_name} -%endif - -%if 0%{?fedora} < 20 -# Filter shared private -%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} -%{?filter_setup} -%endif - - -%description -It effectively simplifies the process of interacting with Apache Solr using -PHP5 and it already comes with built-in readiness for the latest features. - -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. - -Please consult the documentation for more details on features. - http://php.net/solr - -Warning: PECL Solr >= 2 is not compatible with Solr Server < 4.0 - - -%prep -%setup -c -q - -mv %{pecl_name}-%{version}%{?prever} NTS -cd NTS - -# Check 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 (fixed upstream) -find . -type f -exec chmod -x {} \; -cd .. - -# Create configuration file -cat > %{pecl_name}.ini << 'EOF' -; Enable Solr extension module -extension=%{pecl_name}.so -EOF - -%if %{with_zts} -cp -r 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 -rm -rf %{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 -%{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : - - -%postun -if [ $1 -eq 0 ] ; then - %{pecl_uninstall} %{pecl_name} >/dev/null || : -fi - - -%check -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 -rm -rf %{buildroot} - - -%files -%defattr(-, root, root, -) -%doc %{pecl_docdir}/%{pecl_name} -%doc %{pecl_testdir}/%{pecl_name} -%config(noreplace) %{php_inidir}/%{pecl_name}.ini -%{php_extdir}/%{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 - 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 - 1.0.2-4 -- rebuild - -* Tue Nov 29 2011 Remi Collet - 1.0.2-2 -- php 5.4 build - -* Tue Nov 29 2011 Remi Collet - 1.0.2-1 -- update to 1.0.2 - -* Mon Nov 28 2011 Remi Collet - 1.0.1-4.svn320130 -- svn snapshot (test suite is now ok) - -* Wed Nov 16 2011 Remi Collet - 1.0.1-3 -- build against php 5.4 -- ignore test result because of https://bugs.php.net/60313 - -* Thu Oct 06 2011 Remi Collet - 1.0.1-2 -- ZTS extension -- spec cleanups - -* Fri Jun 10 2011 Remi Collet - 1.0.1-1 -- Version 1.0.1 (stable) - API 1.0.1 (stable) -- run test suite after build - -* Wed Feb 09 2011 Fedora Release Engineering - 0.9.11-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Wed Jun 23 2010 Johan Cwiklinski 0.9.11-1 -- update to latest release - -* Thu May 13 2010 Johan Cwiklinski 0.9.10-2 -- consitent use of pecl_name macro -- add %%check -- fixes some typos -- thanks Remi :) - -* Thu May 13 2010 Johan Cwiklinski 0.9.10-1 -- update to latest release - -* Tue Apr 27 2010 Johan Cwiklinski 0.9.9-2 -- Add missing Requires -- Remove conditionnal 'php_zend_api' 'pecl_install' no longer required -- %%define no longer must be used -- Thanks to Remi :) - -* Mon Apr 26 2010 Johan Cwiklinski 0.9.9-1 -- Initial packaging diff --git a/php-pecl-solr.spec b/php-pecl-solr.spec index 0dc0ba9..de9dc90 100644 --- a/php-pecl-solr.spec +++ b/php-pecl-solr.spec @@ -1,30 +1,35 @@ -%{!?__pecl: %{expand: %%global __pecl %{_bindir}/pecl}} +# 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 svnver 320130 +%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 +Release: 7%{?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 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 +37,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,10 +60,15 @@ 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 @@ -74,6 +91,9 @@ 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. +PECL Solr 2 is available in php-pecl-solr2 package. + %description -l fr Bibliothèque riche en fonctionnalités qui permet aux développeurs PHP @@ -97,18 +117,16 @@ 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. +PECL Solr 2 est disponible dans le paquet php-pecl-solr2. + %prep %setup -c -q -%if 0%{?svnver} -mv %{pecl_name}/package.xml . -mv %{pecl_name} %{pecl_name}-%{version} -%endif - -%{__php} %{SOURCE2} package.xml >CHANGELOG +mv %{pecl_name}-%{version}%{?prever} NTS +cd NTS -cd %{pecl_name}-%{version} # Fix version sed -i -e '/PHP_SOLR_DOTTED_VERSION/s/1.0.1/1.0.2/' php_solr_version.h @@ -135,36 +153,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 NTS install INSTALL_ROOT=%{buildroot} -make -C %{pecl_name}-%{version}-zts \ - 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 +209,23 @@ 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" \ +cd NTS +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 -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" \ +%if %{with_zts} +cd ../ZTS +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 +234,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 +* Sun Mar 9 2014 Remi Collet - 1.0.7 +- cleanups +- install doc in pecl_docdir +- install tests in pecl_testdir + * Sun Oct 21 2012 Remi Collet - 1.0.2-4 - rebuild @@ -254,13 +281,13 @@ rm -rf %{buildroot} * Wed Jun 23 2010 Johan Cwiklinski 0.9.11-1 - update to latest release -* Fri May 13 2010 Johan Cwiklinski 0.9.10-2 +* Thu May 13 2010 Johan Cwiklinski 0.9.10-2 - consitent use of pecl_name macro - add %%check - fixes some typos - thanks Remi :) -* Fri May 13 2010 Johan Cwiklinski 0.9.10-1 +* Thu May 13 2010 Johan Cwiklinski 0.9.10-1 - update to latest release * Tue Apr 27 2010 Johan Cwiklinski 0.9.9-2 diff --git a/xml2changelog b/xml2changelog deleted file mode 100644 index c114873..0000000 --- a/xml2changelog +++ /dev/null @@ -1,34 +0,0 @@ -= "2"){ // Package.xml V 2.0 - printf("*** Version %s (%s) - API %s (%s) - %s\n\n%s\n\n", - $xml->version->release, $xml->stability->release, - $xml->version->api, $xml->stability->api, - $xml->date, $xml->notes); - $new=$xml->version->release; - - if (isset($xml->changelog->release) && count($xml->changelog->release)) - foreach($xml->changelog->release as $rel) { - $old=$rel->version->release; - if ("$old" != "$new") { - printf("*** Version %s (%s) - API %s (%s) - %s\n\n%s\n\n", - $rel->version->release, $rel->stability->release, - $rel->version->api, $rel->stability->api, - $rel->date, $rel->notes); - } - } -} else { // Package.xml V 1.0 - printf("* Version %s (%s) - %s\n\n%s\n\n", - $xml->release->version, $xml->release->state, $xml->release->date, $xml->release->notes); - - foreach($xml->changelog->release as $rel) - printf("* Version %s (%s) - %s\n\n%s\n\n", - $rel->version, $rel->state, $rel->date, $rel->notes); -} -?> -- cgit