All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: "openembedded-core@lists.openembedded.org"
	<openembedded-core@lists.openembedded.org>,
	"gmshastri@gmail.com" <gmshastri@gmail.com>
Subject: Re: [PATCH] When building with systemd based image, udev-hwdb postinstall script will fail because of not passing	correct CPU option. So fix it by passing correct QEMU_OPTIONS.
Date: Thu, 4 Dec 2014 22:48:00 +0100	[thread overview]
Message-ID: <20141204214800.GF2453@jama> (raw)
In-Reply-To: <1417722559.15614.58.camel@linuxfoundation.org>

[-- Attachment #1: Type: text/plain, Size: 3808 bytes --]

On Thu, Dec 04, 2014 at 07:49:19PM +0000, Richard Purdie wrote:
> I have a suspicion the whole QEMU_OPTIONS thing got totally broken by Martin's commit:
> 
> http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=7efad8a1b56df6ee07c12ad360c0493d7b1d6d23
> 
> since the things being appended are not overrides, they're PACKAGE_ARCH
> values. My change below may give us a way out of the current set of
> problems.
> 
> From 8a8b35a02244cf04b6fb368bf1cb4c1edda8d7a6 Mon Sep 17 00:00:00 2001
> From: Richard Purdie <richard.purdie@linuxfoundation.org>
> Date: Thu, 4 Dec 2014 19:41:27 +0000
> Subject: qemu/libc-package: Fix qemu option handling
> 
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> 
> diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
> index c1bc399..eb76ff9 100644
> --- a/meta/classes/libc-package.bbclass
> +++ b/meta/classes/libc-package.bbclass
> @@ -298,9 +298,7 @@ python package_do_split_gconvs () {
>                  --inputfile=%s/i18n/locales/%s --charmap=%s %s" \
>                  % (treedir, datadir, locale, encoding, name)
>  
> -            qemu_options = d.getVar("QEMU_OPTIONS_%s" % d.getVar('PACKAGE_ARCH', True), True)
> -            if not qemu_options:
> -                qemu_options = d.getVar('QEMU_OPTIONS', True)
> +            qemu_options = d.getVar('QEMU_OPTIONS', True)
>  
>              cmd = "PSEUDO_RELOADED=YES PATH=\"%s\" I18NPATH=\"%s\" %s -L %s \
>                  -E LD_LIBRARY_PATH=%s %s %s/bin/localedef %s" % \
> diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
> index b2cf85d..1c5736f 100644
> --- a/meta/classes/qemu.bbclass
> +++ b/meta/classes/qemu.bbclass
> @@ -29,20 +29,20 @@ def qemu_run_binary(data, rootfs_path, binary):
>  
>      libdir = rootfs_path + data.getVar("libdir", False)
>      base_libdir = rootfs_path + data.getVar("base_libdir", False)
> -    oldest_kernel = data.getVar("OLDEST_KERNEL", True)
> +    qemu_options = data.getVar("QEMU_OPTIONS", True)
>  
> -    return "PSEUDO_UNLOAD=1 " + qemu_binary + " -r " + oldest_kernel + " -L " + rootfs_path\
> +    return "PSEUDO_UNLOAD=1 " + qemu_binary + " " + qemu_options + " -L " + rootfs_path\
>              + " -E LD_LIBRARY_PATH=" + libdir + ":" + base_libdir + " "\
>              + rootfs_path + binary
>  
> -QEMU_OPTIONS = "-r ${OLDEST_KERNEL}"
> -QEMU_OPTIONS_append_iwmmxt    = " -cpu pxa270-c5"
> -QEMU_OPTIONS_append_armv6     = " -cpu arm1136"
> -QEMU_OPTIONS_append_armv7a    = " -cpu cortex-a8"
> -QEMU_OPTIONS_append_e500v2    = " -cpu e500v2"
> -QEMU_OPTIONS_append_e500mc    = " -cpu e500mc"
> -QEMU_OPTIONS_append_e5500     = " -cpu e5500"
> -QEMU_OPTIONS_append_e5500-64b = " -cpu e5500"
> -QEMU_OPTIONS_append_e6500     = " -cpu e6500"
> -QEMU_OPTIONS_append_e6500-64b = " -cpu e6500"
> -QEMU_OPTIONS_append_ppc7400   = " -cpu 7400"
> +QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH', True), True) or ""}"
> +QEMU_EXTRAOPTIONS_iwmmxt    = " -cpu pxa270-c5"
> +QEMU_EXTRAOPTIONS_armv6     = " -cpu arm1136"
> +QEMU_EXTRAOPTIONS_armv7a    = " -cpu cortex-a8"
> +QEMU_EXTRAOPTIONS_e500v2    = " -cpu e500v2"
> +QEMU_EXTRAOPTIONS_e500mc    = " -cpu e500mc"
> +QEMU_EXTRAOPTIONS_e5500     = " -cpu e5500"
> +QEMU_EXTRAOPTIONS_e5500-64b = " -cpu e5500"
> +QEMU_EXTRAOPTIONS_e6500     = " -cpu e6500"
> +QEMU_EXTRAOPTIONS_e6500-64b = " -cpu e6500"
> +QEMU_EXTRAOPTIONS_ppc7400   = " -cpu 7400"

Thanks for fixing that. Would it make sense to add comment saying that
nobody is expected to use "QEMU_EXTRAOPTIONS" directly and that they
aren't overrides (so that nobody makes the same mistake as I did).

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]

  reply	other threads:[~2014-12-04 21:47 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-27 11:17 [PATCH] When building with systemd based image, udev-hwdb postinstall script will fail because of not passing correct CPU option. So fix it by passing correct QEMU_OPTIONS Gaurang Shastri
2014-12-04 19:03 ` Iorga, Cristian
2014-12-04 19:11 ` Iorga, Cristian
2014-12-04 19:49   ` Richard Purdie
2014-12-04 21:48     ` Martin Jansa [this message]
2014-12-05 18:03       ` Richard Purdie
  -- strict thread matches above, loose matches on Subject: below --
2014-11-27 11:35 Gaurang Shastri

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141204214800.GF2453@jama \
    --to=martin.jansa@gmail.com \
    --cc=gmshastri@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.