[OE-core] [PATCH] insane.bbclass: skip checking arch (machine/bits) for powerpc kernel recipe

Khem Raj raj.khem at gmail.com
Tue Sep 18 22:44:00 UTC 2012


On Tue, Sep 18, 2012 at 3:08 PM, Matthew McClintock <msm at freescale.com> wrote:
> For a 32-bit machine, we still might always (or optionally) want to build a
> 64-bit kernel so we add an exception.
>
> Signed-off-by: Matthew McClintock <msm at freescale.com>
> ---
> Not sure if we should just skip for all virtual/kernel's?
>
>  meta/classes/insane.bbclass |    6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
> index e74eb3f..2ca1b49 100644
> --- a/meta/classes/insane.bbclass
> +++ b/meta/classes/insane.bbclass
> @@ -366,11 +366,13 @@ def package_qa_check_arch(path,name,d, elf, messages):
>
>      # Check the architecture and endiannes of the binary
>      if not ((machine == elf.machine()) or \
> -       ("virtual/kernel" in provides) and (target_os == "linux-gnux32")):
> +       ("virtual/kernel" in provides) and (target_os == "linux-gnux32") or \
> +       ("virtual/kernel" in provides) and (target_arch == "powerpc")):

I feel using powerpc target_arch here is a broad brush. Can there be
some other variable in metadata
that could indicate 64bit kernel and a 32bit ppc userspace combo of
some sort ? or may be a variable
stating that this machine's kernel is 64bit and use that here instead.

>          messages.append("Architecture did not match (%d to %d) on %s" % \
>                   (machine, elf.machine(), package_qa_clean_path(path,d)))
>      elif not ((bits == elf.abiSize()) or  \
> -       ("virtual/kernel" in provides) and (target_os == "linux-gnux32")):
> +       ("virtual/kernel" in provides) and (target_os == "linux-gnux32") or \
> +       ("virtual/kernel" in provides) and (target_arch == "powerpc")):
>          messages.append("Bit size did not match (%d to %d) %s on %s" % \
>                   (bits, elf.abiSize(), bpn, package_qa_clean_path(path,d)))
>      elif not littleendian == elf.isLittleEndian():
> --
> 1.7.9.7
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list