From 8a0ecb59fa9e23f690a8aecea8e1812d79f752e7 Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Mon, 16 Mar 2015 11:55:33 -0700 Subject: xen: avoid parse time errors for non-xen-archs XEN_TARGET_ARCH, when expanded, would emit a bb.error(). Referencing XEN_TARGET_ARCH in PACKAGECONFIG resulted in its expansion at the up front parse time, rather than at compile time, so non-xen-supported-archs like powerpc would see parse time errors, resulting in non-zero bitbake exit codes. Naturally this isn't ideal, so instead have the mapping function return 'INVALID' in the unsupported case, and in anonymous python, raise SkipPackage if the mapped architecture is invalid, so it's seen as unbuildable in that case. Signed-off-by: Christopher Larson Signed-off-by: Bruce Ashfield --- recipes-extended/xen/xen-arch.inc | 2 +- recipes-extended/xen/xen.inc | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'recipes-extended') diff --git a/recipes-extended/xen/xen-arch.inc b/recipes-extended/xen/xen-arch.inc index bcf9f54b..fb0093e3 100644 --- a/recipes-extended/xen/xen-arch.inc +++ b/recipes-extended/xen/xen-arch.inc @@ -14,5 +14,5 @@ def map_xen_arch(a, d): elif re.match("aarch64.*", a): return "arm64" elif a in valid_archs: return a else: - bb.error("cannot map '%s' to a xen architecture" % a) + return "INVALID" diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc index 0e4136aa..432bf4d4 100644 --- a/recipes-extended/xen/xen.inc +++ b/recipes-extended/xen/xen.inc @@ -663,6 +663,11 @@ export STAGING_LIBDIR export XEN_TARGET_ARCH = "${@map_xen_arch(d.getVar('TARGET_ARCH', True), d)}" export XEN_COMPILE_ARCH = "${@map_xen_arch(d.getVar('BUILD_ARCH', True), d)}" +python () { + if d.getVar('XEN_TARGET_ARCH', True) == 'INVALID': + raise bb.parse.SkipPackage('Cannot map `%s` to a xen architecture' % d.getVar('TARGET_ARCH', True)) +} + # hardcoded as Linux, as the only compatible hosts are Linux. export XEN_OS = "Linux" -- cgit v1.2.3-54-g00ecf