Re: PEAR installer - ideas....
| From: | Tomas V.V.Cox | Date: | Fri, 23 Nov 2001 12:10:36 +0000 |
| Subject: | Re: PEAR installer - ideas.... | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-3059@lists.php.net to get a copy of this message | ||
On Friday 23 November 2001 04:13, Alan Knowles wrote:
> Hi, I have been looking at the installer on pear for some more
> generic uses, here are the two situations
>
> 1. I would like my application to install into the PEAR directory
> (not supplied by PEAR, but installed in that directory..)
> 2. I wanted to use the CVSLib from chora, but I dont want to copy the
> code into my application (and keep updating it manually), I needed a
> way to create a downloader that would install it using http calls to
> chora..
Well, the CVS free hosting ("pear" CVS module) and the pear
web/installer are different things and shouldn't be mixed. Also IMHO is
not very safe to rely in http calls to Chora.
> Looking at the current situation with the pear installer (ignoring C
> extension issues at present..) I had the following issues
> At present the Pear installer depends on extensions :zlib, expat
> and Pear module Archive_tar (not sure what else....)
..., Console_GetOpt, System.php, the php cgi version and of course all
the classes under php4/pear/PEAR/.
> from the angle here = the base installer should not depend on
> anything other than php existing.
That's a little bit difficult but at least it should only depend on
things that comes with the php distribution (Archive_Tar is part of the
php-4.1 branch AFAIK).
> I built an installer for phpmole, and intend to use it to try and
> solve the CVSLib problem,
>
> These are some of the ideas I used to build it - they may be worth
> considering for the PEAR installer.
>
> 1. The package.xml can contain a 4 line script to access the
> installer script. see note at end about #php package.xml
> 2. the core installer is a single small php file. - Its purpose is to
> download (if the not already installed, the key classes to run a
> installer)
The idea of a small script that updates/downloads the self install
scripts is good, but I think that this small script only should
download the hole installer. Then the user should call the installer.
> 3. the key files that the installer grabs are: a pure php
> based xml parser/tree builder, and the installer class.
Well, the pear installer is not only a simple "un-tar". It has (or will
have) a packages registry, dependencies check, user configuration
stuff, updates/removes, etc.
> 4. the package definition file is extended to include meta data about
> dependancies, download location etc.
I'm not sure what kind of dependencies you check, but our requirements
were specified by Stig (click here:
http://cvs.php.net/co.php/pearweb/rfc/003-dependencies.txt?r=1.2).
I'll
review your code about this to see if it can be added.
> The installer could then be started by
> php package.xml
> or
> php http://cvs.php.net/co.php/php4/pear/PEAR/package.xml
The remote cvs packager would be a cool stuff.
> Anyway - let me know what you think -- not too many flames pls:)
That's what I think, no flames :-)
Tomas V.V.Cox