diff options
author | David Kalnischkies <david@kalnischkies.de> | 2021-09-04 13:03:05 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2021-09-04 15:35:15 +0200 |
commit | 8ff4e226af55a9feb168477a2b1a99f9c5152e54 (patch) | |
tree | adcd271acccc1a644e8914b608a16e6a9e4543fe | |
parent | f3885ecec2d8ef1a35495d6c6b979d25d3da6d5c (diff) |
All pkgCaches are MultiArch caches
Back in 2015 the code inside libapt who was using this field was dropped
as even if we are on a system which is not configured for MultiArch,
there are still edge cases in which the cache can include very foreign
packages, so any assumption you could make thinking only a single
architecture will be in the cache is probably wrong.
Maintaining two different codepaths for Multi- and SingleArch is likely
not very beneficial for code and users alike and is surprisingly hard to
answer correctly and becoming even harder still, so always assuming the
"worst case" seems like the far better option.
References: 6c9937da76b9155d166092b9dda22d06200510c1
-rw-r--r-- | apt-pkg/pkgcache.cc | 5 | ||||
-rw-r--r-- | apt-pkg/pkgcache.h | 2 |
2 files changed, 2 insertions, 5 deletions
diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index cbde7c42f..68efcaddc 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -127,10 +127,7 @@ bool pkgCache::Header::CheckSizes(Header &Against) const /* */ pkgCache::pkgCache(MMap *Map, bool DoMap) : Map(*Map), VS(nullptr), d(NULL) { - // call getArchitectures() with cached=false to ensure that the - // architectures cache is re-evaluated. this is needed in cases - // when the APT::Architecture field changes between two cache creations - MultiArchEnabled = APT::Configuration::getArchitectures(false).size() > 1; + MultiArchEnabled = true; if (DoMap == true) ReMap(); } diff --git a/apt-pkg/pkgcache.h b/apt-pkg/pkgcache.h index 55baa3cef..0e8046ddc 100644 --- a/apt-pkg/pkgcache.h +++ b/apt-pkg/pkgcache.h @@ -268,7 +268,7 @@ class APT_PUBLIC pkgCache /*{{{*/ inline RlsFileIterator RlsFileBegin(); inline RlsFileIterator RlsFileEnd(); - inline bool MultiArchCache() const { return MultiArchEnabled; } + APT_DEPRECATED_MSG("Always true") inline bool MultiArchCache() const { return MultiArchEnabled; } inline char const * NativeArch(); // Make me a function |