%{!?__pear: %{expand: %%global __pear %{_bindir}/pear}} %global pear_name XML_RPC2 Name: php-pear-XML-RPC2 Version: 1.0.6 Release: 1%{?dist} Summary: XML-RPC client/server library Group: Development/Libraries License: LGPLv2+ URL: http://pear.php.net/package/XML_RPC2 Source0: http://pear.php.net/get/%{pear_name}-%{version}.tgz # See http://pear.php.net/bugs/18268 Patch0: %{pear_name}.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: php-pear >= 1:1.4.9-1.2 Requires(post): %{__pear} Requires(postun): %{__pear} Provides: php-pear(%{pear_name}) = %{version} Requires: php-xml Requires: php-mbstring Requires: php-pear(PEAR) Requires: php-pear(Cache_Lite) >= 1.6.0 # Tests are only run with rpmbuild --with tests # Can't be run in mock / koji because of network / dns %global with_test %{?_with_test:1}%{!?_with_test:0} %description XML_RPC2 is a pear package providing XML_RPC client and server services. XML-RPC is a simple remote procedure call protocol built using HTTP as transport and XML as encoding. As a client library, XML_RPC2 is capable of creating a proxy class which exposes the methods exported by the server. As a server library, XML_RPC2 is capable of exposing methods from a class or object instance, seamlessly exporting local methods as remotely callable procedures. %prep %setup -q -c # Create a "localized" php.ini to avoid build warning cp /etc/php.ini . echo "date.timezone=UTC" >>php.ini cd %{pear_name}-%{version} # package.xml is V2 mv ../package.xml %{name}.xml %patch0 -p1 -b .orig %build cd %{pear_name}-%{version} # Empty build section, most likely nothing required. %install rm -rf $RPM_BUILD_ROOT docdir cd %{pear_name}-%{version} PHPRC=../php.ini %{__pear} install --nodeps --packagingroot $RPM_BUILD_ROOT %{name}.xml # Move documentation mkdir -p docdir mv $RPM_BUILD_ROOT%{pear_docdir}/%{pear_name} ../docdir # Clean up unnecessary files rm -rf $RPM_BUILD_ROOT%{pear_phpdir}/.??* # Install XML package description mkdir -p $RPM_BUILD_ROOT%{pear_xmldir} install -pm 644 %{name}.xml $RPM_BUILD_ROOT%{pear_xmldir} %clean rm -rf $RPM_BUILD_ROOT %post %{__pear} install --nodeps --soft --force --register-only \ %{pear_xmldir}/%{name}.xml >/dev/null || : %postun if [ $1 -eq 0 ] ; then %{__pear} uninstall --nodeps --ignore-errors --register-only \ pear.php.net/%{pear_name} >/dev/null || : fi %check cd %{pear_name}-%{version} %if %{with_test} PHPRC=../php.ini %{__pear} \ run-tests \ --recur \ -i "-d include_path=%{buildroot}%{pear_phpdir}:%{pear_phpdir}" \ tests | tee ../tests.log grep "FAILED TESTS" ../tests.log && exit 1 %else echo 'Test suite disabled (missing "--with test" option)' %endif %files %defattr(-,root,root,-) %doc docdir/* %{pear_xmldir}/%{name}.xml %{pear_phpdir}/XML %{pear_testdir}/%{pear_name} # this is only package maintainer stuff # http://pear.php.net/bugs/18269 %exclude %{pear_datadir}/%{pear_name}/* %changelog * Sun Feb 13 2011 Remi Collet 1.0.6-1 - initial RPM (from generated and cleaned spec)