* [PATCH] nativesdk: Convert to use classextend.py
@ 2012-08-28 15:40 Richard Purdie
0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2012-08-28 15:40 UTC (permalink / raw)
To: openembedded-core
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>
---
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index 7deaafc..8c0cd5b 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 fb0d967..86b1e8a 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):
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-08-28 15:52 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-28 15:40 [PATCH] nativesdk: Convert to use classextend.py Richard Purdie
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.