summaryrefslogtreecommitdiff
path: root/src/pkg_view.cc
diff options
context:
space:
mode:
authorDaniel Burrows <dburrows@debian.org>2008-04-07 21:43:54 -0700
committerDaniel Burrows <dburrows@debian.org>2008-04-07 21:43:54 -0700
commit1626a12996b9781fd671ed2abd29b2074c531099 (patch)
tree6e2733d6c7e811f2bb7fe1a28d9a6dc0dde2763f /src/pkg_view.cc
parente11185b08aea368fd1957253b866f5f0554c2bb6 (diff)
downloadaptitude-1626a12996b9781fd671ed2abd29b2074c531099.tar.gz
Tweak the leaf pattern used when computing the "why" pane so that it displays useful results for removed and newly installed packages.
The problem was that it was only looking at package versions that were currently installed / going-to-be-installed. Instead, this matches the current version of a package and the candiadte version (if the candidate will be installed).
Diffstat (limited to 'src/pkg_view.cc')
-rw-r--r--src/pkg_view.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pkg_view.cc b/src/pkg_view.cc
index 779595e6..e8981b13 100644
--- a/src/pkg_view.cc
+++ b/src/pkg_view.cc
@@ -194,7 +194,9 @@ public:
}
std::vector<match::pkg_matcher *> search_leaves;
- search_leaves.push_back(match::parse_pattern("~i!~M"));
+ // Search for package (versions) that are not automatically
+ // installed and that are or will be installed.
+ search_leaves.push_back(match::parse_pattern("?not(?automatic)?any-version(?or(?version(CANDIDATE)?action(install), ?version(CURRENT)?installed))"));
try
{
bool success = false;