Re: Re: Problem with PEAR installer and PECL extensions

From: Date: Sun, 17 Oct 2004 20:31:50 +0000
Subject: Re: Re: Problem with PEAR installer and PECL extensions
References: 1 2 3 4  Groups: php.pear.dev php.pecl.dev 
Request: Send a blank email to pear-dev+get-33910@lists.php.net to get a copy of this message
Wez Furlong wrote:
How will this work for the case where a bundled extension has been compiled as a shared extension? What about the possible permutations of shared and static, with the extension being both bundled and having a newer interim release in PECL ?
the solution I've coded as of today is as follows If a package dependency specifies that the dependency provides an extension: <package> <name>sqlite</name> <channel>pear.php.net</channel> <!-- this could be pecl.php.net too --> <min>1.0</min> <recommended>1.0.3</recommended> <providesextension>sqlite</providesextension> </package> The installer will first check to see if the sqlite extension is loaded, minimum version 1.0, recommended 1.0.3, and if it is not loaded in memory, then will check the installed package registry to see if it has been installed. If one only wishes to check whether an extension is in memory, just remove the <min> and <recommended> tags. This will allow installations that use dl() to work, as well as those who compile it in statically/shared/whatever. Correct me if my understanding of how things work is off. The only potential side effect is that stupid developers can shoot themselves in the foot by adding a logically invalid dependency like: <package> <name>DB</name> <channel>pear.php.net</channel> <providesextension>doesnotexist</providesextension> </package> to their personal package.xml, but these same people would probably use the CD drive as a cupholder. :) Greg

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