]> git.saurik.com Git - apt.git/commit - apt-pkg/pkgcache.cc
parse packages from all architectures into the cache
authorDavid Kalnischkies <david@kalnischkies.de>
Mon, 20 Jul 2015 10:32:46 +0000 (12:32 +0200)
committerDavid Kalnischkies <david@kalnischkies.de>
Mon, 10 Aug 2015 15:27:59 +0000 (17:27 +0200)
commit7f8c0eed6983db7b8959f1498fc8bc80c98d719e
treeafa7f6890867867cecbe84b4993d7d5026d79436
parent1d3eea5caf65aacd7f112d14030a0499f32b9c75
parse packages from all architectures into the cache

Now that we can dynamically create dependencies and provides as needed
rather than requiring to know with which architectures we will deal
before running we can allow the listparser to parse all records rather
than skipping records of "unknown" architectures.

This can e.g. happen if a user has foreign architecture packages in his
status file without dpkg knowing about this architecture (or apt
configured in this way).

A sideeffect is that now arch:all packages are (correctly) recorded as
available from any Packages file, not just from the native one – which
has its downsides for the resolver as mixed-arch source packages can
appear in different architectures at different times, but that is the
problem of the resolver and dealing with it in the parser is at best a
hack (and also depends on a helpful repository).

Another sideeffect is that his allows :none packages to appear in
Packages files again as we don't do any kind of checks now, but given
that they aren't really supported (anymore) by anyone we can live with
that.
apt-pkg/deb/deblistparser.cc
apt-pkg/deb/deblistparser.h
apt-pkg/edsp/edsplistparser.cc
apt-pkg/edsp/edsplistparser.h
apt-pkg/indexfile.cc
apt-pkg/pkgcache.cc
test/integration/test-apt-cache
test/integration/test-bug-612958-use-dpkg-multiarch-config
test/integration/test-bug-686346-package-missing-architecture
test/integration/test-parse-all-archs-into-cache [new file with mode: 0755]
test/integration/test-specific-architecture-dependencies