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

Andreas Oberritter obi at opendreambox.org
Fri Feb 10 12:26:18 UTC 2012


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 at 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 at 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






More information about the Openembedded-core mailing list