summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/cachefilter-patterns.h7
-rw-r--r--apt-pkg/solver3.cc11
2 files changed, 7 insertions, 11 deletions
diff --git a/apt-pkg/cachefilter-patterns.h b/apt-pkg/cachefilter-patterns.h
index 07b7ac61b..8d8a62a9f 100644
--- a/apt-pkg/cachefilter-patterns.h
+++ b/apt-pkg/cachefilter-patterns.h
@@ -249,11 +249,8 @@ struct APT_HIDDEN PackageIsObsolete : public PackageMatcher
// if so return false
for (auto ver = pkg.VersionList(); !ver.end(); ver++)
{
- for (auto file = ver.FileList(); !file.end(); file++)
- {
- if ((file.File()->Flags & pkgCache::Flag::NotSource) == 0)
- return false;
- }
+ if (ver.Downloadable())
+ return false;
}
return true;
diff --git a/apt-pkg/solver3.cc b/apt-pkg/solver3.cc
index 7117296ab..c1a1098b5 100644
--- a/apt-pkg/solver3.cc
+++ b/apt-pkg/solver3.cc
@@ -336,12 +336,11 @@ bool APT::Solver::Obsolete(pkgCache::PkgIterator pkg) const
if (ObsoletedByNewerSourceVersion(ver))
return true;
- for (auto file = ver.FileList(); !file.end(); file++)
- if ((file.File()->Flags & pkgCache::Flag::NotSource) == 0)
- {
- pkgObsolete[pkg] = 1;
- return false;
- }
+ if (ver.Downloadable())
+ {
+ pkgObsolete[pkg] = 1;
+ return false;
+ }
if (debug >= 3)
std::cerr << "Obsolete: " << ver.ParentPkg().FullName() << "=" << ver.VerStr() << " - not installable\n";
pkgObsolete[pkg] = 2;