]> git.saurik.com Git - apt.git/blobdiff - apt-private/private-upgrade.cc
Merge remote-tracking branch 'upstream/debian/sid' into debian/sid
[apt.git] / apt-private / private-upgrade.cc
index 00608866f8fdb9956ee19a47d027b25ca78c533c..31f0675767a06ee97e96c5e6853a785a63594854 100644 (file)
@@ -1,10 +1,18 @@
 // Includes                                                            /*{{{*/
-#include <apt-pkg/algorithms.h>
+#include <config.h>
+
+#include <apt-pkg/upgrade.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/error.h>
+
+#include <apt-private/private-install.h>
+#include <apt-private/private-cachefile.h>
+#include <apt-private/private-upgrade.h>
+#include <apt-private/private-output.h>
+
 #include <iostream>
-#include "private-install.h"
-#include "private-cachefile.h"
-#include "private-upgrade.h"
-#include "private-output.h"
+
+#include <apti18n.h>
                                                                        /*}}}*/
 
 // this is actually performing the various upgrade operations 
@@ -14,20 +22,11 @@ static bool UpgradeHelper(CommandLine &CmdL, int UpgradeFlags)
    if (Cache.OpenForInstall() == false || Cache.CheckDeps() == false)
       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"));
-   }
-
-   // parse additional cmdline pkg manipulation switches
-   if(!DoCacheManipulationFromCommandLine(CmdL, Cache))
+   c0out << _("Calculating upgrade... ") << std::flush;
+   if(!DoCacheManipulationFromCommandLine(CmdL, Cache, UpgradeFlags))
       return false;
+   c0out << _("Done") << std::endl;
 
-   //c0out << _("Done") << std::endl;
-   
    return InstallPackages(Cache,true);
 }
 
@@ -39,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
@@ -48,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    /*{{{*/