Re: How many pecl packages have an different extension name from the package?
| From: | Wez Furlong | Date: | Sat, 24 Sep 2005 19:04:47 +0000 |
| Subject: | Re: How many pecl packages have an different extension name from the package? | ||
| References: | 1 2 3 4 5 | Groups: | php.pecl.dev |
| Request: | Send a blank email to pecl-dev+get-2991@lists.php.net to get a copy of this message | ||
This sounds ok to me.
The <providesextension>s are more like a "<mightprovidesextension>"
for PDO_DBLIB; so long as the installer doesn't assume that all three
are going to be there after installing the package, I think we're ok.
(do we need a way to specify this in the xml?)
--Wez
On 9/24/05, Greg Beaver <greg@chiaraquartet.net> wrote:
> Just to verify, what you're saying is that this dependency is perfectly
> valid for pdo_dblib:
>
> <package>
> <name>PDO_DBLIB</name>
> <channel>pecl.php.net</channel>
> <providesextension>pdo_mssql</providesextension>
> <providesextension>pdo_sybase</providesextension>
> <providesextension>pdo_dblib</providesextension>
> </package>
>
> This would perform these steps:
>
> 1) check for extensions in memory
> a) is pdo_mssql loaded in memory?
> b) is pdo_sybase loaded in memory?
> c) is pdo_dblib loaded in memory?
> 2) is the pecl.php.net/PDO_DBLIB package -or- the pear.php.net/PDO_DBLIB
> package being downloaded for installation (the user typed "pear install
> Somepackage pecl/PDO_DBLIB")
> 3) is the pecl.php.net/PDO_DBLIB package -or- the pear.php.net/PDO_DBLIB
> package installed?
>
> However, there is an issue that dependencies cannot solve: if someone
> writes an app that can only work with pdo_mssql and not
> pdo_sybase/pdo_dblib, then this must be verified in the code itself, as
> there is no way to register which extensions are actually provided by
> the package based on the PEAR registry. Unless you think this is a
> problem, I'm not too concerned, as someone writing code that specific is
> going to need to put in a "extension_loaded('pdo_sybase')" check in the
> code anyways.
>
> Does this look good? I will implement this functionality in 1.4.1 (it's
> a simple and easy change) if so.