PEAR logo

PEAR_PackageFileManager : The Definitive Guide



Chapter 10. Maintaining dependencies list

Table of Contents

Add a new dependency to PHP and PEAR installer version
PHP version dependencies
PEAR installer dependencies
Add a new dependency to another package
With package.xml 1.0, channel-based like
With package.xml 2.0, channel-based
With package.xml 2.0, uri-based
Add a new dependency to a php extension
With package.xml 1.0
With package.xml 2.0
Operating System dependency
Architecture dependency

This lesson :

Add a new dependency to PHP and PEAR installer version

PHP and PEAR installer dependencies are required in all package.xml with at least the minimum version property set.

PHP version dependencies

PHP versioning requires at least the minimum version to install this package.xml Its made by setPhpDep() method.

In table below, consider we have each time $p2 produced by code :

  1. <?php
  2. require_once 'PEAR/PackageFileManager2.php';
  3.  
  4. PEAR::setErrorHandling(PEAR_ERROR_DIE);
  5.  
  6. $p2 = new PEAR_PackageFileManager2();
  7. ?>

Table 10.1. setting PHP versions dependencies

PHP code XML equivalent
           
$p2->setPhpDep('4.2.0');
           
          
           
 <dependencies>
  <required>
   <php>
    <min>4.2.0</min>
   </php>
  </required>
 </dependencies>
           
          
           
$p2->setPhpDep('4.2.0', '5.0.0');
           
          
           
 <dependencies>
  <required>
   <php>
    <min>4.2.0</min>
    <max>5.0.0</max>
   </php>
  </required>
 </dependencies>
           
          
           
$p2->setPhpDep('4.2.0', '5.0.0', array('5.0.0'));
           
          
           
 <dependencies>
  <required>
   <php>
    <min>4.2.0</min>
    <max>5.0.0</max>
    <exclude>5.0.0</exclude>
   </php>
  </required>
 </dependencies>
           
          
           
$p2->setPhpDep('4.2.0', '5.1.0', array('5.0.0', '5.0.1'));
           
          
           
 <dependencies>
  <required>
   <php>
    <min>4.2.0</min>
    <max>5.1.0</max>
    <exclude>5.0.0</exclude>
    <exclude>5.0.1</exclude>
   </php>
  </required>
 </dependencies>
           
          

PEAR installer dependencies

PEAR installer versioning requires at least the minimum version of PEAR that can properly parse and install the package.xml containing it. Its made by setPearinstallerDep() method.

In table below, consider we have each time $p2 produced by code :

  1. <?php
  2. require_once 'PEAR/PackageFileManager2.php';
  3.  
  4. PEAR::setErrorHandling(PEAR_ERROR_DIE);
  5.  
  6. $p2 = new PEAR_PackageFileManager2();
  7. ?>

Table 10.2. setting PEAR installer dependencies

PHP code XML equivalent
           
$p2->setPearinstallerDep('1.4.3');
           
          
           
 <dependencies>
  <required>
   <pearinstaller>
    <min>1.4.3</min>
   </pearinstaller>
  </required>
 </dependencies>
           
          
           
$p2->setPearinstallerDep('1.4.3', '1.4.11');
           
          
           
 <dependencies>
  <required>
   <pearinstaller>
    <min>1.4.3</min>
    <max>1.4.11</max>
   </pearinstaller>
  </required>
 </dependencies>
           
          
           
$p2->setPearinstallerDep('1.4.0', false, '1.4.3');
           
          
           
 <dependencies>
  <required>
   <pearinstaller>
    <min>1.4.0</min>
    <recommended>1.4.3</recommended>
   </pearinstaller>
  </required>
 </dependencies>
           
          
           
$p2->setPearinstallerDep('1.4.0', false, false,
    array('1.4.1', '1.4.2'));
           
          
           
 <dependencies>
  <required>
   <pearinstaller>
    <min>1.4.0</min>
    <exclude>1.4.1</exclude>
    <exclude>1.4.2</exclude>
   </pearinstaller>
  </required>
 </dependencies>
           
          
PEAR_PackageFileManager : The Definitive Guide v 1.6.0 : November 17, 2006