|
|
@ -78,13 +78,6 @@ bool pkgSourceList::Type::ParseStanza(vector<metaIndex *> &List, |
|
|
|
{ |
|
|
|
map<string, string> Options; |
|
|
|
|
|
|
|
string URI = Tags.FindS("URI"); |
|
|
|
if (!FixupURI(URI)) |
|
|
|
{ |
|
|
|
_error->Error(_("Malformed stanza %u in source list %s (URI parse)"),i,Fd.Name().c_str()); |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
string Enabled = Tags.FindS("Enabled"); |
|
|
|
if (Enabled.size() > 0 && StringToBool(Enabled) == false) |
|
|
|
return true; |
|
|
@ -104,20 +97,34 @@ bool pkgSourceList::Type::ParseStanza(vector<metaIndex *> &List, |
|
|
|
string Suite = Tags.FindS("Suites"); |
|
|
|
Suite = SubstVar(Suite,"$(ARCH)",_config->Find("APT::Architecture")); |
|
|
|
string const Section = Tags.FindS("Sections"); |
|
|
|
string URIS = Tags.FindS("URIs"); |
|
|
|
|
|
|
|
std::vector<std::string> list_uris = StringSplit(URIS, " "); |
|
|
|
std::vector<std::string> list_dist = StringSplit(Suite, " "); |
|
|
|
std::vector<std::string> list_section = StringSplit(Section, " "); |
|
|
|
for (std::vector<std::string>::const_iterator I = list_dist.begin(); |
|
|
|
I != list_dist.end(); I++) |
|
|
|
|
|
|
|
for (std::vector<std::string>::const_iterator U = list_uris.begin(); |
|
|
|
U != list_uris.end(); U++) |
|
|
|
{ |
|
|
|
for (std::vector<std::string>::const_iterator J = list_section.begin(); |
|
|
|
J != list_section.end(); J++) |
|
|
|
std::string URI = (*U); |
|
|
|
if (!FixupURI(URI)) |
|
|
|
{ |
|
|
|
_error->Error(_("Malformed stanza %u in source list %s (URI parse)"),i,Fd.Name().c_str()); |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
for (std::vector<std::string>::const_iterator I = list_dist.begin(); |
|
|
|
I != list_dist.end(); I++) |
|
|
|
{ |
|
|
|
for (std::vector<std::string>::const_iterator J = list_section.begin(); |
|
|
|
J != list_section.end(); J++) |
|
|
|
{ |
|
|
|
if (CreateItem(List, URI, (*I), (*J), Options) == false) |
|
|
|
{ |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return true; |
|
|
|
} |
|
|
|