[php-ZendFramework2/f19] Updated to 2.2.8

Shawn Iwinski siwinski at fedoraproject.org
Wed Oct 29 23:17:42 UTC 2014


commit 40bf1c9c35ceffb6b69dc3fd8679618c949ea2ba
Author: Shawn Iwinski <shawn.iwinski at gmail.com>
Date:   Wed Oct 29 19:17:08 2014 -0400

    Updated to 2.2.8
    
    - BZ #1151276 / CVE-2014-8088 / ZF2014-05
    - BZ #1151277 / CVE-2014-8089 / ZF2014-06
    - BZ #1151278 (fedora)
    - BZ #1151280 (epel6)
    - Added composer virtual provides and requires
    - APC optional for ProgressBar component
    - Added tests

 .gitignore              |    2 +
 php-ZendFramework2.spec | 1018 ++++++++++++++++++++++++++++++-----------------
 sources                 |    3 +-
 3 files changed, 657 insertions(+), 366 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index c7acf1d..853f41f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,5 @@ clog
 /ZendFramework-2.2.5.tgz
 /ZendFramework-2.2.6.tgz
 /ZendFramework-2.2.7.tgz
+/ZendFramework-2.2.8.tgz
+/ZendFramework-tests-2.2.8.tgz
diff --git a/php-ZendFramework2.spec b/php-ZendFramework2.spec
index c0ef5d4..4f84635 100644
--- a/php-ZendFramework2.spec
+++ b/php-ZendFramework2.spec
@@ -1,7 +1,24 @@
+#
+# RPM spec file for php-ZendFramework2
+#
+# Copyright (c) 2013-2014 Shawn Iwinski <shawn.iwinski at gmail.com>
+#                         Remi Collet <remi at fedoraproject.org>
+#
+# License: MIT
+# http://opensource.org/licenses/MIT
+#
+# Please preserve changelog entries
+#
+
 %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
 
+%global composer_vendor zendframework
+
+# Build using "--without tests" to disable tests
+%global with_tests %{?_without_tests:0}%{!?_without_tests:1}
+
 Name:      php-ZendFramework2
-Version:   2.2.7
+Version:   2.2.8
 Release:   1%{?dist}
 Summary:   Zend Framework 2
 
@@ -9,8 +26,10 @@ Group:     Development/Libraries
 License:   BSD
 URL:       http://framework.zend.com
 Source0:   https://packages.zendframework.com/releases/ZendFramework-%{version}/ZendFramework-%{version}.tgz
-#Source1:   https://packages.zendframework.com/releases/ZendFramework-%%{version}/ZendFramework-%%{version}-manual-en.tgz
-#Source2:   https://packages.zendframework.com/releases/ZendFramework-%%{version}/ZendFramework-%%{version}-apidoc.tgz
+# git clone https://github.com/zendframework/zf2.git
+# cd zf2 ; git checkout release-2.2.8
+# tar czf ../ZendFramework-tests-2.2.8.tgz tests
+Source1:   ZendFramework-tests-%{version}.tgz
 
 # Patch needed for GLPI
 # https://bugzilla.redhat.com/1014478
@@ -21,57 +40,106 @@ Source0:   https://packages.zendframework.com/releases/ZendFramework-%{version}/
 Patch0:    %{name}-glpi.patch
 
 BuildArch: noarch
+%if %{with_tests}
+# PHPUnit + autoloader
+BuildRequires: %{_bindir}/phpunit
+BuildRequires: php-symfony-classloader >= 2.0
+# required by components
+BuildRequires: php(language) >= 5.3.3
+BuildRequires: php-bcmath
+BuildRequires: php-bz2
+BuildRequires: php-ctype
+BuildRequires: php-curl
+BuildRequires: php-date
+BuildRequires: php-dom
+BuildRequires: php-fileinfo
+BuildRequires: php-filter
+BuildRequires: php-gd
+BuildRequires: php-gmp
+BuildRequires: php-hash
+BuildRequires: php-iconv
+BuildRequires: php-intl
+BuildRequires: php-json
+BuildRequires: php-ldap
+BuildRequires: php-libxml
+BuildRequires: php-mbstring
+BuildRequires: php-mcrypt
+BuildRequires: php-openssl
+BuildRequires: php-pcre
+BuildRequires: php-pdo
+BuildRequires: php-reflection
+BuildRequires: php-session
+BuildRequires: php-simplexml
+BuildRequires: php-soap
+BuildRequires: php-spl
+BuildRequires: php-tidy
+BuildRequires: php-tokenizer
+BuildRequires: php-xml
+BuildRequires: php-xmlreader
+BuildRequires: php-xmlwriter
+BuildRequires: php-zip
+BuildRequires: php-zlib
+BuildRequires: php-composer(doctrine/annotations)
+%if 0%{?fedora} > 19 || 0%{?rhel}
+#BuildRequires: php-composer(ircmaxell/random-lib)
+BuildRequires: php-composer(ircmaxell/security-lib)
+%endif
+%endif
+
+Requires: php-composer(%{composer_vendor}/zend-authentication)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-barcode)          = %{version}
+Requires: php-composer(%{composer_vendor}/zend-cache)            = %{version}
+Requires: php-composer(%{composer_vendor}/zend-captcha)          = %{version}
+Requires: php-composer(%{composer_vendor}/zend-code)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-config)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-console)          = %{version}
+Requires: php-composer(%{composer_vendor}/zend-crypt)            = %{version}
+Requires: php-composer(%{composer_vendor}/zend-db)               = %{version}
+Requires: php-composer(%{composer_vendor}/zend-debug)            = %{version}
+Requires: php-composer(%{composer_vendor}/zend-di)               = %{version}
+Requires: php-composer(%{composer_vendor}/zend-dom)              = %{version}
+Requires: php-composer(%{composer_vendor}/zend-escaper)          = %{version}
+Requires: php-composer(%{composer_vendor}/zend-eventmanager)     = %{version}
+Requires: php-composer(%{composer_vendor}/zend-feed)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-file)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-filter)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-form)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-http)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-i18n)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-inputfilter)      = %{version}
+Requires: php-composer(%{composer_vendor}/zend-json)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-ldap)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-loader)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-log)              = %{version}
+Requires: php-composer(%{composer_vendor}/zend-mail)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-math)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-memory)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-mime)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-modulemanager)    = %{version}
+Requires: php-composer(%{composer_vendor}/zend-mvc)              = %{version}
+Requires: php-composer(%{composer_vendor}/zend-navigation)       = %{version}
+Requires: php-composer(%{composer_vendor}/zend-paginator)        = %{version}
+Requires: php-composer(%{composer_vendor}/zend-permissions-acl)  = %{version}
+Requires: php-composer(%{composer_vendor}/zend-permissions-rbac) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-progressbar)      = %{version}
+Requires: php-composer(%{composer_vendor}/zend-serializer)       = %{version}
+Requires: php-composer(%{composer_vendor}/zend-server)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-servicemanager)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-session)          = %{version}
+Requires: php-composer(%{composer_vendor}/zend-soap)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-tag)              = %{version}
+Requires: php-composer(%{composer_vendor}/zend-test)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-text)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-uri)              = %{version}
+Requires: php-composer(%{composer_vendor}/zend-validator)        = %{version}
+Requires: php-composer(%{composer_vendor}/zend-version)          = %{version}
+Requires: php-composer(%{composer_vendor}/zend-view)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-xmlrpc)           = %{version}
+Requires: php-composer(%{composer_vendor}/zendxml)               = %{version}
+
+Provides: php-composer(%{composer_vendor}/zendframework) = %{version}
 
-Requires:  %{name}-Authentication   = %{version}-%{release}
-Requires:  %{name}-Barcode          = %{version}-%{release}
-Requires:  %{name}-Cache            = %{version}-%{release}
-Requires:  %{name}-Captcha          = %{version}-%{release}
-Requires:  %{name}-Code             = %{version}-%{release}
-Requires:  %{name}-Config           = %{version}-%{release}
-Requires:  %{name}-Console          = %{version}-%{release}
-Requires:  %{name}-Crypt            = %{version}-%{release}
-Requires:  %{name}-Db               = %{version}-%{release}
-Requires:  %{name}-Debug            = %{version}-%{release}
-Requires:  %{name}-Di               = %{version}-%{release}
-Requires:  %{name}-Dom              = %{version}-%{release}
-Requires:  %{name}-Escaper          = %{version}-%{release}
-Requires:  %{name}-EventManager     = %{version}-%{release}
-Requires:  %{name}-Feed             = %{version}-%{release}
-Requires:  %{name}-File             = %{version}-%{release}
-Requires:  %{name}-Filter           = %{version}-%{release}
-Requires:  %{name}-Form             = %{version}-%{release}
-Requires:  %{name}-Http             = %{version}-%{release}
-Requires:  %{name}-I18n             = %{version}-%{release}
-Requires:  %{name}-InputFilter      = %{version}-%{release}
-Requires:  %{name}-Json             = %{version}-%{release}
-Requires:  %{name}-Ldap             = %{version}-%{release}
-Requires:  %{name}-Loader           = %{version}-%{release}
-Requires:  %{name}-Log              = %{version}-%{release}
-Requires:  %{name}-Mail             = %{version}-%{release}
-Requires:  %{name}-Math             = %{version}-%{release}
-Requires:  %{name}-Memory           = %{version}-%{release}
-Requires:  %{name}-Mime             = %{version}-%{release}
-Requires:  %{name}-ModuleManager    = %{version}-%{release}
-Requires:  %{name}-Mvc              = %{version}-%{release}
-Requires:  %{name}-Navigation       = %{version}-%{release}
-Requires:  %{name}-Paginator        = %{version}-%{release}
-Requires:  %{name}-Permissions-Acl  = %{version}-%{release}
-Requires:  %{name}-Permissions-Rbac = %{version}-%{release}
-Requires:  %{name}-ProgressBar      = %{version}-%{release}
-Requires:  %{name}-Serializer       = %{version}-%{release}
-Requires:  %{name}-Server           = %{version}-%{release}
-Requires:  %{name}-ServiceManager   = %{version}-%{release}
-Requires:  %{name}-Session          = %{version}-%{release}
-Requires:  %{name}-Soap             = %{version}-%{release}
-Requires:  %{name}-Stdlib           = %{version}-%{release}
-Requires:  %{name}-Tag              = %{version}-%{release}
-Requires:  %{name}-Test             = %{version}-%{release}
-Requires:  %{name}-Text             = %{version}-%{release}
-Requires:  %{name}-Uri              = %{version}-%{release}
-Requires:  %{name}-Validator        = %{version}-%{release}
-Requires:  %{name}-Version          = %{version}-%{release}
-Requires:  %{name}-View             = %{version}-%{release}
-Requires:  %{name}-XmlRpc           = %{version}-%{release}
 
 %description
 Zend Framework 2 is an open source framework for developing web applications
@@ -112,20 +180,23 @@ Conflicts: php-ZendFramework < 2
 Summary:  Zend Framework 2: Authentication Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.authentication.intro.html
 
-Requires: %{name}-common  = %{version}-%{release}
-Requires: %{name}-Stdlib  = %{version}-%{release}
-# Optional
-Requires: %{name}-Crypt   = %{version}-%{release}
-Requires: %{name}-Db      = %{version}-%{release}
-Requires: %{name}-Session = %{version}-%{release}
-Requires: %{name}-Uri     = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib)  = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-crypt)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-db)      = %{version}
+Requires: php-composer(%{composer_vendor}/zend-session) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-uri)     = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-ctype
 Requires: php-date
 Requires: php-hash
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-authentication) = %{version}
+
 %description Authentication
 The Zend\Authentication component provides an API for authentication and
 includes concrete authentication adapters for common use case scenarios.
@@ -146,18 +217,21 @@ Zend\Permissions\Acl or Zend\Permissions\Rbac component.
 Summary:  Zend Framework 2: Barcode Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.barcode.intro.html
 
-Requires: %{name}-common    = %{version}-%{release}
-Requires: %{name}-Stdlib    = %{version}-%{release}
-# Optional
-Requires: %{name}-Validator = %{version}-%{release}
-# zendframework/zendpdf
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib)    = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-validator) = %{version}
+#     zendframework/zendpdf
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-dom
 Requires: php-gd
 Requires: php-iconv
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-barcode) = %{version}
+
 %description Barcode
 Zend\Barcode\Barcode provides a generic way to generate barcodes. The
 Zend\Barcode component is divided into two subcomponents: barcode objects
@@ -171,52 +245,37 @@ renderer. Renderer allow you to draw barcodes based on the support required.
 Summary:  Zend Framework 2: Cache Component
 URL:      http://framework.zend.com/manual/2.2/en/index.html#zend-cache
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-EventManager   = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# Optional
-Requires: %{name}-Serializer     = %{version}-%{release}
-Requires: %{name}-Session        = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-eventmanager)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-serializer)     = %{version}
+Requires: php-composer(%{composer_vendor}/zend-session)        = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-date
 Requires: php-pcre
-Requires: php-pecl(redis)
 Requires: php-reflection
 Requires: php-spl
 
-%description Cache
-%{summary}
-
-Optional:
-* %{name}-Cache-apc
-* %{name}-Cache-memcached
-
-# ------------------------------------------------------------------------------
-
-%package  Cache-apc
-
-Summary:  Zend Framework 2: Cache Component: APC
-URL:      http://framework.zend.com/manual/2.2/en/index.html#zend-cache
+# Removed sub-packages
+Obsoletes: %{name}-Cache-apc       < %{version}-%{release}
+Provides:  %{name}-Cache-apc       = %{version}-%{release}
+Obsoletes: %{name}-Cache-memcached < %{version}-%{release}
+Provides:  %{name}-Cache-memcached = %{version}-%{release}
 
