PEAR infrastructure for package distribution?
| From: | Mario Salzer | Date: | Tue, 26 Jul 2005 15:25:54 +0000 |
| Subject: | PEAR infrastructure for package distribution? | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-38890@lists.php.net to get a copy of this message | ||
I have an (unmeant) pet project with hundreds of PHP include scripts,
as shopflifted from phpclasses.org:
http://fpc.berlios.de/
While parts of that code are of pretty low quality, I'm _considering_
to set it up as PEAR-compatible download channel (for a few elected
packages) - but that with as little effort as possible, of course.
My first question therefore is, if PEAR is really meant as vendor-
independent PHP package management system? The new channels feature
seems to suggest that, but right now still only official PEAR.php.net
packages are distributed this way. (apart from Horde maybe?)
While the PEAR manual contains useful notes for package authors, it
doesn't explain the required work for setting up channels all too
well. So I'm wondering if there is a premade PEAR channel package
available anywhere (for static tarballs at best). Are the relevant
parts from the PEAR.php.net website freely available from a CVS
repository or so?
The current PEAR packages are (of course) structured into descriptive
subdirectories, as defined by the PEAR team and how it made most
sense for the currently existing classes. But how should independent
packages be mixed into there?
Is it permissible to throw include scripts into the PEAR top level
directory if a more correct categorization is lacking:
-> require("some_random_class_name.php");
Or should vendor subdirectories (like Java) be added if classes and
files could conflict with or disturb PEAR code?
-> include("com/vendor/module/package/Whatever.php");
The latter for me had the disadvantage, that it would require further
script patching and made everything incompatible with the original
projects (renaming a "dir_class" into "FPC_Files_Directory" e.g.).
There is of course no way to convert *all* tarballs from FPC/PCO into
PEAR packages, but because there are still enough where it made sense,
I'd like to have this process automated as far as possible. (Because
packages are occassionally updated from upstream.)
PEAR_PackageFileManager seems to be the right tool (have only toyed
with it yet, though) - but has someone already prepared an easy to
use commandline tool ("tar2pear")?
I'm looking for something with a tiny bit more heuristics, like a
completed list of ->addRole() patterns, and standardized version
deducing/mangling (like converting "2005-07-21" into "5.07.21") from
directory names.
mario