if (empty($this->installer)) {
$this->installer = &new PEAR_Installer($this->ui);
}
+ if (sizeof($params) < 1) {
+ return $this->raiseError("Please supply the package(s) you want to uninstall");
+ }
foreach ($params as $pkg) {
if ($this->installer->uninstall($pkg, $options)) {
if ($this->config->get('verbose') > 0) {
- $this->ui->outputData("uninstall ok", $command);
+ $this->ui->outputData("uninstall $pkg ok", $command);
}
} else {
- return $this->raiseError("uninstall failed");
+ return $this->raiseError("uninstall $pkg failed");
}
}
return true;
// "pear shell-test Foo 1.0"
} elseif (sizeof($params) == 2) {
$v = $reg->packageInfo($params[0], 'version');
- if (!$v || !version_compare($v, $params[1], "ge")) {
+ if (!$v || !version_compare("$v", "{$params[1]}", "ge")) {
exit(1);
}
// "pear shell-test Foo ge 1.0"
} elseif (sizeof($params) == 3) {
$v = $reg->packageInfo($params[0], 'version');
- if (!$v || !version_compare($v, $params[2], $params[1])) {
+ if (!$v || !version_compare("$v", "{$params[2]}", $params[1])) {
exit(1);
}
} else {
$info['installed'] = $installed['version'] ? $installed['version'] : '- no -';
$this->ui->outputData($info, $command);
-
+
return true;
}
continue;
if ($options['mode'] == 'notinstalled' && isset($installed['version']))
continue;
- if ($options['mode'] == 'upgrades'
+ if ($options['mode'] == 'upgrades'
&& (!isset($installed['version']) || $installed['version'] == $info['stable']))
{
continue;
}
extract($info);
$inst_version = $reg->packageInfo($package, 'version');
- if (version_compare($version, $inst_version, "le")) {
+ if (version_compare("$version", "$inst_version", "le")) {
// installed version is up-to-date
continue;
}
}
$data['data'][] = array($package, $version, $fs);
}
- $this->ui->outputData($data, $command);
+ if (empty($data['data'])) {
+ $this->ui->outputData('No upgrades avaible');
+ } else {
+ $this->ui->outputData($data, $command);
+ }
return true;
}
function validatePackageInfo($info, &$errors, &$warnings)
{
global $_PEAR_Common_maintainer_roles,
- $_PEAR_Common_release_states,
- $_PEAR_Common_dependency_types,
- $_PEAR_Common_dependency_relations,
- $_PEAR_Common_file_roles,
- $_PEAR_Common_replacement_types;
+ $_PEAR_Common_release_states,
+ $_PEAR_Common_dependency_types,
+ $_PEAR_Common_dependency_relations,
+ $_PEAR_Common_file_roles,
+ $_PEAR_Common_replacement_types;
if (PEAR::isError($info = $this->infoFromAny($info))) {
return $this->raiseError($info);
}
$version = $matches[1];
$contents = substr($contents, strlen($matches[0]));
}
- if (version_compare($version, '1', '<')) {
+ if (version_compare("$version", '1', '<')) {
$data = unserialize($contents);
if (!is_array($data)) {
if (strlen(trim($contents)) > 0) {
}
extract($this->configuration_info[$key]);
switch ($type) {
- case 'integer':
+ case 'integer':
$value = (int)$value;
break;
case 'set': {
case 'gt':
$version = $this->registry->packageInfo($name, 'version');
if (!$this->registry->packageExists($name)
- || !version_compare($version, $req, $relation))
+ || !version_compare("$version", "$req", $relation))
{
return "requires package `$name' " .
$this->signOperator($relation) . " $req";
if (substr($relation, 0, 2) == 'v.') {
$ext_ver = phpversion($name);
$operator = substr($relation, 2);
- if (!version_compare($ext_ver, $req, $operator)) {
+ // Force params to be strings, otherwise the comparation will fail (ex. 0.9==0.90)
+ if (!version_compare("$ext_ver", "$req", $operator)) {
return "'$name' PHP extension version " .
$this->signOperator($operator) . " $req is required";
}
if (substr($relation, 0, 2) == 'v.') {
$php_ver = phpversion();
$operator = substr($relation, 2);
- if (!version_compare($php_ver, $req, $operator)) {
+ if (!version_compare("$php_ver", "$req", $operator)) {
return "PHP version " . $this->signOperator($operator) .
" $req is required";
}
$count = count($data['data'][0]);
if ($count == 2) {
$opts = array(0 => array('wrap' => 25),
- 1 => array('wrap' => 50)
+ 1 => array('wrap' => 48)
);
} elseif ($count == 3) {
$opts = array(0 => array('wrap' => 20),
}
$v1 = $this->registry->packageInfo($pkgname, 'version');
$v2 = $pkginfo['version'];
- $cmp = version_compare($v1, $v2, 'gt');
- if (empty($options['force']) && !version_compare($v2, $v1, 'gt')) {
+ $cmp = version_compare("$v1", "$v2", 'gt');
+ if (empty($options['force']) && !version_compare("$v2", "$v1", 'gt')) {
return $this->raiseError("upgrade to a newer version ($v2 is not newer than $v1)");
}
if (empty($options['register-only'])) {
// XXX (cox) Possible problem with changes in the way
// PEAR_Dependency::checkPackage() works
if ($relation != 'has') {
- if (!version_compare($new_version, $require, $relation)) {
+ if (!version_compare("$new_version", "$require", $relation)) {
$fails[] = $dep;
}
}