summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2021-09-04 13:03:05 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2021-09-04 15:35:15 +0200
commit8ff4e226af55a9feb168477a2b1a99f9c5152e54 (patch)
treeadcd271acccc1a644e8914b608a16e6a9e4543fe
parentf3885ecec2d8ef1a35495d6c6b979d25d3da6d5c (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.cc5
-rw-r--r--apt-pkg/pkgcache.h2
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