]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/deb/deblistparser.cc
* merged from main
[apt.git] / apt-pkg / deb / deblistparser.cc
index 97553ab825d2dd6c0982cfd436b020c98aee4658..d0dc7a26038df7f222b94361458b3a6ef5a2cb54 100644 (file)
@@ -15,7 +15,6 @@
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/strutl.h>
 #include <apt-pkg/crc-16.h>
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/strutl.h>
 #include <apt-pkg/crc-16.h>
-#include <apt-pkg/md5.h>
 
 #include <ctype.h>
 
 
 #include <ctype.h>
 
@@ -118,48 +117,6 @@ bool debListParser::NewVersion(pkgCache::VerIterator Ver)
    return true;
 }
                                                                        /*}}}*/
    return true;
 }
                                                                        /*}}}*/
-// ListParser::Description - Return the description string             /*{{{*/
-// ---------------------------------------------------------------------
-/* This is to return the string describing the package in debian
-   form. If this returns the blank string then the entry is assumed to
-   only describe package properties */
-string debListParser::Description()
-{
-   if (DescriptionLanguage().empty())
-      return Section.FindS("Description");
-   else
-      return Section.FindS(("Description-" + pkgIndexFile::LanguageCode()).c_str());
-}
-                                                                        /*}}}*/
-// ListParser::DescriptionLanguage - Return the description lang string        /*{{{*/
-// ---------------------------------------------------------------------
-/* This is to return the string describing the language of
-   description. If this returns the blank string then the entry is
-   assumed to describe original description. */
-string debListParser::DescriptionLanguage()
-{
-   return Section.FindS("Description").empty() ? pkgIndexFile::LanguageCode() : "";
-}
-                                                                        /*}}}*/
-// ListParser::Description - Return the description_md5 MD5SumValue    /*{{{*/
-// ---------------------------------------------------------------------
-/* This is to return the md5 string to allow the check if it is the right
-   description. If no Description-md5 is found in the section it will be
-   calculated.
- */
-MD5SumValue debListParser::Description_md5()
-{
-   string value = Section.FindS("Description-md5");
-
-   if (value.empty()) 
-   {
-      MD5Summation md5;
-      md5.Add((Description() + "\n").c_str());
-      return md5.Result();
-   } else
-      return MD5SumValue(value);
-}
-                                                                        /*}}}*/
 // ListParser::UsePackage - Update a package structure                 /*{{{*/
 // ---------------------------------------------------------------------
 /* This is called to update the package with any new information 
 // ListParser::UsePackage - Update a package structure                 /*{{{*/
 // ---------------------------------------------------------------------
 /* This is called to update the package with any new information 
@@ -420,12 +377,12 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
       const char *End = I;
       for (; End > Start && isspace(End[-1]); End--);
       
       const char *End = I;
       for (; End > Start && isspace(End[-1]); End--);
       
-      Ver = string(Start,End-Start);
+      Ver.assign(Start,End-Start);
       I++;
    }
    else
    {
       I++;
    }
    else
    {
-      Ver = string();
+      Ver.clear();
       Op = pkgCache::Dep::NoOp;
    }
    
       Op = pkgCache::Dep::NoOp;
    }
    
@@ -547,11 +504,12 @@ bool debListParser::ParseProvides(pkgCache::VerIterator Ver)
       Start = ParseDepends(Start,Stop,Package,Version,Op);
       if (Start == 0)
         return _error->Error("Problem parsing Provides line");
       Start = ParseDepends(Start,Stop,Package,Version,Op);
       if (Start == 0)
         return _error->Error("Problem parsing Provides line");
-      if (Op != pkgCache::Dep::NoOp)
-        return _error->Error("Malformed provides line");
-
-      if (NewProvides(Ver,Package,Version) == false)
-        return false;
+      if (Op != pkgCache::Dep::NoOp) {
+        _error->Warning("Ignoring Provides line with DepCompareOp for package %s", Package.c_str());
+      } else {
+        if (NewProvides(Ver,Package,Version) == false)
+           return false;
+      }
 
       if (Start == Stop)
         break;
 
       if (Start == Stop)
         break;