return Res;
}
-#if (APT_PKG_MAJOR >= 4 && APT_PKG_MINOR >= 13)
std::string debReleaseIndex::LocalFileName() const
{
// see if we have a InRelease file
return "";
}
-#endif
string debReleaseIndex::IndexURISuffix(const char *Type, string const &Section, string const &Arch) const
{
delete *S;
}
-vector <struct IndexTarget *>* debReleaseIndex::ComputeIndexTargets() const {
- vector <struct IndexTarget *>* IndexTargets = new vector <IndexTarget *>;
+vector <IndexTarget *>* debReleaseIndex::ComputeIndexTargets() const {
+ vector <IndexTarget *>* IndexTargets = new vector <IndexTarget *>;
map<string, vector<debSectionEntry const*> >::const_iterator const src = ArchEntries.find("source");
if (src != ArchEntries.end()) {
vector<debSectionEntry const*> const SectionEntries = src->second;
for (vector<debSectionEntry const*>::const_iterator I = SectionEntries.begin();
I != SectionEntries.end(); ++I) {
- IndexTarget * Target = new IndexTarget();
- Target->ShortDesc = "Sources";
- Target->MetaKey = SourceIndexURISuffix(Target->ShortDesc.c_str(), (*I)->Section);
- Target->URI = SourceIndexURI(Target->ShortDesc.c_str(), (*I)->Section);
- Target->Description = Info (Target->ShortDesc.c_str(), (*I)->Section);
+ char const * const ShortDesc = "Sources";
+ IndexTarget * const Target = new IndexTarget(
+ SourceIndexURISuffix(ShortDesc, (*I)->Section),
+ ShortDesc,
+ Info(ShortDesc, (*I)->Section),
+ SourceIndexURI(ShortDesc, (*I)->Section)
+ );
IndexTargets->push_back (Target);
}
}
continue;
for (vector <const debSectionEntry *>::const_iterator I = a->second.begin();
I != a->second.end(); ++I) {
- IndexTarget * Target = new IndexTarget();
- Target->ShortDesc = "Packages";
- Target->MetaKey = IndexURISuffix(Target->ShortDesc.c_str(), (*I)->Section, a->first);
- Target->URI = IndexURI(Target->ShortDesc.c_str(), (*I)->Section, a->first);
- Target->Description = Info (Target->ShortDesc.c_str(), (*I)->Section, a->first);
+ char const * const ShortDesc = "Packages";
+ IndexTarget * const Target = new IndexTarget(
+ IndexURISuffix(ShortDesc, (*I)->Section, a->first),
+ ShortDesc,
+ Info (ShortDesc, (*I)->Section, a->first),
+ IndexURI(ShortDesc, (*I)->Section, a->first)
+ );
IndexTargets->push_back (Target);
sections.insert((*I)->Section);
}
s != sections.end(); ++s) {
for (std::vector<std::string>::const_iterator l = lang.begin();
l != lang.end(); ++l) {
- IndexTarget * Target = new OptionalIndexTarget();
- Target->ShortDesc = "Translation-" + *l;
- Target->MetaKey = TranslationIndexURISuffix(l->c_str(), *s);
- Target->URI = TranslationIndexURI(l->c_str(), *s);
- Target->Description = Info (Target->ShortDesc.c_str(), *s);
+ std::string const ShortDesc = "Translation-" + *l;
+ IndexTarget * const Target = new OptionalIndexTarget(
+ TranslationIndexURISuffix(l->c_str(), *s),
+ ShortDesc,
+ Info (ShortDesc.c_str(), *s),
+ TranslationIndexURI(l->c_str(), *s)
+ );
IndexTargets->push_back(Target);
}
}
/*}}}*/
bool debReleaseIndex::GetIndexes(pkgAcquire *Owner, bool const &GetAll) const
{
- bool const tryInRelease = _config->FindB("Acquire::TryInRelease", true);
+ indexRecords * const iR = new indexRecords(Dist);
+ if (Trusted == ALWAYS_TRUSTED)
+ iR->SetTrusted(true);
+ else if (Trusted == NEVER_TRUSTED)
+ iR->SetTrusted(false);
// special case for --print-uris
- if (GetAll) {
- vector <struct IndexTarget *> *targets = ComputeIndexTargets();
- for (vector <struct IndexTarget*>::const_iterator Target = targets->begin(); Target != targets->end(); ++Target) {
- new pkgAcqIndex(Owner, (*Target)->URI, (*Target)->Description,
- (*Target)->ShortDesc, HashString());
- }
- delete targets;
-
- // this is normally created in pkgAcqMetaSig, but if we run
- // in --print-uris mode, we add it here
- if (tryInRelease == false)
- new pkgAcqMetaIndex(Owner, MetaIndexURI("Release"),
- MetaIndexInfo("Release"), "Release",
- MetaIndexURI("Release.gpg"),
- ComputeIndexTargets(),
- new indexRecords (Dist));
+ vector <IndexTarget *> const * const targets = ComputeIndexTargets();
+#define APT_TARGET(X) IndexTarget("", X, MetaIndexInfo(X), MetaIndexURI(X))
+ pkgAcqMetaBase * const TransactionManager = new pkgAcqMetaClearSig(Owner,
+ APT_TARGET("InRelease"), APT_TARGET("Release"), APT_TARGET("Release.gpg"),
+ targets, iR);
+#undef APT_TARGET
+ if (GetAll)
+ {
+ for (vector <IndexTarget*>::const_iterator Target = targets->begin(); Target != targets->end(); ++Target)
+ new pkgAcqIndex(Owner, TransactionManager, *Target);
}
- if (tryInRelease == true)
- new pkgAcqMetaClearSig(Owner, MetaIndexURI("InRelease"),
- MetaIndexInfo("InRelease"), "InRelease",
- MetaIndexURI("Release"), MetaIndexInfo("Release"), "Release",
- MetaIndexURI("Release.gpg"), MetaIndexInfo("Release.gpg"), "Release.gpg",
- ComputeIndexTargets(),
- new indexRecords (Dist));
- else
- new pkgAcqMetaSig(Owner, MetaIndexURI("Release.gpg"),
- MetaIndexInfo("Release.gpg"), "Release.gpg",
- MetaIndexURI("Release"), MetaIndexInfo("Release"), "Release",
- ComputeIndexTargets(),
- new indexRecords (Dist));
-
return true;
}
bool const &IsSrc): Section(Section), IsSrc(IsSrc)
{}
-class debSLTypeDebian : public pkgSourceList::Type
+class APT_HIDDEN debSLTypeDebian : public pkgSourceList::Type
{
protected:
{
// parse arch=, arch+= and arch-= settings
map<string, string>::const_iterator arch = Options.find("arch");
- vector<string> Archs =
- (arch != Options.end()) ? VectorizeString(arch->second, ',') :
- APT::Configuration::getArchitectures();
+ vector<string> Archs;
+ if (arch != Options.end())
+ Archs = VectorizeString(arch->second, ',');
+ else
+ Archs = APT::Configuration::getArchitectures();
+
if ((arch = Options.find("arch+")) != Options.end())
{
std::vector<std::string> const plusArch = VectorizeString(arch->second, ',');
}
-class debSLTypeDeb : public debSLTypeDebian
+class APT_HIDDEN debSLTypeDeb : public debSLTypeDebian
{
public:
}
};
-class debSLTypeDebSrc : public debSLTypeDebian
+class APT_HIDDEN debSLTypeDebSrc : public debSLTypeDebian
{
public:
}
};
-debSLTypeDeb _apt_DebType;
-debSLTypeDebSrc _apt_DebSrcType;
+class APT_HIDDEN debSLTypeDebFile : public pkgSourceList::Type
+{
+ public:
+
+ bool CreateItem(vector<metaIndex *> &List, string const &URI,
+ string const &/*Dist*/, string const &/*Section*/,
+ std::map<string, string> const &/*Options*/) const
+ {
+ metaIndex *mi = new debDebFileMetaIndex(URI);
+ List.push_back(mi);
+ return true;
+ }
+
+ debSLTypeDebFile()
+ {
+ Name = "deb-file";
+ Label = "Debian Deb File";
+ }
+};
+
+APT_HIDDEN debSLTypeDeb _apt_DebType;
+APT_HIDDEN debSLTypeDebSrc _apt_DebSrcType;
+APT_HIDDEN debSLTypeDebFile _apt_DebFileType;