#
# Conditional build:
%bcond_without tests # build without tests
+%bcond_with network_tests # run tests requiring setup Solr Server on localhost:8983
+%define php_name php%{?php_suffix}
%define modname solr
Summary: Object oriented API to Apache Solr
Summary(fr.UTF-8): API orientée objet pour Apache Solr
-Name: php-pecl-solr
-Version: 0.9.11
+Name: %{php_name}-pecl-solr
+Version: 2.4.0
Release: 2
-License: PHP
+License: PHP v3.01
Group: Development/Languages
-URL: http://pecl.php.net/package/solr
-Source0: http://pecl.php.net/get/%{modname}-%{version}.tgz
-# Source0-md5: 2416237107d6df6fef60a39a20ef8a7c
+Source0: https://pecl.php.net/get/%{modname}-%{version}.tgz
+# Source0-md5: 2c9accf66681a3daaaf371bc07e44902
+Patch0: tests-online.patch
+URL: https://pecl.php.net/package/solr
+BuildRequires: %{php_name}-cli
+BuildRequires: %{php_name}-curl
+BuildRequires: %{php_name}-devel >= 4:5.3.0
+BuildRequires: %{php_name}-json
BuildRequires: curl-devel
-BuildRequires: libxml2-devel
-%{?with_tests:BuildRequires: php-curl}
-BuildRequires: php-devel >= 4:5.2.3
+BuildRequires: libxml2-devel >= 1:2.6.16
BuildRequires: php-packagexml2cl
-BuildRequires: rpmbuild(macros) >= 1.519
-Requires: php-xml
-Provides: php-solr = %{version}
+BuildRequires: rpmbuild(macros) >= 1.666
+%if %{with tests}
+BuildRequires: %{php_name}-pcre
+BuildRequires: %{php_name}-xml
+%endif
%{?requires_php_extension}
+Requires: %{php_name}-cli
+Requires: %{php_name}-json
+Requires: %{php_name}-pcre
+Requires: %{php_name}-xml
+Provides: php(solr) = %{version}
+Obsoletes: php-pecl-solr < 1.0.2-6
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
HTTP proxy servers. It is also able to connect to SSL-enabled
containers.
+Notice: PECL Solr 2.x is not compatible with Apache Solr Server 3.x
+
%description -l fr.UTF-8
Bibliothèque riche en fonctionnalités qui permet aux développeurs PHP
de communiquer facilement et efficacement avec des instances du
possible de se connecter à des serveurs via SSL.
%prep
-%setup -q -c
+%setup -qc
mv %{modname}-%{version}/* .
+%{!?with_network_tests:%patch0 -p1}
-# avoid 1970 dates in doc
-find -newer TODO -o -print | xargs touch --reference %{SOURCE0}
+cat <<'EOF' > run-tests.sh
+#!/bin/sh
+export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
+exec %{__make} test \
+ PHP_EXECUTABLE=%{__php} \
+ PHP_TEST_SHARED_SYSTEM_EXTENSIONS="json pcre" \
+ RUN_TESTS_SETTINGS="-q $*"
+EOF
+chmod +x run-tests.sh
%build
packagexml2cl package.xml > ChangeLog
+# Check version
+extver=$(awk -F'"' '/define PHP_SOLR_VERSION / {print $2}' src/php%{php_major_version}/php_solr_version.h)
+if test "x${extver}" != "x%{version}"; then
+ : Error: Upstream version is ${extver}, expecting %{version}.
+ exit 1
+fi
+
phpize
%configure
%{__make}
-%if %{with tests}
-ln -sf %{php_extensiondir}/curl.so modules
-%{_bindir}/php \
- -n -q -d extension_dir=modules \
- -d extension=curl.so \
+%{__php} -n -q \
+ -d extension_dir=modules \
+ -d extension=%{php_extensiondir}/curl.so \
+ -d extension=%{php_extensiondir}/json.so \
-d extension=%{modname}.so \
- --modules | grep %{modname}
-rm -f modules/curl.so
+ -m > modules.log
+grep %{modname} modules.log
+
+%if %{with tests}
+./run-tests.sh --show-diff
%endif
%install
%{__make} install \
EXTENSION_DIR=%{php_extensiondir} \
INSTALL_ROOT=$RPM_BUILD_ROOT
+
cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini
; Enable Solr extension module
extension=%{modname}.so
%clean
rm -rf $RPM_BUILD_ROOT
+%post
+%php_webserver_restart
+
+%postun
+if [ "$1" = 0 ]; then
+ %php_webserver_restart
+fi
+
%files
%defattr(644,root,root,755)
%doc ChangeLog CREDITS README.SUBMITTING_CONTRIBUTIONS README.MEMORY_ALLOCATION