diff options
author | Julian Andres Klode <julian.klode@canonical.com> | 2018-04-13 12:30:53 +0200 |
---|---|---|
committer | Julian Andres Klode <julian.klode@canonical.com> | 2018-04-13 12:30:53 +0200 |
commit | 03cc48f6c6591d762c27f9b5c8627b267a7158e2 (patch) | |
tree | ace98ca08595188034b6a75d17575cbc355247b6 | |
parent | be63b9a35f6bc2e3cb00ad9f11a757ee1c4bb79d (diff) |
apt-private: Collect not found packages in CacheSetHelperAPTGet
Collecting the packages we could not find allows us to pass them
to other places.
-rw-r--r-- | apt-private/private-cacheset.cc | 10 | ||||
-rw-r--r-- | apt-private/private-cacheset.h | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/apt-private/private-cacheset.cc b/apt-private/private-cacheset.cc index 3d1a2b91c..95a16f8ba 100644 --- a/apt-private/private-cacheset.cc +++ b/apt-private/private-cacheset.cc @@ -358,9 +358,15 @@ APT::VersionSet CacheSetHelperAPTGet::tryVirtualPackage(pkgCacheFile &Cache, pkg } pkgCache::PkgIterator CacheSetHelperAPTGet::canNotFindPkgName(pkgCacheFile &Cache, std::string const &str) { - pkgCache::PkgIterator const Pkg = canNotFindPkgName_impl(Cache, str); + pkgCache::PkgIterator Pkg = canNotFindPkgName_impl(Cache, str); if (Pkg.end()) - return APT::CacheSetHelper::canNotFindPkgName(Cache, str); + { + Pkg = APT::CacheSetHelper::canNotFindPkgName(Cache, str); + if (Pkg.end() && ShowError) + { + notFound.insert(str); + } + } return Pkg; } /*}}}*/ diff --git a/apt-private/private-cacheset.h b/apt-private/private-cacheset.h index 7bf486b9e..d20d00b68 100644 --- a/apt-private/private-cacheset.h +++ b/apt-private/private-cacheset.h @@ -94,9 +94,9 @@ class CacheSetHelperAPTGet : public APT::CacheSetHelper { bool explicitlyNamed; APT::PackageSet virtualPkgs; - public: std::list<std::pair<pkgCache::VerIterator, std::string> > selectedByRelease; + std::set<std::string> notFound; explicit CacheSetHelperAPTGet(std::ostream &out); |