[OE-core] [PATCH 17/22] python-smartpm: Fix incorrect comparison arguments

Mark Hatle mark.hatle at windriver.com
Tue Dec 4 17:14:49 UTC 2012


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

Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
---
 .../python-smartpm/smart-metadata-match.patch      |   28 ++++++++++++++++++++
 .../python/python-smartpm_1.4.1.bb                 |    3 +-
 2 files changed, 30 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/python/python-smartpm/smart-metadata-match.patch

diff --git a/meta/recipes-devtools/python/python-smartpm/smart-metadata-match.patch b/meta/recipes-devtools/python/python-smartpm/smart-metadata-match.patch
new file mode 100644
index 0000000..d06f416
--- /dev/null
+++ b/meta/recipes-devtools/python/python-smartpm/smart-metadata-match.patch
@@ -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 at 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()
diff --git a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
index 4694d51..bbaa530 100644
--- a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
+++ b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb
@@ -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"
-- 
1.7.3.4





More information about the Openembedded-core mailing list