utils.bbclass: restore previous implementation of explode_deps()
authorAndreas Oberritter <obi@opendreambox.org>
Fri, 11 Feb 2011 20:51:40 +0000 (20:51 +0000)
committerGrazvydas Ignotas <notasas@gmail.com>
Mon, 6 Jul 2015 18:55:17 +0000 (21:55 +0300)
* explode_deps() changed its behavior to omit version information
  when the function was removed from OE in favor of BitBake's
  implementation in March 2010. Since then, packages didn't contain
  versioned runtime dependencies.

  See commit 89b7e433719f43f1c36c76cb8856d559014e99bc

* This patch restores the previous implementation of explode_deps(),
  thus fixing the generation of versioned runtime dependencies.

* Reimplementing explode_deps() using bb.utils.explode_dep_versions()
  didn't work, because it choked upon parsing inline python code, e.g.
  on update-modules_1.0.bb's RDEPENDS_${PN} field.

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Acked-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Tom Rini <tom_rini@mentor.com>
classes/utils.bbclass

index c106fb7..c3989da 100644 (file)
@@ -528,7 +528,21 @@ def check_app_exists(app, d):
        return len(which(path, app)) != 0
 
 def explode_deps(s):
-       return bb.utils.explode_deps(s)
+       r = []
+       l = s.split()
+       flag = False
+       for i in l:
+               if i[0] == '(':
+                       flag = True
+                       j = []
+               if flag:
+                       j.append(i)
+                       if i.endswith(')'):
+                               flag = False
+                               r[-1] += ' ' + ' '.join(j)
+               else:
+                       r.append(i)
+       return r
 
 def base_set_filespath(path, d):
        bb.note("base_set_filespath usage is deprecated, %s should be fixed" % d.getVar("P", 1))