Patchwork [1/2] gtk-directfb: add bbclass gtk-directfb

login
register
mail settings
Submitter Xiaofeng Yan
Date Dec. 14, 2011, 12:18 p.m.
Message ID <006b4308dc652187daa0a84726b969a67eb6d6f0.1323864630.git.xiaofeng.yan@windriver.com>
Download mbox | patch
Permalink /patch/16925/
State New
Headers show

Comments

Xiaofeng Yan - Dec. 14, 2011, 12:18 p.m.
From: Xiaofeng Yan <xiaofeng.yan@windriver.com>

This file remind user to add "gtk-directfb" to DISTRO_FEATURES and remove "x11" \
when building core-image-gtk-directfb.

[YOCTO #1674]

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
---
 meta/classes/gtk-directfb.bbclass |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)
 create mode 100644 meta/classes/gtk-directfb.bbclass
Richard Purdie - Dec. 15, 2011, 11:51 a.m.
On Wed, 2011-12-14 at 20:18 +0800, Xiaofeng Yan wrote:
> From: Xiaofeng Yan <xiaofeng.yan@windriver.com>
> 
> This file remind user to add "gtk-directfb" to DISTRO_FEATURES and remove "x11" \
> when building core-image-gtk-directfb.
> 
> [YOCTO #1674]
> 
> Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
> ---
>  meta/classes/gtk-directfb.bbclass |   12 ++++++++++++
>  1 files changed, 12 insertions(+), 0 deletions(-)
>  create mode 100644 meta/classes/gtk-directfb.bbclass
> 
> diff --git a/meta/classes/gtk-directfb.bbclass b/meta/classes/gtk-directfb.bbclass
> new file mode 100644
> index 0000000..b65b787
> --- /dev/null
> +++ b/meta/classes/gtk-directfb.bbclass
> @@ -0,0 +1,12 @@
> +# gtk can only run a backend at a time (directfb or x11) for gtk-2.x. 
> +# So if you want to get an image of gtk running directfb. 
> +# Please remove x11 from DISTRO_FEATURES
> +python () {
> +	import sys
> +	import logging
> +	logger = logging.getLogger('BitBake.Event')
> +	packages = d.getVar('DISTRO_FEATURES', 1).split()
> +	for pkg in packages:
> +		if pkg == "x11":
> +			bb.fatal("FEATURE \"x11\" is in DISTRO_FEATURES, Please remove x11 from DISTRO_FEATURES, use \"gtk-directfb\" instead of it\n")
> +}

Some improvements I'd like to suggest please:

* Put this in the image .bb file, we don't need a generic class for 
  this in the core, at least at this point
* Don't import things you don't need (logging, sys)
* Use something like 'if "x11" in packages' instead for that for loop
* Use SkipPackage instead of bb.fatal like I suggested (grep will show 
  some examples)
* Use True instead of 1
* Rename the variables to be meaningful (packages is confusing here)

Cheers,

Richard

Patch

diff --git a/meta/classes/gtk-directfb.bbclass b/meta/classes/gtk-directfb.bbclass
new file mode 100644
index 0000000..b65b787
--- /dev/null
+++ b/meta/classes/gtk-directfb.bbclass
@@ -0,0 +1,12 @@ 
+# gtk can only run a backend at a time (directfb or x11) for gtk-2.x. 
+# So if you want to get an image of gtk running directfb. 
+# Please remove x11 from DISTRO_FEATURES
+python () {
+	import sys
+	import logging
+	logger = logging.getLogger('BitBake.Event')
+	packages = d.getVar('DISTRO_FEATURES', 1).split()
+	for pkg in packages:
+		if pkg == "x11":
+			bb.fatal("FEATURE \"x11\" is in DISTRO_FEATURES, Please remove x11 from DISTRO_FEATURES, use \"gtk-directfb\" instead of it\n")
+}