3 %bcond_with tests # build with tests
6 # - ZendXml has it's own versioning schema, version 1.0.1 as of 2.4.8 ZF2 release
8 Summary: Zend Framework 2
9 Name: php-ZendFramework
13 Group: Development/Libraries
14 Source0: https://packages.zendframework.com/releases/ZendFramework-%{version}/ZendFramework-%{version}.tgz
15 # Source0-md5: 145d2e23b9f745a1e11adbecc98761e9
16 # git clone https://github.com/zendframework/zf2.git
17 # cd zf2; git checkout release-2.3.9
18 # tar czf ../ZendFramework-tests-2.3.9.tgz tests
19 #Source1: ZendFramework-tests-%{version}.tgz
21 URL: http://framework.zend.com/
22 Requires: php(core) >= 5.3.23
24 BuildRequires: phpunit >= 4.0.0
27 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30 Zend Framework 2 is an open source framework for developing web
31 applications and services using PHP 5.3+. Zend Framework 2 uses 100%
32 object-oriented code and utilizes most of the new features of PHP 5.3,
33 namely namespaces, late static binding, lambda functions and closures.
35 Zend Framework 2 evolved from Zend Framework 1, a successful PHP
36 framework with over 15 million downloads.
38 %package Authentication
39 Summary: Zend Framework 2: Authentication Component
40 URL: http://framework.zend.com/manual/2.4/en/modules/zend.authentication.intro.html
41 Requires: %{name} = %{version}-%{release}
43 %description Authentication
44 The Zend\Authentication component provides an API for authentication
45 and includes concrete authentication adapters for common use case
48 Zend\Authentication is concerned only with authentication and not with
49 authorization. Authentication is loosely defined as determining
50 whether an entity actually is what it purports to be (i.e.,
51 identification), based on some set of credentials. Authorization, the
52 process of deciding whether to allow an entity access to, or to
53 perform operations upon, other entities is outside the scope of
54 Zend\Authentication. For more information about authorization and
55 access control with Zend Framework, please see the
56 Zend\Permissions\Acl or Zend\Permissions\Rbac component.
59 Summary: Zend Framework 2: Barcode Component
60 URL: http://framework.zend.com/manual/2.4/en/modules/zend.barcode.intro.html
61 Requires: %{name} = %{version}-%{release}
64 Zend\Barcode\Barcode provides a generic way to generate barcodes. The
65 Zend\Barcode component is divided into two subcomponents: barcode
66 objects and renderers. Objects allow you to create barcodes
67 independently of the renderer. Renderer allow you to draw barcodes
68 based on the support required.
71 Summary: Zend Framework 2: Cache Component
72 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-cache
73 Requires: %{name} = %{version}-%{release}
81 - Memcache (php-pecl-memcache)
82 - Memcached (php-pecl-memcached)
83 - Mongo (php-pecl-mongo)
84 - Redis (php-pecl-redis)
88 Summary: Zend Framework 2: CAPTCHA Component
89 URL: http://framework.zend.com/manual/2.4/en/modules/zend.captcha.intro.html
90 Requires: %{name} = %{version}-%{release}
93 CAPTCHA stands for "Completely Automated Public Turing test to tell
94 Computers and Humans Apart'; it is used as a challenge-response to
95 ensure that the individual submitting information is a human and not
96 an automated process. Typically, a CAPTCHA is used with form
97 submissions where authenticated users are not necessary, but you want
98 to prevent spam submissions.
100 CAPTCHAs can take a variety of forms, including asking logic
101 questions, presenting skewed fonts, and presenting multiple images and
102 asking how they relate. The Zend\Captcha component aims to provide a
103 variety of back ends that may be utilized either standalone or in
104 conjunction with the Zend\Form component.
107 Summary: Zend Framework 2: Code Component
108 URL: http://framework.zend.com/manual/2.4/en/index.html
109 Requires: %{name} = %{version}-%{release}
112 Provides facilities to generate arbitrary code using an object
116 Summary: Zend Framework 2: Config Component
117 URL: http://framework.zend.com/manual/2.4/en/modules/zend.config.introduction.html
118 Requires: %{name} = %{version}-%{release}
121 Zend\Config is designed to simplify access to configuration data
122 within applications. It provides a nested object property-based user
123 interface for accessing this configuration data within application
124 code. The configuration data may come from a variety of media
125 supporting hierarchical data storage. Currently, Zend\Config provides
126 adapters that read and write configuration data stored in .ini, JSON,
130 Summary: Zend Framework 2: Console Component
131 URL: http://framework.zend.com/manual/2.4/en/modules/zend.console.introduction.html
132 Requires: %{name} = %{version}-%{release}
135 Zend Framework 2 features built-in console support.
137 When a Zend\Application is run from a console window (a shell window),
138 it will recognize this fact and prepare Zend\Mvc components to handle
139 the request. Console support is enabled by default, but to function
140 properly it requires at least one console route and one action
141 controller to handle the request.
143 - Console routing allows you to invoke controllers and action
144 depending on command line parameters provided by the user.
145 - Module Manager integration allows ZF2 applications and modules to
146 display help and usage information, in case the command line has not
147 been understood (no route matched).
148 - Console-aware action controllers will receive a console request
149 containing all named parameters and flags. They are able to send
150 output back to the console window.
151 - Console adapters provide a level of abstraction for interacting with
152 console on different operating systems.
153 - Console prompts can be used to interact with the user by asking him
154 questions and retrieving input.
157 Summary: Zend Framework 2: Crypt Component
158 URL: http://framework.zend.com/manual/2.4/en/modules/zend.crypt.introduction.html
159 Requires: %{name} = %{version}-%{release}
162 Zend\Crypt provides support of some cryptographic tools. The available
165 - encrypt-then-authenticate using symmetric ciphers (the
166 authentication step is provided using HMAC)
167 - encrypt/decrypt using symmetric and public key algorithm (e.g. RSA
169 - generate digital sign using public key algorithm (e.g. RSA
171 - key exchange using the Diffie-Hellman method
172 - Key derivation function (e.g. using PBKDF2 algorithm)
173 - Secure password hash (e.g. using Bcrypt algorithm)
174 - generate Hash values
175 - generate HMAC values
177 The main scope of this component is to offer an easy and secure way to
178 protect and authenticate sensitive data in PHP. Because the use of
179 cryptography is not so easy we recommend to use the Zend\Crypt
180 component only if you have a minimum background on this topic.
183 Summary: Zend Framework 2: DB Component
184 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-db
185 Requires: %{name} = %{version}-%{release}
191 - ibm_db2 (http://pecl.php.net/package/ibm_db2)
193 - oci8 (http://pecl.php.net/package/oci8)
195 - sqlsrv (http://pecl.php.net/package/sqlsrv)
198 Summary: Zend Framework 2: Debug Component
199 URL: http://framework.zend.com/manual/2.4/en/index.html
200 Requires: %{name} = %{version}-%{release}
205 Optional: XDebug (php-pecl-xdebug)
208 Summary: Zend Framework 2: DI Component
209 URL: http://framework.zend.com/manual/2.4/en/modules/zend.di.introduction.html
210 Requires: %{name} = %{version}-%{release}
213 Dependency Injection (here-in called DI) is a concept that has been
214 talked about in numerous places over the web. Simply put, we'll
215 explain the act of injecting dependencies simply with this below code:
217 $b = new MovieLister(new MovieFinder());
219 Above, MovieFinder is a dependency of MovieLister, and MovieFinder was
220 injected into MovieLister.
223 Summary: Zend Framework 2: DOM Component
224 URL: http://framework.zend.com/manual/2.4/en/modules/zend.dom.intro.html
225 Requires: %{name} = %{version}-%{release}
228 The Zend\Dom component provides tools for working with DOM documents
229 and structures. Currently, we offer Zend\Dom\Query, which provides a
230 unified interface for querying DOM documents utilizing both XPath and
234 Summary: Zend Framework 2: Escaper Component
235 URL: http://framework.zend.com/manual/2.4/en/modules/zend.escaper.introduction.html
236 Requires: %{name} = %{version}-%{release}
239 The OWASP Top 10 web security risks study lists Cross-Site Scripting
240 (XSS) in second place. PHP's sole functionality against XSS is limited
241 to two functions of which one is commonly misapplied. Thus, the
242 Zend\Escaper component was written. It offers developers a way to
243 escape output and defend from XSS and related vulnerabilities by
244 introducing contextual escaping based on peer-reviewed rules.
246 %package EventManager
247 Summary: Zend Framework 2: EventManager Component
248 URL: http://framework.zend.com/manual/2.4/en/modules/zend.event-manager.event-manager.html
249 Requires: %{name} = %{version}-%{release}
251 %description EventManager
252 The EventManager is a component designed for the following use cases:
254 - Implementing simple subject/observer patterns.
255 - Implementing Aspect-Oriented designs.
256 - Implementing event-driven architectures.
258 The basic architecture allows you to attach and detach listeners to
259 named events, both on a per-instance basis as well as via shared
260 collections; trigger events; and interrupt execution of listeners.
263 Summary: Zend Framework 2: Feed Component
264 URL: http://framework.zend.com/manual/2.4/en/modules/zend.feed.introduction.html
265 Requires: %{name} = %{version}-%{release}
268 Zend\Feed provides functionality for consuming RSS and Atom feeds. It
269 provides a natural syntax for accessing elements of feeds, feed
270 attributes, and entry attributes. Zend\Feed also has extensive support
271 for modifying feed and entry structure with the same natural syntax,
272 and turning the result back into XML. In the future, this modification
273 support could provide support for the Atom Publishing Protocol.
275 Zend\Feed consists of Zend\Feed\Reader for reading RSS and Atom feeds,
276 Zend\Feed\Writer for writing RSS and Atom feeds, and
277 Zend\Feed\PubSubHubbub for working with Hub servers. Furthermore, both
278 Zend\Feed\Reader and Zend\Feed\Writer support extensions which allows
279 for working with additional data in feeds, not covered in the core API
280 but used in conjunction with RSS and Atom feeds.
283 Summary: Zend Framework 2: File Component
284 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-file
285 Requires: %{name} = %{version}-%{release}
291 Summary: Zend Framework 2: Filter Component
292 URL: http://framework.zend.com/manual/2.4/en/modules/zend.filter.html
293 Requires: %{name} = %{version}-%{release}
296 The Zend\Filter component provides a set of commonly needed data
297 filters. It also provides a simple filter chaining mechanism by which
298 multiple filters may be applied to a single datum in a user-defined
302 Summary: Zend Framework 2: Form Component
303 URL: http://framework.zend.com/manual/2.4/en/modules/zend.form.intro.html
304 Requires: %{name} = %{version}-%{release}
307 Zend\Form is intended primarily as a bridge between your domain models
308 and the View Layer. It composes a thin layer of objects representing
309 form elements, an InputFilter, and a small number of methods for
310 binding data to and from the form and attached objects.
312 The Zend\Form component consists of the following objects:
314 - Elements, which simply consist of a name and attributes.
315 - Fieldsets, which extend from Elements, but allow composing other
316 fieldsets and elements.
317 - Forms, which extend from Fieldsets (and thus Elements). They provide
318 data and object binding, and compose InputFilters. Data binding is
319 done via ZendStdlibHydrator.
322 Summary: Zend Framework 2: HTTP Component
323 URL: http://framework.zend.com/manual/2.4/en/modules/zend.http.html
324 Requires: %{name} = %{version}-%{release}
327 Zend\Http is a primary foundational component of Zend Framework. Since
328 much of what PHP does is web-based, specifically HTTP, it makes sense
329 to have a performant, extensible, concise and consistent API to do all
330 things HTTP. In nutshell, there are several parts of Zend\Http:
332 - Context-less Request and Response classes that expose a fluent API
333 for introspecting several aspects of HTTP messages:
334 - ** Request line information and response status information
335 - ** Parameters, such as those found in POST and GET
338 - A Client implementation with various adapters that allow for sending
339 requests and introspecting responses.
342 Summary: Zend Framework 2: i18n Component
343 URL: http://framework.zend.com/manual/2.4/en/modules/zend.i18n.translating.html
344 Requires: %{name} = %{version}-%{release}
347 ZendI18n comes with a complete translation suite which supports all
348 major formats and includes popular features like plural translations
349 and text domains. The Translator component is mostly dependency free,
350 except for the fallback to a default locale, where it relies on the
353 The translator itself is initialized without any parameters, as any
354 configuration to it is optional. A translator without any translations
355 will actually do nothing but just return the given message IDs.
358 Summary: Zend Framework 2: InputFilter Component
359 URL: http://framework.zend.com/manual/2.4/en/modules/zend.input-filter.intro.html
360 Requires: %{name} = %{version}-%{release}
362 %description InputFilter
363 The Zend\InputFilter component can be used to filter and validate
364 generic sets of input data. For instance, you could use it to filter
365 $_GET or $_POST values, CLI arguments, etc.
368 Summary: Zend Framework 2: JSON Component
369 URL: http://framework.zend.com/manual/2.4/en/modules/zend.json.introduction.html
370 Requires: %{name} = %{version}-%{release}
373 Zend\Json provides convenience methods for serializing native PHP to
374 JSON and decoding JSON to native PHP.
376 JSON, JavaScript Object Notation, can be used for data interchange
377 between JavaScript and other languages. Since JSON can be directly
378 evaluated by JavaScript, it is a more efficient and lightweight format
379 than XML for exchanging data with JavaScript clients.
381 In addition, Zend\Json provides a useful way to convert any arbitrary
382 XML formatted string into a JSON formatted string. This built-in
383 feature will enable PHP developers to transform the enterprise data
384 encoded in XML format into JSON format before sending it to
385 browser-based Ajax client applications. It provides an easy way to do
386 dynamic data conversion on the server-side code thereby avoiding
387 unnecessary XML parsing in the browser-side applications. It offers a
388 nice utility function that results in easier application-specific data
389 processing techniques.
392 Summary: Zend Framework 2: LDAP Component
393 URL: http://framework.zend.com/manual/2.4/en/modules/zend.ldap.introduction.html
394 Requires: %{name} = %{version}-%{release}
397 Zend\Ldap\Ldap is a class for performing LDAP operations including but
398 not limited to binding, searching and modifying entries in an LDAP
402 Summary: Zend Framework 2: Loader Component
403 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-loader
404 Requires: %{name} = %{version}-%{release}
410 Summary: Zend Framework 2: Log Component
411 URL: http://framework.zend.com/manual/2.4/en/modules/zend.log.overview.html
412 Requires: %{name} = %{version}-%{release}
415 Zend\Log\Logger is a component for general purpose logging. It
416 supports multiple log backends, formatting messages sent to the log,
417 and filtering messages from being logged. These functions are divided
418 into the following objects:
420 - A Logger (instance of Zend\Log\Logger) is the object that your
421 application uses the most. You can have as many Logger objects as you
422 like; they do not interact. A Logger object must contain at least one
423 Writer, and can optionally contain one or more Filters.
424 - A Writer (inherits from Zend\Log\Writer\AbstractWriter) is
425 responsible for saving data to storage.
426 - A Filter (implements Zend\Log\Filter\FilterInterface) blocks log
427 data from being saved. A filter is applied to an individual writer.
428 Filters can be chained.
429 - A Formatter (implements Zend\Log\Formatter\FormatterInterface) can
430 format the log data before it is written by a Writer. Each Writer has
431 exactly one Formatter.
433 Optional: MongoDB (php-pecl-mongo)
436 Summary: Zend Framework 2: Mail Component
437 URL: http://framework.zend.com/manual/2.4/en/modules/zend.mail.introduction.html
438 Requires: %{name} = %{version}-%{release}
441 Zend\Mail provides generalized functionality to compose and send both
442 text and MIME-compliant multipart email messages. Mail can be sent
443 with Zend\Mail via the Mail\Transport\Sendmail, Mail\Transport\Smtp or
444 the Mail\Transport\File transport. Of course, you can also implement
445 your own transport by implementing the
446 Mail\Transport\TransportInterface.
449 Summary: Zend Framework 2: Math Component
450 URL: http://framework.zend.com/manual/2.4/en/modules/zend.math.introduction.html
451 Requires: %{name} = %{version}-%{release}
454 Zend\Math namespace provides general mathematical functions. So far
455 the supported functionalities are:
457 - Zend\Math\Rand: A random number generator
458 - Zend\Math\BigInteger: A library to manage big integers
463 Summary: Zend Framework 2: Memory Component
464 URL: http://framework.zend.com/manual/2.4/en/index.html
465 Requires: %{name} = %{version}-%{release}
471 Summary: Zend Framework 2: MIME Component
472 URL: http://framework.zend.com/manual/2.4/en/modules/zend.mime.html
473 Requires: %{name} = %{version}-%{release}
476 Zend\Mime\Mime is a support class for handling multipart MIME
477 messages. It is used by Zend\Mail and Zend\Mime\Message and may be
478 used by applications requiring MIME support.
480 Optional: %{name}-Mail
482 %package ModuleManager
483 Summary: Zend Framework 2: ModuleManager Component
484 URL: http://framework.zend.com/manual/2.4/en/modules/zend.module-manager.intro.html
485 Requires: %{name} = %{version}-%{release}
487 %description ModuleManager
488 Zend Framework 2.0 introduces a new and powerful approach to modules.
489 This new module system is designed with flexibility, simplicity, and
490 re-usability in mind. A module may contain just about anything: PHP
491 code, including MVC functionality; library code; view scripts; and/or
492 public assets such as images, CSS, and JavaScript.
495 Summary: Zend Framework 2: MVC Component
496 URL: http://framework.zend.com/manual/2.4/en/modules/zend.mvc.intro.html
497 Requires: %{name} = %{version}-%{release}
500 Zend\Mvc is a brand new MVC implementation designed from the ground up
501 for Zend Framework 2, focusing on performance and flexibility.
503 The MVC layer is built on top of the following components:
505 - Zend\ServiceManager - Zend Framework provides a set of default
506 service definitions set up at Zend\Mvc\Service. The ServiceManager
507 creates and configures your application instance and workflow.
508 - Zend\EventManager - The MVC is event driven. This component is used
509 everywhere from initial bootstrapping of the application, through
510 returning response and request calls, to setting and retrieving routes
511 and matched routes, as well as render views.
512 - Zend\Http - specifically the request and response objects.
513 - Zend\Stdlib\DispatchableInterface. All "controllers' are simply
514 dispatchable objects.
517 Summary: Zend Framework 2: Navigation Component
518 URL: http://framework.zend.com/manual/2.4/en/modules/zend.navigation.intro.html
519 Requires: %{name} = %{version}-%{release}
521 %description Navigation
522 Zend\Navigation is a component for managing trees of pointers to web
523 pages. Simply put: It can be used for creating menus, breadcrumbs,
524 links, and sitemaps, or serve as a model for other navigation related
528 Summary: Zend Framework 2: Paginator Component
529 URL: http://framework.zend.com/manual/2.4/en/modules/zend.paginator.introduction.html
530 Requires: %{name} = %{version}-%{release}
532 %description Paginator
533 Zend\Paginator is a flexible component for paginating collections of
534 data and presenting that data to users.
536 The primary design goals of Zend\Paginator are as follows:
538 - Paginate arbitrary data, not just relational databases
539 - Fetch only the results that need to be displayed
540 - Do not force users to adhere to only one way of displaying data or
541 rendering pagination controls
542 - Loosely couple Zend\Paginator to other Zend Framework components so
543 that users who wish to use it independently of Zend\View, Zend\Db,
546 %package Permissions-Acl
547 Summary: Zend Framework 2: Permissions ACL Component
548 URL: http://framework.zend.com/manual/2.4/en/modules/zend.permissions.acl.intro.html
549 Requires: %{name} = %{version}-%{release}
551 %description Permissions-Acl
552 The Zend\Permissions\Acl component provides a lightweight and flexible
553 access control list (ACL) implementation for privileges management. In
554 general, an application may utilize such ACL's to control access to
555 certain protected objects by other requesting objects.
557 For the purposes of this documentation:
559 - a resource is an object to which access is controlled.
560 - a role is an object that may request access to a Resource.
562 Put simply, roles request access to resources. For example, if a
563 parking attendant requests access to a car, then the parking attendant
564 is the requesting role, and the car is the resource, since access to
565 the car may not be granted to everyone.
567 Through the specification and use of an ACL, an application may
568 control how roles are granted access to resources.
570 %package Permissions-Rbac
571 Summary: Zend Framework 2: Permissions RBAC Component
572 URL: http://framework.zend.com/manual/2.4/en/modules/zend.permissions.rbac.intro.html
573 Requires: %{name} = %{version}-%{release}
575 %description Permissions-Rbac
576 The Zend\Permissions\Rbac component provides a lightweight role-based
577 access control implementation based around PHP 5.3's SPL
578 RecursiveIterator and RecursiveIteratorIterator. RBAC differs from
579 access control lists (ACL) by putting the emphasis on roles and their
580 permissions rather than objects (resources).
583 Summary: Zend Framework 2: ProgressBar Component
584 URL: http://framework.zend.com/manual/2.4/en/modules/zend.progress-bar.html
585 Requires: %{name} = %{version}-%{release}
587 %description ProgressBar
588 Zend\ProgressBar is a component to create and update progress bars in
589 different environments. It consists of a single backend, which outputs
590 the progress through one of the multiple adapters. On every update, it
591 takes an absolute value and optionally a status message, and then
592 calls the adapter with some precalculated values like percentage and
596 Summary: Zend Framework 2: Serializer Component
597 URL: http://framework.zend.com/manual/2.4/en/modules/zend.serializer.html
598 Requires: %{name} = %{version}-%{release}
600 %description Serializer
601 The Zend\Serializer component provides an adapter based interface to
602 simply generate storable representation of PHP types by different
603 facilities, and recover.
605 Optional: msgpack (php-pecl-msgpack)
608 Summary: Zend Framework 2: Server Component
609 URL: http://framework.zend.com/manual/2.4/en/modules/zend.server.html
610 Requires: %{name} = %{version}-%{release}
613 The Zend\Server family of classes provides functionality for the
614 various server classes, including Zend\XmlRpc\Server and
615 Zend\Json\Server. Zend\Server\Server provides an interface that mimics
616 PHP 5's SoapServer class; all server classes should implement this
617 interface in order to provide a standard server API.
619 The Zend\Server\Reflection tree provides a standard mechanism for
620 performing function and class introspection for use as callbacks with
621 the server classes, and provides data suitable for use with
622 Zend\Server\Server's getFunctions() and loadFunctions() methods.
624 %package ServiceManager
625 Summary: Zend Framework 2: ServiceManager Component
626 URL: http://framework.zend.com/manual/2.4/en/modules/zend.service-manager.intro.html
627 Requires: %{name} = %{version}-%{release}
629 %description ServiceManager
630 The Service Locator design pattern is implemented by the
631 Zend\ServiceManager component. The Service Locator is a service/object
632 locator, tasked with retrieving other objects.
635 Summary: Zend Framework 2: Session Component
636 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-session
637 Requires: %{name} = %{version}-%{release}
640 Manage and preserve session data, a logical complement of cookie data,
641 across multiple page requests by the same client.
643 Optional: MongoDB (php-pecl-mongo)
646 Summary: Zend Framework 2: SOAP Component
647 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-soap
648 Requires: %{name} = %{version}-%{release}
654 Summary: Zend Framework 2: Stdlib Component
655 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-stdlib
656 Requires: %{name} = %{version}-%{release}
662 Summary: Zend Framework 2: Tag Component
663 URL: http://framework.zend.com/manual/2.4/en/modules/zend.tag.introduction.html
664 Requires: %{name} = %{version}-%{release}
667 Zend\Tag is a component suite which provides a facility to work with
668 taggable Items. As its base, it provides two classes to work with
669 Tags, Zend\Tag\Item and Zend\Tag\ItemList. Additionally, it comes with
670 the interface Zend\Tag\TaggableInterface, which allows you to use any
671 of your models as a taggable item in conjunction with Zend\Tag.
673 Zend\Tag\Item is a basic taggable item implementation which comes with
674 the essential functionality required to work with the Zend\Tag suite.
675 A taggable item always consists of a title and a relative weight (e.g.
676 number of occurrences). It also stores parameters which are used by
677 the different sub-components of Zend\Tag.
679 To group multiple items together, Zend\Tag\ItemList exists as an array
680 iterator and provides additional functionality to calculate absolute
681 weight values based on the given relative weights of each item in it.
684 Summary: Zend Framework 2: Test Component
685 URL: http://framework.zend.com/manual/2.4/en/modules/zend.test.introduction.html
686 Requires: %{name} = %{version}-%{release}
689 The Zend\Test component provides tools to facilitate unit testing of
690 your Zend Framework applications. At this time, we offer facilities to
691 enable testing of your Zend Framework MVC applications.
693 PHPUnit is the only library supported currently.
696 Summary: Zend Framework 2: Text Component
697 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-text
698 Requires: %{name} = %{version}-%{release}
700 ### TODO: Is Zend/Text/Figlet/zend-framework.flf allowed?
706 Summary: Zend Framework 2: URI Component
707 URL: http://framework.zend.com/manual/2.4/en/modules/zend.uri.html
708 Requires: %{name} = %{version}-%{release}
711 Zend\Uri is a component that aids in manipulating and validating
712 Uniform Resource Identifiers (URIs) [1]. Zend\Uri exists primarily to
713 service other components, such as Zend\Http\, but is also useful as a
716 URIs always begin with a scheme, followed by a colon. The construction
717 of the many different schemes varies significantly. The Zend\Uri
718 component provides the Zend\Uri\UriFactory that returns a class
719 implementing the Zend\Uri\UriInterface which specializes in the scheme
720 if such a class is registered with the Factory.
722 [1] http://www.ietf.org/rfc/rfc3986.txt
725 Summary: Zend Framework 2: Validator Component
726 URL: http://framework.zend.com/manual/2.4/en/modules/zend.validator.html
727 Requires: %{name} = %{version}-%{release}
729 %description Validator
730 The Zend\Validator component provides a set of commonly needed
731 validators. It also provides a simple validator chaining mechanism by
732 which multiple validators may be applied to a single datum in a
736 Summary: Zend Framework 2: Version Component
737 URL: http://framework.zend.com/manual/2.4/en/modules/zend.version.html
738 Requires: %{name} = %{version}-%{release}
741 Zend\Version provides a class constant Zend\Version\Version::VERSION
742 that contains a string identifying the version number of your Zend
743 Framework installation. Zend\Version\Version::VERSION might contain
744 "1.7.4', for example.
746 The static method Zend\Version\Version::compareVersion($version) is
747 based on the PHP function version_compare(). This method returns -1 if
748 the specified version is older than the installed Zend Framework
749 version, 0 if they are the same and +1 if the specified version is
750 newer than the version of the Zend Framework installation.
753 Summary: Zend Framework 2: View Component
754 URL: http://framework.zend.com/manual/2.4/en/modules/zend.view.quick-start.html
755 Requires: %{name} = %{version}-%{release}
758 Zend\View provides the "View' layer of Zend Framework 2's MVC system.
759 It is a multi-tiered system allowing a variety of mechanisms for
760 extension, substitution, and more.
763 Summary: Zend Framework 2: XML-RPC Component
764 URL: http://framework.zend.com/manual/2.4/en/modules/zend.xmlrpc.intro.html
765 Requires: %{name} = %{version}-%{release}
768 From its home page, XML-RPC is described as a '...remote procedure
769 calling using HTTP as the transport and XML as the encoding. XML-RPC
770 is designed to be as simple as possible, while allowing complex data
771 structures to be transmitted, processed and returned.'
773 Zend Framework provides support for both consuming remote XML-RPC
774 services and building new XML-RPC servers.
776 [1] http://www.xmlrpc.com/
779 Summary: Zend Framework 2: XML usage, best practices, and security in PHP
780 URL: https://github.com/zendframework/ZendXml
781 Requires: %{name} = %{version}-%{release}
784 This is a security component to prevent XML eXternal Entity (XXE) and
785 XML Entity Expansion (XEE) attacks on XML documents.
787 The XXE attack is prevented disabling the load of external entities in
788 the libxml library used by PHP, using the function
789 libxml_disable_entity_loader.
791 The XEE attack is prevented looking inside the XML document for ENTITY
792 usage. If the XML document uses ENTITY the library throw an Exception.
795 %setup -q -n ZendFramework-%{version} %{?with_tests:-a 1}
800 : Create autoloader for test suite
801 cat <<'AUTOLOADER' | tee _autoload.php
803 require_once '$RPM_BUILD_ROOT%{php_data_dir}/Zend/autoload.php';
805 Zend\Loader\AutoloaderFactory::factory(array(
806 'Zend\\Loader\\StandardAutoloader' => array(
807 'namespaces' => array(
808 'ZendTest' => __DIR__ . '/ZendTest',
812 : ignore these for now
813 rm ZendTest/Mvc/Controller/Plugin/FilePostRedirectGetTest.php
814 : PHP 5.4 segfaults https://bugzilla.redhat.com/1131979
815 rm ZendTest/Serializer/Adapter/WddxTest.php
818 for dir in ZendTest/[A-Z]*; do
819 phpunit $dir || RET=1
825 rm -rf $RPM_BUILD_ROOT
828 rm -rf $RPM_BUILD_ROOT
829 install -d $RPM_BUILD_ROOT%{php_data_dir}
830 cp -a library/* $RPM_BUILD_ROOT%{php_data_dir}
832 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{php_data_dir}/Zend/autoload.php
835 %defattr(644,root,root,755)
837 %doc *.md composer.json
838 %dir %{php_data_dir}/Zend
840 %files Authentication
841 %defattr(644,root,root,755)
842 %doc library/Zend/Authentication/*.md
843 %doc library/Zend/Authentication/composer.json
844 %{php_data_dir}/Zend/Authentication
845 %exclude %{php_data_dir}/Zend/Authentication/*.md
846 %exclude %{php_data_dir}/Zend/Authentication/composer.json
849 %defattr(644,root,root,755)
850 %doc library/Zend/Barcode/*.md
851 %doc library/Zend/Barcode/composer.json
852 %{php_data_dir}/Zend/Barcode
853 %exclude %{php_data_dir}/Zend/Barcode/*.md
854 %exclude %{php_data_dir}/Zend/Barcode/composer.json
857 %defattr(644,root,root,755)
858 %doc library/Zend/Cache/*.md
859 %doc library/Zend/Cache/composer.json
860 %{php_data_dir}/Zend/Cache
861 %exclude %{php_data_dir}/Zend/Cache/*.md
862 %exclude %{php_data_dir}/Zend/Cache/composer.json
865 %defattr(644,root,root,755)
866 %doc library/Zend/Captcha/*.md
867 %doc library/Zend/Captcha/composer.json
868 %{php_data_dir}/Zend/Captcha
869 %exclude %{php_data_dir}/Zend/Captcha/*.md
870 %exclude %{php_data_dir}/Zend/Captcha/composer.json
873 %defattr(644,root,root,755)
874 %doc library/Zend/Code/*.md
875 %doc library/Zend/Code/composer.json
876 %{php_data_dir}/Zend/Code
877 %exclude %{php_data_dir}/Zend/Code/*.md
878 %exclude %{php_data_dir}/Zend/Code/composer.json
881 %defattr(644,root,root,755)
882 %doc library/Zend/Config/*.md
883 %doc library/Zend/Config/composer.json
884 %{php_data_dir}/Zend/Config
885 %exclude %{php_data_dir}/Zend/Config/*.md
886 %exclude %{php_data_dir}/Zend/Config/composer.json
889 %defattr(644,root,root,755)
890 %doc library/Zend/Console/*.md
891 %doc library/Zend/Console/composer.json
892 %{php_data_dir}/Zend/Console
893 %exclude %{php_data_dir}/Zend/Console/*.md
894 %exclude %{php_data_dir}/Zend/Console/composer.json
897 %defattr(644,root,root,755)
898 %doc library/Zend/Crypt/*.md
899 %doc library/Zend/Crypt/composer.json
900 %{php_data_dir}/Zend/Crypt
901 %exclude %{php_data_dir}/Zend/Crypt/*.md
902 %exclude %{php_data_dir}/Zend/Crypt/composer.json
905 %defattr(644,root,root,755)
906 %doc library/Zend/Db/*.md
907 %doc library/Zend/Db/composer.json
908 %{php_data_dir}/Zend/Db
909 %exclude %{php_data_dir}/Zend/Db/*.md
910 %exclude %{php_data_dir}/Zend/Db/composer.json
913 %defattr(644,root,root,755)
914 %doc library/Zend/Debug/*.md
915 %doc library/Zend/Debug/composer.json
916 %{php_data_dir}/Zend/Debug
917 %exclude %{php_data_dir}/Zend/Debug/*.md
918 %exclude %{php_data_dir}/Zend/Debug/composer.json
921 %defattr(644,root,root,755)
922 %doc library/Zend/Di/*.md
923 %doc library/Zend/Di/composer.json
924 %{php_data_dir}/Zend/Di
925 %exclude %{php_data_dir}/Zend/Di/*.md
926 %exclude %{php_data_dir}/Zend/Di/composer.json
929 %defattr(644,root,root,755)
930 %doc library/Zend/Dom/*.md
931 %doc library/Zend/Dom/composer.json
932 %{php_data_dir}/Zend/Dom
933 %exclude %{php_data_dir}/Zend/Dom/*.md
934 %exclude %{php_data_dir}/Zend/Dom/composer.json
937 %defattr(644,root,root,755)
938 %doc library/Zend/Escaper/*.md
939 %doc library/Zend/Escaper/composer.json
940 %{php_data_dir}/Zend/Escaper
941 %exclude %{php_data_dir}/Zend/Escaper/*.md
942 %exclude %{php_data_dir}/Zend/Escaper/composer.json
945 %defattr(644,root,root,755)
946 %doc library/Zend/EventManager/*.md
947 %doc library/Zend/EventManager/composer.json
948 %{php_data_dir}/Zend/EventManager
949 %exclude %{php_data_dir}/Zend/EventManager/*.md
950 %exclude %{php_data_dir}/Zend/EventManager/composer.json
953 %defattr(644,root,root,755)
954 %doc library/Zend/Feed/*.md
955 %doc library/Zend/Feed/composer.json
956 %{php_data_dir}/Zend/Feed
957 %exclude %{php_data_dir}/Zend/Feed/*.md
958 %exclude %{php_data_dir}/Zend/Feed/composer.json
961 %defattr(644,root,root,755)
962 %doc library/Zend/File/*.md
963 %doc library/Zend/File/composer.json
964 %{php_data_dir}/Zend/File
965 %exclude %{php_data_dir}/Zend/File/*.md
966 %exclude %{php_data_dir}/Zend/File/composer.json
969 %defattr(644,root,root,755)
970 %doc library/Zend/Filter/*.md
971 %doc library/Zend/Filter/composer.json
972 %{php_data_dir}/Zend/Filter
973 %exclude %{php_data_dir}/Zend/Filter/*.md
974 %exclude %{php_data_dir}/Zend/Filter/composer.json
977 %defattr(644,root,root,755)
978 %doc library/Zend/Form/*.md
979 %doc library/Zend/Form/composer.json
980 %{php_data_dir}/Zend/Form
981 %exclude %{php_data_dir}/Zend/Form/*.md
982 %exclude %{php_data_dir}/Zend/Form/composer.json
985 %defattr(644,root,root,755)
986 %doc library/Zend/Http/*.md
987 %doc library/Zend/Http/composer.json
988 %{php_data_dir}/Zend/Http
989 %exclude %{php_data_dir}/Zend/Http/*.md
990 %exclude %{php_data_dir}/Zend/Http/composer.json
993 %defattr(644,root,root,755)
994 %doc library/Zend/I18n/*.md
995 %doc library/Zend/I18n/composer.json
996 %{php_data_dir}/Zend/I18n
997 %exclude %{php_data_dir}/Zend/I18n/*.md
998 %exclude %{php_data_dir}/Zend/I18n/composer.json
1001 %defattr(644,root,root,755)
1002 %doc library/Zend/InputFilter/*.md
1003 %doc library/Zend/InputFilter/composer.json
1004 %{php_data_dir}/Zend/InputFilter
1005 %exclude %{php_data_dir}/Zend/InputFilter/*.md
1006 %exclude %{php_data_dir}/Zend/InputFilter/composer.json
1009 %defattr(644,root,root,755)
1010 %doc library/Zend/Json/*.md
1011 %doc library/Zend/Json/composer.json
1012 %{php_data_dir}/Zend/Json
1013 %exclude %{php_data_dir}/Zend/Json/*.md
1014 %exclude %{php_data_dir}/Zend/Json/composer.json
1017 %defattr(644,root,root,755)
1018 %doc library/Zend/Ldap/*.md
1019 %doc library/Zend/Ldap/composer.json
1020 %{php_data_dir}/Zend/Ldap
1021 %exclude %{php_data_dir}/Zend/Ldap/*.md
1022 %exclude %{php_data_dir}/Zend/Ldap/composer.json
1025 %defattr(644,root,root,755)
1026 %doc library/Zend/Loader/*.md
1027 %doc library/Zend/Loader/composer.json
1028 %{php_data_dir}/Zend/autoload.php
1029 %{php_data_dir}/Zend/Loader
1030 %exclude %{php_data_dir}/Zend/Loader/*.md
1031 %exclude %{php_data_dir}/Zend/Loader/composer.json
1034 %defattr(644,root,root,755)
1035 %doc library/Zend/Log/*.md
1036 %doc library/Zend/Log/composer.json
1037 %{php_data_dir}/Zend/Log
1038 %exclude %{php_data_dir}/Zend/Log/*.md
1039 %exclude %{php_data_dir}/Zend/Log/composer.json
1042 %defattr(644,root,root,755)
1043 %doc library/Zend/Mail/*.md
1044 %doc library/Zend/Mail/composer.json
1045 %{php_data_dir}/Zend/Mail
1046 %exclude %{php_data_dir}/Zend/Mail/*.md
1047 %exclude %{php_data_dir}/Zend/Mail/composer.json
1050 %defattr(644,root,root,755)
1051 %doc library/Zend/Math/*.md
1052 %doc library/Zend/Math/composer.json
1053 %{php_data_dir}/Zend/Math
1054 %exclude %{php_data_dir}/Zend/Math/*.md
1055 %exclude %{php_data_dir}/Zend/Math/composer.json
1058 %defattr(644,root,root,755)
1059 %doc library/Zend/Memory/*.md
1060 %doc library/Zend/Memory/composer.json
1061 %{php_data_dir}/Zend/Memory
1062 %exclude %{php_data_dir}/Zend/Memory/*.md
1063 %exclude %{php_data_dir}/Zend/Memory/composer.json
1066 %defattr(644,root,root,755)
1067 %doc library/Zend/Mime/*.md
1068 %doc library/Zend/Mime/composer.json
1069 %{php_data_dir}/Zend/Mime
1070 %exclude %{php_data_dir}/Zend/Mime/*.md
1071 %exclude %{php_data_dir}/Zend/Mime/composer.json
1073 %files ModuleManager
1074 %defattr(644,root,root,755)
1075 %doc library/Zend/ModuleManager/*.md
1076 %doc library/Zend/ModuleManager/composer.json
1077 %{php_data_dir}/Zend/ModuleManager
1078 %exclude %{php_data_dir}/Zend/ModuleManager/*.md
1079 %exclude %{php_data_dir}/Zend/ModuleManager/composer.json
1082 %defattr(644,root,root,755)
1083 %doc library/Zend/Mvc/*.md
1084 %doc library/Zend/Mvc/composer.json
1085 %{php_data_dir}/Zend/Mvc
1086 %exclude %{php_data_dir}/Zend/Mvc/*.md
1087 %exclude %{php_data_dir}/Zend/Mvc/composer.json
1090 %defattr(644,root,root,755)
1091 %doc library/Zend/Navigation/*.md
1092 %doc library/Zend/Navigation/composer.json
1093 %{php_data_dir}/Zend/Navigation
1094 %exclude %{php_data_dir}/Zend/Navigation/*.md
1095 %exclude %{php_data_dir}/Zend/Navigation/composer.json
1098 %defattr(644,root,root,755)
1099 %doc library/Zend/Paginator/*.md
1100 %doc library/Zend/Paginator/composer.json
1101 %{php_data_dir}/Zend/Paginator
1102 %exclude %{php_data_dir}/Zend/Paginator/*.md
1103 %exclude %{php_data_dir}/Zend/Paginator/composer.json
1105 %files Permissions-Acl
1106 %defattr(644,root,root,755)
1107 %doc library/Zend/Permissions/Acl/*.md
1108 %doc library/Zend/Permissions/Acl/composer.json
1109 %dir %{php_data_dir}/Zend/Permissions
1110 %{php_data_dir}/Zend/Permissions/Acl
1111 %exclude %{php_data_dir}/Zend/Permissions/Acl/*.md
1112 %exclude %{php_data_dir}/Zend/Permissions/Acl/composer.json
1114 %files Permissions-Rbac
1115 %defattr(644,root,root,755)
1116 %doc library/Zend/Permissions/Rbac/*.md
1117 %doc library/Zend/Permissions/Rbac/composer.json
1118 %dir %{php_data_dir}/Zend/Permissions
1119 %{php_data_dir}/Zend/Permissions/Rbac
1120 %exclude %{php_data_dir}/Zend/Permissions/Rbac/*.md
1121 %exclude %{php_data_dir}/Zend/Permissions/Rbac/composer.json
1124 %defattr(644,root,root,755)
1125 %doc library/Zend/ProgressBar/*.md
1126 %doc library/Zend/ProgressBar/composer.json
1127 %{php_data_dir}/Zend/ProgressBar
1128 %exclude %{php_data_dir}/Zend/ProgressBar/*.md
1129 %exclude %{php_data_dir}/Zend/ProgressBar/composer.json
1132 %defattr(644,root,root,755)
1133 %doc library/Zend/Serializer/*.md
1134 %doc library/Zend/Serializer/composer.json
1135 %{php_data_dir}/Zend/Serializer
1136 %exclude %{php_data_dir}/Zend/Serializer/*.md
1137 %exclude %{php_data_dir}/Zend/Serializer/composer.json
1140 %defattr(644,root,root,755)
1141 %doc library/Zend/Server/*.md
1142 %doc library/Zend/Server/composer.json
1143 %exclude %{php_data_dir}/Zend/Server/*.md
1144 %exclude %{php_data_dir}/Zend/Server/composer.json
1146 %files ServiceManager
1147 %defattr(644,root,root,755)
1148 %doc library/Zend/ServiceManager/*.md
1149 %doc library/Zend/ServiceManager/composer.json
1150 %{php_data_dir}/Zend/ServiceManager
1151 %exclude %{php_data_dir}/Zend/ServiceManager/*.md
1152 %exclude %{php_data_dir}/Zend/ServiceManager/composer.json
1155 %defattr(644,root,root,755)
1156 %doc library/Zend/Session/*.md
1157 %doc library/Zend/Session/composer.json
1158 %{php_data_dir}/Zend/Session
1159 %exclude %{php_data_dir}/Zend/Session/*.md
1160 %exclude %{php_data_dir}/Zend/Session/composer.json
1163 %defattr(644,root,root,755)
1164 %doc library/Zend/Soap/*.md
1165 %doc library/Zend/Soap/composer.json
1166 %{php_data_dir}/Zend/Soap
1167 %exclude %{php_data_dir}/Zend/Soap/*.md
1168 %exclude %{php_data_dir}/Zend/Soap/composer.json
1171 %defattr(644,root,root,755)
1172 %doc library/Zend/Stdlib/*.md
1173 %doc library/Zend/Stdlib/composer.json
1174 %{php_data_dir}/Zend/Stdlib
1175 %exclude %{php_data_dir}/Zend/Stdlib/*.md
1176 %exclude %{php_data_dir}/Zend/Stdlib/composer.json
1179 %defattr(644,root,root,755)
1180 %doc library/Zend/Tag/*.md
1181 %doc library/Zend/Tag/composer.json
1182 %{php_data_dir}/Zend/Tag
1183 %exclude %{php_data_dir}/Zend/Tag/*.md
1184 %exclude %{php_data_dir}/Zend/Tag/composer.json
1187 %defattr(644,root,root,755)
1188 %doc library/Zend/Test/*.md
1189 %doc library/Zend/Test/composer.json
1190 %{php_data_dir}/Zend/Test
1191 %exclude %{php_data_dir}/Zend/Test/*.md
1192 %exclude %{php_data_dir}/Zend/Test/composer.json
1195 %defattr(644,root,root,755)
1196 %doc library/Zend/Text/*.md
1197 %doc library/Zend/Text/composer.json
1198 %{php_data_dir}/Zend/Text
1199 %exclude %{php_data_dir}/Zend/Text/*.md
1200 %exclude %{php_data_dir}/Zend/Text/composer.json
1203 %defattr(644,root,root,755)
1204 %doc library/Zend/Uri/*.md
1205 %doc library/Zend/Uri/composer.json
1206 %{php_data_dir}/Zend/Uri
1207 %exclude %{php_data_dir}/Zend/Uri/*.md
1208 %exclude %{php_data_dir}/Zend/Uri/composer.json
1211 %defattr(644,root,root,755)
1212 %doc library/Zend/Validator/*.md
1213 %doc library/Zend/Validator/composer.json
1214 %{php_data_dir}/Zend/Validator
1215 %exclude %{php_data_dir}/Zend/Validator/*.md
1216 %exclude %{php_data_dir}/Zend/Validator/composer.json
1219 %defattr(644,root,root,755)
1220 %doc library/Zend/Version/*.md
1221 %doc library/Zend/Version/composer.json
1222 %{php_data_dir}/Zend/Version
1223 %exclude %{php_data_dir}/Zend/Version/*.md
1224 %exclude %{php_data_dir}/Zend/Version/composer.json
1227 %defattr(644,root,root,755)
1228 %doc library/Zend/View/*.md
1229 %doc library/Zend/View/composer.json
1230 %{php_data_dir}/Zend/View
1231 %exclude %{php_data_dir}/Zend/View/*.md
1232 %exclude %{php_data_dir}/Zend/View/composer.json
1235 %defattr(644,root,root,755)
1236 %doc library/Zend/XmlRpc/*.md
1237 %doc library/Zend/XmlRpc/composer.json
1238 %{php_data_dir}/Zend/XmlRpc
1239 %exclude %{php_data_dir}/Zend/XmlRpc/*.md
1240 %exclude %{php_data_dir}/Zend/XmlRpc/composer.json
1243 %defattr(644,root,root,755)
1244 %{php_data_dir}/ZendXml