Re: [PEPr] +1 for RFC::Requiring E_STRICT Compatibility for New PEAR Packages

From: Date: Wed, 06 Sep 2006 15:46:06 +0000
Subject: Re: [PEPr] +1 for RFC::Requiring E_STRICT Compatibility for New PEAR Packages
References: 1 2 3  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-43889@lists.php.net to get a copy of this message
Dan Scott wrote:
For example: (running with PHP 5.2.0): # pear install MDB2 ... searching for an MDB2 package specifying minimum PHP 5.2.0... ... searching for an MDB2 package specifying minimum PHP 5.*... ... searching for an MDB2 package specifying minimum PHP 4... Found! Installing MDB2... Then, running pear upgrade could also note the currently installed version of PHP and adjust accordingly (so if you were still running on PHP 5.0.3 for some reason and upgraded to 5.2.0, pear could grab updated versions of packages that specified PHP > 5.0.3 and >= 5.2.0). Next question: how are these separate versions of the packages maintained and distributed? Well, we have channels now, and we have branches in CVS. On the surface, at least, it seems like it would be possible to have a pear-5.2 branch that matches a pear-5.2 channel, a pear-5.1 branch that matches a pear-5.1 channel, etc...
E_STRICT raises questions that are currently not answered. For example right now it is possible to support cross major version PEAR packages. Will this even work once E_STRICT is used to mark deprecated features in new major versions whos replacements do not work with previous major versions? Or more importantly what if PHP finally does start removing deprecated features? All of this might result in a world where we no longer will be approaching new major versions the same way we have in the past. That is every package will only work with a single major version. In such a world it would make sense to allow name space clashes between packages that are targeting new major versions and only use our version naming conventions for BC breaking new major versions if the new major version is compatible with the same major version. However even then we have the problem of user confusion etc, issues with people keeping a single PEAR folder while running different PHP versions etc. But in the end the reality is that internals@ does not want to commit on how they want to do things. So I guess we will just get slapped again for doing everything all "wrong" when PHP6 comes around. regards, Lukas

« previous php.pear.dev (#43889) next »