On 02/02/2016 03:52 PM, Paul Eggleton wrote: > On Tue, 02 Feb 2016 09:14:21 Aníbal Limón wrote: >> From: Aníbal Limón >> >> Extensible SDK needs to point to the correct manifest so add >> SDK_EXT_TARGET_MANIFEST and SDK_EXT_HOST_MANIFEST variables. >> >> oeqa/oetest.py: Fix SDKExtTestContext for load the correct manifests. >> >> Signed-off-by: Aníbal Limón >> --- >> meta/classes/populate_sdk_ext.bbclass | 3 +++ >> meta/lib/oeqa/oetest.py | 11 +++++++++-- >> 2 files changed, 12 insertions(+), 2 deletions(-) >> >> diff --git a/meta/classes/populate_sdk_ext.bbclass >> b/meta/classes/populate_sdk_ext.bbclass index fc96a4b..27dc030 100644 >> --- a/meta/classes/populate_sdk_ext.bbclass >> +++ b/meta/classes/populate_sdk_ext.bbclass >> @@ -43,6 +43,9 @@ B_task-populate-sdk-ext = "${SDK_DIR}" >> TOOLCHAINEXT_OUTPUTNAME = "${SDK_NAME}-toolchain-ext-${SDK_VERSION}" >> TOOLCHAIN_OUTPUTNAME_task-populate-sdk-ext = "${TOOLCHAINEXT_OUTPUTNAME}" >> >> +SDK_EXT_TARGET_MANIFEST = >> "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest" >> +SDK_EXT_HOST_MANIFEST = >> "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest" + >> SDK_TITLE_task-populate-sdk-ext = "${@d.getVar('DISTRO_NAME', True) or >> d.getVar('DISTRO', True)} Extensible SDK" >> >> python copy_buildsystem () { >> diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py >> index 6beb6c5..c951989 100644 >> --- a/meta/lib/oeqa/oetest.py >> +++ b/meta/lib/oeqa/oetest.py >> @@ -382,14 +382,18 @@ class SDKTestContext(TestContext): >> self.sdktestdir = sdktestdir >> self.sdkenv = sdkenv >> >> + if not hasattr(self, 'target_manifest_name'): >> + self.target_manifest_name = "SDK_TARGET_MANIFEST" >> try: >> - with open(d.getVar("SDK_TARGET_MANIFEST", True)) as f: >> + with open(d.getVar(self.target_manifest_name, True)) as f: >> self.pkgmanifest = f.read() >> except IOError as e: >> bb.fatal("No package manifest file found. Did you build the sdk >> image?\n%s" % e) >> >> + if not hasattr(self, 'host_manifest_name'): >> + self.host_manifest_name = "SDK_HOST_MANIFEST" >> try: >> - with open(d.getVar("SDK_HOST_MANIFEST", True)) as f: >> + with open(d.getVar(self.host_manifest_name, True)) as f: >> self.hostpkgmanifest = f.read() >> except IOError as e: >> bb.fatal("No host package manifest file found. Did you build >> the sdk image?\n%s" % e) @@ -406,6 +410,9 @@ class >> SDKTestContext(TestContext): >> >> class SDKExtTestContext(SDKTestContext): >> def __init__(self, d, sdktestdir, sdkenv): >> + self.target_manifest_name = "SDK_EXT_TARGET_MANIFEST" >> + self.host_manifest_name = "SDK_EXT_HOST_MANIFEST" >> + >> super(SDKExtTestContext, self).__init__(d, sdktestdir, sdkenv) >> >> self.sdkextfilesdir = os.path.join(os.path.dirname(os.path.abspath( > > I really don't like the idea of passing the variable name here rather than > values. However, besides that, the manifest is always the SDK name plus > .host.manifest or .target.manifest - do we even need to pass separate names? > All you should need is the name of the SDK i.e. the value of > TOOLCHAINEXT_OUTPUTNAME. I prefer to have explicit value and construct them into one place instead of have many name constructions like you said to use TOOLCHAINEXT_OUTPUTNAME and suppose that always be end with .{host, target}.manifest. alimon > > Cheers, > Paul >