[oe] [PATCH 1/4] utils.bbclass: restore previous implementation of explode_deps()

Andreas Oberritter obi at opendreambox.org
Fri Feb 11 12:51:40 UTC 2011


* 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 at opendreambox.org>
CC: Chris Larson <chris_larson at mentor.com>
---
 classes/utils.bbclass |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/classes/utils.bbclass b/classes/utils.bbclass
index 2fa6204..eea084a 100644
--- a/classes/utils.bbclass
+++ b/classes/utils.bbclass
@@ -423,7 +423,21 @@ def check_app_exists(app, d):
 	return bool(which(path, app))
 
 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))
-- 
1.7.2.3





More information about the Openembedded-devel mailing list