summaryrefslogtreecommitdiff
path: root/apt-pkg/depcache.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2012-01-13 15:45:08 +0100
committerDavid Kalnischkies <kalnischkies@gmail.com>2012-01-13 15:45:08 +0100
commit854341141df83c767bb4310e9e6084c5a4bff7f7 (patch)
treecb17502753a5c11bb14781f7288a79635b18fd5a /apt-pkg/depcache.cc
parent5f909b67fb903f700df1bd6242ada86d58c0b068 (diff)
factor out the detection of self-conflicts into Dep::IsIgnorable
Diffstat (limited to 'apt-pkg/depcache.cc')
-rw-r--r--apt-pkg/depcache.cc13
1 files changed, 2 insertions, 11 deletions
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc
index 3c6dc4325..085159711 100644
--- a/apt-pkg/depcache.cc
+++ b/apt-pkg/depcache.cc
@@ -371,19 +371,10 @@ bool pkgDepCache::CheckDep(DepIterator Dep,int Type,PkgIterator &Res)
// Check the providing packages
PrvIterator P = Dep.TargetPkg().ProvidesList();
- PkgIterator Pkg = Dep.ParentPkg();
for (; P.end() != true; ++P)
{
- if (Dep.IsNegative() == true)
- {
- /* Provides may never be applied against the same package (or group)
- if it is a conflicts. See the comment above. */
- if (P.OwnerPkg()->Group == Pkg->Group)
- continue;
- // Implicit group-conflicts should not be applied on providers of other groups
- if (Pkg->Group == Dep.TargetPkg()->Group && P.OwnerPkg()->Group != Pkg->Group)
- continue;
- }
+ if (Dep.IsIgnorable(P) == true)
+ continue;
// Check if the provides is a hit
if (Type == NowVersion)