python-smartpm: Fix incorrect comparison arguments

Built-in provides were not being compared properly within smart.
This was caused by an incorrect argument to the match function.

(From OE-Core rev: 81f8972323a0a89e67f5cc4be247bc8e1b637cc4)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mark Hatle
2012-11-28 17:38:12 -06:00
committed by Richard Purdie
parent b3744b7ead
commit 2bc0834f85
2 changed files with 30 additions and 1 deletions

View File

@@ -0,0 +1,28 @@
smart - backends/rmp/metadata.py: Fix incorrect call to the match function
The match function should take three parameters, name, comparison, version...
The original code was passing it a reference to the object holding the data
instead, which caused the comparison in match to always fail.
Upstream-Status: Pending
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
--- a/smart/backends/rpm/metadata.py
+++ b/smart/backends/rpm/metadata.py
@@ -332,13 +332,13 @@
reqargs = [x for x in reqdict
if not ((x[2] is None or "=" in x[2]) and
(RPMProvides, x[1], x[3]) in prvdict or
- system_provides.match(*x[:3]))]
+ system_provides.match(x[1], x[2], x[3]))]
reqargs = collapse_libc_requires(reqargs)
recargs = [x for x in recdict
if not ((x[2] is None or "=" in x[2]) and
(RPMProvides, x[1], x[3]) in prvdict or
- system_provides.match(*x[:3]))]
+ system_provides.match(x[1], x[2], x[3]))]
prvargs = prvdict.keys()
cnfargs = cnfdict.keys()