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>
This commit is contained in:
Richard Purdie 2009-09-17 00:16:46 +01:00
parent 0d7207ca39
commit bc5afa640b
1 changed files with 10 additions and 6 deletions

View 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: