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

login
register
mail settings
Submitter Andreas Oberritter
Date Feb. 10, 2012, 1:27 a.m.
Message ID <4F34729A.3020402@opendreambox.org>
Download mbox | patch
Permalink /patch/21077/
State Accepted
Commit a101bc85adcc915f151348107e850b8998a395b0
Headers show

Comments

Andreas Oberritter - Feb. 10, 2012, 1:27 a.m.
* 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.

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(-)
Koen Kooi - Feb. 10, 2012, 8:38 a.m.
Op 10 feb. 2012, om 02:27 heeft Andreas Oberritter het volgende geschreven:

> * 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.
> 
> 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..3d5d378 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 enabled for this DISTRO")

I know you're just moving the error message around, but I would suggest changing it to "'x11' not in DISTRO_FEATURES".

regards,

Koen
Paul Eggleton - Feb. 10, 2012, 12:19 p.m.
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.

Cheers,
Paul
Saul Wold - Feb. 24, 2012, 6:28 p.m.
On 02/09/2012 05:27 PM, Andreas Oberritter wrote:
> * 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.
>
> 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..3d5d378 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 enabled for this DISTRO")
> +}

Merged into OE-core

Thanks
	Sau!

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..3d5d378 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 enabled for this DISTRO")
+}