-Requires: %{name}-Cache = %{version}-%{release}
-Requires: php-pecl(APC)
+Provides: php-composer(%{composer_vendor}/zend-cache) = %{version}
 
-%description Cache-apc
+%description Cache
 %{summary}
 
-# ------------------------------------------------------------------------------
-
-%package  Cache-memcached
-
-Summary:  Zend Framework 2: Cache Component: Memcached
-URL:      http://framework.zend.com/manual/2.2/en/index.html#zend-cache
-
-Requires: %{name}-Cache = %{version}-%{release}
-Requires: php-pecl(memcached)
-
-%description Cache-memcached
-%{summary}
+Optional:
+* APC (php-pecl-apc)
+* DBA (php-dba)
+* Memcached (php-pecl-memcached)
+* Redis (php-pecl-redis)
+* XCache (php-xcache)
 
 # ------------------------------------------------------------------------------
 
@@ -226,15 +285,18 @@ Summary:  Zend Framework 2: CAPTCHA Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.captcha.intro.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Math   = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# Optional
-# zendframework/zendservice-recaptcha
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-math)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+#     zendframework/zend-resources
+#     zendframework/zendservice-recaptcha
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-date
 Requires: php-gd
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-captcha) = %{version}
+
 %description Captcha
 CAPTCHA stands for “Completely Automated Public Turing test to tell Computers
 and Humans Apart”; it is used as a challenge-response to ensure that the
@@ -255,16 +317,19 @@ component.
 Summary:  Zend Framework 2: Code Component
 URL:      http://framework.zend.com/manual/2.2/en/index.html
 
-Requires: %{name}-common       = %{version}-%{release}
-Requires: %{name}-EventManager = %{version}-%{release}
-# Optional
-Requires: php-pear(pear.doctrine-project.org/DoctrineCommon) >= 2.1
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-eventmanager) = %{version}
+# composer.json: optional
+Requires: php-composer(doctrine/common) >= 2.1
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-pcre
 Requires: php-reflection
 Requires: php-spl
 Requires: php-tokenizer
 
+Provides: php-composer(%{composer_vendor}/zend-code) = %{version}
+
 %description Code
 Provides facilities to generate arbitrary code using an object oriented
 interface.
@@ -276,17 +341,20 @@ interface.
 Summary:  Zend Framework 2: Config Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.config.introduction.html
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# Optional
-Requires: %{name}-Json           = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-json) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-libxml
 Requires: php-spl
 Requires: php-xmlreader
 Requires: php-xmlwriter
 
+Provides: php-composer(%{composer_vendor}/zend-config) = %{version}
+
 %description Config
 Zend\Config is designed to simplify access to configuration data within
 applications. It provides a nested object property-based user interface
@@ -303,13 +371,16 @@ Summary:  Zend Framework 2: Console Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.console.introduction.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-pcre
 Requires: php-reflection
 Requires: php-spl
 Requires: php-xml
 
+Provides: php-composer(%{composer_vendor}/zend-console) = %{version}
+
 %description Console
 Zend Framework 2 features built-in console support.
 
@@ -338,17 +409,21 @@ least one console route and one action controller to handle the request.
 Summary:  Zend Framework 2: Crypt Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.crypt.introduction.html
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-Math           = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-math) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# phpcompatinfo (computed from version 2.2.8)
+#     scrypt
 Requires: php-hash
 Requires: php-mcrypt
 Requires: php-openssl
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-crypt) = %{version}
+
 %description Crypt
 Zend\Crypt provides support of some cryptographic tools. The available
 features are:
@@ -376,18 +451,26 @@ Summary:  Zend Framework 2: DB Component
 URL:      http://framework.zend.com/manual/2.2/en/index.html#zend-db
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# phpcompatinfo
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-date
-Requires: php-mysql
 Requires: php-pcre
 Requires: php-pdo
-Requires: php-pgsql
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-db) = %{version}
+
 %description Db
 %{summary}
 
+Optional:
+* ibm_db2 (http://pecl.php.net/package/ibm_db2)
+* mysql/mysqli (php-mysql)
+* oci8 (http://pecl.php.net/package/oci8)
+* pgsql (php-pgsql)
+* sqlsrv (http://pecl.php.net/package/sqlsrv)
+
 # ------------------------------------------------------------------------------
 
 %package  Debug
@@ -395,11 +478,14 @@ Requires: php-spl
 Summary:  Zend Framework 2: Debug Component
 URL:      http://framework.zend.com/manual/2.2/en/index.html
 
-Requires: %{name}-common  = %{version}-%{release}
-Requires: %{name}-Escaper = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-escaper) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-pcre
 
+Provides: php-composer(%{composer_vendor}/zend-debug) = %{version}
+
 %description Debug
 %{summary}
 
@@ -413,13 +499,16 @@ Summary:  Zend Framework 2: DI Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.di.introduction.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Code   = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-code)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-pcre
 Requires: php-reflection
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-di) = %{version}
+
 %description Di
 Dependency Injection (here-in called DI) is a concept that has been talked
 about in numerous places over the web. Simply put, we’ll explain the act of
@@ -438,13 +527,16 @@ Summary:  Zend Framework 2: DOM Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.dom.intro.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-dom
 Requires: php-libxml
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-dom) = %{version}
+
 %description Dom
 The Zend\Dom component provides tools for working with DOM documents and
 structures. Currently, we offer Zend\Dom\Query, which provides a unified
@@ -458,13 +550,15 @@ Summary:  Zend Framework 2: Escaper Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.escaper.introduction.html
 
 Requires: %{name}-common = %{version}-%{release}
-# phpcompatinfo
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-ctype
 Requires: php-iconv
 Requires: php-mbstring
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-escaper) = %{version}
+
 %description Escaper
 The OWASP Top 10 web security risks study lists Cross-Site Scripting (XSS)
 in second place. PHP’s sole functionality against XSS is limited to two
@@ -481,10 +575,13 @@ Summary:  Zend Framework 2: EventManager Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.event-manager.event-manager.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-eventmanager) = %{version}
+
 %description EventManager
 The EventManager is a component designed for the following use cases:
 
@@ -503,14 +600,15 @@ trigger events; and interrupt execution of listeners.
 Summary:  Zend Framework 2: Feed Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.feed.introduction.html
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-Escaper        = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# Optional
-Requires: %{name}-Http           = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-Requires: %{name}-Validator      = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-escaper)        = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-http)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-validator)      = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-ctype
 Requires: php-date
 Requires: php-dom
@@ -520,6 +618,8 @@ Requires: php-pcre
 Requires: php-spl
 Requires: php-tidy
 
+Provides: php-composer(%{composer_vendor}/zend-feed) = %{version}
+
 %description Feed
 Zend\Feed provides functionality for consuming RSS and Atom feeds. It provides
 a natural syntax for accessing elements of feeds, feed attributes, and entry
