summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2019-06-10 14:30:32 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2019-07-08 13:18:31 +0200
commitcbe90ee516d7f747f981e423f164f99eb767240b (patch)
treef120013cac9c1fe5e3a9feee78c85f2aa7064f3e
parent79b1a82983e737e74359bc306d9edb357c5bdd46 (diff)
Show details about the package with bad Provides
The error messages say only which package it was trying to provide, but not which package & version tried it which can be misleading as to which package (version) is the offender. References: #930256
-rw-r--r--apt-pkg/deb/deblistparser.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc
index 832e3948d..75fc2d242 100644
--- a/apt-pkg/deb/deblistparser.cc
+++ b/apt-pkg/deb/deblistparser.cc
@@ -820,7 +820,8 @@ bool debListParser::ParseDepends(pkgCache::VerIterator &Ver,
Start = ParseDepends(Start, Stop, Package, Version, Op, false, false, false, myArch);
if (Start == 0)
- return _error->Error("Problem parsing dependency %zu",static_cast<size_t>(Key)); // TODO
+ return _error->Error("Problem parsing dependency %zu of %s:%s=%s", static_cast<size_t>(Key), // TODO
+ Ver.ParentPkg().Name(), Ver.Arch(), Ver.VerStr());
size_t const found = Package.rfind(':');
if (found == string::npos)
@@ -888,9 +889,9 @@ bool debListParser::ParseProvides(pkgCache::VerIterator &Ver)
Start = ParseDepends(Start,Stop,Package,Version,Op, false, false, false);
const size_t archfound = Package.rfind(':');
if (Start == 0)
- return _error->Error("Problem parsing Provides line");
+ return _error->Error("Problem parsing Provides line of %s:%s=%s", Ver.ParentPkg().Name(), Ver.Arch(), Ver.VerStr());
if (unlikely(Op != pkgCache::Dep::NoOp && Op != pkgCache::Dep::Equals)) {
- _error->Warning("Ignoring Provides line with non-equal DepCompareOp for package %s", Package.to_string().c_str());
+ _error->Warning("Ignoring non-equal Provides for package %s in %s:%s=%s", Package.to_string().c_str(), Ver.ParentPkg().Name(), Ver.Arch(), Ver.VerStr());
} else if (archfound != string::npos) {
StringView spzArch = Package.substr(archfound + 1);
if (spzArch != "any")