diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-01-14 20:13:16 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2016-01-14 23:08:02 +0100 |
commit | 62428dbc17ffa7b5b8188e88609a9438428d6024 (patch) | |
tree | 5b4fb96209bd4f2bd8af80e09389d7ccc3222289 /apt-pkg/deb/deblistparser.cc | |
parent | fa47f406cf434e175885c5920175c0cedcd62746 (diff) |
fix M-A:foreign provides creation for unknown archs
Architectures for packages which do not belong to the native nor a
foreign architecture (dubbed barbarian for now) which are marked
M-A:foreign still provide in their own architecture even if not for
others. Also, other M-A:foreign (and allowed) packages provide in these
barbarian architectures.
Diffstat (limited to 'apt-pkg/deb/deblistparser.cc')
-rw-r--r-- | apt-pkg/deb/deblistparser.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc index edd18c5a1..8dca27a2a 100644 --- a/apt-pkg/deb/deblistparser.cc +++ b/apt-pkg/deb/deblistparser.cc @@ -907,8 +907,12 @@ bool debListParser::ParseProvides(pkgCache::VerIterator &Ver) return false; } else if ((Ver->MultiArch & pkgCache::Version::Foreign) == pkgCache::Version::Foreign) { if (APT::Configuration::checkArchitecture(Arch)) + { if (NewProvidesAllArch(Ver, Package, Version, 0) == false) return false; + } + else if (NewProvides(Ver, Package, Arch, Version, 0) == false) + return false; } else { if ((Ver->MultiArch & pkgCache::Version::Allowed) == pkgCache::Version::Allowed) { |