@@ -543,14 +643,17 @@ Summary:  Zend Framework 2: File Component
 URL:      http://framework.zend.com/manual/2.2/en/index.html#zend-file
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-fileinfo
 Requires: php-hash
 Requires: php-pcre
 Requires: php-spl
 Requires: php-tokenizer
 
+Provides: php-composer(%{composer_vendor}/zend-file) = %{version}
+
 %description File
 %{summary}
 
@@ -561,14 +664,17 @@ Requires: php-tokenizer
 Summary:  Zend Framework 2: Filter Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.filter.html
 
-Requires: %{name}-common    = %{version}-%{release}
-Requires: %{name}-Stdlib    = %{version}-%{release}
-# Optional
-Requires: %{name}-Crypt     = %{version}-%{release}
-Requires: %{name}-I18n      = %{version}-%{release}
-Requires: %{name}-Uri       = %{version}-%{release}
-Requires: %{name}-Validator = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib)    = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-crypt)     = %{version}
+Requires: php-composer(%{composer_vendor}/zend-i18n)      = %{version}
+Requires: php-composer(%{composer_vendor}/zend-validator) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-uri)       = %{version}
+# phpcompatinfo (computed from version 2.2.8)
+#     rar
+#     snappy
 Requires: php-bz2
 Requires: php-date
 Requires: php-iconv
@@ -580,6 +686,8 @@ Requires: php-spl
 Requires: php-zip
 Requires: php-zlib
 
+Provides: php-composer(%{composer_vendor}/zend-filter) = %{version}
+
 %description Filter
 The Zend\Filter component provides a set of commonly needed data filters.
 It also provides a simple filter chaining mechanism by which multiple filters
@@ -592,18 +700,21 @@ may be applied to a single datum in a user-defined order.
 Summary:  Zend Framework 2: Form Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.form.intro.html
 
-Requires: %{name}-common      = %{version}-%{release}
-Requires: %{name}-InputFilter = %{version}-%{release}
-Requires: %{name}-Stdlib      = %{version}-%{release}
-# Optional
-# zendframework/zendservice-recaptcha
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-inputfilter) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)      = %{version}
+# composer.json: optional
+#     zendframework/zendservice-recaptcha
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-date
 Requires: php-intl
 Requires: php-pcre
 Requires: php-reflection
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-form) = %{version}
+
 %description Form
 Zend\Form is intended primarily as a bridge between your domain models and the
 View Layer. It composes a thin layer of objects representing form elements, an
@@ -626,12 +737,13 @@ The Zend\Form component consists of the following objects:
 Summary:  Zend Framework 2: HTTP Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.http.html
 
-Requires: %{name}-common    = %{version}-%{release}
-Requires: %{name}-Loader    = %{version}-%{release}
-Requires: %{name}-Stdlib    = %{version}-%{release}
-Requires: %{name}-Uri       = %{version}-%{release}
-Requires: %{name}-Validator = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-loader)    = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)    = %{version}
+Requires: php-composer(%{composer_vendor}/zend-uri)       = %{version}
+Requires: php-composer(%{composer_vendor}/zend-validator) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-ctype
 Requires: php-curl
 Requires: php-date
@@ -641,6 +753,8 @@ Requires: php-pcre
 Requires: php-spl
 Requires: php-zlib
 
+Provides: php-composer(%{composer_vendor}/zend-http) = %{version}
+
 %description Http
 Zend\Http is a primary foundational component of Zend Framework. Since much
 of what PHP does is web-based, specifically HTTP, it makes sense to have a
@@ -663,20 +777,25 @@ In nutshell, there are several parts of Zend\Http:
 Summary:  Zend Framework 2: i18n Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.i18n.translating.html
 
-Requires: %{name}-common       = %{version}-%{release}
-Requires: %{name}-Stdlib       = %{version}-%{release}
-# Optional
-Requires: %{name}-EventManager = %{version}-%{release}
-Requires: %{name}-Filter       = %{version}-%{release}
-Requires: %{name}-Validator    = %{version}-%{release}
-Requires: %{name}-View         = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# composer.json: optional
+#     zendframework/zend-resources
+Requires: php-composer(%{composer_vendor}/zend-eventmanager) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-filter)       = %{version}
+Requires: php-composer(%{composer_vendor}/zend-validator)    = %{version}
+Requires: php-composer(%{composer_vendor}/zend-view)         = %{version}
+Requires: php-intl
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-ctype
 Requires: php-date
 Requires: php-intl
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-i18n) = %{version}
+
 %description I18n
 ZendI18n comes with a complete translation suite which supports all major
 formats and includes popular features like plural translations and text
@@ -694,15 +813,18 @@ will actually do nothing but just return the given message IDs.
 Summary:  Zend Framework 2: InputFilter Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.input-filter.intro.html
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-Filter         = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-Requires: %{name}-Validator      = %{version}-%{release}
-# Optional
-Requires: %{name}-ServiceManager = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-filter)         = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+Requires: php-composer(%{composer_vendor}/zend-validator)      = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-inputfilter) = %{version}
+
 %description InputFilter
 The Zend\InputFilter component can be used to filter and validate generic sets
 of input data. For instance, you could use it to filter $_GET or $_POST values,
@@ -716,18 +838,19 @@ Summary:  Zend Framework 2: JSON Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.json.introduction.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-Requires: %{name}-ZendXml = %{version}-%{release}
-# Optional
-Requires: %{name}-Server = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-server) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-json
 Requires: php-mbstring
 Requires: php-pcre
 Requires: php-reflection
-Requires: php-simplexml
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-json) = %{version}
+
 %description Json
 Zend\Json provides convenience methods for serializing native PHP to JSON
 and decoding JSON to native PHP.
@@ -754,8 +877,9 @@ Summary:  Zend Framework 2: LDAP Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.ldap.introduction.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-date
 Requires: php-iconv
 Requires: php-json
@@ -764,6 +888,8 @@ Requires: php-mbstring
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-ldap) = %{version}
+
 %description Ldap
 Zend\Ldap\Ldap is a class for performing LDAP operations including but not
 limited to binding, searching and modifying entries in an LDAP directory.
@@ -776,12 +902,14 @@ Summary:  Zend Framework 2: Loader Component
 URL:      http://framework.zend.com/manual/2.2/en/index.html#zend-loader
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# phpcompatinfo
+# phpcompatinfo (computed from version 2.2.8)
+Requires: php-bz2
 Requires: php-pcre
 Requires: php-reflection
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-loader) = %{version}
+
 %description Loader
 %{summary}
 
