From 50f1335212909962b9bba8db74e8be005a55f4e1 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Mon, 3 Feb 2025 19:00:25 +0100 Subject: Add DepIterator::IsSatisfied(PkgIterator) This allows checking if a dependency is satisfied by all versions of a package. --- apt-pkg/pkgcache.cc | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'apt-pkg/pkgcache.cc') diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index bccd7798f..1f1aadf59 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -776,6 +776,13 @@ bool pkgCache::DepIterator::IsIgnorable(PrvIterator const &Prv) const } /*}}}*/ // DepIterator::IsSatisfied - check if a version satisfied the dependency /*{{{*/ +bool pkgCache::DepIterator::IsSatisfied(PkgIterator const &Pkg) const +{ + for (auto ver = Pkg.VersionList(); not ver.end(); ++ver) + if (not IsSatisfied(ver)) + return false; + return not Pkg.VersionList().end(); +} bool pkgCache::DepIterator::IsSatisfied(VerIterator const &Ver) const { return Owner->VS->CheckDep(Ver.VerStr(),S2->CompareOp,TargetVer()); -- cgit v1.2.3-70-g09d2