On Tue, 02 Feb 2016 16:05:06 Aníbal Limón wrote: > 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 <[email protected]> > >> > >> 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 <[email protected]> > >> --- > >> > >> 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.
When you add a variable to populate_sdk_ext.bbclass, it isn't just defined for the ext SDK - it's defined for every image recipe. I want to try to avoid defining additional variables and thus expanding the environment where we don't really need to. The naming of the manifest is something we can rely on, because external tools need to be able to. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
