Revert "- implement filelists (and stub for other.xml type) as their own index types"
authorPanu Matilainen <pmatilai@laiskiainen.org>
Sat, 10 Feb 2007 11:18:07 +0000 (13:18 +0200)
committerPanu Matilainen <pmatilai@laiskiainen.org>
Sat, 10 Feb 2007 11:18:07 +0000 (13:18 +0200)
This reverts commit 14ec04afb9da750a3e833cd2d63d94407764ea65.

apt-pkg/rpm/rpmhandler.cc
apt-pkg/rpm/rpmhandler.h
apt-pkg/rpm/rpmindexfile.cc
apt-pkg/rpm/rpmindexfile.h

index 3a726db..6c846de 100644 (file)
@@ -1238,7 +1238,7 @@ RPMRepomdHandler::~RPMRepomdHandler()
 
 RPMRepomdFLHandler::RPMRepomdFLHandler(string File) : RPMHandler()
 {
-   FilelistFile = File;
+   FilelistFile = File.substr(0, File.size() - 11) + "filelists.xml";
 
    ID = File;
    Filelist = NULL;
@@ -1279,13 +1279,13 @@ error:
 
 bool RPMRepomdFLHandler::Jump(off_t Offset)
 {
-   cerr << "RepomdFLHandler::Jump() called but not implemented!" << endl;
+   //cerr << "RepomdFLHandler::Jump() called but not implemented!" << endl;
    return false;
 }
 
 void RPMRepomdFLHandler::Rewind()
 {
-   cerr << "RepomdFLHandler::Rewind() called but not implemented!" << endl;
+   //cerr << "RepomdFLHandler::Rewind() called but not implemented!" << endl;
 }
 
 bool RPMRepomdFLHandler::Skip()
@@ -1315,15 +1315,15 @@ bool RPMRepomdFLHandler::FileList(vector<string> &FileList)
 
 string RPMRepomdFLHandler::FindTag(char *Tag)
 {
-   string str = "";
-   if (NodeP) {
-       xmlChar *attr = xmlGetProp(NodeP, (xmlChar*)Tag);
-       if (attr) {
-          str = (char*)attr;
-          xmlFree(attr);
-       }
-   }
-   return str;
+     string str = "";
+     if (NodeP) {
+         xmlChar *attr = xmlGetProp(NodeP, (xmlChar*)Tag);
+         if (attr) {
+            str = (char*)attr;
+            xmlFree(attr);
+         }
+     }
+     return str;
 }
 
 RPMRepomdFLHandler::~RPMRepomdFLHandler()
index abddf6e..13eebb8 100644 (file)
@@ -305,12 +305,6 @@ class RPMRepomdFLHandler : public RPMHandler
    virtual bool PRCO(unsigned int Type, vector<Dependency*> &Deps)
        {return true;};
 
-   virtual string Group() {return "";};
-   virtual string Packager() {return "";};
-   virtual string Vendor() {return "";};
-   virtual string Summary() {return "";};
-   virtual string Description() {return "";};
-   virtual string SourceRpm() {return "";};
    virtual bool FileList(vector<string> &FileList);
    RPMRepomdFLHandler(string File);
    virtual ~RPMRepomdFLHandler();
index 63ab9b9..cd104b8 100644 (file)
@@ -655,8 +655,19 @@ bool rpmRepomdIndex::GetReleases(pkgAcquire *Owner) const
 bool rpmRepomdIndex::GetIndexes(pkgAcquire *Owner) const
 {
 
-   new pkgAcqIndex(Owner,Repository,IndexURI(FileType),
-                  Info(FileType + ".xml"), FileType + ".xml");
+   new pkgAcqIndex(Owner,Repository,IndexURI("primary"),
+                  Info("primary.xml"), "primary.xml");
+   new pkgAcqIndex(Owner,Repository,IndexURI("filelists"),
+                  Info("filelists.xml"), "filelists.xml");
+   if (_config->FindB("Acquire::ChangeLogs", false)) {
+      new pkgAcqIndex(Owner,Repository,IndexURI("other"),
+                    Info("other.xml"), "other.xml");
+   }
+   string dummy;
+   if (Repository->FindURI("updateinfo", dummy)) {
+      new pkgAcqIndex(Owner,Repository,IndexURI("updateinfo"),
+                    Info("updateinfo.xml"), "updateinfo.xml");
+   }
    return true;
 }
 
@@ -759,6 +770,25 @@ bool rpmRepomdIndex::Merge(pkgCacheGenerator &Gen,OpProgress &Prog) const
    return true;
 }
 
