summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-12-21 13:53:11 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-08-31 10:19:24 -0700
commitf01f0b8aed25af889f48fe1afff96feb3d9ed120 (patch)
treedee29020fe0b23d76ae9dcc213615fba223769a0
parentc2109b765b24a7ffe4781257ad3fe4641a3b2a49 (diff)
downloadopenembedded-core-f01f0b8aed25af889f48fe1afff96feb3d9ed120.tar.gz
openembedded-core-f01f0b8aed25af889f48fe1afff96feb3d9ed120.tar.bz2
openembedded-core-f01f0b8aed25af889f48fe1afff96feb3d9ed120.zip
nativesdk: Convert to use classextend.py
This patch converts the nativesdk class itself from operating as a suffix to a prefix (see the proceeding patch for the related changes outside this class). The big benefit here is that we can reuse the generic class extension code. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/nativesdk.bbclass49
-rw-r--r--meta/lib/oe/classextend.py4
2 files changed, 17 insertions, 36 deletions
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index 7deaafc670..8c0cd5bea1 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes/nativesdk.bbclass
@@ -59,51 +59,28 @@ python nativesdk_virtclass_handler () {
return
pn = e.data.getVar("PN", True)
- if not pn.endswith("-nativesdk"):
+ if not pn.endswith("-nativesdk") or pn.startswith("nativesdk-"):
return
+ e.data.setVar("MLPREFIX", "nativesdk-")
+ e.data.setVar("PN", "nativesdk-" + e.data.getVar("PN", True).replace("-nativesdk", "").replace("nativesdk-", ""))
e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + ":virtclass-nativesdk")
}
python () {
pn = d.getVar("PN", True)
- if not pn.endswith("-nativesdk"):
+ if not pn.startswith("nativesdk-"):
return
- def map_dependencies(varname, d, suffix = ""):
- if suffix:
- varname = varname + "_" + suffix
- deps = d.getVar(varname, True)
- if not deps:
- return
- deps = bb.utils.explode_deps(deps)
- newdeps = []
- for dep in deps:
- if dep.endswith("-native") or dep.endswith("-cross"):
- newdeps.append(dep)
- elif dep.endswith("-gcc-intermediate") or dep.endswith("-gcc-initial") or dep.endswith("-gcc") or dep.endswith("-g++"):
- newdeps.append(dep + "-crosssdk")
- elif not dep.endswith("-nativesdk"):
- newdeps.append(dep.replace("-nativesdk", "") + "-nativesdk")
- else:
- newdeps.append(dep)
- d.setVar(varname, " ".join(newdeps))
-
- map_dependencies("DEPENDS", d)
- #for pkg in (d.getVar("PACKAGES", True).split() + [""]):
- # map_dependencies("RDEPENDS", d, pkg)
- # map_dependencies("RRECOMMENDS", d, pkg)
- # map_dependencies("RSUGGESTS", d, pkg)
- # map_dependencies("RPROVIDES", d, pkg)
- # map_dependencies("RREPLACES", d, pkg)
-
- provides = d.getVar("PROVIDES", True)
- for prov in provides.split():
- if prov.find(pn) != -1:
- continue
- if not prov.endswith("-nativesdk"):
- provides = provides.replace(prov, prov + "-nativesdk")
- d.setVar("PROVIDES", provides)
+ import oe.classextend
+
+ clsextend = oe.classextend.NativesdkClassExtender("nativesdk", d)
+ clsextend.rename_packages()
+ clsextend.rename_package_variables((d.getVar("PACKAGEVARS", True) or "").split())
+
+ clsextend.map_depends_variable("DEPENDS")
+ clsextend.map_packagevars()
+ clsextend.map_variable("PROVIDES")
}
addhandler nativesdk_virtclass_handler
diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py
index fb0d967372..86b1e8a554 100644
--- a/meta/lib/oe/classextend.py
+++ b/meta/lib/oe/classextend.py
@@ -7,6 +7,10 @@ class ClassExtender(object):
def extend_name(self, name):
if name.startswith("kernel-module"):
return name
+ if name.startswith("rtld"):
+ return name
+ if name.endswith("-" + self.extname):
+ name = name.replace("-" + self.extname, "")
if name.startswith("virtual/"):
subs = name.split("/", 1)[1]
if not subs.startswith(self.extname):