summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2014-04-22 16:07:32 +0200
committerMichael Vogt <mvo@debian.org>2014-05-22 08:39:44 +0200
commit8f418981337503ff7abedd872f788b51bcdbc886 (patch)
tree26a1104d62281ca1773b3fd0a6d49dbc9c0ffc38
parent6f34deead51a1c200589994a4cf46b7d79a45e69 (diff)
show upgradable packages after apt update
Closes: 748389
-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 4813861a4..8a6f96aea 100644
--- a/cmdline/apt.cc
+++ b/cmdline/apt.cc
@@ -112,6 +112,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