]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/indexfile.cc
On IMS-Hit, you can't assume local compression :/.
[apt.git] / apt-pkg / indexfile.cc
index a777c38ac15e902d2c1e7f7834d0370f8dcfe1d2..74d46d699fc6d353597353e59668c05a146d9d4a 100644 (file)
@@ -137,16 +137,27 @@ std::string IndexTarget::Option(OptionKeys const EnumKey) const           /*{{{*/
       APT_CASE(ARCHITECTURE);
       APT_CASE(BASE_URI);
       APT_CASE(REPO_URI);
       APT_CASE(ARCHITECTURE);
       APT_CASE(BASE_URI);
       APT_CASE(REPO_URI);
+      APT_CASE(IDENTIFIER);
       APT_CASE(TARGET_OF);
       APT_CASE(CREATED_BY);
       APT_CASE(TARGET_OF);
       APT_CASE(CREATED_BY);
+      APT_CASE(FALLBACK_OF);
       APT_CASE(PDIFFS);
       APT_CASE(DEFAULTENABLED);
       APT_CASE(COMPRESSIONTYPES);
       APT_CASE(SOURCESENTRY);
       APT_CASE(BY_HASH);
       APT_CASE(KEEPCOMPRESSEDAS);
       APT_CASE(PDIFFS);
       APT_CASE(DEFAULTENABLED);
       APT_CASE(COMPRESSIONTYPES);
       APT_CASE(SOURCESENTRY);
       APT_CASE(BY_HASH);
       APT_CASE(KEEPCOMPRESSEDAS);
+      APT_CASE(ALLOW_INSECURE);
+      APT_CASE(ALLOW_WEAK);
+      APT_CASE(ALLOW_DOWNGRADE_TO_INSECURE);
 #undef APT_CASE
 #undef APT_CASE
-      case FILENAME: return _config->FindDir("Dir::State::lists") + URItoFileName(URI);
+      case FILENAME:
+      {
+        auto const M = Options.find("FILENAME");
+        if (M == Options.end())
+           return _config->FindDir("Dir::State::lists") + URItoFileName(URI);
+        return M->second;
+      }
       case EXISTING_FILENAME:
         std::string const filename = Option(FILENAME);
         std::vector<std::string> const types = VectorizeString(Option(COMPRESSIONTYPES), ' ');
       case EXISTING_FILENAME:
         std::string const filename = Option(FILENAME);
         std::vector<std::string> const types = VectorizeString(Option(COMPRESSIONTYPES), ' ');
@@ -168,7 +179,7 @@ std::string IndexTarget::Option(OptionKeys const EnumKey) const             /*{{{*/
                                                                        /*}}}*/
 bool IndexTarget::OptionBool(OptionKeys const EnumKey) const           /*{{{*/
 {
                                                                        /*}}}*/
 bool IndexTarget::OptionBool(OptionKeys const EnumKey) const           /*{{{*/
 {
-   return StringToBool(Option(EnumKey));
+   return StringToBool(Option(EnumKey), false);
 }
                                                                        /*}}}*/
 std::string IndexTarget::Format(std::string format) const              /*{{{*/
 }
                                                                        /*}}}*/
 std::string IndexTarget::Format(std::string format) const              /*{{{*/
@@ -366,7 +377,7 @@ bool pkgDebianIndexFile::Merge(pkgCacheGenerator &Gen,OpProgress * const Prog)
    File->mtime = Pkg.ModificationTime();
 
    if (Gen.MergeList(*Parser) == false)
    File->mtime = Pkg.ModificationTime();
 
    if (Gen.MergeList(*Parser) == false)
-      return _error->Error("Problem with MergeList %s",PackageFile.c_str());
+      return _error->Warning("Problem with MergeList %s",PackageFile.c_str());
    return true;
 }
 pkgCache::PkgFileIterator pkgDebianIndexFile::FindInCache(pkgCache &Cache) const
    return true;
 }
 pkgCache::PkgFileIterator pkgDebianIndexFile::FindInCache(pkgCache &Cache) const