summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2014-06-10 14:49:58 +0200
committerMichael Vogt <mvo@debian.org>2014-06-10 14:49:58 +0200
commit59d6e5b06c25acdd6583ea801740c36acabc19ac (patch)
tree9601b003fd15db600922aa60c786523669ffba9c
parentac00cca724734db58ad14ab8c77d445d0df3bc9f (diff)
parent8f418981337503ff7abedd872f788b51bcdbc886 (diff)
Merge remote-tracking branch 'mvo/feature/apt-update-info' into debian/sid
-rw-r--r--apt-private/private-update.cc18
-rw-r--r--cmdline/apt.cc1
-rwxr-xr-xtest/integration/test-apt-cli-update17
3 files changed, 36 insertions, 0 deletions
diff --git a/apt-private/private-update.cc b/apt-private/private-update.cc
index da83d7741..fa827dea4 100644
--- a/apt-private/private-update.cc
+++ b/apt-private/private-update.cc
@@ -75,6 +75,24 @@ bool DoUpdate(CommandLine &CmdL)
return false;
}
+ // show basic stats (if the user whishes)
+ if (_config->FindB("APT::Cmd::Show-Update-Stats", false) == true)
+ {
+ int upgradable = 0;
+ Cache.Open();
+ for (pkgCache::PkgIterator I = Cache->PkgBegin(); I.end() != true; ++I)
+ {
+ pkgDepCache::StateCache &state = Cache[I];
+ if (I->CurrentVer != 0 && state.Upgradable())
+ upgradable++;
+ }
+ const char *msg = ngettext(
+ "%i package can be upgraded. Run 'apt list --upgradable' to see it.\n",
+ "%i packages can be upgraded. Run 'apt list --upgradable' to see them.\n",
+ upgradable);
+ ioprintf(c1out, msg, upgradable);
+ }
+
return true;
}
/*}}}*/
diff --git a/cmdline/apt.cc b/cmdline/apt.cc
index 72086af14..2cfdf8e8e 100644
--- a/cmdline/apt.cc
+++ b/cmdline/apt.cc
@@ -116,6 +116,7 @@ int main(int argc, const char *argv[]) /*{{{*/
_config->CndSet("DPkg::Progress-Fancy", "1");
_config->CndSet("Apt::Color", "1");
_config->CndSet("APT::Get::Upgrade-Allow-New", true);
+ _config->CndSet("APT::Cmd::Show-Update-Stats", true);
// Parse the command line and initialize the package library
CommandLine CmdL(Args.data(), _config);
diff --git a/test/integration/test-apt-cli-update b/test/integration/test-apt-cli-update
new file mode 100755
index 000000000..8237bf03f
--- /dev/null
+++ b/test/integration/test-apt-cli-update
@@ -0,0 +1,17 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+
+setupenvironment
+configarchitecture "i386"
+
+insertpackage 'unstable' 'foo' 'all' '2.0'
+insertinstalledpackage 'foo' 'all' '1.0'
+
+setupaptarchive
+
+APTARCHIVE=$(readlink -f ./aptarchive)
+
+testequal "1 package can be upgraded. Run 'apt list --upgradable' to see it." apt update -q