Skip to contentSkip to conversation

Minor fixes

PATCH Applied Paul Eggleton 2 participants 4 messages Oct 3, 2012 – Oct 5, 2012

lore
Share & tools
lore
#0 lore raw

cover Minor fixes

The following changes since commit eb96be4db46039752c44dc37ef676eaac04e3dba:

xf86-video-intel: drop libxvmc dependency (2012-10-03 12:41:03 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib paule/fixes2
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/fixes2

Paul Eggleton (2):
buildhistory_analysis: update to use explode_dep_versions2()
rpmresolve: fix reporting of multiple matches error

 meta/lib/oe/buildhistory_analysis.py              |   23 +++++++++++++++++----
 meta/recipes-devtools/rpm/rpmresolve/rpmresolve.c |    6 +++---
 meta/recipes-devtools/rpm/rpmresolve_1.0.bb       |    2 +-
 3 files changed, 23 insertions(+), 8 deletions(-)
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/2 buildhistory_analysis: update to use explode_dep_versions2()

Handle where multiple version specifications are present for the same dependency.

---
 meta/lib/oe/buildhistory_analysis.py |   23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)
meta/lib/oe/buildhistory_analysis.py +19 -4
index a5a607e..ad57f00 100644
@@ -262,8 +262,8 @@ def compare_lists(alines, blines):
 
 
 def compare_pkg_lists(astr, bstr):
-    depvera = bb.utils.explode_dep_versions(astr)
-    depverb = bb.utils.explode_dep_versions(bstr)
+    depvera = bb.utils.explode_dep_versions2(astr)
+    depverb = bb.utils.explode_dep_versions2(bstr)
 
     # Strip out changes where the version has increased
     remove = []
@@ -271,8 +271,23 @@ def compare_pkg_lists(astr, bstr):
         if k in depverb:
             dva = depvera[k]
             dvb = depverb[k]
-            if dva and dvb and dva != dvb:
-                if bb.utils.vercmp(bb.utils.split_version(dva), bb.utils.split_version(dvb)) < 0:
+            if dva and dvb and len(dva) == len(dvb):
+                # Since length is the same, sort so that prefixes (e.g. >=) will line up
+                dva.sort()
+                dvb.sort()
+                removeit = True
+                for dvai, dvbi in zip(dva, dvb):
+                    if dvai != dvbi:
+                        aiprefix = dvai.split(' ')[0]
+                        biprefix = dvbi.split(' ')[0]
+                        if aiprefix == biprefix and aiprefix in ['>=', '=']:
+                            if bb.utils.vercmp(bb.utils.split_version(dvai), bb.utils.split_version(dvbi)) > 0:
+                                removeit = False
+                                break
+                        else:
+                            removeit = False
+                            break
+                if removeit:
                     remove.append(k)
 
     for k in remove:
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH 2/2 rpmresolve: fix reporting of multiple matches error

In reply to Paul Eggleton

We were mistakenly writing what was meant to go to stderr into the output file, so when the "Multiple matches" error showed we weren't actually seeing the matches printed.

Also change the wording of the "Unable to find package..." to "Unable to resolve package..." instead so that it makes more sense if it is printed after the "Multiple matches" error.

---
 meta/recipes-devtools/rpm/rpmresolve/rpmresolve.c |    6 +++---
 meta/recipes-devtools/rpm/rpmresolve_1.0.bb       |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
meta/recipes-devtools/rpm/rpmresolve/rpmresolve.c +3 -3
index 3613ee5..4e9d055 100644
@@ -185,7 +185,7 @@ int processPackages(rpmts *ts, int tscount, const char *packagelistfn, int ignor
                                 char *value = NULL;
                                 rc = getPackageStr(ts[i], keys[keyindex], RPMTAG_PACKAGEORIGIN, &value);
                                 if(rc == 0)
-                                    fprintf(outf, "  %s\n", value);
+                                    fprintf(stderr, "  %s\n", value);
                                 else
                                     fprintf(stderr, "  (%s)\n", keys[keyindex]);
                             }
@@ -197,10 +197,10 @@ int processPackages(rpmts *ts, int tscount, const char *packagelistfn, int ignor
 
                 if( !found ) {
                     if( ignoremissing ) {
-                        fprintf(stderr, "unable to find package %s - ignoring\n", line);
+                        fprintf(stderr, "Unable to resolve package %s - ignoring\n", line);
                     }
                     else {
-                        fprintf(stderr, "unable to find package %s\n", line);
+                        fprintf(stderr, "Unable to resolve package %s\n", line);
                         missing = 1;
                     }
                 }
meta/recipes-devtools/rpm/rpmresolve_1.0.bb +1 -1
index 3ce4369..ea542e1 100644
@@ -4,7 +4,7 @@ DESCRIPTION = "OpenEmbedded RPM resolver - performs RPM database lookups in batc
 DEPENDS = "rpm"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-PR = "r1"
+PR = "r2"
 
 SRC_URI = "file://rpmresolve.c"
 
Signature · 1 line
1.7.9.5
Applied
#3 lore raw
In reply to Paul Eggleton
Quoted 9 lines · Paul Eggleton

The following changes since commit eb96be4db46039752c44dc37ef676eaac04e3dba:

   xf86-video-intel: drop libxvmc dependency (2012-10-03 12:41:03 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib paule/fixes2
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/fixes2

Quoted 9 lines

Paul Eggleton (2):
buildhistory_analysis: update to use explode_dep_versions2()
rpmresolve: fix reporting of multiple matches error

  meta/lib/oe/buildhistory_analysis.py              |   23 +++++++++++++++++----
  meta/recipes-devtools/rpm/rpmresolve/rpmresolve.c |    6 +++---
  meta/recipes-devtools/rpm/rpmresolve_1.0.bb       |    2 +-
  3 files changed, 23 insertions(+), 8 deletions(-)

Merged into OE-Core

Thanks
Sau!