[OE-core] [PATCH 18/20] classes/populate_sdk_ext: Add SDK_EXT_TARGET_MANIFEST and SDK_EXT_HOST_MANIFEST

Paul Eggleton paul.eggleton at linux.intel.com
Tue Feb 2 21:52:14 UTC 2016


On Tue, 02 Feb 2016 09:14:21 Aníbal Limón wrote:
> From: Aníbal Limón <limon.anibal at gmail.com>
> 
> 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 <limon.anibal at gmail.com>
> ---
>  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.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Openembedded-core mailing list