PEAR infrastructure for package distribution?

From: 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

« previous php.pear.dev (#38890) next »