rfc:deprecate-pear-include-composer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rfc:deprecate-pear-include-composer [2016/09/04 01:50] – Add clarifications recommended by Rowan Collins daveyrfc:deprecate-pear-include-composer [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== PHP RFC: Deprecate PEAR/PECL & Replace with composer/pickle ======+====== PHP RFC: Deprecate Bundling PEAR/PECL & Replace with composer/pickle ======
   * Version: 0.1   * Version: 0.1
   * Date: 2016-09-01   * Date: 2016-09-01
Line 14: Line 14:
 ===== Proposal ===== ===== Proposal =====
  
-As PEAR becomes less relevant, we should deprecate it in favor of more modern, community chosen tools — specifically composer.+As PEAR becomes less relevant, we should deprecate bundling it in favor of more modern, community chosen tools — specifically composer.
  
 PEAR however also comprises PECL, so this RFC also proposes that we move to [[https://github.com/FriendsOfPHP/pickle|pickle]], an alternative written (primarily) by Anatol Belski and Pierre Joye. Pickle is based on composer and backwards compatible with pecl packages as well as supporting RCS systems similar to composer. PEAR however also comprises PECL, so this RFC also proposes that we move to [[https://github.com/FriendsOfPHP/pickle|pickle]], an alternative written (primarily) by Anatol Belski and Pierre Joye. Pickle is based on composer and backwards compatible with pecl packages as well as supporting RCS systems similar to composer.
  
-We would like to deprecate pear/pecl in 7.2, and remove them entirely in 8.0. At the same time, we'd like to include composer/pickle as //optional// (under build flags ''--with-composer'' and ''--with-pickle'') for 7.2, then enabled by default in 7.3.+We would like to deprecate bundling pear/pecl in 7.2, and unbundle them in 8.0. At the same time, we'd like to include composer/pickle as //optional// (under build flags ''--with-composer'' and ''--with-pickle'') for 7.2, then enabled by default in 7.3.
  
 The deprecation would come in the form of updating documentation on php.net (e.g. [[http://php.net/manual/en/configure.about.php|configure flags]]) and with a notice at the end of ./configure and during the "make" steps. The deprecation would come in the form of updating documentation on php.net (e.g. [[http://php.net/manual/en/configure.about.php|configure flags]]) and with a notice at the end of ./configure and during the "make" steps.
Line 29: Line 29:
   - An ecosystem of packages built to those guidelines   - An ecosystem of packages built to those guidelines
  
-This proposal does not affect 2-4, and only proposes that we stop bundling (1), and instead bundle composer as a modern alternative.+This proposal does not affect 2-4, and only proposes that we deprecate/stop bundling (1), and instead bundle composer as a modern alternative.
  
 Additionally, PECL is: Additionally, PECL is:
Line 36: Line 36:
   - A default channel for the extension management tool, at pecl.php.net   - A default channel for the extension management tool, at pecl.php.net
  
-Because (1) is an alias of the PEAR command-line tool, removing the latter, will also remove the former. Therefore we are proposing the inclusion of pickle instead, as a natural (backwards compatible) companion to composer.+Because (1) is an alias of the PEAR command-line tool, deprecating/unbundling the latter, will also deprecate/unbundle the former. Therefore we are proposing the inclusion of pickle instead, as a natural (backwards compatible) companion to composer.
  
 ===== Backward Incompatible Changes ===== ===== Backward Incompatible Changes =====
  
-None till 8.0, when pear/pecl will be removed. If the projects continue to functions, they can continue to provide methods for manual installation.+None till 8.0, when pear/pecl will be unbundled. If the projects continue to functions, they can continue to provide methods for manual installation.
  
 ===== Proposed PHP Version(s) ===== ===== Proposed PHP Version(s) =====
  
-  * PHP 7.2: Deprecate pear/pecl, optional composer/pickle+  * PHP 7.2: Deprecate pear/pecl, bundle composer/pickle, enable optionally
   * PHP 7.3: Enable composer/pickle by default   * PHP 7.3: Enable composer/pickle by default
-  * PHP 8.0: Remove pear/pecl+  * PHP 8.0: Unbundle pear/pecl
  
 ===== RFC Impact ===== ===== RFC Impact =====
Line 78: Line 78:
 Potential voting choices: Potential voting choices:
  
-  - Deprecate pear/pecl & remove in 8.0 (Choices: yes/no)+  - Deprecate pear/pecl & unbundle in 8.0 (Choices: yes/no)
   - Include composer/pickle (Choices: yes/no)   - Include composer/pickle (Choices: yes/no)
   - Make composer/pickle default in which version? (Choice: 7.2/7.3/8.0/Never)   - Make composer/pickle default in which version? (Choice: 7.2/7.3/8.0/Never)
Line 84: Line 84:
 ===== Patches and Tests ===== ===== Patches and Tests =====
  
-The patch will refactor the current pear make code to be re-usable by composer/pickle.+The patch will refactor the current pear ''make'' code to be re-usable by composer/pickle.
  
 ===== Implementation ===== ===== Implementation =====
rfc/deprecate-pear-include-composer.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1