From: Tomas V.V.Cox Date: Tue, 22 May 2001 16:21:02 +0000 (+0000) Subject: - Added the following params support: X-Git-Tag: PRE_GRANULAR_GARBAGE_FIX~288 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a3d92b745a3236c7c113170c38ee2a1b595f6bce;p=php - Added the following params support: * -p set script install dir * -e set extension install dir * -d set documentation dest dir * -v set verbose level - Some error reporting clean up - Added the standar PHP copyright header and authors --- diff --git a/pear/scripts/pear.in b/pear/scripts/pear.in index 2cf5746969..b420a01e1d 100644 --- a/pear/scripts/pear.in +++ b/pear/scripts/pear.in @@ -1,38 +1,85 @@ #!@prefix@/bin/php -Cq | +// | Tomas V.V.Cox | +// +----------------------------------------------------------------------+ +// +require_once 'PEAR.php'; +require_once 'PEAR/Installer.php'; +require_once 'PEAR/Packager.php'; +require_once 'Console/Getopt.php'; -require_once "PEAR.php"; -require_once "PEAR/Installer.php"; -require_once "PEAR/Packager.php"; -require_once "Console/Getopt.php"; +error_reporting(E_ALL ^ E_NOTICE); -error_reporting(7); - -$stderr = fopen("php://stderr", "w"); - -PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, "usage"); - -$options = Console_Getopt::getopt($argv, "hv:?"); +$options = Console_Getopt::getopt($argv, "hv:?e:p:d:"); if (PEAR::isError($options)) { usage($options); } -PEAR::setErrorHandling(PEAR_ERROR_PRINT); +$opts = $options[0]; +foreach ($opts as $opt) { + $param = $opt[1]; + switch ($opt[0]) { + case 'v': + $verbose = $param; + break; + case 'e': + if ($param[0] != DIRECTORY_SEPARATOR) { + usage (new PEAR_Error("no absolute path (ej. /usr/lib/php)\n")); + } + $ext_dir = $param; + break; + case 'p': + if ($param[0] != DIRECTORY_SEPARATOR) { + usage (new PEAR_Error("no absolute path (ej. /usr/lib/php)\n")); + } + $script_dir = $param; + break; + case 'd': + if ($param[0] != DIRECTORY_SEPARATOR) { + usage (new PEAR_Error("no absolute path (ej. /usr/lib/php)\n")); + } + $doc_dir = $param; + break; + } +} +$verbose = (isset($verbose)) ? $verbose : 1; +$script_dir = (isset($script_dir)) ? $script_dir : PEAR_INSTALL_DIR; +$ext_dir = (isset($ext_dir)) ? $ext_dir : PEAR_EXTENSION_DIR; +$doc_dir = (isset($doc_dir)) ? $doc_dir : ''; + +PEAR::setErrorHandling(PEAR_ERROR_PRINT); $command = $options[1][1]; switch ($command) { - case "install": + case 'install': $package = $options[1][2]; - $installer =& new PEAR_Installer(); + $installer =& new PEAR_Installer($script_dir, $ext_dir, $doc_dir); + $installer->debug = $verbose; if (PEAR::isError($installer->Install($package))) { print "\ninstall failed\n"; } else { print "install ok\n"; } break; - case "package": + case 'package': $pkginfofile = $options[1][2]; - $packager =& new PEAR_Packager(); + $packager =& new PEAR_Packager($script_dir, $ext_dir, $doc_dir); + $packager->debug = $verbose; if (PEAR::isError($packager->Package($pkginfofile))) { print "\npackage failed\n"; } else { @@ -46,19 +93,23 @@ switch ($command) { function usage($obj = null) { - global $stderr; + $stderr = fopen('php://stderr', 'w'); if ($obj !== null) { fputs($stderr, $obj->getMessage()); } fputs($stderr, - "Usage: pear [-v n] [-h] command \n". + "Usage: pear [-v n] [-h] [-p ] [-e ] [-d ] command \n". "Options:\n". - " -v set verbosity level to (0-2, default 1)\n". - " -h display help/usage (this message)\n". + " -v set verbosity level to (0-2, default 1)\n". + " -p set script install dir (absolute path)\n". + " -e set extension install dir (absolute path)\n". + " -d set documentation dest dir (absolute path)\n". + " -h display help/usage (this message)\n". "Commands:\n". " install \n". " package [package info file]\n". "\n"); + fclose($stderr); exit; }