All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Use fixed DISTRO_FEATURES for native
@ 2017-04-07  6:08 Jussi Kukkonen
  2017-04-07  6:09 ` [PATCH 1/4] mkfontdir: Remove x11 requirement Jussi Kukkonen
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Jussi Kukkonen @ 2017-04-07  6:08 UTC (permalink / raw)
  To: openembedded-core

Avoid signifant native task churn when DISTRO_FEATURES is changed
by defining a fixed DISTRO_FEATURES value (default is "") for native
recipes.

The xorg changes are all removals of x11 requirements (that were not
real) from recipes that have native versions.

I added a configuration default in bitbake.conf, let me know if this
is not a good place.

This seems to work fine (tested multiple different images) but I am
not really sure how to test it further... Suggestions are welcome, as
are results from autobuilder. 


Thanks,
  Jussi



The following changes since commit 633ad6c9f436f5d2b6ee1a005b697661a054a394:

  oeqa/runtime/utils/targetbuildproject: use parent classes defaults tmpdir (2017-04-06 10:13:39 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib jku/native-distro-features
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jku/native-distro-features

Jussi Kukkonen (4):
  mkfontdir: Remove x11 requirement
  mkfontscale: Remove x11 requirement
  xorg-font-common.inc: Remove x11 requirement
  native.bbclass: Use fixed DISTRO_FEATURES

 meta/classes/native.bbclass                          | 12 ++++++++----
 meta/conf/bitbake.conf                               |  2 ++
 meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb    |  4 ++++
 meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb  |  3 +++
 meta/recipes-graphics/xorg-font/xorg-font-common.inc |  3 ---
 5 files changed, 17 insertions(+), 7 deletions(-)

-- 
2.1.4



^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/4] mkfontdir: Remove x11 requirement
  2017-04-07  6:08 [PATCH 0/4] Use fixed DISTRO_FEATURES for native Jussi Kukkonen
@ 2017-04-07  6:09 ` Jussi Kukkonen
  2017-04-07  6:09 ` [PATCH 2/4] mkfontscale: " Jussi Kukkonen
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Jussi Kukkonen @ 2017-04-07  6:09 UTC (permalink / raw)
  To: openembedded-core

Build does not need libx11, so also does not need the distro feature.

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb b/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb
index a453e24..371d9a1 100644
--- a/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb
+++ b/meta/recipes-graphics/xorg-app/mkfontdir_1.0.7.bb
@@ -11,6 +11,10 @@ files."
 PE = "1"
 PR = "${INC_PR}.0"
 
+# We don't actually need x11 as xorg-app-common claims
+DEPENDS = "util-macros-native"
+REQUIRED_DISTRO_FEATURES = ""
+
 RDEPENDS_${PN} += "mkfontscale"
 RDEPENDS_${PN}_class-native += "mkfontscale-native"
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/4] mkfontscale: Remove x11 requirement
  2017-04-07  6:08 [PATCH 0/4] Use fixed DISTRO_FEATURES for native Jussi Kukkonen
  2017-04-07  6:09 ` [PATCH 1/4] mkfontdir: Remove x11 requirement Jussi Kukkonen
@ 2017-04-07  6:09 ` Jussi Kukkonen
  2017-04-07  6:09 ` [PATCH 3/4] xorg-font-common.inc: " Jussi Kukkonen
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Jussi Kukkonen @ 2017-04-07  6:09 UTC (permalink / raw)
  To: openembedded-core

Build does not need libx11, so also does not need the distro feature.

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb b/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb
index 31cf186..066f4a7 100644
--- a/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb
+++ b/meta/recipes-graphics/xorg-app/mkfontscale_1.1.2.bb
@@ -10,6 +10,9 @@ is used by the mkfontdir program."
 
 DEPENDS = "util-macros-native zlib libfontenc freetype xproto"
 
+# We don't actually need x11 as xorg-app-common claims
+REQUIRED_DISTRO_FEATURES = ""
+
 BBCLASSEXTEND = "native"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=2e0d129d05305176d1a790e0ac1acb7f"
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 3/4] xorg-font-common.inc: Remove x11 requirement
  2017-04-07  6:08 [PATCH 0/4] Use fixed DISTRO_FEATURES for native Jussi Kukkonen
  2017-04-07  6:09 ` [PATCH 1/4] mkfontdir: Remove x11 requirement Jussi Kukkonen
  2017-04-07  6:09 ` [PATCH 2/4] mkfontscale: " Jussi Kukkonen
