Re: PEAR website
| From: | Stig S. Bakken | Date: | Sun, 15 Jul 2001 14:57:37 +0000 |
| Subject: | Re: PEAR website | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-779@lists.php.net to get a copy of this message | ||
Martin Jansen wrote:
>
> Hi,
>
> are there currently any plans, how the PEAR modules
> are going to be listed on the PEAR website? Stig?
There is a browsing script that looks pretty much like any catalog
browser. It uses the database (currently mysql, table defs in
pearweb/sql/). We're very CVS focused here now, and that's good for the
devel process, but for the release process my intention is to have
people register and upload the release in the database at pear.php.net.
It can be done through a command-line tool (I implemented a "test of
concept" script for uploading throgh xml-rpc, see
pearweb/public_html/xmlrpc.php and pearweb/include/pear-database.php.
So the plan is to first of all offer a web interface where each
maintainer can "officially release" a new version of a package, and
second to have an xml-rpc interface for the same operations (so IDEs or
other online systems can do the same thing or build services on top).
To bootstrap this we need to nail a release tagging standard for the
"pear" module at cvs.php.net (people not using this server may of course
do whatever they want). That way we can build a script that checks
which releases exist of each package and populate the database with real
data, and build package tarballs.
Tagging standard: I suggest we use "V_<version>_RELEASE" for the release
itself, "V_<version>_QA" for release-candidate branches (optional of
course) and "V_<version>_MAINT" for maintenance brances (also
optional). Maint branches are for the cases where you get important
bugfixes and want to release a "pl1", but your main trunk already has
too many changes in it. Then you start a MAINT brach at the RELEASE
tag, and do patchlevel fixes and releases on that branch.
Short version of release process (say I want to release Money_Fast 1.2):
1. From the pear/Money_Fast dir, I run "cvs tag V_1_2_RELEASE"
2. With the web interface, I log in, choose my Money_Fast package and
say I want to release Money_Fast 1.2, tag it as "stable" and enter my
release notes
3. Unless I upload the tgz myself, the web interface checks out
V_1_2_RELEASE from cvs, runs "pear package". Then the tgz is moved to
the right directory and finally my release notes etc. are submitted into
the database.
4. Money_Fast is now visible in the package browser, a notice can be
sent out to a pear-announce list, freshmeat etc.
- Stig