Re: Re: New pear command

From: Date: Fri, 25 Apr 2003 14:39:54 +0000
Subject: Re: Re: New pear command
References: 1 2  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-15520@lists.php.net to get a copy of this message
+1 El Vie 25 Abr 2003 06:12, Davey escribió: > Well, I'd welcome this... but can you imagine if PEAR get to any large > size, the amount of packages being installed will be overwhelming. > > I don't think theres any harm in this command, I could do with it > myself, as a web-host it's a PITA having to install 1 by 1 just cause a > hostee might want one. > > Overall +1 - but you will need to add dependency checking and such > rather than just installing them in alphabetical order, otherwise only > half will be installed first time. You'd need to run it twice. > > I'm looking to write a with-deps flag for install/upgrade soon, so that > it'll find out and install all dependencies needed when trying to > install the specified package, perhaps we could collaborate? ++1 > - Davey > > Alexander Merz wrote: > > I attached a class implementing a "download-all" command for the PEAR > > Package Manager. > > For testing copy the file to <php_dir>/PEAR/Command/ and call > > pear download-all > > > > It downloads all avaible Packages from the server into the current > > working directory. If enough +1, i will commit it to cvs. > > > > > > ------------------------------------------------------------------------ > > > > <?php > > // > > // > > +----------------------------------------------------------------------+ > > // | PHP Version 4 > > | // > > +----------------------------------------------------------------------+ > > // | Copyright (c) 1997-2003 The PHP Group > > | // > > +----------------------------------------------------------------------+ > > // | This source file is subject to version 2.02 of the PHP license, > > | // | that is bundled with this package in the file LICENSE, and is > > | // | available at through the world-wide-web at > > | // | http://www.php.net/license/2_02.txt. > > > > | // | If you did not receive a copy of the PHP license and are > > unable to | // | obtain it through the world-wide-web, please send a > > note to | // | license@php.net so we can mail you a copy > > immediately. | // > > +----------------------------------------------------------------------+ > > // | Author: Alexander Merz <alexmerz@php.net> > > | // | > > | // > > +----------------------------------------------------------------------+ > > // > > // $Id: Build.php,v 1.5 2002/12/31 16:18:27 sebastian Exp $ > > > > require_once "PEAR/Command/Common.php"; > > require_once "PEAR/Command.php"; > > require_once "PEAR/Remote.php"; > > require_once "PEAR.php"; > > > > /** > > * PEAR commands for providing file mirrors > > * > > */ > > class PEAR_Command_Mirror extends PEAR_Command_Common > > { > > // {{{ properties > > > > var $commands = array( > > 'download-all' => array( > > 'summary' => 'Downloads avaible Releases from > > Package-Server', 'function' => 'doDownloadAll', > > 'shortcut' => 'da', > > 'options' => array(), > > 'doc' => ' > > Request a list of avaible Packages from the Package-Server > > (master-server) and downloads them to current working dir' > > ), > > ); > > > > // }}} > > > > // {{{ constructor > > > > /** > > * PEAR_Command_Mirror constructor. > > * > > * @access public > > * @param object PEAR_Frontend a reference to an frontend > > * @param object PEAR_Config a reference to the configuration data > > */ > > function PEAR_Command_Mirror(&$ui, &$config) > > { > > parent::PEAR_Command_Common($ui, $config); > > } > > > > // }}} > > > > // {{{ doDownloadAll() > > /** > > * do the download > > * > > * @access public > > * @param string $command the command > > * @param array $options the command options before the command > > * @param array $params the stuff after the command name > > * @return bool true if succesful > > * @throw PEAR_Error > > */ > > function doDownloadAll($command, $options, $params) > > { > > $this->config->set("php_dir", "."); > > $remote = &new PEAR_Remote($this->config); > > $remoteInfo = $remote->call("package.listAll"); > > if(PEAR::isError($remoteInfo)) { > > return $remoteInfo; > > } > > $cmd = &PEAR_Command::factory("download", $this->config); > > if(PEAR::isError($cmd)) { > > return $cmd; > > } > > foreach($remoteInfo as $pkgn=>$pkg) { > > // error handling not neccesary, because > > // already done by the download command > > $cmd->run("download", array(), array($pkgn)); > > } > > > > return true; > > } > > > > // }}} > > }

« previous php.pear.dev (#15520) next »