diff options
author | Arch Librarian <arch@canonical.com> | 2004-09-20 17:02:45 +0000 |
---|---|---|
committer | Arch Librarian <arch@canonical.com> | 2004-09-20 17:02:45 +0000 |
commit | 9d1d4d123d282f0ed22915a95777888e92b73147 (patch) | |
tree | 338032c88b25588aa1f8b2fd5486762485d57b6d /cmdline/apt-get.cc | |
parent | 57e2d8ee90ba33606c471672137de2cc1f4a098c (diff) |
* Patch from Otavio Salvador to avoid listing suggests/...
Author: mdz
Date: 2003-08-08 23:48:48 GMT
* Patch from Otavio Salvador to avoid listing suggests/recommends which
are Provided by a package which is already installed (Closes: #200395)
Diffstat (limited to 'cmdline/apt-get.cc')
-rw-r--r-- | cmdline/apt-get.cc | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 6aaa4e8c2..ab069ddc2 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: apt-get.cc,v 1.135 2003/08/08 23:45:00 mdz Exp $ +// $Id: apt-get.cc,v 1.136 2003/08/08 23:48:48 mdz Exp $ /* ###################################################################### apt-get - Cover for dpkg @@ -1527,6 +1527,22 @@ bool DoInstall(CommandLine &CmdL) pkgCache::DepIterator Start; pkgCache::DepIterator End; D.GlobOr(Start,End); + + /* + * If this is a virtual package, we need to check the list of + * packages that provide it and see if any of those are + * installed + */ + pkgCache::PrvIterator Prv = Start.TargetPkg().ProvidesList(); + bool providedBySomething = false; + for (; Prv.end() != true; Prv++) + if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false) { + providedBySomething = true; + break; + } + + if (providedBySomething) continue; + do { if (Start->Type == pkgCache::Dep::Suggests) { |