A quick and dirty guide to version 2.0 of the package definition file package.xml (original) (raw)
The package definition file package.xml
is, as the name already implies, a well-formed XML file that contains all information about a PEAR package. Version 2.0 contains several important enhancements over version 1.0, including
- Channel support
- Binary PECL packages support (not fully implemented in PEAR 1.4.0)
- More specific dependency resolution
For those of you with an existing package.xml version 1.0, you can create an approximate equivalent package using the
**`**
$ pear convert `
command. Note that as of version 1.6.0,PEAR_PackageFileManager supports package.xml 2.0 with the PEAR_PackageFileManager2 class.
PECL developers: for more information on pecl-specific features,read here.
package.xml
version 2.0 is supported from PEAR 1.4 on. As of 2007-04, PEAR 1.4 or greater is used in more than 99.8% of all installations in the wild that downloaded packages - there is no need to support v1.0 for backwards compatibility anymore.
An example file with all elements
PEAR
pear.php.net
OldPackage
Greg Beaver cellog cellog@php.net yes 2005-02-26 <-- note:
1.4.0a2 1.4.0
alpha alpha
PHP" title="undefined" rel="noopener noreferrer">http://www.php.net/license/">PHP License Put release notes here. They can be multi-line
<tasks:replace from="@bin_dir@" to="bin_dir" type="pear-config" />
<tasks:replace from="@php_bin@" to="php_bin" type="pear-config" /> <tasks:replace from="@include_path@" to="php_dir" type="pear-config" />
FooPackage pear.php.net 1.3.0 1.5.0
4.2 6.0.0
1.4.0dev13
Archive_Tar pear.php.net 1.1 1.2
Foo http://www.example.com/Foo-1.2.0.tgz
xml
windows
-i?86--*
PEAR_Frontend_Web pear.php.net 0.5.0 PEAR_Frontend_Gtk pear.php.net 0.4.0 Net_FTP pear.php.net 1.3.0RC1 1.3.0 PEAR_Frontend_Web pear.php.net 0.5.0 PEAR_Frontend_Gtk pear.php.net 0.4.0foo Foo pear.example.com
footask Footask pear.example.com
windows 1.3.5 1.3.0 stable stable 2005-02-26 PHP License * fix Bug #3505: pecl can't install PDO * enhance pear run-tests dramatically * fix Bug #3506: pear install should export the pear version into the environment 1.4.0a1 1.4.0 alpha alpha 2005-02-26 PHP License This is a major milestone release for PEAR. In addition to several killer features, every single element of PEAR has a regression test, and so stability is much higher than any previous PEAR release, even with the alpha label.New features in a nutshell:
- full support for channels
- pre-download dependency validation
- new package.xml 2.0 format allows tremendous flexibility while maintaining BC
- support for optional dependency groups and limited support for sub-packaging
- robust dependency support
- full dependency validation on uninstall
- support for binary PECL packages
- remote install for hosts with only ftp access - no more problems with restricted host installation
- full support for mirroring
- support for bundling several packages into a single tarball
- support for static dependencies on a url-based package
Specific changes from 1.3.5:
- Implement request #1789: SSL support for xml-rpc and download
- Everything above here that you just read