From 1b53eef2769d1b5e4ff527ccabf9b700afc02220 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 9 Jun 2011 17:56:23 +0100 Subject: native/nativesdk: Clean up the depends ordering after bitbake override handling updates This massively cleans up the dependency handling in the two classes when interacting with BBCLASSEXTEND. This change has a dependency on the bitbake override handling change and also the existence of the RecipePreFinalise event. (From OE-Core rev: f183c7cfe377fa6ed2777605c3590a9dda2060df) Signed-off-by: Richard Purdie Signed-off-by: Richard Purdie --- meta/classes/nativesdk.bbclass | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'meta/classes/nativesdk.bbclass') diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass index cd34a798ef..644e73121b 100644 --- a/meta/classes/nativesdk.bbclass +++ b/meta/classes/nativesdk.bbclass @@ -54,12 +54,15 @@ FILES_${PN}-dbg += "${prefix}/.debug \ export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${libdir}/pkgconfig" export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}" -ORIG_DEPENDS := "${DEPENDS}" -DEPENDS_virtclass-nativesdk ?= "${ORIG_DEPENDS}" +python nativesdk_virtclass_handler () { + if not isinstance(e, bb.event.RecipePreFinalise): + return -python __anonymous () { - pn = bb.data.getVar("PN", d, True) - depends = bb.data.getVar("DEPENDS_virtclass-nativesdk", d, True) + pn = bb.data.getVar("PN", e.data, True) + if not pn.endswith("-nativesdk"): + return + + depends = bb.data.getVar("DEPENDS", e.data, True) deps = bb.utils.explode_deps(depends) newdeps = [] for dep in deps: @@ -71,16 +74,18 @@ python __anonymous () { newdeps.append(dep + "-nativesdk") else: newdeps.append(dep) - bb.data.setVar("DEPENDS_virtclass-nativesdk", " ".join(newdeps), d) - provides = bb.data.getVar("PROVIDES", d, True) + bb.data.setVar("DEPENDS", " ".join(newdeps), e.data) + provides = bb.data.getVar("PROVIDES", e.data, True) for prov in provides.split(): if prov.find(pn) != -1: continue if not prov.endswith("-nativesdk"): provides = provides.replace(prov, prov + "-nativesdk") - bb.data.setVar("PROVIDES", provides, d) - bb.data.setVar("OVERRIDES", bb.data.getVar("OVERRIDES", d, False) + ":virtclass-nativesdk", d) + bb.data.setVar("PROVIDES", provides, e.data) + bb.data.setVar("OVERRIDES", bb.data.getVar("OVERRIDES", e.data, False) + ":virtclass-nativesdk", e.data) } +addhandler nativesdk_virtclass_handler + do_populate_sysroot[stamp-extra-info] = "" do_package[stamp-extra-info] = "" -- cgit v1.2.3-54-g00ecf