summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/pkgcachegen.cc4
-rw-r--r--debian/changelog3
2 files changed, 6 insertions, 1 deletions
diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc
index 4eaf40b51..739b538c6 100644
--- a/apt-pkg/pkgcachegen.cc
+++ b/apt-pkg/pkgcachegen.cc
@@ -69,7 +69,9 @@ pkgCacheGenerator::pkgCacheGenerator(DynamicMMap *pMap,OpProgress *Prog) :
*Cache.HeaderP = pkgCache::Header();
map_ptrloc const idxVerSysName = WriteStringInMap(_system->VS->Label);
Cache.HeaderP->VerSysName = idxVerSysName;
- map_ptrloc const idxArchitecture = WriteStringInMap(_config->Find("APT::Architecture"));
+ // this pointer is set in ReMap, but we need it now for WriteUniqString
+ Cache.StringItemP = (pkgCache::StringItem *)Map.Data();
+ map_ptrloc const idxArchitecture = WriteUniqString(_config->Find("APT::Architecture"));
Cache.HeaderP->Architecture = idxArchitecture;
if (unlikely(idxVerSysName == 0 || idxArchitecture == 0))
return;
diff --git a/debian/changelog b/debian/changelog
index 307bd1eee..c1936a865 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,9 @@ apt (0.9.7.6) UNRELEASED; urgency=low
- ensure that dependencies for packages:none are always generated
- add 2 missing remap registrations causing a segfault in case
we use the not remapped iterators after a move of the mmap again
+ - write the native architecture as unique string into the cache header
+ as it is used for arch:all packages as a map to arch:native.
+ Otherwise arch comparisons later will see differences (Closes: #689323)
* apt-pkg/pkgcache.cc:
- ignore negative dependencies applying in the same group for
M-A:same packages on the real package name as self-conflicts