+bool rpmRepomdIndex::MergeFileProvides(pkgCacheGenerator &Gen,
+                                       OpProgress &Prog) const
+{
+   string PackageFile = IndexPath();
+   RPMHandler *Handler = new RPMRepomdFLHandler(IndexPath());
+   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;
+}
+
 rpmRepomdIndex::rpmRepomdIndex(string URI,string Dist,string Section, 
                               pkgRepository *Repository):
                               URI(URI), Dist(Dist), Section(Section),
@@ -767,7 +797,6 @@ rpmRepomdIndex::rpmRepomdIndex(string URI,string Dist,string Section,
    if (FileExists(ReleasePath())) {
       Repository->ParseRelease(ReleasePath());
    }
-   FileType = "primary";
 }
 
 pkgSrcRecords::Parser *rpmRepomdIndex::CreateSrcParser() const
@@ -796,26 +825,6 @@ string rpmRepomdSrcIndex::SourceInfo(pkgSrcRecords::Parser const &Record,
       Res += " (" + File.Type + ")";
    return Res;
 }
-
-bool rpmRepomdFileIndex::MergeFileProvides(pkgCacheGenerator &Gen,
-                                       OpProgress &Prog) const
-{
-   string PackageFile = IndexPath();
-   RPMHandler *Handler = new RPMRepomdFLHandler(IndexPath());
-   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;
-}
-
 #endif /* APT_WITH_REPOMD */
 
 // DatabaseIndex::rpmDatabaseIndex - Constructor                       /*{{{*/
@@ -1074,10 +1083,6 @@ class rpmSLTypeRepomd : public rpmSLTypeGen
    {
       pkgRepository *Rep = GetRepository(URI,Dist,Vendor);
       List.push_back(new rpmRepomdPkgIndex(URI,Dist,Section,Rep));
-      List.push_back(new rpmRepomdFileIndex(URI,Dist,Section,Rep));
-#if 0
-      List.push_back(new rpmRepomdOtherIndex(URI,Dist,Section,Rep));
-#endif
       return true;
    };
 
@@ -1149,7 +1154,6 @@ class rpmIFTypeSrc : public pkgIndexFile::Type
    
    rpmIFTypeSrc() {Label = "RPM Source Index";};
 };
-
 class rpmIFTypePkg : public pkgIndexFile::Type
 {
    public:
@@ -1160,7 +1164,6 @@ class rpmIFTypePkg : public pkgIndexFile::Type
    };
    rpmIFTypePkg() {Label = "RPM Package Index";};
 };
-
 class rpmIFTypeDatabase : public pkgIndexFile::Type
 {
    public:
@@ -1171,38 +1174,9 @@ class rpmIFTypeDatabase : public pkgIndexFile::Type
    };
    rpmIFTypeDatabase() {Label = "RPM Database";};
 };
