]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/deb/deblistparser.cc
* some WS fixes
[apt.git] / apt-pkg / deb / deblistparser.cc
index 64a2bad919341d19925c6b05e421673f0f133104..25b533773e126ba0ca39aea68db93603c68b7990 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: deblistparser.cc,v 1.28 2001/10/02 03:03:47 tausq Exp $
+// $Id: deblistparser.cc,v 1.29.2.5 2004/01/06 01:43:44 mdz Exp $
 /* ######################################################################
    
    Package Cache Generator - Generator for the cache structure.
@@ -268,11 +268,7 @@ bool debListParser::ParseStatus(pkgCache::PkgIterator Pkg,
    
    return true;
 }
-                                                                       /*}}}*/
-// ListParser::ParseDepends - Parse a dependency element               /*{{{*/
-// ---------------------------------------------------------------------
-/* This parses the dependency elements out of a standard string in place,
-   bit by bit. */
+
 const char *debListParser::ConvertRelation(const char *I,unsigned int &Op)
 {
    // Determine the operator
@@ -331,6 +327,11 @@ const char *debListParser::ConvertRelation(const char *I,unsigned int &Op)
    return I;
 }
 
+                                                                       /*}}}*/
+// ListParser::ParseDepends - Parse a dependency element               /*{{{*/
+// ---------------------------------------------------------------------
+/* This parses the dependency elements out of a standard string in place,
+   bit by bit. */
 const char *debListParser::ParseDepends(const char *Start,const char *Stop,
                                        string &Package,string &Ver,
                                        unsigned int &Op, bool ParseArchFlags)
@@ -563,16 +564,23 @@ bool debListParser::Step()
 // ---------------------------------------------------------------------
 /* */
 bool debListParser::LoadReleaseInfo(pkgCache::PkgFileIterator FileI,
-                                   FileFd &File)
+                                   FileFd &File, string component)
 {
-   pkgTagFile Tags(&File);
+   pkgTagFile Tags(&File, File.Size() + 256); // XXX
    pkgTagSection Section;
    if (Tags.Step(Section) == false)
       return false;
 
+   //mvo: I don't think we need to fill that in (it's unused since apt-0.6)
+   //FileI->Architecture = WriteUniqString(Arch);
+   
+   // apt-secure does no longer download individual (per-section) Release
+   // file. to provide Component pinning we use the section name now
+   FileI->Component = WriteUniqString(component);
+
    const char *Start;
    const char *Stop;
-   if (Section.Find("Archive",Start,Stop) == true)
+   if (Section.Find("Suite",Start,Stop) == true)
       FileI->Archive = WriteUniqString(Start,Stop - Start);
    if (Section.Find("Component",Start,Stop) == true)
       FileI->Component = WriteUniqString(Start,Stop - Start);
@@ -588,7 +596,7 @@ bool debListParser::LoadReleaseInfo(pkgCache::PkgFileIterator FileI,
    if (Section.FindFlag("NotAutomatic",FileI->Flags,
                        pkgCache::Flag::NotAutomatic) == false)
       _error->Warning("Bad NotAutomatic flag");
-   
+
    return !_error->PendingError();
 }
                                                                        /*}}}*/