Patchwork [17/22] python-smartpm: Fix incorrect comparison arguments

login
register
mail settings
Submitter Mark Hatle
Date Dec. 4, 2012, 5:14 p.m.
Message ID <5af457657b7e5af1cf00a8355615a8153f43e50e.1354641032.git.mark.hatle@windriver.com>
Download mbox | patch
Permalink /patch/40307/
State Accepted
Commit 81f8972323a0a89e67f5cc4be247bc8e1b637cc4
Headers show

Comments

Mark Hatle - Dec. 4, 2012, 5:14 p.m.
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@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

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@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"