summaryrefslogtreecommitdiffstats
path: root/meta/classes/nativesdk.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2009-09-16 23:16:46 (GMT)
committerRichard Purdie <rpurdie@linux.intel.com>2009-09-17 21:25:22 (GMT)
commitbc5afa640b56b39cb53873c46dde5a7b38fb6343 (patch)
tree624608eff9b8c75a8603e162c93ecae0bcf9eae0 /meta/classes/nativesdk.bbclass
parent0d7207ca39d1671682f9467a804766b151048573 (diff)
downloadpoky-bc5afa640b56b39cb53873c46dde5a7b38fb6343.tar.gz
nativesdk: Don't use search and replace on DEPENDS field
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>
Diffstat (limited to 'meta/classes/nativesdk.bbclass')
-rw-r--r--meta/classes/nativesdk.bbclass16
1 files changed, 10 insertions, 6 deletions
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index d1b4294..59d3320 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes/nativesdk.bbclass
@@ -75,21 +75,25 @@ python __anonymous () {
75 pn = bb.data.getVar("PN", d, True) 75 pn = bb.data.getVar("PN", d, True)
76 depends = bb.data.getVar("DEPENDS", d, True) 76 depends = bb.data.getVar("DEPENDS", d, True)
77 deps = bb.utils.explode_deps(depends) 77 deps = bb.utils.explode_deps(depends)
78 if "sdk" in (bb.data.getVar('BBCLASSEXTEND', d, True) or ""): 78 newdeps = []
79 if "nativesdk" in (bb.data.getVar('BBCLASSEXTEND', d, True) or ""):
79 autoextend = True 80 autoextend = True
80 else: 81 else:
81 autoextend = False 82 autoextend = False
82 for dep in deps: 83 for dep in deps:
83 if dep.endswith("-native") or dep.endswith("-cross"): 84 if dep.endswith("-native") or dep.endswith("-cross"):
84 continue 85 newdeps.append(dep)
85 if not dep.endswith("-nativesdk"): 86 elif not dep.endswith("-nativesdk"):
86 if autoextend: 87 if autoextend:
87 depends = depends.replace(dep, dep + "-nativesdk") 88 newdeps.append(dep + "-nativesdk")
88 elif pn == 'gcc-cross-nativesdk': 89 elif pn == 'gcc-cross-nativesdk':
89 continue 90 newdeps.append(dep)
90 else: 91 else:
92 newdeps.append(dep)
91 bb.note("%s has depends %s which doesn't end in -nativesdk?" % (pn, dep)) 93 bb.note("%s has depends %s which doesn't end in -nativesdk?" % (pn, dep))
92 bb.data.setVar("DEPENDS", depends, d) 94 else:
95 newdeps.append(dep)
96 bb.data.setVar("DEPENDS", " ".join(newdeps), d)
93 provides = bb.data.getVar("PROVIDES", d, True) 97 provides = bb.data.getVar("PROVIDES", d, True)
94 for prov in provides.split(): 98 for prov in provides.split():
95 if prov.find(pn) != -1: 99 if prov.find(pn) != -1: