- actually process file provides for repomd
authorpmatilai <pmatilai>
Tue, 21 Mar 2006 12:38:04 +0000 (12:38 +0000)
committerpmatilai <pmatilai>
Tue, 21 Mar 2006 12:38:04 +0000 (12:38 +0000)
apt-pkg/rpm/rpmindexfile.cc
apt-pkg/rpm/rpmindexfile.h

index a166ffa..6fe69ce 100644 (file)
@@ -744,6 +744,25 @@ bool rpmRepomdIndex::Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const
    return true;
 }
 
    return true;
 }
 
+bool rpmRepomdIndex::MergeFileProvides(pkgCacheGenerator &Gen,
+                                       OpProgress &Prog) const
+{
+   string PackageFile = IndexPath();
+   RPMHandler *Handler = CreateHandler();
+   rpmListParser Parser(Handler);
+   if (_error->PendingError() == true) {
+      delete Handler;
+      return _error->Error(_("Problem opening %s"),PackageFile.c_str());
+   }
+   // We call SubProgress with Size(), since we won't call SelectFile() here.
+   Prog.SubProgress(Size(),Info("pkglist"));
+   if (Gen.MergeFileProvides(Parser) == false)
+      return _error->Error(_("Problem with MergeFileProvides %s"),
+                          PackageFile.c_str());
+   delete Handler;
+   return true;
+}
+
 pkgSrcRecords::Parser *rpmRepomdSrcIndex::CreateSrcParser() const
 {
    return new rpmSrcRecordParser(IndexPath(), this);
 pkgSrcRecords::Parser *rpmRepomdSrcIndex::CreateSrcParser() const
 {
    return new rpmSrcRecordParser(IndexPath(), this);
index b1d96c3..62505f7 100644 (file)
@@ -319,6 +319,8 @@ class rpmRepomdIndex : public rpmIndexFile
    virtual string ArchiveURI(string File) const;
 
    virtual bool Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const;
    virtual string ArchiveURI(string File) const;
 
    virtual bool Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const;
+   virtual bool MergeFileProvides(pkgCacheGenerator &/*Gen*/,
+                                 OpProgress &/*Prog*/) const;
    virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
 
    rpmRepomdIndex(string URI,string Dist,string Section,
    virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const;
 
    rpmRepomdIndex(string URI,string Dist,string Section,