diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2009-09-17 00:16:46 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-09-17 22:25:22 +0100 |
commit | bc5afa640b56b39cb53873c46dde5a7b38fb6343 (patch) | |
tree | 624608eff9b8c75a8603e162c93ecae0bcf9eae0 | |
parent | 0d7207ca39d1671682f9467a804766b151048573 (diff) | |
download | poky-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>
-rw-r--r-- | meta/classes/nativesdk.bbclass | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass index d1b429488b..59d3320c3c 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: |