#
+# Conditional build:
+%bcond_without tests # do not perform "make test"
+
# TODO
# - check Zend/Pdf/FileParser/Image/Jpeg.php and Zend/Pdf/FileParser/Image/Tiff.php
-# presence in Zend/Pdf/Image.php after update [not implemented in 1.10.0)
-#
+# presence in Zend/Pdf/Image.php after update [not implemented in 1.10.2)
%include /usr/lib/rpm/macros.php
Summary: Zend Framework
Summary(pl.UTF-8): Szkielet Zend
Name: ZendFramework
-Version: 1.10.0
+Version: 1.10.8
Release: 1
License: New BSD License
Group: Development/Languages/PHP
Source0: http://framework.zend.com/releases/%{name}-%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 326156a309383648c17fb02df5b10e6c
+# Source0-md5: 2c758f0eff7dd68ddeb491fc75dd9c4c
Source1: http://framework.zend.com/releases/%{name}-%{version}/%{name}-%{version}-manual-en.tar.gz
-# Source1-md5: 49de25dc4d484df0215deb1e1629f98d
+# Source1-md5: e83bb75da22799e669b2ea4ea1d2b5e3
Source2: %{name}-find-lang.sh
Patch0: %{name}-additional-locales.patch
Patch1: %{name}-deps.patch
-Patch2: ZF-5750-pjpeg.patch
-Patch3: %{name}-Zend_Log_Exception.patch
URL: http://framework.zend.com/
BuildRequires: /usr/bin/php
-BuildRequires: php-pecl-runkit
BuildRequires: rpm-php-pearprov >= 4.4.2-11
BuildRequires: sed >= 4.0
Requires: php-common >= 4:5.1.4
Requires: php-pear
-Requires: rpm-whiteout >= 1.12
+Requires: rpm-whiteout >= 1.32
Obsoletes: ZendFramework-doc
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-# exclude optional dependencies
-%define _noautoreq 'php(oci8)' 'php(bitset)' 'pear(../application/bootstrap.php)' 'pear(Zend/Pdf/FileParser/Image/Tiff.php)' 'pear(Zend/Pdf/FileParser/Image/Jpeg.php)'
+# bad depsolver
+%define _noautopear pear(../application/bootstrap.php)
+
+# bad code
+%define _bad_deps_1_10 pear(Zend/Pdf/FileParser/Image/Jpeg.php) pear(Zend/Pdf/FileParser/Image/Tiff.php)
+%define _bad_deps_1_10_2 pear(Zend/Serializer/Excception.php) pear(Zend/Services/DeveloperGarden/Response/Exception.php)
+%define _noautodeps %{?_bad_deps_1_10} %{?_bad_deps_1_10_2}
+
+# exclude optional php dependencies
+%define _noautophp php-oci8 php-bitset
+
+# put it together for rpmbuild
+%define _noautoreq %{?_noautophp} %{?_noautopear} %{?_noautodeps}
%description
Zend Framework is a high quality and open source framework for
method accepts three arguments. The first one is the parser used to
tokenize the text (e.g. BbCode). The second (optional) parameter is
the renderer to use, Html by default. Thirdly an array with options to
-use for the renderer can be specified.
+use for the renderer can be specified.
%package Zend_Measure
Summary: Zend_Measure
Group: Development/Languages/PHP
URL: http://framework.zend.com/manual/en/zend.openid.html
Requires: %{name} = %{version}-%{release}
+# needed for dh keys: any of these tree can do for
+Suggests: php-bcmath
+Suggests: php-gmp
+Suggests: php-openssl
%description Zend_OpenId
Zend_OpenId is a Zend Framework component that provides a simple API
%description Zend_Serializer
Zend_Serializer provides an adapter based interface to simply generate
storable representation of php types by different facilities, and
-recover.
+recover.
+
+%package Zend_Server
+Summary: Zend_Server
+Group: Development/Languages/PHP
+URL: http://framework.zend.com/manual/en/zend.server.html
+Requires: %{name} = %{version}-%{release}
+
+%description Zend_Server
+The Zend_Server family of classes provides functionality for the
+various server classes, including Zend_XmlRpc_Server,
+Zend_Rest_Server, Zend_Json_Server and Zend_Soap_Wsdl.
%package Zend_Server_Reflection
Summary: Zend_Server_Reflection
list of function and method prototypes (i.e., all possible valid
calling combinations), and function/method descriptions.
+%package Zend_Service
+Summary: Zend_Service
+Group: Development/Languages/PHP
+URL: http://framework.zend.com/manual/en/zend.service.html
+Requires: %{name} = %{version}-%{release}
+
+%description Zend_Service
+Zend_Service is an abstract class which serves as a foundation for web
+service implementations, such as SOAP or REST.
+
%package Zend_Service_Akismet
Summary: Zend_Service_Akismet
Group: Development/Languages/PHP
Requires: %{name} = %{version}-%{release}
%description Zend_Service_DeveloperGarden
-DeveloperGarden is the name for the "Open Development services" of
-the German Telekom. The "Open Development services" are a set of SOAP
-API Services.
+DeveloperGarden is the name for the "Open Development services" of the
+German Telekom. The "Open Development services" are a set of SOAP API
+Services.
The family of Zend_Service_DeveloperGarden components provides a clean
-and simple interface to the » DeveloperGarden API and additionally
+and simple interface to the DeveloperGarden API and additionally
offers functionality to improve handling and performance
%package Zend_Service_Flickr
LiveDocx is a SOAP service that allows developers to generate word
processing documents by combining structured data from PHP with a
template, created in a word processor. The resulting document can be
-saved as a PDF, DOCX, DOC, HTML or RTF file. LiveDocx implements »
+saved as a PDF, DOCX, DOC, HTML or RTF file. LiveDocx implements
mail-merge in PHP.
The family of Zend_Service_LiveDocx components provides a clean and
-simple interface to the » LiveDocx API and additionally offers
-functionality to improve network performance.
+simple interface to the LiveDocx API and additionally offers
+functionality to improve network performance.
%package Zend_Service_Nirvanix
Summary: Zend_Service_Nirvanix
hosting, management, scalable storage with support for simple blobs,
tables, and queues, as well as a management infrastructure for
provisioning and geo-distribution of cloud-based services, and a
-development platform for the Azure Services layer.
+development platform for the Azure Services layer.
%package Zend_Service_Yahoo
Summary: Zend_Service_Yahoo
Zend_Test provides tools to facilitate unit testing of your Zend
Framework applications.
+%package Zend_TimeSync
+Summary: Zend_TimeSync
+Group: Development/Languages/PHP
+URL: http://framework.zend.com/manual/en/zend.timesync.html
+Requires: %{name} = %{version}-%{release}
+
+%description Zend_TimeSync
+Zend_TimeSync is able to receive internet or network time from a time
+server using the NTP or SNTP protocol. With Zend_TimeSync, Zend
+Framework is able to act independently from the time settings of the
+server where it is running.
+
%package Zend_Tool
Summary: Zend_Tool
Group: Development/Languages/PHP
find '(' -name '*.php' -o -name '*.xml' ')' -print0 | xargs -0 %{__sed} -i -e 's,\r$,,'
%patch0 -p1
%patch1 -p1
-%patch2 -p0
-%patch3 -p1
-install %{SOURCE2} find-lang.sh
+install -p %{SOURCE2} find-lang.sh
+
+sed -i -e 's,Zend/Serializer/Excception.php,Zend/Serializer/Exception.php,' library/Zend/Serializer/Adapter/PythonPickle.php
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
%build
-# check *.php files syntax using runkit extension
+%if %{with tests}
lint_php() {
- php -r '
- $errors = 0;
- array_shift($argv);
- echo "Checking syntax of ", count($argv), " PHP files";
- foreach ($argv as $file) {
- echo ".";
- if (!runkit_lint_file($file)) {
- echo "PHP Lint: $file\n";
- $errors++;
- }
- }
- echo "\nDONE!\n";
- exit($errors ? 1 : 0);
- ' $(find library -name '*.php')
+ for a in $(find library -name '*.php'); do
+ php -l $a
+ done
}
lint_php
+%endif
%install
rm -rf $RPM_BUILD_ROOT
cat >> $RPM_BUILD_ROOT%{_bindir}/zf <<-'EOF'
#!/bin/sh
cd %{php_pear_dir}/bin
-exec /usr/bin/php -d Safe_mode=off zf.php ${1:+"$@"}
+exec %{_bindir}/php -d safe_mode=off zf.php ${1:+"$@"}
EOF
./find-lang.sh %{name}.lang
%defattr(644,root,root,755)
%doc LICENSE.txt README.txt
%dir %{php_pear_dir}/Zend
-%dir %{php_pear_dir}/Zend/Console
-%dir %{php_pear_dir}/Zend/Search
-
-%dir %{php_pear_dir}/Zend/Server
-%{php_pear_dir}/Zend/Server/Abstract.php
-%{php_pear_dir}/Zend/Server/Exception.php
-%{php_pear_dir}/Zend/Server/Interface.php
-%{php_pear_dir}/Zend/Server/Definition.php
-%dir %{php_pear_dir}/Zend/Server/Method
-%{php_pear_dir}/Zend/Server/Method/Callback.php
-%{php_pear_dir}/Zend/Server/Method/Definition.php
-%{php_pear_dir}/Zend/Server/Method/Parameter.php
-%{php_pear_dir}/Zend/Server/Method/Prototype.php
-
-%dir %{php_pear_dir}/Zend/Service
-%{php_pear_dir}/Zend/Service/Abstract.php
-%{php_pear_dir}/Zend/Service/Exception.php
-
-%{php_pear_dir}/Zend/TimeSync
-%{php_pear_dir}/Zend/TimeSync.php
%files Zend_Acl
%defattr(644,root,root,755)
%files Zend_Console_Getopt
%defattr(644,root,root,755)
+%dir %{php_pear_dir}/Zend/Console
%{php_pear_dir}/Zend/Console/Getopt
%{php_pear_dir}/Zend/Console/Getopt.php
%files Zend_Search_Lucene
%defattr(644,root,root,755)
+%dir %{php_pear_dir}/Zend/Search
%{php_pear_dir}/Zend/Search/Exception.php
%{php_pear_dir}/Zend/Search/Lucene
%{php_pear_dir}/Zend/Search/Lucene.php
%{php_pear_dir}/Zend/Serializer
%{php_pear_dir}/Zend/Serializer.php
+%files Zend_Server
+%defattr(644,root,root,755)
+%dir %{php_pear_dir}/Zend/Server
+%{php_pear_dir}/Zend/Server/Abstract.php
+%{php_pear_dir}/Zend/Server/Exception.php
+%{php_pear_dir}/Zend/Server/Interface.php
+%{php_pear_dir}/Zend/Server/Definition.php
+%dir %{php_pear_dir}/Zend/Server/Method
+%{php_pear_dir}/Zend/Server/Method/Callback.php
+%{php_pear_dir}/Zend/Server/Method/Definition.php
+%{php_pear_dir}/Zend/Server/Method/Parameter.php
+%{php_pear_dir}/Zend/Server/Method/Prototype.php
+
%files Zend_Server_Reflection
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Server/Reflection
%{php_pear_dir}/Zend/Server/Reflection.php
+%files Zend_Service
+%defattr(644,root,root,755)
+%dir %{php_pear_dir}/Zend/Service
+%{php_pear_dir}/Zend/Service/Abstract.php
+%{php_pear_dir}/Zend/Service/Exception.php
+
%files Zend_Service_Akismet
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Service/Akismet.php
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Test
+%files Zend_TimeSync
+%defattr(644,root,root,755)
+%{php_pear_dir}/Zend/TimeSync
+%{php_pear_dir}/Zend/TimeSync.php
+
%files Zend_Tool
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/zf