From Fedora Project Wiki
(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 | * 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.