gtk+ over directfb: Fix bug 1674
cover gtk+ over directfb: Fix bug 1674
From: Xiaofeng Yan <[email protected]>
Image "gtk+ over directfb" without x11 depends on gtk+ and directfb. Someone can develop software based on directfb or gtk+ without x11 in their project. So I added and modified some recipes for getting this image.
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: xiaofeng/gtk+-directfb
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=xiaofeng/gtk+-directfb
Thanks,
Xiaofeng Yan <[email protected]>
---
Xiaofeng Yan (7):
qemu-config.bb: Fix bug 1674
gtk+: Fix bug 1674
cairo: Fix bug 1674
directfb-examples: Fix bug 1674
core-image-gtk-directfb-sdk: Fix bug 1674
core-image-gtk-directfb: Fix bug 1674
pango: Fix bug 1674
meta/recipes-bsp/qemu-config/qemu-config.bb | 4 +- meta/recipes-gnome/gtk+/gtk+.inc | 18 ++++++++++--- meta/recipes-gnome/gtk+/gtk+_2.24.6.bb | 17 ++++++++--- meta/recipes-graphics/cairo/cairo.inc | 9 +++++- .../directfb/directfb-examples_1.2.0.bb | 18 ++++++++++++ .../images/core-image-gtk-directfb-sdk.bb | 23 ++++++++++++++++ .../images/core-image-gtk-directfb.bb | 21 +++++++++++++++ meta/recipes-graphics/pango/pango.inc | 16 ++++++++--- meta/recipes-graphics/tasks/task-gtk-directfb.bb | 28 ++++++++++++++++++++ 9 files changed, 136 insertions(+), 18 deletions(-) create mode 100644 meta/recipes-graphics/directfb/directfb-examples_1.2.0.bb create mode 100644 meta/recipes-graphics/images/core-image-gtk-directfb-sdk.bb create mode 100644 meta/recipes-graphics/images/core-image-gtk-directfb.bb create mode 100644 meta/recipes-graphics/tasks/task-gtk-directfb.bb
PATCH 1/7 qemu-config.bb: Fix bug 1674
From: Xiaofeng Yan <[email protected]>
[YOCTO #1674]
qemu-config.bb: An image without x11 doesn't need dbus-x11
"gtk over directfb" don't depend on x11, so remove x11 here when compiling gtk+-directfb.
--- meta/recipes-bsp/qemu-config/qemu-config.bb | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-bsp/qemu-config/qemu-config.bb +2 -2
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING.GPL;md5=751419260aa954499f7abaabaa COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemumips|qemuppc)" -PR = "r22" +PR = "r23" SRC_URI = "file://distcc.sh \ file://anjuta-remote-run \
@@ -37,7 +37,7 @@ pkg_postinst_${PN} () { sed -i $D${datadir}/applications/shutdown.desktop -e 's/^Exec=halt/Exec=reboot/' } -RDEPENDS_${PN} = "distcc dbus-x11 task-core-nfs-server oprofileui-server rsync bash" +RDEPENDS_${PN} = "distcc ${@base_contains('DISTRO_FEATURES', 'x11', 'dbus-x11', '', d)} task-core-nfs-server oprofileui-server rsync bash" inherit update-rc.d allarch
Signature · 1 line
1.7.0.4
PATCH 2/7 gtk+: Fix bug 1674
In reply to Xiaofeng YanFrom: Xiaofeng Yan <[email protected]>
[YOCTO #1674]
Image "gtk+ over directfb" doesn't need "x11".
So I add "directfb" on configuration and gtk-demo to image for check \
whether image based on gtk+-directfb work successfully.
--- meta/recipes-gnome/gtk+/gtk+.inc | 18 ++++++++++++++---- meta/recipes-gnome/gtk+/gtk+_2.24.6.bb | 17 ++++++++++++----- 2 files changed, 26 insertions(+), 9 deletions(-)
meta/recipes-gnome/gtk+/gtk+.inc +14 -4
@@ -9,13 +9,18 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" SECTION = "libs" -DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor \ - gtk-doc-native docbook-utils-native libxrandr libgcrypt \ - libxdamage libxrender libxcomposite cairo gdk-pixbuf" +X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite" +DIRECTFBDEPENDS = "directfb" + +DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \ + libgcrypt cairo gdk-pixbuf \ + ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'directfb', '${DIRECTFBDEPENDS}', '', d)}" + inherit autotools pkgconfig -PACKAGES += "libgail" +PACKAGES += "libgail gtk+-demo" FILES_${PN} = "${bindir}/gtk-update-icon-cache \ ${bindir}/gtk-query-immodules-2.0 \
@@ -40,6 +45,11 @@ FILES_${PN}-dbg += " \ ${libdir}/gtk-2.0/${LIBV}/engines/.debug/* \ ${libdir}/gtk-2.0/${LIBV}/printbackends/.debug/*" +FILES_gtk+-demo = " \ + ${datadir}/gtk-2.0/demo/* \ + ${bindir}/gtk-demo \ + " + FILES_libgail = " \ ${libdir}/gtk-2.0/modules/libgail.so \ ${libdir}/gtk-2.0/modules/libferret.so \
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +12 -5
@@ -8,7 +8,6 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ file://xsettings.patch \ file://run-iconcache.patch \ file://hardcoded_libtool.patch \ - file://no-demos.patch \ file://cellrenderer-cairo.patch;striplevel=0 \ file://toggle-font.diff;striplevel=0 \ file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \
@@ -25,13 +24,21 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ # file://menu-deactivate.patch # file://combo-arrow-size.patch;striplevel=0 # file://configurefix.patch +# file://no-demos.patch -PR = "r1" +PR = "r2" -SRC_URI[md5sum] = "421100f6597e613234f8dead6091a9fe" -SRC_URI[sha256sum] = "6f45bdbf9ea27eb3b5f977d7ee2365dede0d0ce454985680c26e5210163bbf37" +SRC_URI[md5sum] = "4e977cb6a4530e9d4fe54d6ba70831c4" +SRC_URI[sha256sum] = "9aade52339dca563780bca5c83b0fb02284393221bda4f55cb9ec7eae1661a1d" + +CONF_directfb=" --with-x=no --with-gdktarget=directfb" +CONF_xorg=" --with-x=yes --with-gdktarget=x11" + +EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'directfb', \ + '${CONF_directfb}', '${CONF_xorg}', d)} \ + --without-libtiff --without-libjasper --enable-xkb \ + --disable-glibtest --disable-cups --disable-xinerama" -EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama" LIBV = "2.10.0"
Signature · 1 line
1.7.0.4
Re: [PATCH 2/7] gtk+: Fix bug 1674
Please mention what you fixed in the first line, e.g.
gtk+: add directfb DISTRO_FEATURE
instead of
gtk+: Fix bug 1674
Op 8 nov. 2011, om 12:15 heeft Xiaofeng Yan het volgende geschreven:
Quoted 98 lines
From: Xiaofeng Yan <[email protected]>
[YOCTO #1674]
Image "gtk+ over directfb" doesn't need "x11".
So I add "directfb" on configuration and gtk-demo to image for check \
whether image based on gtk+-directfb work successfully.Signed-off-by Xiaofeng Yan <[email protected]>---
meta/recipes-gnome/gtk+/gtk+.inc | 18 ++++++++++++++---- meta/recipes-gnome/gtk+/gtk+_2.24.6.bb | 17 ++++++++++++----- 2 files changed, 26 insertions(+), 9 deletions(-)meta/recipes-gnome/gtk+/gtk+.inc +0
-0@@ -9,13 +9,18 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM= "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"SECTION = "libs"
meta/recipes-gnome/gtk+/gtk+.inc +8
-3-DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor \ - gtk-doc-native docbook-utils-native libxrandr libgcrypt \ - libxdamage libxrender libxcomposite cairo gdk-pixbuf" +X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite" +DIRECTFBDEPENDS = "directfb" + +DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \ + libgcrypt cairo gdk-pixbuf \ + ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'directfb', '${DIRECTFBDEPENDS}', '', d)}" +inherit autotools pkgconfig
meta/recipes-gnome/gtk+/gtk+.inc +1
-1-PACKAGES += "libgail" +PACKAGES += "libgail gtk+-demo"FILES_${PN} = "${bindir}/gtk-update-icon-cache \ ${bindir}/gtk-query-immodules-2.0 \meta/recipes-gnome/gtk+/gtk+.inc +5
-0@@ -40,6 +45,11 @@ FILES_${PN}-dbg += " \ ${libdir}/gtk-2.0/${LIBV}/engines/.debug/* \ ${libdir}/gtk-2.0/${LIBV}/printbackends/.debug/*" +FILES_gtk+-demo = " \ + ${datadir}/gtk-2.0/demo/* \ + ${bindir}/gtk-demo \ + " + FILES_libgail = " \ ${libdir}/gtk-2.0/modules/libgail.so \ ${libdir}/gtk-2.0/modules/libferret.so \meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +12
-5@@ -8,7 +8,6 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ file://xsettings.patch \ file://run-iconcache.patch \ file://hardcoded_libtool.patch \ - file://no-demos.patch \ file://cellrenderer-cairo.patch;striplevel=0 \ file://toggle-font.diff;striplevel=0 \ file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \@@ -25,13 +24,21 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ # file://menu-deactivate.patch # file://combo-arrow-size.patch;striplevel=0 # file://configurefix.patch +# file://no-demos.patch -PR = "r1" +PR = "r2" -SRC_URI[md5sum] = "421100f6597e613234f8dead6091a9fe" -SRC_URI[sha256sum] = "6f45bdbf9ea27eb3b5f977d7ee2365dede0d0ce454985680c26e5210163bbf37" +SRC_URI[md5sum] = "4e977cb6a4530e9d4fe54d6ba70831c4" +SRC_URI[sha256sum] = "9aade52339dca563780bca5c83b0fb02284393221bda4f55cb9ec7eae1661a1d" + +CONF_directfb=" --with-x=no --with-gdktarget=directfb" +CONF_xorg=" --with-x=yes --with-gdktarget=x11" + +EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'directfb', \ + '${CONF_directfb}', '${CONF_xorg}', d)} \ + --without-libtiff --without-libjasper --enable-xkb \ + --disable-glibtest --disable-cups --disable-xinerama" -EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama"LIBV = "2.10.0"
Signature · 7 lines
1.7.0.4 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [PATCH 2/7] gtk+: Fix bug 1674
In reply to Xiaofeng YanQuoted 77 lines · Xiaofeng Yan
From: Xiaofeng Yan <[email protected]>
[YOCTO #1674]
Image "gtk+ over directfb" doesn't need "x11".
So I add "directfb" on configuration and gtk-demo to image for check \
whether image based on gtk+-directfb work successfully.Signed-off-by Xiaofeng Yan <[email protected]>--- meta/recipes-gnome/gtk+/gtk+.inc | 18 ++++++++++++++---- meta/recipes-gnome/gtk+/gtk+_2.24.6.bb | 17 ++++++++++++----- 2 files changed, 26 insertions(+), 9 deletions(-)meta/recipes-gnome/gtk+/gtk+.inc +14
-4@@ -9,13 +9,18 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" SECTION = "libs" -DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor \ - gtk-doc-native docbook-utils-native libxrandr libgcrypt \ - libxdamage libxrender libxcomposite cairo gdk-pixbuf" +X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite" +DIRECTFBDEPENDS = "directfb" + +DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \ + libgcrypt cairo gdk-pixbuf \ + ${@base_contains('DISTRO_FEATURES', 'x11', '', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'directfb', '${DIRECTFBDEPENDS}', '', d)}" + inherit autotools pkgconfig -PACKAGES += "libgail" +PACKAGES += "libgail gtk+-demo" FILES_${PN} = "${bindir}/gtk-update-icon-cache \ ${bindir}/gtk-query-immodules-2.0 \@@ -40,6 +45,11 @@ FILES_${PN}-dbg += " \ ${libdir}/gtk-2.0/${LIBV}/engines/.debug/* \ ${libdir}/gtk-2.0/${LIBV}/printbackends/.debug/*" +FILES_gtk+-demo = " \ + ${datadir}/gtk-2.0/demo/* \ + ${bindir}/gtk-demo \ + " + FILES_libgail = " \ ${libdir}/gtk-2.0/modules/libgail.so \ ${libdir}/gtk-2.0/modules/libferret.so \meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +4
-4@@ -8,7 +8,6 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ file://xsettings.patch \ file://run-iconcache.patch \ file://hardcoded_libtool.patch \ - file://no-demos.patch \ file://cellrenderer-cairo.patch;striplevel=0 \ file://toggle-font.diff;striplevel=0 \ file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \@@ -25,13 +24,21 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ # file://menu-deactivate.patch # file://combo-arrow-size.patch;striplevel=0 # file://configurefix.patch +# file://no-demos.patch -PR = "r1" +PR = "r2" -SRC_URI[md5sum] = "421100f6597e613234f8dead6091a9fe" -SRC_URI[sha256sum] = "6f45bdbf9ea27eb3b5f977d7ee2365dede0d0ce454985680c26e5210163bbf37" +SRC_URI[md5sum] = "4e977cb6a4530e9d4fe54d6ba70831c4" +SRC_URI[sha256sum] = "9aade52339dca563780bca5c83b0fb02284393221bda4f55cb9ec7eae1661a1d"
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ · line 34
Quoted 10 lines
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +8
-1+ +CONF_directfb=" --with-x=no --with-gdktarget=directfb" +CONF_xorg=" --with-x=yes --with-gdktarget=x11" + +EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'directfb', \ + '${CONF_directfb}', '${CONF_xorg}', d)} \ + --without-libtiff --without-libjasper --enable-xkb \ + --disable-glibtest --disable-cups --disable-xinerama" -EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama"
This is a horrible mess and its just going to get worse. We started adding PACKAGECONFIG to try and help with things like this problem. Instead of the above you should be able to do something like:
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \
${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}"
This commit also applies to the other places you're changing config options.
Also some style issues:
a) please put a decent one line summary at the start of commits
b) mention the bug number a the end of the commit message in the for [YOCTO #1674]
c) Please mention other details the patch changes. The patch above changes the checksums (why?)
Cheers,
Richard
Re: [PATCH 2/7] gtk+: Fix bug 1674
Op 8 nov. 2011, om 14:18 heeft Richard Purdie het volgende geschreven:
Quoted 93 lines · Xiaofeng Yan
Quoted 77 lines
From: Xiaofeng Yan <[email protected]>
[YOCTO #1674]
Image "gtk+ over directfb" doesn't need "x11".
So I add "directfb" on configuration and gtk-demo to image for check \
whether image based on gtk+-directfb work successfully.Signed-off-by Xiaofeng Yan <[email protected]>---
meta/recipes-gnome/gtk+/gtk+.inc | 18 ++++++++++++++---- meta/recipes-gnome/gtk+/gtk+_2.24.6.bb | 17 ++++++++++++----- 2 files changed, 26 insertions(+), 9 deletions(-)meta/recipes-gnome/gtk+/gtk+.inc +0
-0@@ -9,13 +9,18 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM= "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"SECTION = "libs"
meta/recipes-gnome/gtk+/gtk+.inc +8
-3-DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor \ - gtk-doc-native docbook-utils-native libxrandr libgcrypt \ - libxdamage libxrender libxcomposite cairo gdk-pixbuf" +X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite" +DIRECTFBDEPENDS = "directfb" + +DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \ + libgcrypt cairo gdk-pixbuf \ + ${@base_contains('DISTRO_FEATURES', 'x11', '', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'directfb', '${DIRECTFBDEPENDS}', '', d)}" +inherit autotools pkgconfig
meta/recipes-gnome/gtk+/gtk+.inc +1
-1-PACKAGES += "libgail" +PACKAGES += "libgail gtk+-demo"FILES_${PN} = "${bindir}/gtk-update-icon-cache \ ${bindir}/gtk-query-immodules-2.0 \meta/recipes-gnome/gtk+/gtk+.inc +5
-0@@ -40,6 +45,11 @@ FILES_${PN}-dbg += " \ ${libdir}/gtk-2.0/${LIBV}/engines/.debug/* \ ${libdir}/gtk-2.0/${LIBV}/printbackends/.debug/*" +FILES_gtk+-demo = " \ + ${datadir}/gtk-2.0/demo/* \ + ${bindir}/gtk-demo \ + " + FILES_libgail = " \ ${libdir}/gtk-2.0/modules/libgail.so \ ${libdir}/gtk-2.0/modules/libferret.so \meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +4
-4@@ -8,7 +8,6 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ file://xsettings.patch \ file://run-iconcache.patch \ file://hardcoded_libtool.patch \ - file://no-demos.patch \ file://cellrenderer-cairo.patch;striplevel=0 \ file://toggle-font.diff;striplevel=0 \ file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \@@ -25,13 +24,21 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ # file://menu-deactivate.patch # file://combo-arrow-size.patch;striplevel=0 # file://configurefix.patch +# file://no-demos.patch -PR = "r1" +PR = "r2" -SRC_URI[md5sum] = "421100f6597e613234f8dead6091a9fe" -SRC_URI[sha256sum] = "6f45bdbf9ea27eb3b5f977d7ee2365dede0d0ce454985680c26e5210163bbf37" +SRC_URI[md5sum] = "4e977cb6a4530e9d4fe54d6ba70831c4" +SRC_URI[sha256sum] = "9aade52339dca563780bca5c83b0fb02284393221bda4f55cb9ec7eae1661a1d"meta/recipes-gnome/gtk+/gtk+_2.24.6.bb SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ · line 34
Quoted 10 lines
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +8
-1+ +CONF_directfb=" --with-x=no --with-gdktarget=directfb" +CONF_xorg=" --with-x=yes --with-gdktarget=x11" + +EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'directfb', \ + '${CONF_directfb}', '${CONF_xorg}', d)} \ + --without-libtiff --without-libjasper --enable-xkb \ + --disable-glibtest --disable-cups --disable-xinerama" -EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama"This is a horrible mess and its just going to get worse. We started adding PACKAGECONFIG to try and help with things like this problem. Instead of the above you should be able to do something like:
Quoted 4 lines
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \ ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}"
What happens when I have both directfb and x11 in DISTRO_FEATURES?
regards,
Koen
Re: [PATCH 2/7] gtk+: Fix bug 1674
Quoted 95 lines · Koen Kooi
Op 8 nov. 2011, om 14:18 heeft Richard Purdie het volgende geschreven:
Quoted 93 lines · Xiaofeng Yan
Quoted 77 lines
From: Xiaofeng Yan <[email protected]>
[YOCTO #1674]
Image "gtk+ over directfb" doesn't need "x11".
So I add "directfb" on configuration and gtk-demo to image for check \
whether image based on gtk+-directfb work successfully.Signed-off-by Xiaofeng Yan <[email protected]>---
meta/recipes-gnome/gtk+/gtk+.inc | 18 ++++++++++++++---- meta/recipes-gnome/gtk+/gtk+_2.24.6.bb | 17 ++++++++++++----- 2 files changed, 26 insertions(+), 9 deletions(-)meta/recipes-gnome/gtk+/gtk+.inc +0
-0@@ -9,13 +9,18 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM= "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"SECTION = "libs"
meta/recipes-gnome/gtk+/gtk+.inc +8
-3-DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor \ - gtk-doc-native docbook-utils-native libxrandr libgcrypt \ - libxdamage libxrender libxcomposite cairo gdk-pixbuf" +X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite" +DIRECTFBDEPENDS = "directfb" + +DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \ + libgcrypt cairo gdk-pixbuf \ + ${@base_contains('DISTRO_FEATURES', 'x11', '', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'directfb', '${DIRECTFBDEPENDS}', '', d)}" +inherit autotools pkgconfig
meta/recipes-gnome/gtk+/gtk+.inc +1
-1-PACKAGES += "libgail" +PACKAGES += "libgail gtk+-demo"FILES_${PN} = "${bindir}/gtk-update-icon-cache \ ${bindir}/gtk-query-immodules-2.0 \meta/recipes-gnome/gtk+/gtk+.inc +5
-0@@ -40,6 +45,11 @@ FILES_${PN}-dbg += " \ ${libdir}/gtk-2.0/${LIBV}/engines/.debug/* \ ${libdir}/gtk-2.0/${LIBV}/printbackends/.debug/*" +FILES_gtk+-demo = " \ + ${datadir}/gtk-2.0/demo/* \ + ${bindir}/gtk-demo \ + " + FILES_libgail = " \ ${libdir}/gtk-2.0/modules/libgail.so \ ${libdir}/gtk-2.0/modules/libferret.so \meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +4
-4@@ -8,7 +8,6 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ file://xsettings.patch \ file://run-iconcache.patch \ file://hardcoded_libtool.patch \ - file://no-demos.patch \ file://cellrenderer-cairo.patch;striplevel=0 \ file://toggle-font.diff;striplevel=0 \ file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \@@ -25,13 +24,21 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ # file://menu-deactivate.patch # file://combo-arrow-size.patch;striplevel=0 # file://configurefix.patch +# file://no-demos.patch -PR = "r1" +PR = "r2" -SRC_URI[md5sum] = "421100f6597e613234f8dead6091a9fe" -SRC_URI[sha256sum] = "6f45bdbf9ea27eb3b5f977d7ee2365dede0d0ce454985680c26e5210163bbf37" +SRC_URI[md5sum] = "4e977cb6a4530e9d4fe54d6ba70831c4" +SRC_URI[sha256sum] = "9aade52339dca563780bca5c83b0fb02284393221bda4f55cb9ec7eae1661a1d"meta/recipes-gnome/gtk+/gtk+_2.24.6.bb SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ · line 34
Quoted 10 lines
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +8
-1+ +CONF_directfb=" --with-x=no --with-gdktarget=directfb" +CONF_xorg=" --with-x=yes --with-gdktarget=x11" + +EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'directfb', \ + '${CONF_directfb}', '${CONF_xorg}', d)} \ + --without-libtiff --without-libjasper --enable-xkb \ + --disable-glibtest --disable-cups --disable-xinerama" -EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama"This is a horrible mess and its just going to get worse. We started adding PACKAGECONFIG to try and help with things like this problem. Instead of the above you should be able to do something like:
Quoted 6 lines
Quoted 4 lines
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \ ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}"
What happens when I have both directfb and x11 in
DISTRO_FEATURES?
That would cause problems. The grand plan is to flag incompatible options and error but don't have code for that yet...
Cheers,
Richard
PATCH 3/7 cairo: Fix bug 1674
In reply to Xiaofeng YanFrom: Xiaofeng Yan <[email protected]>
[YOCTO #1674]
Image "gtk+ over directfb" doesn't need "x11".
cairo should be compiled without x11 when compiling an image based on directfb.
--- meta/recipes-graphics/cairo/cairo.inc | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-)
meta/recipes-graphics/cairo/cairo.inc +7 -2
@@ -11,13 +11,18 @@ BUGTRACKER = "http://bugs.freedesktop.org" SECTION = "libs" LICENSE = "MPL-1 & LGPLv2.1" X11DEPENDS = "virtual/libx11 libsm libxrender" -DEPENDS = "libpng fontconfig pixman glib-2.0 ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" +DIRECTFBDEPENDS = "directfb" +DEPENDS = "libpng fontconfig pixman glib-2.0 ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} ${@base_contains('DISTRO_FEATURES', 'directfb', '${DIRECTFBDEPENDS}', '', d)}" #check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points require cairo-fpu.inc +CONF_directfb="--with-x=no --enable-xcb=no --enable-directfb=yes" +CONF_xorg="--with-x=yes --enable-xcb=no --enable-directfb=no" + EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} ${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}" +EXTRA_OECONF += " ${@base_contains('DISTRO_FEATURES', 'directfb', '${CONF_directfb}', '${CONF_xorg}', d)}" inherit autotools pkgconfig # We don't depend on binutils so we need to disable this -export ac_cv_lib_bfd_bfd_openr=no +export ac_cv_lib_bfd_bfd_openr=no
Signature · 1 line
1.7.0.4
Re: [PATCH 3/7] cairo: Fix bug 1674
meta/recipes-graphics/cairo/cairo.inc BUGTRACKER = "http://bugs.freedesktop.org" · line 23
Quoted 7 lines · Xiaofeng Yan
#check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points require cairo-fpu.inc
meta/recipes-graphics/cairo/cairo.inc +4
-0+CONF_directfb="--with-x=no --enable-xcb=no --enable-directfb=yes" +CONF_xorg="--with-x=yes --enable-xcb=no --enable-directfb=no" + EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} ${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}" +EXTRA_OECONF += " ${@base_contains('DISTRO_FEATURES', 'directfb', '${CONF_directfb}', '${CONF_xorg}', d)}"
I don't think this can be correct. That will force X11 on for anybody who isn't using DirectFB, right? I think you need to preserve the previous semantics for building without X.
p.
PATCH 4/7 directfb-examples: Fix bug 1674
In reply to Xiaofeng YanFrom: Xiaofeng Yan <[email protected]>
[YOCTO #1674]
Add this package to OE-core for checking whether directfb work right or not.
--- .../directfb/directfb-examples_1.2.0.bb | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-graphics/directfb/directfb-examples_1.2.0.bb
meta/recipes-graphics/directfb/directfb-examples_1.2.0.bb new file +18 -0
@@ -0,0 +1,18 @@ +DESCRIPTION = "DirectFB extra providers" +DEPENDS = "directfb" +SECTION = "libs" +LICENSE = "GPL" +PR = "r0" + +SRC_URI = " \ + http://www.directfb.org/downloads/Extras/DirectFB-examples-${PV}.tar.gz \ + " + +LIC_FILES_CHKSUM = "file://COPYING;md5=ecf6fd2b19915afc4da56043926ca18f" + +S = "${WORKDIR}/DirectFB-examples-${PV}" + +inherit autotools + +SRC_URI[md5sum] = "ce018f681b469a1d72ffc32650304b98" +SRC_URI[sha256sum] = "830a1bd6775d8680523596a88a72fd8e4c6a74bf886d3e169b06d234a5cf7e3e"
Signature · 1 line
1.7.0.4
PATCH 5/7 core-image-gtk-directfb-sdk: Fix bug 1674
In reply to Xiaofeng YanFrom: Xiaofeng Yan <[email protected]>
[YOCTO #1674]
Add this recipe for developing software on image based on gtk+-direcfb easily.
--- .../images/core-image-gtk-directfb-sdk.bb | 23 ++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-graphics/images/core-image-gtk-directfb-sdk.bb
meta/recipes-graphics/images/core-image-gtk-directfb-sdk.bb new file +23 -0
@@ -0,0 +1,23 @@ +IMAGE_FEATURES += "tools-sdk dev-pkgs" + +LICENSE = "MIT" +PR="r0" + +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + + +DEPENDS += "task-gtk-directfb" + +RDEPENDS_${PN} += " \ + task-gtk-directfb-base \ + " + +inherit core-image + +IMAGE_INSTALL += "\ + ${POKY_BASE_INSTALL} \ + task-core-basic \ + module-init-tools \ + task-gtk-directfb-base \ +"
Signature · 1 line
1.7.0.4
PATCH 6/7 core-image-gtk-directfb: Fix bug 1674
In reply to Xiaofeng YanFrom: Xiaofeng Yan <[email protected]>
[YOCTO #1674]
Two recipes can build an image based on gtk+directfb
--- .../images/core-image-gtk-directfb.bb | 21 +++++++++++++++ meta/recipes-graphics/tasks/task-gtk-directfb.bb | 28 ++++++++++++++++++++ 2 files changed, 49 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-graphics/images/core-image-gtk-directfb.bb create mode 100644 meta/recipes-graphics/tasks/task-gtk-directfb.bb
meta/recipes-graphics/images/core-image-gtk-directfb.bb new file +21 -0
@@ -0,0 +1,21 @@ +LICENSE = "MIT" +PR="r0" + +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + + +DEPENDS += "task-gtk-directfb" + +RDEPENDS_${PN} += " \ + task-gtk-directfb-base \ + " + +inherit core-image + +IMAGE_INSTALL += "\ + ${POKY_BASE_INSTALL} \ + task-core-basic \ + module-init-tools \ + task-gtk-directfb-base \ +"
meta/recipes-graphics/tasks/task-gtk-directfb.bb new file +28 -0
@@ -0,0 +1,28 @@ +DESCRIPTION = "gkt+ over directfb without x11" +PR = "r0" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +inherit task + +TOUCH = ' ${@base_contains("MACHINE_FEATURES", "touchscreen", "tslib tslib-calibrate tslib-tests", "",d)}' + +PACKAGES += " \ + ${PN}-base \ +" + +RDEPENDS_${PN}-base = " \ + directfb \ + directfb-examples \ + pango \ + pango-modules \ + fontconfig \ + gtk+ \ + gtk+-demo \ + dropbear \ + ${TOUCH} \ +" + +
Signature · 1 line
1.7.0.4
PATCH 7/7 pango: Fix bug 1674
In reply to Xiaofeng YanFrom: Xiaofeng Yan <[email protected]>
[YOCTO #1674]
Support to compile pango based on directfb besides x11.
Add pango-modules because it is needed by gtk+-directfb.
If no pango-modules, then missing codes will appear on screen when running gtk-demo.
--- meta/recipes-graphics/pango/pango.inc | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-)
meta/recipes-graphics/pango/pango.inc +11 -5
@@ -18,6 +18,11 @@ RRECOMMENDS_${PN} = "${@base_contains('DISTRO_FEATURES', 'x11', 'pango-module-ba 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 = "" # seems to go wrong with default cflags
@@ -26,16 +31,17 @@ FULL_OPTIMIZATION_arm = "-O2" EXTRA_OECONF = "--disable-glibtest \ --enable-explicit-deps=no \ --disable-debug \ - ${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}" + ${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)} \ + ${@base_contains('DISTRO_FEATURES', 'directfb', '--with-x=no', '--with-x=yes', d)}" LEAD_SONAME = "libpango-1.0*" LIBV = "1.6.0" postinst_prologue() { -if [ "x$D" != "x" ]; then - exit 1 -fi - + if [ "x$D" != "x" ]; then + exit 1 + fi + [ ! -d "/etc/pango" ] && mkdir -p /etc/pango/ } python populate_packages_prepend () {
Signature · 1 line
1.7.0.4
Re: [PATCH 7/7] pango: Fix bug 1674
meta/recipes-graphics/pango/pango.inc FULL_OPTIMIZATION_arm = "-O2" · line 35
Quoted 3 lines · Xiaofeng Yan
meta/recipes-graphics/pango/pango.inc +2
-1- ${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}" + ${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)} \ + ${@base_contains('DISTRO_FEATURES', 'directfb', '--with-x=no', '--with-x=yes', d)}"
That last line looks fairly wrong. If I am understanding this right then someone with neither x11 nor directfb set would get "--without-x --with-x=yes", and someone with directfb but not X would get "--without-x --with-x=no" which surely can't be what's wanted. Did you test this patchset?
Quoted 1 line
+ [ ! -d "
/etc/pango" ] && mkdir -p/etc/pango/
Why can't you just ship this folder in the package rather than creating it in the postinst? Also, this should probably be ${sysconfdir} rather than hardcoded.
p.
Op 8 nov. 2011, om 12:15 heeft Xiaofeng Yan het volgende geschreven:
Quoted 14 lines
From: Xiaofeng Yan <[email protected]>
Image "gtk+ over directfb" without x11 depends on gtk+ and directfb. Someone can develop software based on directfb or gtk+ without x11 in their project. So I added and modified some recipes for getting this image.
Pull URL:
git://git.pokylinux.org/poky-contrib.git
Branch: xiaofeng/gtk+-directfb
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=xiaofeng/gtk+-directfbThanks,
Xiaofeng Yan <[email protected]>
---
Quoted 8 lines
Xiaofeng Yan (7):
qemu-config.bb: Fix bug 1674
gtk+: Fix bug 1674
cairo: Fix bug 1674
directfb-examples: Fix bug 1674
core-image-gtk-directfb-sdk: Fix bug 1674
core-image-gtk-directfb: Fix bug 1674
pango: Fix bug 1674
Please use a more descriptive summary for the commit message, people looking at 'git shortlog' would appreciate that very much.
regards,
Koen