summaryrefslogtreecommitdiff
path: root/apt-pkg/deb
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2010-07-11 18:50:41 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2010-07-11 18:50:41 +0200
commitdd13742ef11a6a601a2e85afd9d80be92ed7513a (patch)
tree685a9660c1a4b615bef3588e6754e445f4e27f11 /apt-pkg/deb
parent3184b4cf2e8e2009ce62b8f66c666ae7da67e378 (diff)
* apt-pkg/deb/debmetaindex.cc:
- do not query each architecture for flat file archives
Diffstat (limited to 'apt-pkg/deb')
-rw-r--r--apt-pkg/deb/debindexfile.cc8
-rw-r--r--apt-pkg/deb/deblistparser.cc2
-rw-r--r--apt-pkg/deb/debmetaindex.cc14
3 files changed, 17 insertions, 7 deletions
diff --git a/apt-pkg/deb/debindexfile.cc b/apt-pkg/deb/debindexfile.cc
index 7e9a973a4..ba5b3f266 100644
--- a/apt-pkg/deb/debindexfile.cc
+++ b/apt-pkg/deb/debindexfile.cc
@@ -184,8 +184,8 @@ string debPackagesIndex::ArchiveInfo(pkgCache::VerIterator Ver) const
Res += " ";
Res += Ver.ParentPkg().Name();
Res += " ";
- Res += Ver.Arch();
- Res += " ";
+ if (Dist[Dist.size() - 1] != '/')
+ Res.append(Ver.Arch()).append(" ");
Res += Ver.VerStr();
return Res;
}
@@ -219,8 +219,8 @@ string debPackagesIndex::Info(const char *Type) const
else
Info += Dist + '/' + Section;
Info += " ";
- Info += Architecture;
- Info += " ";
+ if (Dist[Dist.size() - 1] != '/')
+ Info += Architecture + " ";
Info += Type;
return Info;
}
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc
index 2cfeb23e9..5fb737970 100644
--- a/apt-pkg/deb/deblistparser.cc
+++ b/apt-pkg/deb/deblistparser.cc
@@ -757,7 +757,7 @@ bool debListParser::Step()
if (Architecture.empty() == true)
return true;
- if (Arch.empty() == true || MultiArchEnabled == false)
+ if (Arch.empty() == true || Arch == "any" || MultiArchEnabled == false)
{
if (APT::Configuration::checkArchitecture(Architecture) == true)
return true;
diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc
index 8df3ed18d..7366bd624 100644
--- a/apt-pkg/deb/debmetaindex.cc
+++ b/apt-pkg/deb/debmetaindex.cc
@@ -332,7 +332,12 @@ class debSLTypeDebian : public pkgSourceList::Type
if (IsSrc == true)
Deb->PushSectionEntry("source", new debReleaseIndex::debSectionEntry(Section, IsSrc));
else
- Deb->PushSectionEntry(Archs, new debReleaseIndex::debSectionEntry(Section, IsSrc));
+ {
+ if (Dist[Dist.size() - 1] == '/')
+ Deb->PushSectionEntry("any", new debReleaseIndex::debSectionEntry(Section, IsSrc));
+ else
+ Deb->PushSectionEntry(Archs, new debReleaseIndex::debSectionEntry(Section, IsSrc));
+ }
return true;
}
}
@@ -342,7 +347,12 @@ class debSLTypeDebian : public pkgSourceList::Type
if (IsSrc == true)
Deb->PushSectionEntry ("source", new debReleaseIndex::debSectionEntry(Section, IsSrc));
else
- Deb->PushSectionEntry (Archs, new debReleaseIndex::debSectionEntry(Section, IsSrc));
+ {
+ if (Dist[Dist.size() - 1] == '/')
+ Deb->PushSectionEntry ("any", new debReleaseIndex::debSectionEntry(Section, IsSrc));
+ else
+ Deb->PushSectionEntry (Archs, new debReleaseIndex::debSectionEntry(Section, IsSrc));
+ }
List.push_back(Deb);
return true;
}