@@ -792,22 +920,24 @@ Requires: php-spl
 Summary:  Zend Framework 2: Log Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.log.overview.html
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# Optional
-Requires: %{name}-Db             = %{version}-%{release}
-Requires: %{name}-Escaper        = %{version}-%{release}
-Requires: %{name}-Mail           = %{version}-%{release}
-Requires: %{name}-Validator      = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-db)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-escaper)        = %{version}
+Requires: php-composer(%{composer_vendor}/zend-mail)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-validator)      = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-date
 Requires: php-dom
 Requires: php-json
 Requires: php-pcre
-Requires: php-pecl(mongo)
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-log) = %{version}
+
 %description Log
 Zend\Log\Logger is a component for general purpose logging. It supports multiple
 log backends, formatting messages sent to the log, and filtering messages from
@@ -826,6 +956,8 @@ being logged. These functions are divided into the following objects:
   log data before it is written by a Writer. Each Writer has exactly one
   Formatter.
 
+Optional: MongoDB (php-pecl-mongo)
+
 # ------------------------------------------------------------------------------
 
 %package  Mail
@@ -833,20 +965,24 @@ being logged. These functions are divided into the following objects:
 Summary:  Zend Framework 2: Mail Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.mail.introduction.html
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-Loader         = %{version}-%{release}
-Requires: %{name}-Mime           = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# Optional
-Requires: %{name}-ServiceManager = %{version}-%{release}
-Requires: %{name}-Validator      = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-crypt)          = %{version}
+Requires: php-composer(%{composer_vendor}/zend-loader)         = %{version}
+Requires: php-composer(%{composer_vendor}/zend-mime)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-validator)      = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-ctype
 Requires: php-date
 Requires: php-iconv
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-mail) = %{version}
+
 %description Mail
 Zend\Mail provides generalized functionality to compose and send both text
 and MIME-compliant multipart email messages. Mail can be sent with Zend\Mail
@@ -862,14 +998,20 @@ Summary:  Zend Framework 2: Math Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.math.introduction.html
 
 Requires: %{name}-common = %{version}-%{release}
-# phpcompatinfo
+# composer.json: optional
+#     ircmaxell/random-lib
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
 Requires: php-bcmath
-Requires: php-gmp
+# php-gmp causes issues (see BZ #1152440)
+#Requires: php-gmp
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-mcrypt
 Requires: php-openssl
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-math) = %{version}
+
 %description Math
 Zend\Math namespace provides general mathematical functions. So far the
 supported functionalities are:
@@ -877,6 +1019,8 @@ supported functionalities are:
 * Zend\Math\Rand: A random number generator
 * Zend\Math\BigInteger: A library to manage big integers
 
+Optional: php-gmp
+
 # ------------------------------------------------------------------------------
 
 %package  Memory
@@ -885,9 +1029,13 @@ Summary:  Zend Framework 2: Memory Component
 URL:      http://framework.zend.com/manual/2.2/en/index.html
 
 Requires: %{name}-common = %{version}-%{release}
-# phpcompatinfo
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-cache) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-memory) = %{version}
+
 %description Memory
 %{summary}
 
@@ -899,17 +1047,22 @@ Summary:  Zend Framework 2: MIME Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.mime.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-iconv
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-mime) = %{version}
+
 %description Mime
 Zend\Mime\Mime is a support class for handling multipart MIME messages. It
 is used by Zend\Mail and Zend\Mime\Message and may be used by applications
 requiring MIME support.
 
+Optional: %{name}-Mail
+
 # ------------------------------------------------------------------------------
 
 %package  ModuleManager
@@ -917,16 +1070,19 @@ requiring MIME support.
 Summary:  Zend Framework 2: ModuleManager Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.module-manager.intro.html
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-EventManager   = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# Optional
-Requires: %{name}-Config         = %{version}-%{release}
-Requires: %{name}-Loader         = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-eventmanager)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-config)         = %{version}
+Requires: php-composer(%{composer_vendor}/zend-loader)         = %{version}
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-modulemanager) = %{version}
+
 %description ModuleManager
 Zend Framework 2.0 introduces a new and powerful approach to modules. This new
 module system is designed with flexibility, simplicity, and re-usability in
@@ -941,30 +1097,35 @@ CSS, and JavaScript.
 Summary:  Zend Framework 2: MVC Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.mvc.intro.html
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-EventManager   = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# Optional
-Requires: %{name}-Config         = %{version}-%{release}
-Requires: %{name}-Console        = %{version}-%{release}
-Requires: %{name}-Di             = %{version}-%{release}
-Requires: %{name}-Filter         = %{version}-%{release}
-Requires: %{name}-Http           = %{version}-%{release}
-Requires: %{name}-Form           = %{version}-%{release}
-Requires: %{name}-I18n           = %{version}-%{release}
-Requires: %{name}-InputFilter    = %{version}-%{release}
-Requires: %{name}-ModuleManager  = %{version}-%{release}
-Requires: %{name}-Serializer     = %{version}-%{release}
-Requires: %{name}-Text           = %{version}-%{release}
-Requires: %{name}-Uri            = %{version}-%{release}
-Requires: %{name}-Validator      = %{version}-%{release}
-Requires: %{name}-View           = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-eventmanager)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-authentication) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-config)         = %{version}
+Requires: php-composer(%{composer_vendor}/zend-console)        = %{version}
+Requires: php-composer(%{composer_vendor}/zend-di)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-filter)         = %{version}
+Requires: php-composer(%{composer_vendor}/zend-form)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-http)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-i18n)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-inputfilter)    = %{version}
+Requires: php-composer(%{composer_vendor}/zend-modulemanager)  = %{version}
+Requires: php-composer(%{composer_vendor}/zend-serializer)     = %{version}
+Requires: php-composer(%{composer_vendor}/zend-session)        = %{version}
+Requires: php-composer(%{composer_vendor}/zend-text)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-uri)            = %{version}
+Requires: php-composer(%{composer_vendor}/zend-validator)      = %{version}
+Requires: php-composer(%{composer_vendor}/zend-view)           = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-pcre
 Requires: php-reflection
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-mvc) = %{version}
+
 %description Mvc
 Zend\Mvc is a brand new MVC implementation designed from the ground up for
 Zend Framework 2, focusing on performance and flexibility.
@@ -990,15 +1151,18 @@ Summary:  Zend Framework 2: Navigation Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.navigation.intro.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# Optional
-Requires: %{name}-Config = %{version}-%{release}
-Requires: %{name}-Mvc    = %{version}-%{release}
-Requires: %{name}-View   = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-config) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-mvc)    = %{version}
+Requires: php-composer(%{composer_vendor}/zend-view)   = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-navigation) = %{version}
+
 %description Navigation
 Zend\Navigation is a component for managing trees of pointers to web pages.
 Simply put: It can be used for creating menus, breadcrumbs, links, and sitemaps,
@@ -1012,11 +1176,16 @@ Summary:  Zend Framework 2: Paginator Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.paginator.introduction.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-cache)  = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-reflection
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-paginator) = %{version}
+
 %description Paginator
 Zend\Paginator is a flexible component for paginating collections of data and
 presenting that data to users.
