#
# 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_name}-pecl-solr
-Version: 1.0.2
-Release: 7
-License: PHP
+Version: 2.4.0
+Release: 3
+License: PHP v3.01
Group: Development/Languages
-Source0: http://pecl.php.net/get/%{modname}-%{version}.tgz
-# Source0-md5: 1632144b462ab22b91d03e4d59704fab
-Patch0: do-not-screw-with-random-seed.patch
-URL: http://pecl.php.net/package/solr
+Source0: https://pecl.php.net/get/%{modname}-%{version}.tgz
+# Source0-md5: 2c9accf66681a3daaaf371bc07e44902
+Patch0: tests-online.patch
+Patch2: https://github.com/php/pecl-search_engine-solr/commit/744e32915d5989101267ed2c84a407c582dc6f31.patch
+# Patch2-md5: 3536677810c1123e4be00a9da56cff5a
+URL: https://pecl.php.net/package/solr
BuildRequires: %{php_name}-cli
-%{?with_tests:BuildRequires: %{php_name}-curl}
-BuildRequires: %{php_name}-devel >= 4:5.2.3
+BuildRequires: %{php_name}-curl
+BuildRequires: %{php_name}-devel >= 4:5.3.0
+BuildRequires: %{php_name}-json
BuildRequires: curl-devel
BuildRequires: libxml2-devel >= 1:2.6.16
BuildRequires: php-packagexml2cl
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
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}
+%patch2 -p1
-# avoid 1970 dates in doc
-find -newer TODO -o -print | xargs touch --reference %{SOURCE0}
-
-%patch0 -p1
+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
%{__php} -n -q \
-d extension_dir=modules \
- -d extension=curl.so \
+ -d extension=%{php_extensiondir}/curl.so \
+ -d extension=%{php_extensiondir}/json.so \
-d extension=%{modname}.so \
-m > modules.log
grep %{modname} modules.log
-%{__rm} modules/curl.so
+
+%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