[meta-freescale] [meta-fsl-arm][PATCH v4] fsl-dynamic-packagearch: add all MACHINE_SOCARCH feeds

Max Krummenacher max.oss.09 at gmail.com
Tue Mar 31 03:55:21 PDT 2015


Hello Otavio


2015-03-31 3:16 GMT+02:00 Otavio Salvador <otavio at ossystems.com.br>:
> Hello Max,
>
> On Mon, Mar 30, 2015 at 6:49 PM, Max Krummenacher <max.oss.09 at gmail.com> wrote:
>> From: Max Krummenacher <max.oss.09 at gmail.com>
>>
>> This ensures that all MACHINE_SOCARCH feeds are part of PACKAGE_EXTRA_ARCHS.
>>
>> oe-core now puts packages into feed dirs dependent on the used instruction sets.
>> http://cgit.openembedded.org/openembedded-core/commit/?id=3e760031f91fb87c3e2f62b77a117eb41164f259
>>
>> This is true also for packages in MACHINE_SOCARCH, i.e. we get in deploy/ipk for
>> an angstrom based build:
>> armv7ahf-vfp-neon-mx6qdl  armv7at2hf-vfp-neon-mx6qdl
>> so we must put both into PACKAGE_EXTRA_ARCHS.
>>
>> TUNE_FEATURES defines if arm and/or thumb feeds are possible with the
>> current configuration.
>>
>> Signed-off-by: Max Krummenacher <max.oss.09 at gmail.com>
>
> Thanks for your outstanding work on this. This been very valuable and
> it has been envolve to a much nicer code and addesses real design
> failure we had.
>
Thank you for your feedback. Only through collaboration we get better.

> ...
>> diff --git a/classes/fsl-dynamic-packagearch.bbclass b/classes/fsl-dynamic-packagearch.bbclass
>> index 40eae6c..498053f 100644
>> --- a/classes/fsl-dynamic-packagearch.bbclass
>> +++ b/classes/fsl-dynamic-packagearch.bbclass
>> @@ -16,7 +16,7 @@
>>  #
>>  # To use the class, specify, for example:
>>  #
>> -# MACHINE_SOCARCH_soc = "${TUNE_PKGARCH}-soc"
>> +# MACHINE_SOCARCH_SUFFIX_soc = "-soc"
>>  #
>>  # and the need filters, as:
>>  #
>> @@ -45,3 +45,10 @@ python __anonymous () {
>>              bb.debug(1, "Use '%s' as package archictecture for '%s'" % (package_arch, PN))
>>              d.setVar("PACKAGE_ARCH", package_arch)
>>  }
>> +
>> +
>> +ARM_EXTRA_SOCARCH = "${ARMPKGARCH}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}"
>> +THUMB_EXTRA_SOCARCH = "${ARMPKGARCH}${ARM_THUMB_SUFFIX}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}"
>> +MACHINE_SOCARCH = "${@bb.utils.contains('ARM_INSTRUCTION_SET', 'thumb', '${THUMB_EXTRA_SOCARCH}', '${ARM_EXTRA_SOCARCH}', d)}"
>> +PACKAGE_EXTRA_ARCHS_append = " ${@bb.utils.contains('TUNE_FEATURES', 'arm', '${ARM_EXTRA_SOCARCH}', '', d) }"
>> +PACKAGE_EXTRA_ARCHS_append = " ${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${THUMB_EXTRA_SOCARCH}', '', d) }"
>
> You can use a:
>
> PACKAGE_EXTRA_ARCHS_append = " ${MACHINE_SOCARCH}"
>
> here. So it makes a easier to read code :-)
>
> If you agree with that, I can do the change while applying it here or
> you can send a v5 if you prefer. Both way works :-)
If I understand you correctly, that is you want to replace both
'PACKAGE_EXTRA_ARCHS_append' with one using MACHINE_SOCARCH then I
don't agree.

The point of the patch is that a package recipe will put it's output
into MACHINE_SOCARCH which can be either the arm or the thumb feed.
That recipe will not need PACKAGE_EXTRA_ARCHS at all.
Then the image recipe must have both, the arm and the thumb feed in
PACKAGE_EXTRA_ARCHS to find all packages. The image recipe will not
use MACHINE_SOCARCH.

Thus I set MACHINE_SOCARCH depending on the setting of
ARM_INSTRUCTION_SET so a package goes to the feed designated for the
used instruction set for the package recipe's use.
And I add both possible feed names to PACKAGE_EXTRA_ARCHS for rootfs creation.

>
> --
> Otavio Salvador                             O.S. Systems
> http://www.ossystems.com.br        http://code.ossystems.com.br
> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


More information about the meta-freescale mailing list