@ 2017-04-07  6:09 ` Jussi Kukkonen
  2017-04-07  6:09 ` [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES Jussi Kukkonen
  2017-04-07 21:47 ` [PATCH 0/4] Use fixed DISTRO_FEATURES for native Richard Purdie
  4 siblings, 0 replies; 11+ messages in thread
From: Jussi Kukkonen @ 2017-04-07  6:09 UTC (permalink / raw)
  To: openembedded-core

Remove the fake news about mkfontscale-native needing x11.

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 meta/recipes-graphics/xorg-font/xorg-font-common.inc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta/recipes-graphics/xorg-font/xorg-font-common.inc b/meta/recipes-graphics/xorg-font/xorg-font-common.inc
index cdbebcf..82a8487 100644
--- a/meta/recipes-graphics/xorg-font/xorg-font-common.inc
+++ b/meta/recipes-graphics/xorg-font/xorg-font-common.inc
@@ -16,9 +16,6 @@ S = "${WORKDIR}/${XORG_PN}-${PV}"
 
 inherit autotools pkgconfig distro_features_check
 
-# The mkfontscale-native requires x11 in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES = "x11"
-
 EXTRA_OEMAKE += "FCCACHE=/bin/true UTIL_DIR=${STAGING_DIR_TARGET}\$\(MAPFILES_PATH\)"
 
 do_install_append() {
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES
  2017-04-07  6:08 [PATCH 0/4] Use fixed DISTRO_FEATURES for native Jussi Kukkonen
                   ` (2 preceding siblings ...)
  2017-04-07  6:09 ` [PATCH 3/4] xorg-font-common.inc: " Jussi Kukkonen
@ 2017-04-07  6:09 ` Jussi Kukkonen
  2017-04-07  8:28   ` Richard Purdie
  2017-04-07 21:47 ` [PATCH 0/4] Use fixed DISTRO_FEATURES for native Richard Purdie
  4 siblings, 1 reply; 11+ messages in thread
From: Jussi Kukkonen @ 2017-04-07  6:09 UTC (permalink / raw)
  To: openembedded-core

There seems to be no advantage to letting distro features affect
native builds. There is a significant disadvantage: a change to
DISTRO_FEATURES will trigger a lot of unnecessary native tasks. In a
test like this:
  $ bitbake core-image-minimal
  # append " systemd" to DISTRO_FEATURES
  $ bitbake core-image-minimal
The latter build takes 44 minutes (28%) of cpu-time less with this
patch (skipping 135 native tasks). Sadly wall clock time was not
affected as glibc remains the bottleneck.

Set DISTRO_FEATURES to a fixed value for native recipes to avoid the
unnecessary tasks: currently the default value is empty.

Do the variable setting in native_virtclass_handler() because otherwise
it could still be overridden by appends and the feature backfilling.
Shuffle the early returns so DISTRO_FEATURES gets set as long as
the packagename ends with "-native".

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 meta/classes/native.bbclass | 12 ++++++++----
 meta/conf/bitbake.conf      |  2 ++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 1919fbc..fbca4c6 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -121,14 +121,18 @@ PATH_prepend = "${COREBASE}/scripts/native-intercept:"
 SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
 
 python native_virtclass_handler () {
-    classextend = e.data.getVar('BBCLASSEXTEND') or ""
-    if "native" not in classextend:
-        return
-
     pn = e.data.getVar("PN")
     if not pn.endswith("-native"):
         return
 
+    # Set features here to prevent appends and distro features backfill
+    # from modifying native distro features
+    d.setVar("DISTRO_FEATURES", "${NATIVE_DISTRO_FEATURES}")
+
+    classextend = e.data.getVar('BBCLASSEXTEND') or ""
+    if "native" not in classextend:
+        return
+
     def map_dependencies(varname, d, suffix = ""):
         if suffix:
             varname = varname + "_" + suffix
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 5e98d45..78a3470 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -789,6 +789,8 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
 EXTRA_IMAGE_FEATURES ??= ""
 IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
 
+NATIVE_DISTRO_FEATURES ?= ""
+
 DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-introspection-data ldconfig"
 MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"
 
-- 
2.1.4



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES
  2017-04-07  6:09 ` [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES Jussi Kukkonen
@ 2017-04-07  8:28   ` Richard Purdie
  2017-04-07 11:59     ` Jussi Kukkonen
  0 siblings, 1 reply; 11+ messages in thread
From: Richard Purdie @ 2017-04-07  8:28 UTC (permalink / raw)
  To: Jussi Kukkonen, openembedded-core

On Fri, 2017-04-07 at 09:09 +0300, Jussi Kukkonen wrote:
> There seems to be no advantage to letting distro features affect
> native builds. There is a significant disadvantage: a change to
> DISTRO_FEATURES will trigger a lot of unnecessary native tasks. In a
> test like this:
>   $ bitbake core-image-minimal
>   # append " systemd" to DISTRO_FEATURES
>   $ bitbake core-image-minimal
> The latter build takes 44 minutes (28%) of cpu-time less with this
> patch (skipping 135 native tasks). Sadly wall clock time was not
> affected as glibc remains the bottleneck.
> 
> Set DISTRO_FEATURES to a fixed value for native recipes to avoid the
> unnecessary tasks: currently the default value is empty.
> 
> Do the variable setting in native_virtclass_handler() because
> otherwise
> it could still be overridden by appends and the feature backfilling.
> Shuffle the early returns so DISTRO_FEATURES gets set as long as
> the packagename ends with "-native".
> 
> Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
> ---
>  meta/classes/native.bbclass | 12 ++++++++----
>  meta/conf/bitbake.conf      |  2 ++
>  2 files changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/classes/native.bbclass
> b/meta/classes/native.bbclass
> index 1919fbc..fbca4c6 100644
> --- a/meta/classes/native.bbclass
> +++ b/meta/classes/native.bbclass
> @@ -121,14 +121,18 @@ PATH_prepend = "${COREBASE}/scripts/native-
> intercept:"
>  SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
>  
>  python native_virtclass_handler () {
> -    classextend = e.data.getVar('BBCLASSEXTEND') or ""
> -    if "native" not in classextend:
> -        return
> -
>      pn = e.data.getVar("PN")
>      if not pn.endswith("-native"):
>          return
>  
> +    # Set features here to prevent appends and distro features
> backfill
> +    # from modifying native distro features
> +    d.setVar("DISTRO_FEATURES", "${NATIVE_DISTRO_FEATURES}")
> +
> +    classextend = e.data.getVar('BBCLASSEXTEND') or ""
> +    if "native" not in classextend:
> +        return
> +
>      def map_dependencies(varname, d, suffix = ""):
>          if suffix:
>              varname = varname + "_" + suffix
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 5e98d45..78a3470 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -789,6 +789,8 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
>  EXTRA_IMAGE_FEATURES ??= ""
>  IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
>  
> +NATIVE_DISTRO_FEATURES ?= ""
> +
>  DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-
> introspection-data ldconfig"
>  MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"

Thanks for working on this, looks good.

Most native variables are called XXX_NATIVE, not NATIVE_XXX so we might
want to make this match?

Also, one question. Does this have any effect on qemu-native? Does
qemu-native need/use x11 today?

Cheers,

Richard


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES
  2017-04-07  8:28   ` Richard Purdie
@ 2017-04-07 11:59     ` Jussi Kukkonen
  2017-04-07 12:13       ` Richard Purdie
  0 siblings, 1 reply; 11+ messages in thread
From: Jussi Kukkonen @ 2017-04-07 11:59 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Patches and discussions about the oe-core layer

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

On 7 April 2017 at 11:28, Richard Purdie <richard.purdie@linuxfoundation.org
> wrote:

> On Fri, 2017-04-07 at 09:09 +0300, Jussi Kukkonen wrote:
> > There seems to be no advantage to letting distro features affect
> > native builds. There is a significant disadvantage: a change to
> > DISTRO_FEATURES will trigger a lot of unnecessary native tasks. In a
> > test like this:
> >   $ bitbake core-image-minimal
> >   # append " systemd" to DISTRO_FEATURES
> >   $ bitbake core-image-minimal
> > The latter build takes 44 minutes (28%) of cpu-time less with this
> > patch (skipping 135 native tasks). Sadly wall clock time was not
> > affected as glibc remains the bottleneck.
> >
> > Set DISTRO_FEATURES to a fixed value for native recipes to avoid the
> > unnecessary tasks: currently the default value is empty.
> >
> > Do the variable setting in native_virtclass_handler() because
> > otherwise
> > it could still be overridden by appends and the feature backfilling.
> > Shuffle the early returns so DISTRO_FEATURES gets set as long as
> > the packagename ends with "-native".
> >
> > Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
> > ---
> >  meta/classes/native.bbclass | 12 ++++++++----
> >  meta/conf/bitbake.conf      |  2 ++
> >  2 files changed, 10 insertions(+), 4 deletions(-)
> >
> > diff --git a/meta/classes/native.bbclass
> > b/meta/classes/native.bbclass
> > index 1919fbc..fbca4c6 100644
> > --- a/meta/classes/native.bbclass
> > +++ b/meta/classes/native.bbclass
> > @@ -121,14 +121,18 @@ PATH_prepend = "${COREBASE}/scripts/native-
> > intercept:"
> >  SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
> >
> >  python native_virtclass_handler () {
> > -    classextend = e.data.getVar('BBCLASSEXTEND') or ""
> > -    if "native" not in classextend:
> > -        return
> > -
> >      pn = e.data.getVar("PN")
> >      if not pn.endswith("-native"):
> >          return
> >
> > +    # Set features here to prevent appends and distro features
> > backfill
> > +    # from modifying native distro features
> > +    d.setVar("DISTRO_FEATURES", "${NATIVE_DISTRO_FEATURES}")
> > +
> > +    classextend = e.data.getVar('BBCLASSEXTEND') or ""
> > +    if "native" not in classextend:
> > +        return
> > +
> >      def map_dependencies(varname, d, suffix = ""):
> >          if suffix:
> >              varname = varname + "_" + suffix
> > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> > index 5e98d45..78a3470 100644
> > --- a/meta/conf/bitbake.conf
> > +++ b/meta/conf/bitbake.conf
> > @@ -789,6 +789,8 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
> >  EXTRA_IMAGE_FEATURES ??= ""
> >  IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
> >
> > +NATIVE_DISTRO_FEATURES ?= ""
> > +
> >  DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-
> > introspection-data ldconfig"
> >  MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"
>
> Thanks for working on this, looks good.
>
> Most native variables are called XXX_NATIVE, not NATIVE_XXX so we might
> want to make this match?
>

Will do.


> Also, one question. Does this have any effect on qemu-native? Does
> qemu-native need/use x11 today?
>

qemu itself does not use anything x11 since last year and the default
native packageconfig is already not
dependent on distro features.

Now that you mentioned I had a closer look at qemu & SDL:
 * qemu-native doesn't build with "sdl" by default, but someone might
change that of course
 * If that happens (and libsdl-native is not in ASSUME_PROVIDED), libsdl is
built and by default depends on libx11
I completely expected this to fail now (without x11 in distro features) but
it actually builds just fine. It turns out that a clever Burton has tweaked
REQUIRED_DISTRO_FEATURES_class-native for some X libraries for exactly this
purpose already.


Jussi

[-- Attachment #2: Type: text/html, Size: 5359 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES
  2017-04-07 11:59     ` Jussi Kukkonen
@ 2017-04-07 12:13       ` Richard Purdie
  2017-04-07 13:06         ` Jussi Kukkonen
  0 siblings, 1 reply; 11+ messages in thread
From: Richard Purdie @ 2017-04-07 12:13 UTC (permalink / raw)
  To: Jussi Kukkonen; +Cc: Patches and discussions about the oe-core layer

On Fri, 2017-04-07 at 14:59 +0300, Jussi Kukkonen wrote:
> On 7 April 2017 at 11:28, Richard Purdie <richard.purdie@linuxfoundat
> ion.org> wrote:
> > On Fri, 2017-04-07 at 09:09 +0300, Jussi Kukkonen wrote:
> > > There seems to be no advantage to letting distro features affect
> > > native builds. There is a significant disadvantage: a change to
> > > DISTRO_FEATURES will trigger a lot of unnecessary native tasks.
> > In a
> > > test like this:
> > >   $ bitbake core-image-minimal
> > >   # append " systemd" to DISTRO_FEATURES
> > >   $ bitbake core-image-minimal
> > > The latter build takes 44 minutes (28%) of cpu-time less with
> > this
> > > patch (skipping 135 native tasks). Sadly wall clock time was not
> > > affected as glibc remains the bottleneck.
> > >
> > > Set DISTRO_FEATURES to a fixed value for native recipes to avoid
> > the
> > > unnecessary tasks: currently the default value is empty.
> > >
> > > Do the variable setting in native_virtclass_handler() because
> > > otherwise
> > > it could still be overridden by appends and the feature
> > backfilling.
> > > Shuffle the early returns so DISTRO_FEATURES gets set as long as
> > > the packagename ends with "-native".
> > >
> > > Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
> > > ---
> > >  meta/classes/native.bbclass | 12 ++++++++----
> > >  meta/conf/bitbake.conf      |  2 ++
> > >  2 files changed, 10 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/meta/classes/native.bbclass
> > > b/meta/classes/native.bbclass
> > > index 1919fbc..fbca4c6 100644
> > > --- a/meta/classes/native.bbclass
> > > +++ b/meta/classes/native.bbclass
> > > @@ -121,14 +121,18 @@ PATH_prepend = "${COREBASE}/scripts/native-
> > > intercept:"
> > >  SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
> > >  
> > >  python native_virtclass_handler () {
> > > -    classextend = e.data.getVar('BBCLASSEXTEND') or ""
> > > -    if "native" not in classextend:
> > > -        return
> > > -
> > >      pn = e.data.getVar("PN")
> > >      if not pn.endswith("-native"):
> > >          return
> > >  
> > > +    # Set features here to prevent appends and distro features
> > > backfill
> > > +    # from modifying native distro features
> > > +    d.setVar("DISTRO_FEATURES", "${NATIVE_DISTRO_FEATURES}")
> > > +
> > > +    classextend = e.data.getVar('BBCLASSEXTEND') or ""
> > > +    if "native" not in classextend:
> > > +        return
> > > +
> > >      def map_dependencies(varname, d, suffix = ""):
> > >          if suffix:
> > >              varname = varname + "_" + suffix
> > > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> > > index 5e98d45..78a3470 100644
> > > --- a/meta/conf/bitbake.conf
> > > +++ b/meta/conf/bitbake.conf
> > > @@ -789,6 +789,8 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
> > >  EXTRA_IMAGE_FEATURES ??= ""
> > >  IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
> > >  
> > > +NATIVE_DISTRO_FEATURES ?= ""
> > > +
> > >  DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-
> > > introspection-data ldconfig"
> > >  MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"
> > 
> > Thanks for working on this, looks good.
> > 
> > Most native variables are called XXX_NATIVE, not NATIVE_XXX so we
> > might
> > want to make this match?
> Will do.
>  
> > Also, one question. Does this have any effect on qemu-native? Does
> > qemu-native need/use x11 today?
> qemu itself does not use anything x11 since last year and the default
> native packageconfig is already not
> dependent on distro features.
> 
> Now that you mentioned I had a closer look at qemu & SDL:
>  * qemu-native doesn't build with "sdl" by default, but someone might
> change that of course 
>  * If that happens (and libsdl-native is not in ASSUME_PROVIDED),
> libsdl is built and by default depends on libx11
> I completely expected this to fail now (without x11 in distro
> features) but it actually builds just fine. It turns out that a
> clever Burton has tweaked 
> REQUIRED_DISTRO_FEATURES_class-native for some X libraries for
> exactly this purpose already.

Right, we actually have a commented section for sdl and qemu in our
local.conf.sample so we do need to test and figure this piece out.

Would we want to put x11 in the default native distro flags to avoid
some of the other issues above?

Cheers,

Richard




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES
  2017-04-07 12:13       ` Richard Purdie
@ 2017-04-07 13:06         ` Jussi Kukkonen
  0 siblings, 0 replies; 11+ messages in thread
From: Jussi Kukkonen @ 2017-04-07 13:06 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Patches and discussions about the oe-core layer

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

On 7 April 2017 at 15:13, Richard Purdie <richard.purdie@linuxfoundation.org>
wrote:
> > > Also, one question. Does this have any effect on qemu-native? Does
> > > qemu-native need/use x11 today?
> > qemu itself does not use anything x11 since last year and the default
> > native packageconfig is already not
> > dependent on distro features.
> >
> > Now that you mentioned I had a closer look at qemu & SDL:
> >  * qemu-native doesn't build with "sdl" by default, but someone might
> > change that of course
> >  * If that happens (and libsdl-native is not in ASSUME_PROVIDED),
> > libsdl is built and by default depends on libx11
> > I completely expected this to fail now (without x11 in distro
> > features) but it actually builds just fine. It turns out that a
> > clever Burton has tweaked
> > REQUIRED_DISTRO_FEATURES_class-native for some X libraries for
> > exactly this purpose already.
>
> Right, we actually have a commented section for sdl and qemu in our
> local.conf.sample so we do need to test and figure this piece out.
>
> Would we want to put x11 in the default native distro flags to avoid
> some of the other issues above?


I don't see issues that need fixing right now: libx11-native and some other
native X libraries build just fine without "x11" feature because of the
tweaks I mentioned. So building libsdl-native with "x11" packageconfig
works.

Did I miss something else?

Jussi

[-- Attachment #2: Type: text/html, Size: 1757 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/4] Use fixed DISTRO_FEATURES for native
  2017-04-07  6:08 [PATCH 0/4] Use fixed DISTRO_FEATURES for native Jussi Kukkonen
                   ` (3 preceding siblings ...)
  2017-04-07  6:09 ` [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES Jussi Kukkonen
@ 2017-04-07 21:47 ` Richard Purdie
  2017-04-08  7:26   ` Richard Purdie
  4 siblings, 1 reply; 11+ messages in thread
From: Richard Purdie @ 2017-04-07 21:47 UTC (permalink / raw)
  To: Jussi Kukkonen, openembedded-core

On Fri, 2017-04-07 at 09:08 +0300, Jussi Kukkonen wrote:
> Avoid signifant native task churn when DISTRO_FEATURES is changed
> by defining a fixed DISTRO_FEATURES value (default is "") for native
> recipes.
> 
> The xorg changes are all removals of x11 requirements (that were not
> real) from recipes that have native versions.
> 
> I added a configuration default in bitbake.conf, let me know if this
> is not a good place.
> 
> This seems to work fine (tested multiple different images) but I am
> not really sure how to test it further... Suggestions are welcome, as
> are results from autobuilder. 

Close, but:

https://autobuilder.yocto.io/builders/nightly-no-x11/builds/225/steps/BuildImages/logs/stdio

:/

Cheers,

Richard




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/4] Use fixed DISTRO_FEATURES for native
  2017-04-07 21:47 ` [PATCH 0/4] Use fixed DISTRO_FEATURES for native Richard Purdie
@ 2017-04-08  7:26   ` Richard Purdie
  0 siblings, 0 replies; 11+ messages in thread
From: Richard Purdie @ 2017-04-08  7:26 UTC (permalink / raw)
  To: Jussi Kukkonen, openembedded-core

On Fri, 2017-04-07 at 22:47 +0100, Richard Purdie wrote:
> On Fri, 2017-04-07 at 09:08 +0300, Jussi Kukkonen wrote:
> > 
> > Avoid signifant native task churn when DISTRO_FEATURES is changed
> > by defining a fixed DISTRO_FEATURES value (default is "") for
> > native
> > recipes.
> > 
> > The xorg changes are all removals of x11 requirements (that were
> > not
> > real) from recipes that have native versions.
> > 
> > I added a configuration default in bitbake.conf, let me know if
> > this
> > is not a good place.
> > 
> > This seems to work fine (tested multiple different images) but I am
> > not really sure how to test it further... Suggestions are welcome,
> > as
> > are results from autobuilder. 
> Close, but:
> 
> https://autobuilder.yocto.io/builders/nightly-no-x11/builds/225/steps
> /BuildImages/logs/stdio

and also https://autobuilder.yocto.io/builders/nightly-qa-extras/builds
/218 which I traced back to the api-documentation piece in gtk-doc-
native (see PACKAGECONFIG).

Cheers,

Richard





^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2017-04-08  8:38 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-07  6:08 [PATCH 0/4] Use fixed DISTRO_FEATURES for native Jussi Kukkonen
2017-04-07  6:09 ` [PATCH 1/4] mkfontdir: Remove x11 requirement Jussi Kukkonen
2017-04-07  6:09 ` [PATCH 2/4] mkfontscale: " Jussi Kukkonen
2017-04-07  6:09 ` [PATCH 3/4] xorg-font-common.inc: " Jussi Kukkonen
2017-04-07  6:09 ` [PATCH 4/4] native.bbclass: Use fixed DISTRO_FEATURES Jussi Kukkonen
2017-04-07  8:28   ` Richard Purdie
2017-04-07 11:59     ` Jussi Kukkonen
2017-04-07 12:13       ` Richard Purdie
2017-04-07 13:06         ` Jussi Kukkonen
2017-04-07 21:47 ` [PATCH 0/4] Use fixed DISTRO_FEATURES for native Richard Purdie
2017-04-08  7:26   ` Richard Purdie

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.