From Fedora Project Wiki

< SIGs‎ | PHP

(Created page with "= PHP Review Tips = == Fedora Review == * '''phpcompatinfo''' report analysis is automatically run during '''fedora-review''' <pre> yum/dnf install phpcompatinfo fedora-rev...")
 
 
(One intermediate revision by the same user not shown)
Line 10: Line 10:


Notices:
Notices:
* phpcompatinfo is run against the full sources tree. It can be usefull to run it twice. Once against sources directory (src, lib, ...) for runtime requirement, and once against tests directory for buildtime requirement.
* phpcompatinfo is run against the full sources tree. It can be usefull to run it twice:
* run it against sources directory (src, lib, ...) for runtime requirement
* run it against tests directory for buildtime requirement.
 
== About Guidelines ==
 
===  Extensions Requires ===
 
Explanation: the package layout is not reliable, as it have change and will probably change again.
* a static extension (in the engine) can be build as a shared extension and move to another package (ex: gmp moved to php-gmp).
* a shared extension can move (e.g. shmop moved to php-process in 5.5)
* a extension can move from php to pecl when deprecated (e.g. ereg will disapear in php 7)
* a pecl extension can be merged in php when considered as "famous and stable" (e.g. opcache was merged in 5.5).
 
So all needed extensions MUST be required (use php-<extname>)
* Core and standard are not extensions and are always there. No need to requires them (and they are not provided)
* extensions don't have version, so never use: requires: php-foo > 5.5 (use Requires: php-foo, php(language) > 5.5)
 
Notice: some extensions are always there (cannot be built shared): spl and reflection, perhaps we will amend Guidelines in the future.


[[Category:PHP]]
[[Category:PHP]]

Latest revision as of 14:21, 25 June 2015

PHP Review Tips

Fedora Review

  • phpcompatinfo report analysis is automatically run during fedora-review
yum/dnf install phpcompatinfo fedora-review

Notices:

  • phpcompatinfo is run against the full sources tree. It can be usefull to run it twice:
  • run it against sources directory (src, lib, ...) for runtime requirement
  • run it against tests directory for buildtime requirement.

About Guidelines

Extensions Requires

Explanation: the package layout is not reliable, as it have change and will probably change again.

  • a static extension (in the engine) can be build as a shared extension and move to another package (ex: gmp moved to php-gmp).
  • a shared extension can move (e.g. shmop moved to php-process in 5.5)
  • a extension can move from php to pecl when deprecated (e.g. ereg will disapear in php 7)
  • a pecl extension can be merged in php when considered as "famous and stable" (e.g. opcache was merged in 5.5).

So all needed extensions MUST be required (use php-<extname>)

  • Core and standard are not extensions and are always there. No need to requires them (and they are not provided)
  • extensions don't have version, so never use: requires: php-foo > 5.5 (use Requires: php-foo, php(language) > 5.5)

Notice: some extensions are always there (cannot be built shared): spl and reflection, perhaps we will amend Guidelines in the future.