From e32f58f0db79fd6cfd08739547ff3d34b11ad286 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sun, 10 Jun 2012 07:06:04 +0200 Subject: repo reorg --- Makefile | 4 + php-pecl-solr.spec | 254 +++++++++++++++++++++++++++++++++++++++++++++++++++++ xml2changelog | 34 +++++++ 3 files changed, 292 insertions(+) create mode 100644 Makefile create mode 100644 php-pecl-solr.spec create mode 100644 xml2changelog diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1e65467 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../common/Makefile + diff --git a/php-pecl-solr.spec b/php-pecl-solr.spec new file mode 100644 index 0000000..9b7425d --- /dev/null +++ b/php-pecl-solr.spec @@ -0,0 +1,254 @@ +%{!?__pecl: %{expand: %%global __pecl %{_bindir}/pecl}} + +%global pecl_name solr +#global svnver 320130 + +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: 2%{?dist} +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, php-pear, curl-devel, 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 %{_libdir}/.*\.so$} +%{?filter_setup} +# RPM 4.9 +%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}%{_libdir}/.*\\.so$ + + +%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. + +More info on PHP-Solr can be found at: +http://www.php.net/manual/en/book.solr.php + + +%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. + +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. + +Plus d'informations sur PHP-Solr sur: +http://www.php.net/manual/fr/book.solr.php + + +%prep +%setup -c -q + +%if 0%{?svnver} +mv %{pecl_name}/package.xml . +mv %{pecl_name} %{pecl_name}-%{version} +%endif + +%{__php} -n %{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 + +# 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}. + exit 1 +fi + +# Fix rights +chmod -x README.* \ + CREDITS \ + LICENSE \ + TODO \ + docs/documentation.php \ + *.c \ + *.h +cd .. + +# Create configuration file +cat > %{pecl_name}.ini << 'EOF' +; Enable Solr extension module +extension=%{pecl_name}.so +EOF + +cp -pr %{pecl_name}-%{version} %{pecl_name}-%{version}-zts + + +%build +cd %{pecl_name}-%{version} +%{_bindir}/phpize +%configure --with-php-config=%{_bindir}/php-config +make %{?_smp_mflags} + +cd ../%{pecl_name}-%{version}-zts +%{_bindir}/zts-phpize +%configure --with-php-config=%{_bindir}/zts-php-config +make %{?_smp_mflags} + + +%install +rm -rf %{buildroot} + +make -C %{pecl_name}-%{version} \ + 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 +install -D -m 644 %{pecl_name}.ini %{buildroot}%{php_ztsinidir}/%{pecl_name}.ini + + +%post +%{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : + + +%postun +if [ $1 -eq 0 ] ; then + %{pecl_uninstall} %{pecl_name} >/dev/null || : +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 + + +%clean +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 +%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 + + +%changelog +* 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 + +* Fri 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 +- 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/xml2changelog b/xml2changelog new file mode 100644 index 0000000..c114873 --- /dev/null +++ b/xml2changelog @@ -0,0 +1,34 @@ += "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