|
@@ -209,6 +209,7 @@ bool pkgCacheGenerator::MergeList(ListParser &List,
|
|
|
just for these :none packages to a proper MultiArchCache, so just ensure
|
|
just for these :none packages to a proper MultiArchCache, so just ensure
|
|
|
that we have always a native package structure first for SingleArch */
|
|
that we have always a native package structure first for SingleArch */
|
|
|
pkgCache::PkgIterator NP;
|
|
pkgCache::PkgIterator NP;
|
|
|
|
|
+ Dynamic<pkgCache::PkgIterator> DynPkg(NP);
|
|
|
if (NewPackage(NP, PackageName, _config->Find("APT::Architecture")) == false)
|
|
if (NewPackage(NP, PackageName, _config->Find("APT::Architecture")) == false)
|
|
|
// TRANSLATOR: The first placeholder is a package name,
|
|
// TRANSLATOR: The first placeholder is a package name,
|
|
|
// the other two should be copied verbatim as they include debug info
|
|
// the other two should be copied verbatim as they include debug info
|
|
@@ -459,6 +460,7 @@ bool pkgCacheGenerator::MergeListVersion(ListParser &List, pkgCache::PkgIterator
|
|
|
|
|
|
|
|
map_ptrloc *OldDepLast = NULL;
|
|
map_ptrloc *OldDepLast = NULL;
|
|
|
pkgCache::VerIterator ConVersion = D.ParentVer();
|
|
pkgCache::VerIterator ConVersion = D.ParentVer();
|
|
|
|
|
+ Dynamic<pkgCache::VerIterator> DynV(ConVersion);
|
|
|
// duplicate the Conflicts/Breaks/Replaces for :none arch
|
|
// duplicate the Conflicts/Breaks/Replaces for :none arch
|
|
|
if (D->Version == 0)
|
|
if (D->Version == 0)
|
|
|
NewDepends(Pkg, ConVersion, "", 0, D->Type, OldDepLast);
|
|
NewDepends(Pkg, ConVersion, "", 0, D->Type, OldDepLast);
|
|
@@ -772,6 +774,7 @@ unsigned long pkgCacheGenerator::NewVersion(pkgCache::VerIterator &Ver,
|
|
|
|
|
|
|
|
// Fill it in
|
|
// Fill it in
|
|
|
Ver = pkgCache::VerIterator(Cache,Cache.VerP + Version);
|
|
Ver = pkgCache::VerIterator(Cache,Cache.VerP + Version);
|
|
|
|
|
+ Dynamic<pkgCache::VerIterator> DynV(Ver);
|
|
|
Ver->NextVer = Next;
|
|
Ver->NextVer = Next;
|
|
|
Ver->ID = Cache.HeaderP->VersionCount++;
|
|
Ver->ID = Cache.HeaderP->VersionCount++;
|
|
|
map_ptrloc const idxVerStr = WriteStringInMap(VerStr);
|
|
map_ptrloc const idxVerStr = WriteStringInMap(VerStr);
|
|
@@ -922,7 +925,7 @@ bool pkgCacheGenerator::ListParser::NewDepends(pkgCache::VerIterator &Ver,
|
|
|
// Locate the target package
|
|
// Locate the target package
|
|
|
pkgCache::PkgIterator Pkg = Grp.FindPkg(Arch);
|
|
pkgCache::PkgIterator Pkg = Grp.FindPkg(Arch);
|
|
|
// we don't create 'none' packages and their dependencies if we can avoid it …
|
|
// we don't create 'none' packages and their dependencies if we can avoid it …
|
|
|
- if (Pkg.end() == true && Arch == "none")
|
|
|
|
|
|
|
+ if (Pkg.end() == true && Arch == "none" && strcmp(Ver.ParentPkg().Arch(), "none") != 0)
|
|
|
return true;
|
|
return true;
|
|
|
Dynamic<pkgCache::PkgIterator> DynPkg(Pkg);
|
|
Dynamic<pkgCache::PkgIterator> DynPkg(Pkg);
|
|
|
if (Pkg.end() == true) {
|
|
if (Pkg.end() == true) {
|