From Fedora Project Wiki
Line 153: Line 153:
== 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: (What to do?  Who will do it?) N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
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: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* 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? No (broken packages will be proposed for removal) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No (broken packages will be proposed for removal) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->

Revision as of 09:34, 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 projects.


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