Immanetize (talk | contribs) |
|||
(18 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<!-- Self Contained or System Wide Change Proposal? | <!-- Self Contained or System Wide Change Proposal? | ||
Use this guide to determine to which category your proposed change belongs to. | Use this guide to determine to which category your proposed change belongs to. | ||
Line 35: | Line 33: | ||
This should link to your home wiki page so we know who you are. | This should link to your home wiki page so we know who you are. | ||
--> | --> | ||
* Name: [[User:Remi| Remi Collet]] | * Name: [[User:Remi| Remi Collet]] and [[SIGs/PHP|PHP SIG]] | ||
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. --> | <!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. --> | ||
* Email: remi at fedoraproject dot org | * Email: remi at fedoraproject dot org | ||
Line 58: | Line 56: | ||
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | ||
--> | --> | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1353500 #1353500] | ||
Most of the work is done in my personal repository, see [http://rpms.remirepo.net/fedora/24/php70/x86_64/repoview/letter_p.group.html php70 repository for Fedora 24] | |||
PHP version 7.0.8 build in rawhide June 27th. | |||
== Detailed Description == | == Detailed Description == | ||
Line 71: | Line 73: | ||
Compatibility for PHP code is very good, while internal API have big changes, implying a major rewrite of C extensions. | Compatibility for PHP code is very good, while internal API have big changes, implying a major rewrite of C extensions. | ||
== Benefit to Fedora == | == Benefit to Fedora == | ||
Provides the latest PHP version to developers and system administrators. | Provides the latest PHP version to developers and system administrators. Especially a great performance boost have been confirmed by various projects (running big web site), around 50% saved, time and memory. | ||
Some other distributions already provides this version, upgrade have been differed in Fedora to give time to projects using PHP to fix compatibility. | Some other distributions already provides this version, upgrade have been differed in Fedora to give time to projects using PHP to fix compatibility. | ||
Line 88: | Line 86: | ||
== Scope == | == Scope == | ||
* Proposal owners: | * Proposal owners: Check Koschei status. Test with latest version to ensure compatibility. Work with upstream on bug fixing. | ||
<!-- What work do the feature owners have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do the feature owners have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
* Other developers: all PHP package owners <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Other developers: all PHP package owners: test with latest version to ensure compatibility. Work with upstream on bug fixing. | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | |||
<!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
* Release engineering: | * Release engineering: needed mass rebuild (C extensions) done but change owner. <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)? Is a mass rebuid required? If a rel-eng ticket exists, add a link here. | <!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)? Is a mass rebuid required? If a rel-eng ticket exists, add a link here. | ||
Please work with releng prior to feature submission, and ensure that someone is on board to do any process development work and testing; don't just assume that a bullet point in a change puts someone else on the hook.--> | Please work with releng prior to feature submission, and ensure that someone is on board to do any process development work and testing; don't just assume that a bullet point in a change puts someone else on the hook.--> | ||
** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not | ** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not affected by this Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings --> | <!-- Please check the list of Fedora release deliverables and list all the differences the feature brings --> | ||
* Policies and guidelines: N/A (not | * Policies and guidelines: N/A (not affected by this Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Do the packaging guidelines or other documents need to be updated for this feature? If so, does it need to happen before or after the implementation is done? If a FPC ticket exists, add a link here. --> | <!-- Do the packaging guidelines or other documents need to be updated for this feature? If so, does it need to happen before or after the implementation is done? If a FPC ticket exists, add a link here. --> | ||
Line 108: | Line 110: | ||
== Upgrade/compatibility impact == | == Upgrade/compatibility impact == | ||
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? --> | <!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? --> | ||
Status of compatibility for C extensions: see [http://blog.remirepo.net/pages/PECL-extensions-RPM-status PECL extensions status] | |||
Not yet compatible extensions are probably dead projects: | |||
* php-pecl-cairo | |||
* php-pecl-gearman | |||
* php-pecl-jsonc (replaced by php-json which is now under a "free" license) => dropped | |||
* php-pecl-judy | |||
* php-pecl-krb5 | |||
* php-magickwand (upstream states this project is deprecated, and recommends php-pecl-imagick) | |||
* php-pecl-memprof | |||
* php-pecl-mongo (replaced by new driver php-pecl-mongodb, and the php-mongodb library, both are under review) => dropped | |||
* php-pecl-mysqlnd-ms => dropped | |||
* php-pecl-mysqlnd-qc => dropped | |||
* php-pecl-ncurses | |||
* php-pecl-parsekit | |||
* php-pimple (by disabling the extension, keeping the pure-php library, without its accelerator) | |||
* php-pecl-runkit | |||
* php-twig (by disabling the extension, keeping the pure-php library, without its accelerator) | |||
* php-xcache (php-opcache is the official opcode cache, maintained by the PHP project, APCU for user data cache) => dropped | |||
* php-pecl-xhprof => dropped | |||
New packages needed: | |||
* php-pecl-mongodb (the new driver), review #1269056 | |||
* php-mongodb (the library), review #1276834 | |||
* php-alcaeus-mongo-php-adapter (a compatibility library), review #1347147 | |||
* php-pecl-apcu-bc (the APC compatibility layer for php-pecl-apcu), review #1350148 | |||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
== How To Test == | == How To Test == | ||
* The PHP stack (extensions and libraries) are monitored by Koschei, see the [https://apps.fedoraproject.org/koschei/groups/php?order_by=state%2C-started Koschei PHP group] | |||
* install and play with your web applications | |||
<!-- This does not need to be a full-fledged document. Describe the dimensions of tests that this change implementation is expected to pass when it is done. If it needs to be tested with different hardware or software configurations, indicate them. The more specific you can be, the better the community testing can be. | <!-- This does not need to be a full-fledged document. Describe the dimensions of tests that this change implementation is expected to pass when it is done. If it needs to be tested with different hardware or software configurations, indicate them. The more specific you can be, the better the community testing can be. | ||
Line 128: | Line 164: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
== User Experience == | == User Experience == | ||
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. --> | <!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. --> | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
Developers and system administrators will have the great benefit or running the latest PHP version. | |||
== Dependencies == | == Dependencies == | ||
Line 139: | Line 175: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
All php-* packages (and some *-php) | |||
== Contingency Plan == | == Contingency Plan == | ||
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | <!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others | ||
* Contingency mechanism: | that other parts of Fedora will not be in jeopardy. --> | ||
* Contingency mechanism: Drop not compatible packages <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | |||
<!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | <!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | ||
* Contingency deadline: | * Contingency deadline: Beta <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | <!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | ||
* Blocks release? | * Blocks release? No (broken packages will be proposed for removal) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
* Blocks product? | * Blocks product? N/A <!-- Applicable for Changes that blocks specific product release/Fedora.next --> | ||
== Documentation == | == Documentation == | ||
<!-- Is there upstream documentation on this change, or notes you have written yourself? Link to that material here so other interested developers can get involved. --> | <!-- Is there upstream documentation on this change, or notes you have written yourself? Link to that material here so other interested developers can get involved. --> | ||
* [http://php.net/manual/en/migration70.php http://php.net/manual/en/migration70.php] | |||
* [https://raw.githubusercontent.com/php/php-src/PHP-7.0/UPGRADING UPGRADING] | |||
* [https://raw.githubusercontent.com/php/php-src/PHP-7.0/UPGRADING.INTERNALS UPGRADING.INTERNALS] | |||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
== Release Notes == | == Release Notes == | ||
Line 163: | Line 205: | ||
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze. | Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze. | ||
--> | --> | ||
https://fedoraproject.org/wiki/Documentation_Development_Web_Beat | |||
[[Category: | [[Category:ChangeAcceptedF25]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | ||
Line 171: | Line 214: | ||
<!-- Select proper category, default is Self Contained Change --> | <!-- Select proper category, default is Self Contained Change --> | ||
[[Category:SelfContainedChange]] | <!-- [[Category:SelfContainedChange]] --> | ||
[[Category:SystemWideChange]] |
Latest revision as of 17:20, 11 September 2016
PHP 7.0
Summary
Update the PHP stack in Fedora to latest version 7.0.x
Owner
- Name: Remi Collet and PHP SIG
- Email: remi at fedoraproject dot org
- Release notes owner:
Current status
Most of the work is done in my personal repository, see php70 repository for Fedora 24
PHP version 7.0.8 build in rawhide June 27th.
Detailed Description
Update the PHP stack in Fedora to latest version 7.0.x, which brings a big performance improvement.
- PHP 7.0.0 was released in December 2015.
- PHP 7.1.0 is planed for end of year, but is probably not compatible with our Schedule, will probably be a Fedora 26 feature
Compatibility for PHP code is very good, while internal API have big changes, implying a major rewrite of C extensions.
Benefit to Fedora
Provides the latest PHP version to developers and system administrators. Especially a great performance boost have been confirmed by various projects (running big web site), around 50% saved, time and memory.
Some other distributions already provides this version, upgrade have been differed in Fedora to give time to projects using PHP to fix compatibility.
This will be an opportunity to clean (remove) old packages, not compatible and unmaintained upstream.
Scope
- Proposal owners: Check Koschei status. Test with latest version to ensure compatibility. Work with upstream on bug fixing.
- Other developers: all PHP package owners: test with latest version to ensure compatibility. Work with upstream on bug fixing.
- Release engineering: needed mass rebuild (C extensions) done but change owner.
- List of deliverables: N/A (not affected by this Change)
- Policies and guidelines: N/A (not affected by this Change)
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
Status of compatibility for C extensions: see PECL extensions status
Not yet compatible extensions are probably dead projects:
- php-pecl-cairo
- php-pecl-gearman
- php-pecl-jsonc (replaced by php-json which is now under a "free" license) => dropped
- php-pecl-judy
- php-pecl-krb5
- php-magickwand (upstream states this project is deprecated, and recommends php-pecl-imagick)
- php-pecl-memprof
- php-pecl-mongo (replaced by new driver php-pecl-mongodb, and the php-mongodb library, both are under review) => dropped
- php-pecl-mysqlnd-ms => dropped
- php-pecl-mysqlnd-qc => dropped
- php-pecl-ncurses
- php-pecl-parsekit
- php-pimple (by disabling the extension, keeping the pure-php library, without its accelerator)
- php-pecl-runkit
- php-twig (by disabling the extension, keeping the pure-php library, without its accelerator)
- php-xcache (php-opcache is the official opcode cache, maintained by the PHP project, APCU for user data cache) => dropped
- php-pecl-xhprof => dropped
New packages needed:
- php-pecl-mongodb (the new driver), review #1269056
- php-mongodb (the library), review #1276834
- php-alcaeus-mongo-php-adapter (a compatibility library), review #1347147
- php-pecl-apcu-bc (the APC compatibility layer for php-pecl-apcu), review #1350148
How To Test
- The PHP stack (extensions and libraries) are monitored by Koschei, see the Koschei PHP group
- install and play with your web applications
User Experience
Developers and system administrators will have the great benefit or running the latest PHP version.
Dependencies
All php-* packages (and some *-php)
Contingency Plan
- Contingency mechanism: Drop not compatible packages
- Contingency deadline: Beta
- Blocks release? No (broken packages will be proposed for removal)
- Blocks product? N/A
Documentation
Release Notes
https://fedoraproject.org/wiki/Documentation_Development_Web_Beat