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()

View File

@ -11,7 +11,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
DEPENDS = "python rpm"
PR = "r2"
PR = "r3"
SRCNAME = "smart"
SRC_URI = "\
@ -23,6 +23,7 @@ SRC_URI = "\
file://smart-dflags.patch \
file://smart-rpm-md-parse.patch \
file://smart-tmpdir.patch \
file://smart-metadata-match.patch \
"
SRC_URI[md5sum] = "573ef32ba177a6b3c4bf7ef04873fcb6"