[thelist] [php] PEAR update released

Maximillian Schwanekamp lists at neptunewebworks.com
Tue Sep 20 16:45:33 CDT 2005


For those that are interested, PEAR's base class, pear.php has been 
updated.  It's a significant update that introduces some really neat 
stuff, most notably (IMO) remote PEAR channels, allowing full use of 
PEAR to distribute/update php packages across remote servers.  The news 
is not on the pear.php.net site yet, so here's a copy of the news release:

September 20, 2005
FOR IMMEDIATE RELEASE
Contact: Gregory Beaver (cellog /at/ php.net)

As of Sunday, September 18, 2005, the PEAR installer has reached
maturity as an enterprise-level installation tool for PHP code.  The
release of version 1.4.0 stable ushers in several essential features for
management of PHP extensions and packages.

1.	PEAR channels
(http://pear.php.net/manual/en/guide.migrating.channels.php)
2.	Better handling of PECL extensions and dependencies on PECL packages
(http://pear.php.net/manual/en/guide.developers.package2.peclinfo.php)
(http://pear.php.net/manual/en/guide.developers.package2.dependencies.php)
3.	more than 650 regression tests in .phpt format
4.	extensive application support through addition of post-install
scripts, custom file roles and file tasks, and the new bundle package
type (http://pear.php.net/manual/en/guide-migrating.php)

PEAR Channels provide a unique distributed installation paradigm.  By
distributing packages through a channel, users can install and configure
an application with a single step rather than the old
download/unzip/tinker system.  For instance, if a high-quality package
is written that is licensed under the GNU license, it cannot be
distributed through pear.php.net or pecl.php.net.  Now, it is possible
to set up a channel like the hypothetical "pear.example.com" and
distribute it that way.  The user can then install this package just
like any other with:

$ pear install pear.example.com/Packagename

Better yet, developers can depend on this package in their own packages,
removing the need to bundle dependencies.  Critical security fixes for
dependencies can be quickly updated without requiring a release for the
main application.

For PHP extensions written in C/C++, the new "pecl" command provides a
more robust way to install and upgrade PECL packages.  In addition, for
PECL developers, several enhancements to the way dependencies work allow
the PEAR installer to properly detect a PECL extension regardless of
whether it was built into PHP, a shared module, or installed via the
"pecl" command.

All of these new features come with additional stability, thanks to the
use of over 650 .phpt-based regression tests.  In the development of
PEAR 1.4.0, several low-level design flaws were uncovered in PEAR 1.3.6
and earlier that have all been fixed in version 1.4.0.  All new features
have been rigorously tested both through regression tests and in the
wild with an extensive alpha- and beta-testing period that covered
nearly a year.

The PEAR installer now has far greater application support.  The
addition of post-installation scripts allows standardized customization
of packages.  Custom file roles and file tasks allow granular
configuration of packages at the file level.  In addition, distribution
of large applications can be simplified with the new "bundle" package
type.  Bundles allow distributing a package and all of its dependencies
in a single file.

PEAR (http://pear.php.net) is the official code repository of the PHP
project (http://www.php.net).  In addition to providing the PEAR
installer, PEAR provides high-quality object-oriented libraries through
pear.php.net, and PHP extensions through pecl.php.net.


-- 
Max Schwanekamp
http://www.neptunewebworks.com/



More information about the thelist mailing list