@@ -1038,9 +1207,11 @@ Summary:  Zend Framework 2: Permissions ACL Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.permissions.acl.intro.html
 
 Requires: %{name}-common = %{version}-%{release}
-# phpcompatinfo
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-permissions-acl) = %{version}
+
 %description Permissions-Acl
 The Zend\Permissions\Acl component provides a lightweight and flexible access
 control list (ACL) implementation for privileges management. In general, an
@@ -1068,9 +1239,11 @@ Summary:  Zend Framework 2: Permissions RBAC Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.permissions.rbac.intro.html
 
 Requires: %{name}-common = %{version}-%{release}
-# phpcompatinfo
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-permissions-rbac) = %{version}
+
 %description Permissions-Rbac
 The Zend\Permissions\Rbac component provides a lightweight role-based access
 control implementation based around PHP 5.3’s SPL RecursiveIterator and
@@ -1086,13 +1259,18 @@ Summary:  Zend Framework 2: ProgressBar Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.progress-bar.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib)  = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-json)    = %{version}
+Requires: php-composer(%{composer_vendor}/zend-session) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
+#     uploadprogress
 Requires: php-date
 Requires: php-pcre
-Requires: php-pecl(APC)
 Requires: php-spl
-# uploadprogress
+
+Provides: php-composer(%{composer_vendor}/zend-progressbar) = %{version}
 
 %description ProgressBar
 Zend\ProgressBar is a component to create and update progress bars in different
@@ -1101,6 +1279,8 @@ through one of the multiple adapters. On every update, it takes an absolute
 value and optionally a status message, and then calls the adapter with some
 precalculated values like percentage and estimated time left.
 
+Optional: APC (php-pecl-apc)
+
 # ------------------------------------------------------------------------------
 
 %package  Serializer
@@ -1108,13 +1288,15 @@ precalculated values like percentage and estimated time left.
 Summary:  Zend Framework 2: Serializer Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.serializer.html
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-Json           = %{version}-%{release}
-Requires: %{name}-Math           = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# Optional
-Requires: %{name}-ServiceManager = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-json)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-math)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
+#     wddx
 Requires: php-dom
 Requires: php-libxml
 Requires: php-pcre
@@ -1122,6 +1304,8 @@ Requires: php-pecl(igbinary)
 Requires: php-simplexml
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-serializer) = %{version}
+
 %description Serializer
 The Zend\Serializer component provides an adapter based interface to simply
 generate storable representation of PHP types by different facilities, and
@@ -1137,13 +1321,16 @@ Summary:  Zend Framework 2: Server Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.server.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Code   = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-code)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-pcre
 Requires: php-reflection
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-server) = %{version}
+
 %description Server
 The Zend\Server family of classes provides functionality for the various server
 classes, including Zend\XmlRpc\Server and Zend\Json\Server. Zend\Server\Server
@@ -1163,12 +1350,14 @@ Summary:  Zend Framework 2: ServiceManager Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.service-manager.intro.html
 
 Requires: %{name}-common = %{version}-%{release}
-# Optional
-Requires: %{name}-Di     = %{version}-%{release}
-# phpcompatinfo
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-di) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-reflection
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+
 %description ServiceManager
 The Service Locator design pattern is implemented by the Zend\ServiceManager
 component. The Service Locator is a service/object locator, tasked with
@@ -1181,24 +1370,28 @@ retrieving other objects.
 Summary:  Zend Framework 2: Session Component
 URL:      http://framework.zend.com/manual/2.2/en/index.html#zend-session
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# Optional
-Requires: %{name}-EventManager   = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-Requires: %{name}-Validator      = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-eventmanager)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-validator)      = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-date
 Requires: php-hash
 Requires: php-pcre
-Requires: php-pecl(mongo)
 Requires: php-session
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-session) = %{version}
+
 %description Session
 Manage and preserve session data, a logical complement of cookie data, across
 multiple page requests by the same client.
 
+Optional: MongoDB (php-pecl-mongo)
+
 # ------------------------------------------------------------------------------
 
 %package  Soap
@@ -1207,17 +1400,21 @@ Summary:  Zend Framework 2: SOAP Component
 URL:      http://framework.zend.com/manual/2.2/en/index.html#zend-soap
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Server = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-Requires: %{name}-Uri    = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-server) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-uri)    = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-curl
 Requires: php-dom
 Requires: php-libxml
 Requires: php-pcre
 Requires: php-reflection
-Requires: php-spl
+Requires: php-simplexml
 Requires: php-soap
+Requires: php-spl
+
+Provides: php-composer(%{composer_vendor}/zend-soap) = %{version}
 
 %description Soap
 %{summary}
@@ -1229,11 +1426,11 @@ Requires: php-soap
 Summary:  Zend Framework 2: Stdlib Component
 URL:      http://framework.zend.com/manual/2.2/en/index.html#zend-stdlib
 
-Requires: %{name}-common         = %{version}-%{release}
-# Optional
-Requires: %{name}-EventManager   = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-eventmanager)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-date
 Requires: php-iconv
 Requires: php-intl
@@ -1242,6 +1439,8 @@ Requires: php-pcre
 Requires: php-reflection
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+
 %description Stdlib
 %{summary}
 
@@ -1252,13 +1451,16 @@ Requires: php-spl
 Summary:  Zend Framework 2: Tag Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.tag.introduction.html
 
-Requires: %{name}-common  = %{version}-%{release}
-Requires: %{name}-Escaper = %{version}-%{release}
-Requires: %{name}-Stdlib  = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-escaper) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)  = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-tag) = %{version}
+
 %description Tag
 Zend\Tag is a component suite which provides a facility to work with taggable
 Items. As its base, it provides two classes to work with Tags, Zend\Tag\Item
@@ -1283,21 +1485,24 @@ on the given relative weights of each item in it.
 Summary:  Zend Framework 2: Test Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.test.introduction.html
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-Dom            = %{version}-%{release}
-Requires: %{name}-EventManager   = %{version}-%{release}
-Requires: %{name}-Http           = %{version}-%{release}
-Requires: %{name}-Mvc            = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-Requires: %{name}-Uri            = %{version}-%{release}
-Requires: %{name}-View           = %{version}-%{release}
-Requires: php-pear(pear.phpunit.de/PHPUnit) >= 3.7.0
-Requires: php-pear(pear.phpunit.de/PHPUnit) <  3.8.0
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-console)        = %{version}
+Requires: php-composer(%{composer_vendor}/zend-dom)            = %{version}
+Requires: php-composer(%{composer_vendor}/zend-eventmanager)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-http)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-mvc)            = %{version}
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+Requires: php-composer(%{composer_vendor}/zend-uri)            = %{version}
+Requires: php-composer(%{composer_vendor}/zend-view)           = %{version}
+Requires: php-phpunit-PHPUnit >= 3.7.0
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-test) = %{version}
+
 %description Test
 The Zend\Test component provides tools to facilitate unit testing of your Zend
 Framework applications. At this time, we offer facilities to enable testing of
