]> code.ossystems Code Review - openembedded-core.git/commitdiff
nativesdk: Don't use search and replace on DEPENDS field
authorRichard Purdie <rpurdie@linux.intel.com>
Wed, 16 Sep 2009 23:16:46 +0000 (00:16 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Thu, 17 Sep 2009 21:25:22 +0000 (22:25 +0100)
Search and replace on the DEPENDS field can cause problems if
multiple similar names are present in the string so use an
alternative approach.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
meta/classes/nativesdk.bbclass

index d1b429488b4c2a959ac9854aaa6a20c1910c418c..59d3320c3c08449e87e14f1375abd4d052204554 100644 (file)
@@ -75,21 +75,25 @@ python __anonymous () {
     pn = bb.data.getVar("PN", d, True)
     depends = bb.data.getVar("DEPENDS", d, True)
     deps = bb.utils.explode_deps(depends)
-    if "sdk" in (bb.data.getVar('BBCLASSEXTEND', d, True) or ""):
+    newdeps = []
+    if "nativesdk" in (bb.data.getVar('BBCLASSEXTEND', d, True) or ""):
         autoextend = True
     else:
         autoextend = False
     for dep in deps:
         if dep.endswith("-native") or dep.endswith("-cross"):
-            continue
-        if not dep.endswith("-nativesdk"):
+            newdeps.append(dep)
+        elif not dep.endswith("-nativesdk"):
             if autoextend:
-                depends = depends.replace(dep, dep + "-nativesdk")
+                newdeps.append(dep + "-nativesdk")
             elif pn == 'gcc-cross-nativesdk':
-                continue
+                newdeps.append(dep)
             else:
+                newdeps.append(dep)
                 bb.note("%s has depends %s which doesn't end in -nativesdk?" % (pn, dep))
-    bb.data.setVar("DEPENDS", depends, d)
+        else:
+            newdeps.append(dep)
+    bb.data.setVar("DEPENDS", " ".join(newdeps), d)
     provides = bb.data.getVar("PROVIDES", d, True)
     for prov in provides.split():
         if prov.find(pn) != -1: