rfc:peclversioning
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
rfc:peclversioning [2008/04/02 10:34] – sfox | rfc:peclversioning [2008/07/16 13:00] – Fix URLs scottmac | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== Request for Comments: PECL Versioning ===== | ===== Request for Comments: PECL Versioning ===== | ||
- | |||
- | * **Version: | ||
- | * **Date:** 2008-03-21 | ||
- | * **Author:** Steph Fox | ||
- | * **Status:** Nearing completion | ||
=== The Problem === | === The Problem === | ||
- | Currently, PECL versioning is fairly anarchic. | + | Currently, PECL versioning is fairly anarchic. |
- | + | ||
- | === A Solution? === | + | |
- | I would like to formally propose that all PECL modules: | + | |
- | + | ||
- | * **Declare** PHP_EXTNAME_VERSION in php_extname.h | + | |
- | * **Use** PHP_EXTNAME_VERSION in both the zend_module_entry declaration and PHP_MINFO() (the phpinfo() source) | + | |
- | * **Tag** the version | + | |
- | * **Use** a recognized versioning structure | + | |
- | * **Utilize** $Revision | + | |
- | + | ||
- | === Some Facts and Figures === | + | |
- | There are currently 214 modules in PECL. Of these: | + | |
- | + | ||
- | * 1 is written in PHP | + | |
- | * 3 are SAPIs | + | |
- | * 2 are no longer hosted in PECL (and should be deleted) | + | |
- | * 1 doesn' | + | |
- | * 1 doesn' | + | |
- | * 1 was a CVS error (and should be deleted) | + | |
- | * 1 is the timezone library for ext/date, and probably has non-standard versioning requirements | + | |
- | + | ||
- | Of the remaining 204: | + | |
- | + | ||
- | * 13 already use PHP_EXTNAME_VERSION declared in php_extname.h, | + | |
- | * 25 already declare and use a versioning macro in php_extname.h, but the name could be anything | + | |
- | * 27 already declare and use a versioning macro somewhere in the source | + | |
- | * 3 do the whole thing in reverse and use the release version from package.xml | + | |
- | * 136 either hard-code the version, use $Id alone, use $Revision alone or ignore the whole thing | + | |
- | + | ||
- | === Update 22/3/08 === | + | |
- | I committed a change to the Windows | + | |
- | + | ||
- | === Update 24/3/08 === | + | |
- | Following discussion, it was agreed that use of $Id/ | + | |
- | + | ||
- | === Update 25/3/08 === | + | |
- | Open items: | + | |
- | + | ||
- | * The problem of PHP version-specific PECL builds | + | |
- | * The problem of core module versioning | + | |
- | * Labelling core modules as such on the pecl.php.net project homepage | + | |
- | * Labelling PECL releases with their target PHP branches on the pecl.php.net project homepage | + | |
- | + | ||
- | === Update 2/4/08 === | + | |
- | Most of the modules | + | |
- | + | ||
- | * use x.x.x numbers for versioning | + | |
- | * tag the version with ' | + | |
- | * declare the macro PHP_EXTNAME_VERSION | + | |
- | * use the macro in zend_module_entry (so phpversion(' | + | |
- | * use the macro in PHP_MINFO | + | |
- | * express alpha, beta or RC using the format: 1.0.1a2, 1.0.0RC3, 2.5.3b1 | + | |
- | + | ||
- | The seven 'private' | + | |
- | + | ||
- | Two modules (maxdb and timezonedb) use a versioning structure based on third-party code that can't sensibly be altered. | + | |
- | + | ||
- | One module (APC) already uses the proposed versioning structure, but declares a non-standard macro in a non-standard header. A handful | + | |
- | + | ||
- | One standard module (wxWidgets) doesn' | + | |
- | + | ||
- | Obvious CVS errors and any modules containing no code have been deleted | + | |
- | + | ||
- | Hartmut Holzgraefe has updated PECL_Gen to reflect the new versioning | + | |
- | + | ||
- | === Core modules === | + | |
- | Johannes Schlueter - as Release Master of the PHP 5.3 series - made it known early in the proceedings that he has concerns over -dev, -alpha or -beta tags appearing in PHP core module versions. There' | + | |
- | The idea of using the tag ' | + | There are actually two RFCs (proposals) to deal with version |
- | **//Feedback on this subject would be appreciated!// | + | |
+ | | ||
- | === Please comment on the pecl-dev mailing list === |
rfc/peclversioning.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1