Re: dependencies and applications
| From: | Stefan Neufeind | Date: | Thu, 21 Aug 2003 17:04:30 +0000 |
| Subject: | Re: dependencies and applications | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-20312@lists.php.net to get a copy of this message | ||
On 21 Aug 2003 at 18:49, Alexander Merz wrote:
> Greg Beaver wrote:
>
> There is a simple solution (from a users point of view)
>
> We split up the command pear into two different:
>
> "pear-lib" for library packages
> "pear-app" for applications
>
> An use case:
> you install the current DB (ie. v1.3):
> pear-lib install DB
>
> The you install an application, ie myDBAdmin
> pear-app install myDBAdmin
>
> pear-app checks the deps of myDBAdmin, and find such thing like
> "require
> DB 1.x". It checks with pear-lib if this version is installed; and
> it registers in the pear-lib registry, that an application requires an
> 1.x version.
>
> two months later:
> you update DB to 2.0
> pear-lib upgrade DB
> pear-lib see, that this a new major version and checks its registry,
> if there are any dependencies of apps requirering a lower major
> version. If this is true, it copies the current installed 1.3 version
> to the base dir of the applications.
>
> This keeps BC behavoir keeps BC at all and solves the publicweb
> problem, because a pear-app must support installing on every
> directory, not only to the PEAR-Dir!
I can't fully agree with you. Yes, that's the point of a user - and
maybe it works for your single-user-system as well. But taking into
account that php / pear is used often on servers and many also run
virtual hosts again we have the problem described earlier. And there
are enough (!) applications that just come a "copy these files there
and edit the configfile"-style that you can't assume that the package-
database will know which applications use DB 1.3 or something when
you upgrade to DB 2.0. Also copying of DB 1.3 to all dirs is not a
good solution in my eyes as explained earlier.
And one more thing you should notice: What about the case when you
have only DB 2.0 on your system and THEN want to use a program / tool
/ script that still relies on 1.3? "Well, I would rewrite it or not
use it" is no good answer to this question. A centralised storage for
1.x and 2.0-libs would not have this problem.
Give it a thought. And if you finally come to the conclusion that it
might be a good way to go don't fear to tell me. It's no shame :-))))
Just my 0.02 Euros (2 cents)
Stefan