[07/10] pango: add directfb DISTRO_FEATURE

Submitted by Xiaofeng Yan on Dec. 7, 2011, 8:58 a.m.

Details

Message ID 697ca68b7e47d0392273fa5a07df0e4396e709bf.1323246565.git.xiaofeng.yan@windriver.com
State New
Headers show

Commit Message

Xiaofeng Yan Dec. 7, 2011, 8:58 a.m.
From: Xiaofeng Yan <xiaofeng.yan@windriver.com>

pango run over x11 at current OE-core. If pango want to run over directfb, then \
the configuration related to x11 should be disabled and directfb should be enabled.

[YOCTO #1674]

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
---
 meta/recipes-graphics/pango/pango.inc |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

Patch hide | download patch | download mbox

diff --git a/meta/recipes-graphics/pango/pango.inc b/meta/recipes-graphics/pango/pango.inc
index 6d94e02..4df6850 100644
--- a/meta/recipes-graphics/pango/pango.inc
+++ b/meta/recipes-graphics/pango/pango.inc
@@ -10,13 +10,24 @@  SECTION = "libs"
 LICENSE = "LGPL"
 
 X11DEPENDS = "virtual/libx11 libxft"
-DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv gtk-doc-native cairo ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
+DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv gtk-doc-native cairo "
+
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
+PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}"
+PACKAGECONFIG[directfb] = ",,directfb"
+
 
 PACKAGES_DYNAMIC = "pango-module-*"
 
 RRECOMMENDS_${PN} = "${@base_contains('DISTRO_FEATURES', 'x11', 'pango-module-basic-x', '', d)} pango-module-basic-fc" 
 
 inherit gnome
+# Create a pango-modules package
+ALLOW_EMPTY_${BPN}-modules = "1"
+PACKAGES += "${BPN}-modules"
+RRECOMMENDS_${BPN}-modules =  "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("pango-module") != -1])}"
+
 
 EXTRA_AUTORECONF = ""
 
@@ -25,17 +36,18 @@  FULL_OPTIMIZATION_arm = "-O2"
 
 EXTRA_OECONF = "--disable-glibtest \
 		--enable-explicit-deps=no \
-	        --disable-debug \
-		${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
+	        --disable-debug"
 
 LEAD_SONAME = "libpango-1.0*"
 LIBV = "1.6.0"
 
+# No "etc" in "${D}" except for "usr", So add "/etc/pango" in the following function. \
+# Because "prologue + 'pango-querymodules > /etc/pango/pango.modules'" use this 
 postinst_prologue() {
 if [ "x$D" != "x" ]; then
   exit 1
 fi
-
+	[ ! -d "/etc/pango" ] && mkdir -p /etc/pango/
 }
 
 python populate_packages_prepend () {

Comments

Phil Blundell Dec. 7, 2011, 10:27 a.m.
On Wed, 2011-12-07 at 16:58 +0800, Xiaofeng Yan wrote:
> +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
> +           ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
> +PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}"
> +PACKAGECONFIG[directfb] = ",,directfb"

Hm, really?  I didn't think pango had any inbuilt support for DirectFB.
Does this really accomplish anything?

> +       [ ! -d "/etc/pango" ] && mkdir -p /etc/pango/

That will fail with a read-only rootfs, and I think it will also give an
error if /etc/pango already exists.  It would be better to just ship
this directory in the package.  (Also, it should be ${sysconfdir}.)

p.
Xiaofeng Yan Dec. 8, 2011, 7:37 a.m.
On 2011?12?07? 18:27, Phil Blundell wrote:
> On Wed, 2011-12-07 at 16:58 +0800, Xiaofeng Yan wrote:
>> +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
>> +           ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
>> +PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}"
>> +PACKAGECONFIG[directfb] = ",,directfb"
> Hm, really?  I didn't think pango had any inbuilt support for DirectFB.
> Does this really accomplish anything?
>
pango hadn't any inbuilt support for DirectFB.
PACKAGECONFIG[directfb] = ",,directfb" just express that directfb is 
built by dependence relationship when building an image based on directfb.
>> +       [ ! -d "/etc/pango" ]&&  mkdir -p /etc/pango/
Thanks, I will fix my patches according to your suggestion.
> That will fail with a read-only rootfs, and I think it will also give an
> error if /etc/pango already exists.  It would be better to just ship
> this directory in the package.  (Also, it should be ${sysconfdir}.)
>
> p.
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Phil Blundell Dec. 8, 2011, 9:55 a.m.
On Thu, 2011-12-08 at 15:37 +0800, Xiaofeng Yan wrote:
> On 2011?12?07? 18:27, Phil Blundell wrote:
> > On Wed, 2011-12-07 at 16:58 +0800, Xiaofeng Yan wrote:
> >> +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
> >> +           ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
> >> +PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}"
> >> +PACKAGECONFIG[directfb] = ",,directfb"
> > Hm, really?  I didn't think pango had any inbuilt support for DirectFB.
> > Does this really accomplish anything?
> >
> pango hadn't any inbuilt support for DirectFB.
> PACKAGECONFIG[directfb] = ",,directfb" just express that directfb is 
> built by dependence relationship when building an image based on directfb.

Well, right, but if pango isn't using directfb itself then it doesn't
need directfb in its DEPENDS any more than, say, busybox does.  DirectFB
will be brought in by the dependency chains for gtk, cairo or whatever
other recipes are actually using it.

p.