From Fedora Project Wiki
No edit summary
No edit summary
Line 33: 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 57: Line 57:
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: <will be assigned by the Wrangler>
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]


== Detailed Description ==
== Detailed Description ==
Line 69: Line 71:
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.


See documentation :
* [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]


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 86: Line 84:


== Scope ==
== Scope ==
* Proposal owners: [[SIGs/PHP|PHP SIG]]
* 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: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* 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.-->
Line 98: Line 100:
<!-- 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 a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines: N/A (not needed) <!-- 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 106: Line 108:
== 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 project.


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 111: Line 117:


== 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 126: Line 137:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)


== 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 -->
N/A (not a System Wide Change)
 
Developers and system administrators will have the great benefit or running the latest PHP version.


== Dependencies ==
== Dependencies ==
Line 137: Line 148:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)  
 
All php-* packages (and some *-php)
 


== Contingency Plan ==
== Contingency Plan ==
Line 145: Line 158:
<!-- 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: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency deadline: N/A (not a System Wide Change)  <!-- 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? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No (broken packages will be proposed for removal) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next -->
* 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 -->
N/A (not a System Wide Change)


== Release Notes ==
== Release Notes ==
Line 162: Line 179:
-->
-->


[[Category:ChangePageIncomplete]]
 
[[Category:ChangeReadyForWrangler]]
<!-- 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 -->

Revision as of 09:30, 14 June 2016


PHP 7.0

Summary

Update the PHP stack in Fedora to latest version 7.0.x

Owner

Current status

  • Targeted release: Fedora 25
  • Last updated: 2016-06-14
  • Tracker bug: <will be assigned by the Wrangler>

Most of the work is done in my personal repository, see php70 repository for Fedora 24

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.

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.
  • Policies and guidelines: N/A (not needed)
  • 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 project.

N/A (not a System Wide Change)

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: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? No (broken packages will be proposed for removal)
  • Blocks product? N/A

Documentation


Release Notes