Re: proposal: pear install-deps command
| From: | Greg Beaver | Date: | Sun, 08 Jun 2003 17:11:57 +0000 |
| Subject: | Re: proposal: pear install-deps command | ||
| References: | 1 2 3 4 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-17177@lists.php.net to get a copy of this message | ||
Hi,
I don't think it is ever a good idea to automatically upgrade PHP with the
pear installer as a part of installation of other packages. Let me rephrase
:). I think it's a *terrible* idea :). It would be fine if there is a
completely separate installphp/upgradephp command that has no relation to
the normal install command.
Having said that, I should note that phpDocumentor is a good example of why
optional dependencies would be nice. I would like users to be able to do a
full install, or phpDocumentor lite and then hand install optional
dependencies like the PDF and CHM converters, not to mention new templates
when they arrive. In this way, if a cool new HTML template is submitted by
a user, I can simply release the template as a separate optional package,
which depends on phpDocumentor-lite. This would be nice :). I don't think
it's a good idea to automatically install both required and optional
dependencies with the --all command, perhaps there could be two commands,
install --required and install --all. The help message could be "<Package>
depends on "foo", use 'install --required' to download/install required
dependences, `install --all´, to download/install all dependencies". Of
course, all required dependencies must be listed, and all optional
dependencies should be listed as well, or a note in the error message should
indicate that the user should do pear remote-info for dependency
information.
After some thought, I agree that optional dependencies should always be
hand-installed (except with --all), and prompting is unnecessary. Derick
raises another good point though. Is there any way to add BC-breakage
information to a package.xml file? This will make it very easy to make pear
robust with its dependencies. Perhaps adding under deps?
<deps>
<bcbroken [ver="version number"]/>
</deps>
In this way, a package that depends on an older version could fail
installation before anything seriously goes awry.
It would also keep us from having to bundle HTML_TreeMenu 1.1.2 with
phpDocumentor for fear that BC will be broken as it was when upgrading from
1.0.4 :).
All BC dependencies should probably be checked server-side to keep
compatibility with older install.
Regards,
Greg
"Tomas V.V.Cox" <cox@idecnet.com> wrote in message
news:002c01c32d7e$dea17bc0$0d0a0a0a@COX...
>
> ----- Original Message -----
> From: "Greg Beaver" <greg@chiaraquartet.net>
> To: <pear-dev@lists.php.net>
> Sent: Sunday, June 08, 2003 6:38 AM
> Subject: Re: [PEAR-DEV] proposal: pear install-deps command
>
>
> > Hi,
> >
> > I agree with Hans. Perhaps the current install behavior could be
> supported
> > for those who might need it with a new command-line
> >
> > pear install --no-deps Package?
>
> pear install --nodeps <package> it's already in use, and tradicionaly used
> by rpm for installing a package without dependecy checking.
>
> I would preffer to throw an error like "<Package> depends on "foo", use
> `install --all´, to download/install all dependencies".
>
> Users have to be warned, that he will probably end installing a lot of
> packages. Doing like cpan which starts to download and compile dozen of
> packages and even upgrades the perl itself, it's disgussting imho.
>
> As a side note, I'm BIG -1 to any user question prompting :)
>
> Tomas V.V.Cox
>
> >
> > "Hans Lellelid" <hans@appliedsec.com> wrote in message
> > news:20030608011921.366E24A61E@punisher.appliedsec.com...
> >
> >
> > | I would like to propose a new command, install-deps. This
> > | command would work exactly like pear install, except that it
> > | would automatically install/upgrade required packages
> > | specified in the <deps> section. It should also prompt to
> > | install/upgrade optional dependencies.
> >
> > That seems very useful. My only thought is that this should be the
> default
> > behavior (maybe w/ confirmation) for the regular 'install' command. I
> can't
> > conceive of too many scenarios where I'd want to install a package w/o
the
> > dependencies. Also I think emulating this APT / FreeBSD ports behavior
is
> > intuitive to a lot of users.
> >
> > Hans
> >
> >
> >
> >
> > --
> > PEAR Development Mailing List (http://pear.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
>
>