@@ -1314,14 +1519,17 @@ PHPUnit is the only library supported currently.
 Summary:  Zend Framework 2: Text Component
 URL:      http://framework.zend.com/manual/2.2/en/index.html#zend-text
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-ctype
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-text) = %{version}
+
 %description Text
 %{summary}
 
@@ -1332,13 +1540,16 @@ Requires: php-spl
 Summary:  Zend Framework 2: URI Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.uri.html
 
-Requires: %{name}-common    = %{version}-%{release}
-Requires: %{name}-Escaper   = %{version}-%{release}
-Requires: %{name}-Validator = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-escaper)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-validator) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-uri) = %{version}
+
 %description Uri
 Zend\Uri is a component that aids in manipulating and validating Uniform
 Resource Identifiers (URIs) [1]. Zend\Uri exists primarily to service other
@@ -1359,14 +1570,19 @@ registered with the Factory.
 Summary:  Zend Framework 2: Validator Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.validator.html
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# Optional
-Requires: %{name}-Db             = %{version}-%{release}
-Requires: %{name}-I18n           = %{version}-%{release}
-Requires: %{name}-Math           = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# composer.json: optional
+#     zendframework/zend-resources
+Requires: php-composer(%{composer_vendor}/zend-db)             = %{version}
+Requires: php-composer(%{composer_vendor}/zend-filter)         = %{version}
+Requires: php-composer(%{composer_vendor}/zend-i18n)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-math)           = %{version}
+Requires: php-composer(%{composer_vendor}/zend-resources)      = %{version}
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-uri)            = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-ctype
 Requires: php-date
 Requires: php-fileinfo
@@ -1374,6 +1590,8 @@ Requires: php-hash
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-validator) = %{version}
+
 %description Validator
 The Zend\Validator component provides a set of commonly needed validators.
 It also provides a simple validator chaining mechanism by which multiple
@@ -1387,9 +1605,13 @@ Summary:  Zend Framework 2: Version Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.version.html
 
 Requires: %{name}-common = %{version}-%{release}
-# phpcompatinfo
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-json) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-pcre
 
+Provides: php-composer(%{composer_vendor}/zend-version) = %{version}
+
 %description Version
 Zend\Version provides a class constant Zend\Version\Version::VERSION that
 contains a string identifying the version number of your Zend Framework
@@ -1409,20 +1631,23 @@ Framework installation.
 Summary:  Zend Framework 2: View Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.view.quick-start.html
 
-Requires: %{name}-common         = %{version}-%{release}
-Requires: %{name}-EventManager   = %{version}-%{release}
-Requires: %{name}-Loader         = %{version}-%{release}
-Requires: %{name}-Stdlib         = %{version}-%{release}
-# Optional
-Requires: %{name}-Filter         = %{version}-%{release}
-Requires: %{name}-ServiceManager = %{version}-%{release}
-# phpcompatinfo
+Requires: %{name}-common = %{version}-%{release}
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-eventmanager)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-loader)         = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib)         = %{version}
+# composer.json: optional
+Requires: php-composer(%{composer_vendor}/zend-filter)         = %{version}
+Requires: php-composer(%{composer_vendor}/zend-servicemanager) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-date
 Requires: php-dom
 Requires: php-filter
 Requires: php-pcre
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zend-view) = %{version}
+
 %description View
 Zend\View provides the “View” layer of Zend Framework 2’s MVC system. It
 is a multi-tiered system allowing a variety of mechanisms for extension,
@@ -1436,12 +1661,12 @@ Summary:  Zend Framework 2: XML-RPC Component
 URL:      http://framework.zend.com/manual/2.2/en/modules/zend.xmlrpc.intro.html
 
 Requires: %{name}-common = %{version}-%{release}
-Requires: %{name}-Http   = %{version}-%{release}
-Requires: %{name}-Math   = %{version}-%{release}
-Requires: %{name}-Server = %{version}-%{release}
-Requires: %{name}-Stdlib = %{version}-%{release}
-Requires: %{name}-ZendXml = %{version}-%{release}
-# phpcompatinfo
+# composer.json
+Requires: php-composer(%{composer_vendor}/zend-http)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-math)   = %{version}
+Requires: php-composer(%{composer_vendor}/zend-server) = %{version}
+Requires: php-composer(%{composer_vendor}/zend-stdlib) = %{version}
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-date
 Requires: php-dom
 Requires: php-iconv
@@ -1452,6 +1677,8 @@ Requires: php-simplexml
 Requires: php-spl
 Requires: php-xmlwriter
 
+Provides: php-composer(%{composer_vendor}/zend-xmlrpc) = %{version}
+
 %description XmlRpc
 From its home page, XML-RPC is described as a ”...remote procedure calling
 using HTTP as the transport and XML as the encoding. XML-RPC is designed to
@@ -1471,12 +1698,14 @@ Summary:  Zend Framework 2: XML usage, best practices, and security in PHP
 URL:      https://github.com/zendframework/ZendXml
 
 Requires: %{name}-common = %{version}-%{release}
-# phpcompatinfo
+# phpcompatinfo (computed from version 2.2.8)
 Requires: php-dom
 Requires: php-libxml
 Requires: php-simplexml
 Requires: php-spl
 
+Provides: php-composer(%{composer_vendor}/zendxml) = %{version}
+
 %description ZendXml
 This is a security component to prevent XML eXternal Entity (XXE) and
 XML Entity Expansion (XEE) attacks on XML documents.
@@ -1491,10 +1720,13 @@ If the XML document uses ENTITY the library throw an Exception.
 
 
 %prep
-%setup -q -n ZendFramework-%{version}
+%setup -q -n ZendFramework-%{version} -a 1
 
 %patch0 -p0
 
+# php-ZendFramework2-I18n.noarch: E: backup-file-in-package /usr/share/php/Zend/I18n/Translator/Loader/Gettext.php.orig
+rm -f library/Zend/I18n/Translator/Loader/Gettext.php.orig
+
 
 %build
 # Empty build section, nothing required
@@ -1514,7 +1746,65 @@ ln -s %{name}-common-%{version} %{buildroot}%{_pkgdocdir}
 
 
 %check
