Patchwork qemu.inc: depend on qemu-native only with runqemu DISTRO_FEATURE

login
register
mail settings
Submitter Martin Jansa
Date Feb. 4, 2013, 9:57 a.m.
Message ID <1359971830-17441-1-git-send-email-Martin.Jansa@gmail.com>
Download mbox | patch
Permalink /patch/43989/
State New
Headers show

Comments

Martin Jansa - Feb. 4, 2013, 9:57 a.m.
* qemu images are usefull even without qemu installed on build machine.
  Some people are building on one machine, but then downloading images
  somewhere else to test them.
* use new "runqemu" DISTRO_FEATURE and BACKFILL it so the behavior stays
  the same, unless disabled by DISTRO_FEATURES_BACKFILL_CONSIDERED

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/conf/bitbake.conf             | 2 +-
 meta/conf/machine/include/qemu.inc | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)
Richard Purdie - Feb. 4, 2013, 12:18 p.m.
On Mon, 2013-02-04 at 10:57 +0100, Martin Jansa wrote:
> * qemu images are usefull even without qemu installed on build machine.
>   Some people are building on one machine, but then downloading images
>   somewhere else to test them.
> * use new "runqemu" DISTRO_FEATURE and BACKFILL it so the behavior stays
>   the same, unless disabled by DISTRO_FEATURES_BACKFILL_CONSIDERED

Using DISTRO_FEATURES for this is nasty since if you change this item,
the sstate cache is invalidated. Its really a build configuration level
thing, not a distro feature...

So whilst I appreciate the reasoning for it, I don't think its the right
approach and we'll need to find another one.

Cheers,

Richard
Martin Jansa - March 3, 2013, 12:59 a.m.
On Mon, Feb 04, 2013 at 12:18:24PM +0000, Richard Purdie wrote:
> On Mon, 2013-02-04 at 10:57 +0100, Martin Jansa wrote:
> > * qemu images are usefull even without qemu installed on build machine.
> >   Some people are building on one machine, but then downloading images
> >   somewhere else to test them.
> > * use new "runqemu" DISTRO_FEATURE and BACKFILL it so the behavior stays
> >   the same, unless disabled by DISTRO_FEATURES_BACKFILL_CONSIDERED
> 
> Using DISTRO_FEATURES for this is nasty since if you change this item,
> the sstate cache is invalidated. Its really a build configuration level
> thing, not a distro feature...
> 
> So whilst I appreciate the reasoning for it, I don't think its the right
> approach and we'll need to find another one.

What about removing this completely and adding check in runqemu script
to say that qemu-native wasn't built?
Martin Jansa - April 12, 2013, 8:11 p.m.
On Sun, Mar 03, 2013 at 01:59:28AM +0100, Martin Jansa wrote:
> On Mon, Feb 04, 2013 at 12:18:24PM +0000, Richard Purdie wrote:
> > On Mon, 2013-02-04 at 10:57 +0100, Martin Jansa wrote:
> > > * qemu images are usefull even without qemu installed on build machine.
> > >   Some people are building on one machine, but then downloading images
> > >   somewhere else to test them.
> > > * use new "runqemu" DISTRO_FEATURE and BACKFILL it so the behavior stays
> > >   the same, unless disabled by DISTRO_FEATURES_BACKFILL_CONSIDERED
> > 
> > Using DISTRO_FEATURES for this is nasty since if you change this item,
> > the sstate cache is invalidated. Its really a build configuration level
> > thing, not a distro feature...
> > 
> > So whilst I appreciate the reasoning for it, I don't think its the right
> > approach and we'll need to find another one.
> 
> What about removing this completely and adding check in runqemu script
> to say that qemu-native wasn't built?

Or using IMAGETEST variable?

Patch

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 223c03f..c5ebc94 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -732,7 +732,7 @@  MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
 MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
 IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
 
-DISTRO_FEATURES_BACKFILL = "pulseaudio ${DISTRO_FEATURES_INITMAN}"
+DISTRO_FEATURES_BACKFILL = "pulseaudio ${DISTRO_FEATURES_INITMAN} runqemu"
 MACHINE_FEATURES_BACKFILL = "rtc"
 
 COMBINED_FEATURES = "\
diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
index f68bf32..1470778 100644
--- a/meta/conf/machine/include/qemu.inc
+++ b/meta/conf/machine/include/qemu.inc
@@ -24,4 +24,5 @@  RDEPENDS_kernel-base = ""
 # Use a common kernel recipe for all QEMU machines
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
 
-EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
+RUNQEMU_IMAGEDEPENDS = "qemu-native qemu-helper-native"
+EXTRA_IMAGEDEPENDS += "${@base_contains("DISTRO_FEATURES", "runqemu", "${RUNQEMU_IMAGEDEPENDS}", "", d)}"