![]() PEAR_PackageFileManager : The Definitive Guide |
Defines where source files resides with option directive packagedirectory
Defines where source files should be installed (on PEAR infrastructure) with option directive baseinstalldir
Defines a name for your package, with a summary, and a long description.
Defines a release version number with a state under term of a license. API info are only available for package.xml 2.0, and package.xml 1.0 accept only a license name (without URI).
Defines at least one leader for the package maintainers list.
package.xml
2.0 dependencies
require at least definition of PHP and PEAR installer minimum
version to use, while dependencies are optional for package.xml
1.0
Gets a fresh package files list depending of plugin used. See option directive filelistgenerator
Table 7.1. First package/release with package.xml 1.0 and package.xml 2.0
1.0 | 2.0 equivalent |
---|---|
require_once 'PEAR/PackageFileManager.php'; PEAR::setErrorHandling(PEAR_ERROR_DIE); $p1 = new PEAR_PackageFileManager(); |
require_once 'PEAR/PackageFileManager2.php'; PEAR::setErrorHandling(PEAR_ERROR_DIE); $p2 = new PEAR_PackageFileManager2(); |
$p1->setOptions(array( 'packagedirectory' => 'C:\php\pear\MDB2', 'baseinstalldir' => '/' )); |
$p2->setOptions(array( 'packagedirectory' => 'C:\php\pear\MDB2', 'baseinstalldir' => '/' )); |
$name = 'MDB2'; $summary = 'database abstraction layer'; $description = 'PEAR MDB2 is a merge of the PEAR DB ...'; $p1->setOptions(array( 'package' => $name, 'summary' => $summary, 'description' => $description, //... )); |
$name = 'MDB2'; $summary = 'database abstraction layer'; $description = 'PEAR MDB2 is a merge of the PEAR DB ...'; $p2->setPackage($name); $p2->setSummary($summary); $p2->setDescription($description); |
$release_notes = 'open TODO list ...'; $release_state = 'beta'; $release_version = '2.3.0'; $license = array( 'BSD License', 'http://www.opensource.org/licenses/bsd-license.php' ); $p1->setOptions(array( 'state' => $release_state, 'version' => $release_version, 'notes' => $release_notes, 'license' => $license[0], //... )); |
$release_notes = 'open TODO list ...'; $release_state = 'beta'; $release_version = '2.3.0'; $api_state = 'stable'; $api_version = '2.0.0'; $license = array( 'BSD License', 'http://www.opensource.org/licenses/bsd-license.php' ); $p2->setReleaseVersion($release_version); $p2->setReleaseStability($release_state); $p2->setAPIVersion($api_version); $p2->setAPIStability($api_state); $p2->setNotes($release_notes); $p2->setLicense($license[0], $license[1]); |
$p1->addMaintainer('lsmith', 'lead', 'Lukas Kahwe Smith', 'smith@pooteeweet.org'); |
$p2->addMaintainer('lead', 'lsmith', 'Lukas Kahwe Smith', 'smith@pooteeweet.org'); |
// No need to define PHP and PEAR dependency |
$p2->setPhpDep('4.2.0'); $p2->setPearinstallerDep('1.4.3'); |
// No need to ask for file list contents generation |
$p2->generateContents(); |
![]() |
Warning |
---|---|
Role and Handle parameter order of Maintainer are swapped between
package.xml version 1.0 and 2.0
|
PEAR_PackageFileManager : The Definitive Guide | v 1.6.0 : November 17, 2006 |