-# No tests provided
+%if %{with_tests}
+cd tests
+# Create autoloader
+cat > _autoload.php <<'AUTOLOADER'
+<?php
+require_once 'Symfony/Component/ClassLoader/UniversalClassLoader.php';
+
+use Symfony\Component\ClassLoader\UniversalClassLoader;
+$loader = new UniversalClassLoader();
+$loader->registerNamespace('Zend',             __DIR__.'/../library');
+$loader->registerNamespace('ZendTest',         __DIR__);
+$loader->registerNamespace('org\\bovigo\\vfs', '/usr/share/php');
+//$loader->registerNamespace('RandomLib',      '/usr/share/php');
+//$loader->registerNamespace('SecurityLib',    '/usr/share/php');
+$loader->useIncludePath(true);
+$loader->register();
+AUTOLOADER
+
+sed -e 's/ colors="true"//' \
+    phpunit.xml.dist >phpunit.xml
+
+# ignore these for now
+rm -r ZendTest/Cache
+rm    ZendTest/Console/RequestTest.php
+rm    ZendTest/Db/Adapter/AdapterAbstractServiceFactoryTest.php
+rm -r ZendTest/Debug
+rm    ZendTest/Feed/Reader/Entry/AtomTest.php
+rm    ZendTest/File/Transfer/Adapter/HttpTest.php
+rm    ZendTest/Form/View/Helper/FormDateTimeSelectTest.php
+rm    ZendTest/I18n/Validator/DateTimeTest.php
+%if 0%{?el6}
+rm    ZendTest/Serializer/Adapter/PythonPickleUnserializeTest.php
+rm    ZendTest/Session/SessionArrayStorageTest.php
+%endif
+# This test requires internet conectivity
+rm    ZendTest/Version/VersionTest.php
+# Date format with microsecond in PHP 5.6
+rm    ZendTest/Ldap/Converter/ConverterTest.php
+# Need mongodb server
+rm    ZendTest/Session/SaveHandler/MongoDBTest.php
+# Need ircmaxell/random-lib
+rm    ZendTest/Math/RandTest.php
+# Strangly fail, lack of date.timezone
+rm    ZendTest/Session/SessionManagerTest.php
+# Need investigation
+rm    ZendTest/Db/Adapter/Platform/SqliteTest.php
+%if 0%{?rhel}
+# PHP 5.4 segfaults https://bugzilla.redhat.com/1131979
+rm    ZendTest/Serializer/Adapter/WddxTest.php
+%endif
+
+RET=0
+for dir in ZendTest/[A-Z]*
+do phpunit \
+     -d date.timezone="UTC" \
+     $dir || RET=1
+done
+exit $RET
+%endif
 
 
 %files
@@ -1525,6 +1815,8 @@ ln -s %{name}-common-%{version} %{buildroot}%{_pkgdocdir}
 
 %files common
 
+%{!?_licensedir:%global license %%doc}
+%license LICENSE.txt
 %doc *.md composer.json
 %doc %{_pkgdocdir}
 
@@ -1562,20 +1854,6 @@ ln -s %{name}-common-%{version} %{buildroot}%{_pkgdocdir}
 %{_datadir}/php/Zend/Cache
 %exclude %{_datadir}/php/Zend/Cache/*.md
 %exclude %{_datadir}/php/Zend/Cache/composer.json
-%exclude %{_datadir}/php/Zend/Cache/Storage/Adapter/Apc*
-%exclude %{_datadir}/php/Zend/Cache/Storage/Adapter/Memcached*
-
-# ------------------------------------------------------------------------------
-
-%files Cache-apc
-
-%{_datadir}/php/Zend/Cache/Storage/Adapter/Apc*
-
-# ------------------------------------------------------------------------------
-
-%files Cache-memcached
-
-%{_datadir}/php/Zend/Cache/Storage/Adapter/Memcached*
 
 # ------------------------------------------------------------------------------
 
@@ -2105,32 +2383,42 @@ ln -s %{name}-common-%{version} %{buildroot}%{_pkgdocdir}
 # ##############################################################################
 
 %changelog
-* Sun May 18 2014 Shawn Iwinski <shawn.iwinski at gmail.com> 2.2.7-1
+* Wed Oct 28 2014 Shawn Iwinski <shawn.iwinski at gmail.com> - 2.2.8-1
+- Updated to 2.2.8
+- BZ #1151276 / CVE-2014-8088 / ZF2014-05
+- BZ #1151277 / CVE-2014-8089 / ZF2014-06
+- BZ #1151278 (fedora)
+- BZ #1151280 (epel6)
+- Added composer virtual provides and requires
+- APC optional for ProgressBar component
+- Added tests
+
+* Sun May 18 2014 Shawn Iwinski <shawn.iwinski at gmail.com> - 2.2.7-1
 - Updated to 2.2.7 (security update for ZF2014-03)
 
-* Tue Apr  1 2014 Remi Collet <remi at fedoraproject.org> 2.2.6-1
+* Tue Apr 01 2014 Remi Collet <remi at fedoraproject.org> - 2.2.6-1
 - Updated to 2.2.6 for CVE-2014-2681 CVE-2014-2682
   CVE-2014-2683 CVE-2014-2684 CVE-2014-2685
 - new package ZendXml
 - fix for unversioned doc directory
 
-* Mon Nov 11 2013 Shawn Iwinski <shawn.iwinski at gmail.com> 2.2.5-2
+* Mon Nov 11 2013 Shawn Iwinski <shawn.iwinski at gmail.com> - 2.2.5-2
 - Updated Serializer sub-pkg to make msgpack optional instead of required
 
-* Sun Nov 10 2013 Shawn Iwinski <shawn.iwinski at gmail.com> 2.2.5-1
+* Sun Nov 10 2013 Shawn Iwinski <shawn.iwinski at gmail.com> - 2.2.5-1
 - Updated to 2.2.5
 - Fixed Serializer sub-pkg broken dependency (php-pecl(msgpack) on ppc64)
 
-* Wed Oct 02 2013 Remi Collet <remi at fedoraproject.org> 2.2.4-2
+* Wed Oct 02 2013 Remi Collet <remi at fedoraproject.org> - 2.2.4-2
 - Add patch needed for GLPI #1014478 (ZF-11974)
 
-* Thu Sep 12 2013 Shawn Iwinski <shawn.iwinski at gmail.com> 2.2.4-1
+* Thu Sep 12 2013 Shawn Iwinski <shawn.iwinski at gmail.com> - 2.2.4-1
 - Updated to 2.2.4
 - Versioned conflict
 - Macros in comment fix
 
-* Mon Jul 22 2013 Shawn Iwinski <shawn.iwinski at gmail.com> 2.2.1-2
+* Mon Jul 22 2013 Shawn Iwinski <shawn.iwinski at gmail.com> - 2.2.1-2
 - Added php-ZendFramework conflict
 
-* Mon Jul 22 2013 Shawn Iwinski <shawn.iwinski at gmail.com> 2.2.1-1
+* Mon Jul 22 2013 Shawn Iwinski <shawn.iwinski at gmail.com> - 2.2.1-1
 - Initial package
diff --git a/sources b/sources
index 2336af4..5789da7 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
-b59eab4299a78802d65f652d115bddf5  ZendFramework-2.2.7.tgz
+a5a88a7ab38e9206f9e52072f5c41865  ZendFramework-2.2.8.tgz
+b2b7a68709f209d9fbf6679f025d21ba  ZendFramework-tests-2.2.8.tgz


More information about the scm-commits mailing list