From f6ce7ffce526432a855166074332f97b37ad98db Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 5 Sep 2015 12:58:04 +0200 Subject: store ':any' pseudo-packages with 'any' as architecture MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously we had python:any:amd64, python:any:i386, … in the cache and the dependencies of an amd64 package would be on python:any:amd64, of an i386 on python:any:i386 and so on. That seems like a relatively pointless endeavor given that they will all be provided by the same packages and therefore also a waste of space. Git-Dch: Ignore --- apt-pkg/deb/deblistparser.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'apt-pkg/deb/deblistparser.cc') diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc index 7da908d75..6a802b39f 100644 --- a/apt-pkg/deb/deblistparser.cc +++ b/apt-pkg/deb/deblistparser.cc @@ -791,11 +791,16 @@ bool debListParser::ParseDepends(pkgCache::VerIterator &Ver, return _error->Error("Problem parsing dependency %s",Tag); size_t const found = Package.rfind(':'); - if (found == string::npos || strcmp(Package.c_str() + found, ":any") == 0) + if (found == string::npos) { if (NewDepends(Ver,Package,pkgArch,Version,Op,Type) == false) return false; } + else if (strcmp(Package.c_str() + found, ":any") == 0) + { + if (NewDepends(Ver,Package,"any",Version,Op,Type) == false) + return false; + } else { string Arch = Package.substr(found+1, string::npos); @@ -857,7 +862,7 @@ bool debListParser::ParseProvides(pkgCache::VerIterator &Ver) if ((Ver->MultiArch & pkgCache::Version::Allowed) == pkgCache::Version::Allowed) { string const Package = string(Ver.ParentPkg().Name()).append(":").append("any"); - return NewProvidesAllArch(Ver, Package, Ver.VerStr(), pkgCache::Flag::MultiArchImplicit); + return NewProvides(Ver, Package, "any", Ver.VerStr(), pkgCache::Flag::MultiArchImplicit); } else if ((Ver->MultiArch & pkgCache::Version::Foreign) == pkgCache::Version::Foreign) return NewProvidesAllArch(Ver, Ver.ParentPkg().Name(), Ver.VerStr(), pkgCache::Flag::MultiArchImplicit); -- cgit v1.2.3