re-add "Calculating upgrade..." message
[ntk/apt.git] / apt-private / private-upgrade.cc
CommitLineData
ee0167c4 1// Includes /*{{{*/
b9179170 2#include <apt-pkg/algorithms.h>
5ca0cf51 3#include <iostream>
b9179170
MV
4#include "private-install.h"
5#include "private-cachefile.h"
6#include "private-upgrade.h"
7#include "private-output.h"
ee0167c4 8 /*}}}*/
b9179170 9
5ca0cf51
MV
10// this is actually performing the various upgrade operations
11static bool UpgradeHelper(CommandLine &CmdL, int UpgradeFlags)
b9179170
MV
12{
13 CacheFile Cache;
14 if (Cache.OpenForInstall() == false || Cache.CheckDeps() == false)
15 return false;
16
7cf45682 17 c0out << _("Calculating upgrade... ") << std::flush;
5ca0cf51 18 if (APT::Upgrade::Upgrade(Cache, UpgradeFlags) == false)
b9179170 19 {
5ca0cf51 20 c0out << _("Failed") << std::endl;
b9179170 21 ShowBroken(c1out,Cache,false);
5ca0cf51 22 return _error->Error(_("Internal error, Upgrade broke stuff"));
b9179170 23 }
7cf45682 24 c0out << _("Done") << std::endl;
d8a8f9d7
MV
25
26 // parse additional cmdline pkg manipulation switches
27 if(!DoCacheManipulationFromCommandLine(CmdL, Cache))
28 return false;
b9179170
MV
29
30 return InstallPackages(Cache,true);
31}
5ca0cf51
MV
32
33// DoDistUpgrade - Automatic smart upgrader /*{{{*/
34// ---------------------------------------------------------------------
35/* Intelligent upgrader that will install and remove packages at will */
36bool DoDistUpgrade(CommandLine &CmdL)
37{
38 return UpgradeHelper(CmdL, 0);
39}
40 /*}}}*/
41// DoUpgradeNoNewPackages - Upgrade all packages /*{{{*/
42// ---------------------------------------------------------------------
43/* Upgrade all packages without installing new packages or erasing old
44 packages */
45bool DoUpgradeNoNewPackages(CommandLine &CmdL)
46{
47 // Do the upgrade
48 return UpgradeHelper(CmdL,
49 APT::Upgrade::FORBID_REMOVE_PACKAGES|
50 APT::Upgrade::FORBID_NEW_INSTALL_PACKAGES);
51}
b9179170 52 /*}}}*/
b9179170
MV
53// DoSafeUpgrade - Upgrade all packages with install but not remove /*{{{*/
54bool DoUpgradeWithAllowNewPackages(CommandLine &CmdL)
55{
5ca0cf51 56 return UpgradeHelper(CmdL, APT::Upgrade::FORBID_REMOVE_PACKAGES);
b9179170
MV
57}
58 /*}}}*/