-
-class rpmIFTypeFileList : public pkgIndexFile::Type
-{
-   public:
-
-#if 0
-   virtual pkgRecords::Parser *CreatePkgParser(pkgCache::PkgFileIterator File) const
-   {
-      return new rpmFileRecordParser(File.FileName(),*File.Cache());
-   };
-#endif
-   rpmIFTypeFileList() {Label = "RepoMD Filelist";};
-};
-
-class rpmIFTypeOtherList : public pkgIndexFile::Type
-{
-   public:
-
-#if 0
-   virtual pkgRecords::Parser *CreatePkgParser(pkgCache::PkgFileIterator File) const
-   {
-      return new rpmFileRecordParser(File.FileName(),*File.Cache());
-   };
-#endif
-   rpmIFTypeOtherList() {Label = "RepoMD Otherlist";};
-};
-
 static rpmIFTypeSrc _apt_Src;
 static rpmIFTypePkg _apt_Pkg;
 static rpmIFTypeDatabase _apt_DB;
-static rpmIFTypeFileList _apt_FL;
-static rpmIFTypeOtherList _apt_OL;
 
 const pkgIndexFile::Type *rpmSrcListIndex::GetType() const
 {
@@ -1241,14 +1215,6 @@ const pkgIndexFile::Type *rpmRepomdSrcIndex::GetType() const
 {
    return &_apt_Src;
 }
-const pkgIndexFile::Type *rpmRepomdFileIndex::GetType() const
-{
-   return &_apt_FL;
-}
-const pkgIndexFile::Type *rpmRepomdOtherIndex::GetType() const
-{
-   return &_apt_OL;
-}
 #endif
 
                                                                        /*}}}*/
index e0530f7..2879720 100644 (file)
@@ -283,8 +283,6 @@ class rpmRepomdIndex : public rpmIndexFile
 {
    protected:
 
-   string FileType;
-
    string URI;
    string Dist;
    string Section;
@@ -299,14 +297,14 @@ class rpmRepomdIndex : public rpmIndexFile
    string IndexURI(string Type) const;
 
    virtual string MainType() const = 0;
-   virtual string IndexPath() const {return IndexFile(FileType);};
+   virtual string IndexPath() const {return IndexFile("primary");};
    virtual string ReleasePath() const;
 
    public:
 
    // Creates a RPMHandler suitable for usage with this object
    virtual RPMHandler *CreateHandler() const
-          { return new RPMRepomdHandler(IndexPath()); };
+          { return new RPMRepomdHandler(IndexFile("primary")); };
 
    virtual bool GetReleases(pkgAcquire *Owner) const;
 
@@ -323,6 +321,8 @@ class rpmRepomdIndex : public rpmIndexFile
    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;
 
    // Interface for the source record parsers - repomd can have both binary
@@ -371,39 +371,6 @@ class rpmRepomdSrcIndex : public rpmRepomdIndex
           rpmRepomdIndex(URI,Dist,Section,Repository) {};
 
 };
-
-class rpmRepomdFileIndex : public rpmRepomdIndex
-{
-   protected:
-   virtual string MainType() const {return "repomd";};
-
-   public:
-   virtual bool HasPackages() const {return true;};
-   virtual const Type *GetType() const;
-   virtual RPMHandler *CreateHandler() const
-          { return new RPMRepomdFLHandler(IndexPath()); };
-   virtual bool MergeFileProvides(pkgCacheGenerator &/*Gen*/,
-                                 OpProgress &/*Prog*/) const;
-
-   rpmRepomdFileIndex(string URI,string Dist,string Section,
-                     pkgRepository *Repository) :
-          rpmRepomdIndex(URI,Dist,Section,Repository) {FileType="filelists";};
-};
-
-class rpmRepomdOtherIndex : public rpmRepomdIndex
-{
-   protected:
-   virtual string MainType() const {return "repomd";};
-
-   public:
-   virtual const Type *GetType() const;
-   rpmRepomdOtherIndex(string URI,string Dist,string Section,
-                     pkgRepository *Repository) :
-          rpmRepomdIndex(URI,Dist,Section,Repository) {FileType="other";};
-
-};
-
 #endif /* APT_WITH_REPOMD */
 
 #endif
-// vim:sts=3:sw=3