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

Aníbal Limón anibal.limon at linux.intel.com
Tue Feb 2 22:05:06 UTC 2016



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 <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.

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
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160202/d89e1940/attachment-0002.sig>


More information about the Openembedded-core mailing list