Просмотр исходного кода

* don't explod if a Provides has DepCompareOp

Michael Vogt лет назад: 20
Родитель
Сommit
b63380b007
2 измененных файлов с 14 добавлено и 5 удалено
  1. 6 5
      apt-pkg/deb/deblistparser.cc
  2. 8 0
      debian/changelog

+ 6 - 5
apt-pkg/deb/deblistparser.cc

@@ -504,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");
-      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;

+ 8 - 0
debian/changelog

@@ -1,3 +1,11 @@
+apt (0.6.43.3) unstable; urgency=low
+
+  * apt-pkg/deb/deblistparser.cc:
+    - don't explode on a DepCompareOp in a Provides line, but warn about
+      it and ignore it otherwise (thanks to James Troup for reporting it)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 19 Jan 2006 01:05:52 +0100
+
 apt (0.6.43.2) unstable; urgency=low
 
   * Merge bubulle@debian.org--2005/apt--main--0 up to patch-166: