Patchwork [PATCH/RFC,v2] xorg-lib: don't build libs unless requested by DISTRO_FEATURES

login
register
mail settings
Submitter Andreas Oberritter
Date Feb. 10, 2012, 12:26 p.m.
Message ID <4F350CEA.70605@opendreambox.org>
Download mbox | patch
Permalink /patch/21131/
State New
Headers show

Comments

Andreas Oberritter - Feb. 10, 2012, 12:26 p.m.
On 10.02.2012 13:19, Paul Eggleton wrote:
> On Friday 10 February 2012 09:38:59 Koen Kooi wrote:
>> I know you're just moving the error message around, but I would suggest
>> changing it to "'x11' not in DISTRO_FEATURES".
> 
> You have to be careful with this, as it will pick up partial words e.g. 
> assuming we had an "x11test" DISTRO_FEATURE then this would also be picked up 
> by this statement; whereas oe.utils.contains() does a split to make it a list 
> first and therefore does not have this issue. I'd suggest leaving it as-is, or 
> if you really want to change it, do a split on the string first.

I think Koen was referring to the error string, see below.

Regards,
Andreas

From 7d9633e0b1ccf85ec72f32d7d39952b467fa5cae Mon Sep 17 00:00:00 2001
From: Andreas Oberritter <obi@opendreambox.org>
Date: Fri, 10 Feb 2012 02:10:15 +0100
Subject: [PATCH] xorg-lib: don't build libs unless requested by
 DISTRO_FEATURES

* If 'x11' is not set in DISTRO_FEATURES, then skip all
 recipes using xorg-lib-common.inc instead of only those
 using libx11.inc.

* One exception: pixman, which is not only used by xorg,
 but also by cairo.

* Improve error message as suggested by Koen.

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
---
 meta/recipes-graphics/xorg-lib/libx11.inc          |    5 -----
 meta/recipes-graphics/xorg-lib/xorg-lib-common.inc |    6 ++++++
 2 files changed, 6 insertions(+), 5 deletions(-)
Paul Eggleton - Feb. 10, 2012, 12:41 p.m.
On Friday 10 February 2012 13:26:18 Andreas Oberritter wrote:
> I think Koen was referring to the error string, see below.

Ah I see, please disregard my comments then :)

Cheers,
Paul
Koen Kooi - Feb. 10, 2012, 12:42 p.m.
Op 10 feb. 2012, om 13:26 heeft Andreas Oberritter het volgende geschreven:

> On 10.02.2012 13:19, Paul Eggleton wrote:
>> On Friday 10 February 2012 09:38:59 Koen Kooi wrote:
>>> I know you're just moving the error message around, but I would suggest
>>> changing it to "'x11' not in DISTRO_FEATURES".
>> 
>> You have to be careful with this, as it will pick up partial words e.g. 
>> assuming we had an "x11test" DISTRO_FEATURE then this would also be picked up 
>> by this statement; whereas oe.utils.contains() does a split to make it a list 
>> first and therefore does not have this issue. I'd suggest leaving it as-is, or 
>> if you really want to change it, do a split on the string first.
> 
> I think Koen was referring to the error string, see below.

Indeed I was!



> 
> Regards,
> Andreas
> 
> From 7d9633e0b1ccf85ec72f32d7d39952b467fa5cae Mon Sep 17 00:00:00 2001
> From: Andreas Oberritter <obi@opendreambox.org>
> Date: Fri, 10 Feb 2012 02:10:15 +0100
> Subject: [PATCH] xorg-lib: don't build libs unless requested by
> DISTRO_FEATURES
> 
> * If 'x11' is not set in DISTRO_FEATURES, then skip all
> recipes using xorg-lib-common.inc instead of only those
> using libx11.inc.
> 
> * One exception: pixman, which is not only used by xorg,
> but also by cairo.
> 
> * Improve error message as suggested by Koen.
> 
> Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
> ---
> meta/recipes-graphics/xorg-lib/libx11.inc          |    5 -----
> meta/recipes-graphics/xorg-lib/xorg-lib-common.inc |    6 ++++++
> 2 files changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/recipes-graphics/xorg-lib/libx11.inc b/meta/recipes-graphics/xorg-lib/libx11.inc
> index 748a48c..9057edc 100644
> --- a/meta/recipes-graphics/xorg-lib/libx11.inc
> +++ b/meta/recipes-graphics/xorg-lib/libx11.inc
> @@ -49,8 +49,3 @@ do_compile_prepend() {
> # Multiple libx11 derivatives from from this file and are selected by virtual/libx11
> # A world build should only build the correct version, not all of them.
> EXCLUDE_FROM_WORLD = "1"
> -
> -python () {
> -       if not oe.utils.contains ('DISTRO_FEATURES', 'x11', True, False, d):
> -       	  raise bb.parse.SkipPackage("X11 not enabled for this DISTRO")
> -}
> diff --git a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
> index d106054..73a4d1d 100644
> --- a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
> +++ b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
> @@ -14,3 +14,9 @@ S = "${WORKDIR}/${XORG_PN}-${PV}"
> inherit autotools pkgconfig
> 
> EXTRA_OECONF = "--enable-malloc0returnsnull --with-fop=no --without-xmlto"
> +
> +python () {
> +        whitelist = [ "pixman" ]
> +        if not d.getVar('BPN', True) in whitelist and not oe.utils.contains ('DISTRO_FEATURES', 'x11', True, False, d):
> +                raise bb.parse.SkipPackage("'x11' not in DISTRO_FEATURES")
> +}
> -- 
> 1.7.5.4
> 
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/recipes-graphics/xorg-lib/libx11.inc b/meta/recipes-graphics/xorg-lib/libx11.inc
index 748a48c..9057edc 100644
--- a/meta/recipes-graphics/xorg-lib/libx11.inc
+++ b/meta/recipes-graphics/xorg-lib/libx11.inc
@@ -49,8 +49,3 @@  do_compile_prepend() {
 # Multiple libx11 derivatives from from this file and are selected by virtual/libx11
 # A world build should only build the correct version, not all of them.
 EXCLUDE_FROM_WORLD = "1"
-
-python () {
-       if not oe.utils.contains ('DISTRO_FEATURES', 'x11', True, False, d):
-       	  raise bb.parse.SkipPackage("X11 not enabled for this DISTRO")
-}
diff --git a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
index d106054..73a4d1d 100644
--- a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
+++ b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
@@ -14,3 +14,9 @@  S = "${WORKDIR}/${XORG_PN}-${PV}"
 inherit autotools pkgconfig
 
 EXTRA_OECONF = "--enable-malloc0returnsnull --with-fop=no --without-xmlto"
+
+python () {
+        whitelist = [ "pixman" ]
+        if not d.getVar('BPN', True) in whitelist and not oe.utils.contains ('DISTRO_FEATURES', 'x11', True, False, d):
+                raise bb.parse.SkipPackage("'x11' not in DISTRO_FEATURES")
+}