From a3e9ab661b2d670f7d0da53a5f56c52af0763c5b Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Thu, 15 Aug 2019 13:31:30 +0200 Subject: Add ?config-files and ?installed patterns These two are mutually exclusive states of installed-ness. And ?installed package is fully unpacked and configured; a ?config-files package only has config files left. --- apt-pkg/cachefilter-patterns.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'apt-pkg/cachefilter-patterns.h') diff --git a/apt-pkg/cachefilter-patterns.h b/apt-pkg/cachefilter-patterns.h index 68ad32f9a..7770385c9 100644 --- a/apt-pkg/cachefilter-patterns.h +++ b/apt-pkg/cachefilter-patterns.h @@ -128,6 +128,14 @@ struct PackageIsAutomatic : public PackageMatcher } }; +struct PackageIsConfigFiles : public PackageMatcher +{ + bool operator()(pkgCache::PkgIterator const &Pkg) override + { + return Pkg->CurrentState == pkgCache::State::ConfigFiles; + } +}; + struct PackageIsGarbage : public PackageMatcher { pkgCacheFile *Cache; @@ -139,6 +147,17 @@ struct PackageIsGarbage : public PackageMatcher } }; +struct PackageIsInstalled : public PackageMatcher +{ + pkgCacheFile *Cache; + explicit PackageIsInstalled(pkgCacheFile *Cache) : Cache(Cache) {} + bool operator()(pkgCache::PkgIterator const &Pkg) override + { + assert(Cache != nullptr); + return Pkg->CurrentVer != 0; + } +}; + struct PackageIsObsolete : public PackageMatcher { bool operator()(pkgCache::PkgIterator const &pkg) override -- cgit v1.2.3-70-g09d2