[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:13:12 UTC 2016
On 02/02/2016 04:06 PM, Paul Eggleton wrote:
> 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 <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.
>
> 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.
I guess two more variable expansions gives you no more/less performance
and also gives you the possibility to have the thing set in a clean manner,
>
> The naming of the manifest is something we can rely on, because external tools
> need to be able to.
May be now, :).
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/b4258a1a/attachment-0002.sig>
More information about the Openembedded-core
mailing list