summaryrefslogtreecommitdiff
path: root/apt-private/private-upgrade.cc
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2013-08-27 08:50:06 +0200
committerMichael Vogt <mvo@debian.org>2013-08-27 08:50:06 +0200
commitd8a8f9d7f01c75a7bbad7a488bf359a94291d1de (patch)
tree3ea935f0c9c442b0713128cd9cdf2209cfc2736d /apt-private/private-upgrade.cc
parentbe0270de5f676152e9315d858a2d68b1a61cc37c (diff)
allow pkg manipulation in the upgrade/dist-upgrade commandline, e.g. apt-get dist-upgrade 2vcard- 4g8+
Diffstat (limited to 'apt-private/private-upgrade.cc')
-rw-r--r--apt-private/private-upgrade.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/apt-private/private-upgrade.cc b/apt-private/private-upgrade.cc
index eb546e3e3..09085c2db 100644
--- a/apt-private/private-upgrade.cc
+++ b/apt-private/private-upgrade.cc
@@ -13,9 +13,6 @@
packages */
bool DoUpgradeNoNewPackages(CommandLine &CmdL)
{
- if (CmdL.FileSize() != 1)
- return _error->Error(_("The upgrade command takes no arguments"));
-
CacheFile Cache;
if (Cache.OpenForInstall() == false || Cache.CheckDeps() == false)
return false;
@@ -26,6 +23,10 @@ bool DoUpgradeNoNewPackages(CommandLine &CmdL)
ShowBroken(c1out,Cache,false);
return _error->Error(_("Internal error, AllUpgrade broke stuff"));
}
+
+ // parse additional cmdline pkg manipulation switches
+ if(!DoCacheManipulationFromCommandLine(CmdL, Cache))
+ return false;
return InstallPackages(Cache,true);
}
@@ -34,9 +35,6 @@ bool DoUpgradeNoNewPackages(CommandLine &CmdL)
// DoSafeUpgrade - Upgrade all packages with install but not remove /*{{{*/
bool DoUpgradeWithAllowNewPackages(CommandLine &CmdL)
{
- if (CmdL.FileSize() != 1)
- return _error->Error(_("The upgrade command takes no arguments"));
-
CacheFile Cache;
if (Cache.OpenForInstall() == false || Cache.CheckDeps() == false)
return false;
@@ -47,6 +45,10 @@ bool DoUpgradeWithAllowNewPackages(CommandLine &CmdL)
ShowBroken(c1out,Cache,false);
return _error->Error(_("Internal error, AllUpgrade broke stuff"));
}
+
+ // parse additional cmdline pkg manipulation switches
+ if(!DoCacheManipulationFromCommandLine(CmdL, Cache))
+ return false;
return InstallPackages(Cache,true);
}