summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2006-01-19 10:37:57 +0000
committerMichael Vogt <michael.vogt@ubuntu.com>2006-01-19 10:37:57 +0000
commitb63380b007b6394935a1412791243fdf939b3c92 (patch)
tree19943fad02f341167ad0e440af7114697ed21627
parent99d5b2609cf6662b267906f351e8345fad78025f (diff)
* don't explod if a Provides has DepCompareOp
-rw-r--r--apt-pkg/deb/deblistparser.cc11
-rw-r--r--debian/changelog8
2 files changed, 14 insertions, 5 deletions
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc
index b11d2531c..d0dc7a260 100644
--- a/apt-pkg/deb/deblistparser.cc
+++ b/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;
diff --git a/debian/changelog b/debian/changelog
index 3c3fbb4a9..b71fe095a 100644
--- a/debian/changelog
+++ b/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: