/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Script.xml |
---|
New file |
0,0 → 1,15 |
<role version="1.0"> |
<releasetypes>php</releasetypes> |
<releasetypes>extsrc</releasetypes> |
<releasetypes>extbin</releasetypes> |
<releasetypes>zendextsrc</releasetypes> |
<releasetypes>zendextbin</releasetypes> |
<installable>1</installable> |
<locationconfig>bin_dir</locationconfig> |
<honorsbaseinstall>1</honorsbaseinstall> |
<unusualbaseinstall /> |
<phpfile /> |
<executable>1</executable> |
<phpextension /> |
<config_vars /> |
</role> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Doc.xml |
---|
New file |
0,0 → 1,15 |
<role version="1.0"> |
<releasetypes>php</releasetypes> |
<releasetypes>extsrc</releasetypes> |
<releasetypes>extbin</releasetypes> |
<releasetypes>zendextsrc</releasetypes> |
<releasetypes>zendextbin</releasetypes> |
<installable>1</installable> |
<locationconfig>doc_dir</locationconfig> |
<honorsbaseinstall /> |
<unusualbaseinstall /> |
<phpfile /> |
<executable /> |
<phpextension /> |
<config_vars /> |
</role> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Test.php |
---|
New file |
0,0 → 1,34 |
<?php |
/** |
* PEAR_Installer_Role_Test |
* |
* PHP versions 4 and 5 |
* |
* LICENSE: This source file is subject to version 3.0 of the PHP license |
* that is available through the world-wide-web at the following URI: |
* http://www.php.net/license/3_0.txt. If you did not receive a copy of |
* the PHP License and are unable to obtain it through the web, please |
* send a note to license@php.net so we can mail you a copy immediately. |
* |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version CVS: $Id: Test.php,v 1.6 2006/01/06 04:47:37 cellog Exp $ |
* @link http://pear.php.net/package/PEAR |
* @since File available since Release 1.4.0a1 |
*/ |
/** |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version Release: 1.5.1 |
* @link http://pear.php.net/package/PEAR |
* @since Class available since Release 1.4.0a1 |
*/ |
class PEAR_Installer_Role_Test extends PEAR_Installer_Role_Common {} |
?> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Ext.php |
---|
New file |
0,0 → 1,34 |
<?php |
/** |
* PEAR_Installer_Role_Ext |
* |
* PHP versions 4 and 5 |
* |
* LICENSE: This source file is subject to version 3.0 of the PHP license |
* that is available through the world-wide-web at the following URI: |
* http://www.php.net/license/3_0.txt. If you did not receive a copy of |
* the PHP License and are unable to obtain it through the web, please |
* send a note to license@php.net so we can mail you a copy immediately. |
* |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version CVS: $Id: Ext.php,v 1.6 2006/01/06 04:47:37 cellog Exp $ |
* @link http://pear.php.net/package/PEAR |
* @since File available since Release 1.4.0a1 |
*/ |
/** |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version Release: 1.5.1 |
* @link http://pear.php.net/package/PEAR |
* @since Class available since Release 1.4.0a1 |
*/ |
class PEAR_Installer_Role_Ext extends PEAR_Installer_Role_Common {} |
?> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Php.xml |
---|
New file |
0,0 → 1,15 |
<role version="1.0"> |
<releasetypes>php</releasetypes> |
<releasetypes>extsrc</releasetypes> |
<releasetypes>extbin</releasetypes> |
<releasetypes>zendextsrc</releasetypes> |
<releasetypes>zendextbin</releasetypes> |
<installable>1</installable> |
<locationconfig>php_dir</locationconfig> |
<honorsbaseinstall>1</honorsbaseinstall> |
<unusualbaseinstall /> |
<phpfile>1</phpfile> |
<executable /> |
<phpextension /> |
<config_vars /> |
</role> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Src.xml |
---|
New file |
0,0 → 1,12 |
<role version="1.0"> |
<releasetypes>extsrc</releasetypes> |
<releasetypes>zendextsrc</releasetypes> |
<installable /> |
<locationconfig /> |
<honorsbaseinstall /> |
<unusualbaseinstall /> |
<phpfile /> |
<executable /> |
<phpextension /> |
<config_vars /> |
</role> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Data.xml |
---|
New file |
0,0 → 1,15 |
<role version="1.0"> |
<releasetypes>php</releasetypes> |
<releasetypes>extsrc</releasetypes> |
<releasetypes>extbin</releasetypes> |
<releasetypes>zendextsrc</releasetypes> |
<releasetypes>zendextbin</releasetypes> |
<installable>1</installable> |
<locationconfig>data_dir</locationconfig> |
<honorsbaseinstall /> |
<unusualbaseinstall /> |
<phpfile /> |
<executable /> |
<phpextension /> |
<config_vars /> |
</role> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Script.php |
---|
New file |
0,0 → 1,34 |
<?php |
/** |
* PEAR_Installer_Role_Script |
* |
* PHP versions 4 and 5 |
* |
* LICENSE: This source file is subject to version 3.0 of the PHP license |
* that is available through the world-wide-web at the following URI: |
* http://www.php.net/license/3_0.txt. If you did not receive a copy of |
* the PHP License and are unable to obtain it through the web, please |
* send a note to license@php.net so we can mail you a copy immediately. |
* |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version CVS: $Id: Script.php,v 1.6 2006/01/06 04:47:37 cellog Exp $ |
* @link http://pear.php.net/package/PEAR |
* @since File available since Release 1.4.0a1 |
*/ |
/** |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version Release: 1.5.1 |
* @link http://pear.php.net/package/PEAR |
* @since Class available since Release 1.4.0a1 |
*/ |
class PEAR_Installer_Role_Script extends PEAR_Installer_Role_Common {} |
?> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Doc.php |
---|
New file |
0,0 → 1,34 |
<?php |
/** |
* PEAR_Installer_Role_Doc |
* |
* PHP versions 4 and 5 |
* |
* LICENSE: This source file is subject to version 3.0 of the PHP license |
* that is available through the world-wide-web at the following URI: |
* http://www.php.net/license/3_0.txt. If you did not receive a copy of |
* the PHP License and are unable to obtain it through the web, please |
* send a note to license@php.net so we can mail you a copy immediately. |
* |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version CVS: $Id: Doc.php,v 1.6 2006/01/06 04:47:37 cellog Exp $ |
* @link http://pear.php.net/package/PEAR |
* @since File available since Release 1.4.0a1 |
*/ |
/** |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version Release: 1.5.1 |
* @link http://pear.php.net/package/PEAR |
* @since Class available since Release 1.4.0a1 |
*/ |
class PEAR_Installer_Role_Doc extends PEAR_Installer_Role_Common {} |
?> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Php.php |
---|
New file |
0,0 → 1,34 |
<?php |
/** |
* PEAR_Installer_Role_Php |
* |
* PHP versions 4 and 5 |
* |
* LICENSE: This source file is subject to version 3.0 of the PHP license |
* that is available through the world-wide-web at the following URI: |
* http://www.php.net/license/3_0.txt. If you did not receive a copy of |
* the PHP License and are unable to obtain it through the web, please |
* send a note to license@php.net so we can mail you a copy immediately. |
* |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version CVS: $Id: Php.php,v 1.7 2006/01/06 04:47:37 cellog Exp $ |
* @link http://pear.php.net/package/PEAR |
* @since File available since Release 1.4.0a1 |
*/ |
/** |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version Release: 1.5.1 |
* @link http://pear.php.net/package/PEAR |
* @since Class available since Release 1.4.0a1 |
*/ |
class PEAR_Installer_Role_Php extends PEAR_Installer_Role_Common {} |
?> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Src.php |
---|
New file |
0,0 → 1,40 |
<?php |
/** |
* PEAR_Installer_Role_Src |
* |
* PHP versions 4 and 5 |
* |
* LICENSE: This source file is subject to version 3.0 of the PHP license |
* that is available through the world-wide-web at the following URI: |
* http://www.php.net/license/3_0.txt. If you did not receive a copy of |
* the PHP License and are unable to obtain it through the web, please |
* send a note to license@php.net so we can mail you a copy immediately. |
* |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version CVS: $Id: Src.php,v 1.6 2006/01/06 04:47:37 cellog Exp $ |
* @link http://pear.php.net/package/PEAR |
* @since File available since Release 1.4.0a1 |
*/ |
/** |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version Release: 1.5.1 |
* @link http://pear.php.net/package/PEAR |
* @since Class available since Release 1.4.0a1 |
*/ |
class PEAR_Installer_Role_Src extends PEAR_Installer_Role_Common |
{ |
function setup(&$installer, $pkg, $atts, $file) |
{ |
$installer->source_files++; |
} |
} |
?> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Common.php |
---|
New file |
0,0 → 1,180 |
<?php |
/** |
* Base class for all installation roles. |
* |
* PHP versions 4 and 5 |
* |
* LICENSE: This source file is subject to version 3.0 of the PHP license |
* that is available through the world-wide-web at the following URI: |
* http://www.php.net/license/3_0.txt. If you did not receive a copy of |
* the PHP License and are unable to obtain it through the web, please |
* send a note to license@php.net so we can mail you a copy immediately. |
* |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version CVS: $Id: Common.php,v 1.12 2006/10/19 23:55:32 cellog Exp $ |
* @link http://pear.php.net/package/PEAR |
* @since File available since Release 1.4.0a1 |
*/ |
/** |
* Base class for all installation roles. |
* |
* This class allows extensibility of file roles. Packages with complex |
* customization can now provide custom file roles along with the possibility of |
* adding configuration values to match. |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version Release: 1.5.1 |
* @link http://pear.php.net/package/PEAR |
* @since Class available since Release 1.4.0a1 |
*/ |
class PEAR_Installer_Role_Common |
{ |
/** |
* @var PEAR_Config |
* @access protected |
*/ |
var $config; |
/** |
* @param PEAR_Config |
*/ |
function PEAR_Installer_Role_Common(&$config) |
{ |
$this->config = $config; |
} |
/** |
* Retrieve configuration information about a file role from its XML info |
* |
* @param string $role Role Classname, as in "PEAR_Installer_Role_Data" |
* @return array |
*/ |
function getInfo($role) |
{ |
if (empty($GLOBALS['_PEAR_INSTALLER_ROLES'][$role])) { |
return PEAR::raiseError('Unknown Role class: "' . $role . '"'); |
} |
return $GLOBALS['_PEAR_INSTALLER_ROLES'][$role]; |
} |
/** |
* This is called for each file to set up the directories and files |
* @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 |
* @param array attributes from the <file> tag |
* @param string file name |
* @return array an array consisting of: |
* |
* 1 the original, pre-baseinstalldir installation directory |
* 2 the final installation directory |
* 3 the full path to the final location of the file |
* 4 the location of the pre-installation file |
*/ |
function processInstallation($pkg, $atts, $file, $tmp_path, $layer = null) |
{ |
$roleInfo = PEAR_Installer_Role_Common::getInfo('PEAR_Installer_Role_' . |
ucfirst(str_replace('pear_installer_role_', '', strtolower(get_class($this))))); |
if (PEAR::isError($roleInfo)) { |
return $roleInfo; |
} |
if (!$roleInfo['locationconfig']) { |
return false; |
} |
if ($roleInfo['honorsbaseinstall']) { |
$dest_dir = $save_destdir = $this->config->get($roleInfo['locationconfig'], $layer, |
$pkg->getChannel()); |
if (!empty($atts['baseinstalldir'])) { |
$dest_dir .= DIRECTORY_SEPARATOR . $atts['baseinstalldir']; |
} |
} elseif ($roleInfo['unusualbaseinstall']) { |
$dest_dir = $save_destdir = $this->config->get($roleInfo['locationconfig'], |
$layer, $pkg->getChannel()) . DIRECTORY_SEPARATOR . $pkg->getPackage(); |
if (!empty($atts['baseinstalldir'])) { |
$dest_dir .= DIRECTORY_SEPARATOR . $atts['baseinstalldir']; |
} |
} else { |
$dest_dir = $save_destdir = $this->config->get($roleInfo['locationconfig'], |
$layer, $pkg->getChannel()) . DIRECTORY_SEPARATOR . $pkg->getPackage(); |
} |
if (dirname($file) != '.' && empty($atts['install-as'])) { |
$dest_dir .= DIRECTORY_SEPARATOR . dirname($file); |
} |
if (empty($atts['install-as'])) { |
$dest_file = $dest_dir . DIRECTORY_SEPARATOR . basename($file); |
} else { |
$dest_file = $dest_dir . DIRECTORY_SEPARATOR . $atts['install-as']; |
} |
$orig_file = $tmp_path . DIRECTORY_SEPARATOR . $file; |
// Clean up the DIRECTORY_SEPARATOR mess |
$ds2 = DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR; |
list($dest_dir, $dest_file, $orig_file) = preg_replace(array('!\\\\+!', '!/!', "!$ds2+!"), |
array(DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR, |
DIRECTORY_SEPARATOR), |
array($dest_dir, $dest_file, $orig_file)); |
return array($save_destdir, $dest_dir, $dest_file, $orig_file); |
} |
/** |
* Get the name of the configuration variable that specifies the location of this file |
* @return string|false |
*/ |
function getLocationConfig() |
{ |
$roleInfo = PEAR_Installer_Role_Common::getInfo('PEAR_Installer_Role_' . |
ucfirst(str_replace('pear_installer_role_', '', strtolower(get_class($this))))); |
if (PEAR::isError($roleInfo)) { |
return $roleInfo; |
} |
return $roleInfo['locationconfig']; |
} |
/** |
* Do any unusual setup here |
* @param PEAR_Installer |
* @param PEAR_PackageFile_v2 |
* @param array file attributes |
* @param string file name |
*/ |
function setup(&$installer, $pkg, $atts, $file) |
{ |
} |
function isExecutable() |
{ |
$roleInfo = PEAR_Installer_Role_Common::getInfo('PEAR_Installer_Role_' . |
ucfirst(str_replace('pear_installer_role_', '', strtolower(get_class($this))))); |
if (PEAR::isError($roleInfo)) { |
return $roleInfo; |
} |
return $roleInfo['executable']; |
} |
function isInstallable() |
{ |
$roleInfo = PEAR_Installer_Role_Common::getInfo('PEAR_Installer_Role_' . |
ucfirst(str_replace('pear_installer_role_', '', strtolower(get_class($this))))); |
if (PEAR::isError($roleInfo)) { |
return $roleInfo; |
} |
return $roleInfo['installable']; |
} |
function isExtension() |
{ |
$roleInfo = PEAR_Installer_Role_Common::getInfo('PEAR_Installer_Role_' . |
ucfirst(str_replace('pear_installer_role_', '', strtolower(get_class($this))))); |
if (PEAR::isError($roleInfo)) { |
return $roleInfo; |
} |
return $roleInfo['phpextension']; |
} |
} |
?> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Test.xml |
---|
New file |
0,0 → 1,15 |
<role version="1.0"> |
<releasetypes>php</releasetypes> |
<releasetypes>extsrc</releasetypes> |
<releasetypes>extbin</releasetypes> |
<releasetypes>zendextsrc</releasetypes> |
<releasetypes>zendextbin</releasetypes> |
<installable>1</installable> |
<locationconfig>test_dir</locationconfig> |
<honorsbaseinstall /> |
<unusualbaseinstall /> |
<phpfile /> |
<executable /> |
<phpextension /> |
<config_vars /> |
</role> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Data.php |
---|
New file |
0,0 → 1,34 |
<?php |
/** |
* PEAR_Installer_Role_Data |
* |
* PHP versions 4 and 5 |
* |
* LICENSE: This source file is subject to version 3.0 of the PHP license |
* that is available through the world-wide-web at the following URI: |
* http://www.php.net/license/3_0.txt. If you did not receive a copy of |
* the PHP License and are unable to obtain it through the web, please |
* send a note to license@php.net so we can mail you a copy immediately. |
* |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version CVS: $Id: Data.php,v 1.6 2006/01/06 04:47:37 cellog Exp $ |
* @link http://pear.php.net/package/PEAR |
* @since File available since Release 1.4.0a1 |
*/ |
/** |
* @category pear |
* @package PEAR |
* @author Greg Beaver <cellog@php.net> |
* @copyright 1997-2006 The PHP Group |
* @license http://www.php.net/license/3_0.txt PHP License 3.0 |
* @version Release: 1.5.1 |
* @link http://pear.php.net/package/PEAR |
* @since Class available since Release 1.4.0a1 |
*/ |
class PEAR_Installer_Role_Data extends PEAR_Installer_Role_Common {} |
?> |
/branches/v1.2-democrite/bibliotheque/pear/PEAR/Installer/Role/Ext.xml |
---|
New file |
0,0 → 1,12 |
<role version="1.0"> |
<releasetypes>extbin</releasetypes> |
<releasetypes>zendextbin</releasetypes> |
<installable>1</installable> |
<locationconfig>ext_dir</locationconfig> |
<honorsbaseinstall>1</honorsbaseinstall> |
<unusualbaseinstall /> |
<phpfile /> |
<executable /> |
<phpextension>1</phpextension> |
<config_vars /> |
</role> |