X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/7cf45682e5fcac541e495242bdc4885bbb8b2ef7..5803c1dcf0a6e590cfd98ca8ab11d5573652cb14:/apt-private/private-upgrade.cc diff --git a/apt-private/private-upgrade.cc b/apt-private/private-upgrade.cc index df8fe8686..31f067576 100644 --- a/apt-private/private-upgrade.cc +++ b/apt-private/private-upgrade.cc @@ -1,10 +1,18 @@ // Includes /*{{{*/ -#include +#include + +#include +#include +#include + +#include +#include +#include +#include + #include -#include "private-install.h" -#include "private-cachefile.h" -#include "private-upgrade.h" -#include "private-output.h" + +#include /*}}}*/ // this is actually performing the various upgrade operations @@ -15,18 +23,10 @@ static bool UpgradeHelper(CommandLine &CmdL, int UpgradeFlags) return false; c0out << _("Calculating upgrade... ") << std::flush; - if (APT::Upgrade::Upgrade(Cache, UpgradeFlags) == false) - { - c0out << _("Failed") << std::endl; - ShowBroken(c1out,Cache,false); - return _error->Error(_("Internal error, Upgrade broke stuff")); - } + if(!DoCacheManipulationFromCommandLine(CmdL, Cache, UpgradeFlags)) + return false; c0out << _("Done") << std::endl; - // parse additional cmdline pkg manipulation switches - if(!DoCacheManipulationFromCommandLine(CmdL, Cache)) - return false; - return InstallPackages(Cache,true); } @@ -38,6 +38,14 @@ bool DoDistUpgrade(CommandLine &CmdL) return UpgradeHelper(CmdL, 0); } /*}}}*/ +bool DoUpgrade(CommandLine &CmdL) /*{{{*/ +{ + if (_config->FindB("APT::Get::Upgrade-Allow-New", false) == true) + return DoUpgradeWithAllowNewPackages(CmdL); + else + return DoUpgradeNoNewPackages(CmdL); +} + /*}}}*/ // DoUpgradeNoNewPackages - Upgrade all packages /*{{{*/ // --------------------------------------------------------------------- /* Upgrade all packages without installing new packages or erasing old @@ -47,7 +55,7 @@ bool DoUpgradeNoNewPackages(CommandLine &CmdL) // Do the upgrade return UpgradeHelper(CmdL, APT::Upgrade::FORBID_REMOVE_PACKAGES| - APT::Upgrade::FORBID_NEW_INSTALL_PACKAGES); + APT::Upgrade::FORBID_INSTALL_NEW_PACKAGES); } /*}}}*/ // DoSafeUpgrade - Upgrade all packages with install but not remove /*{{{*/