Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/5] gdk-pixbuf and librsvg fixes
@ 2013-05-17  9:40 Ross Burton
  2013-05-17  9:40 ` [PATCH 1/5] pixbufcache: update the loader cache when installing natively Ross Burton
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Ross Burton @ 2013-05-17  9:40 UTC (permalink / raw)
  To: openembedded-core

Hi,

A collection of fixes to gdk-pixbuf and librsvg, mainly improving the native
packages.

Ross

The following changes since commit 88a7b041fbf2583472aa9408a33dd8881223a0c1:

  bitbake: pysh: Say what kind of token isn't implemented (2013-05-10 13:35:10 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib ross/pixbuf

for you to fetch changes up to 28ba5f0003c131377c4cff9bcd35c7eeabbb4f21:

  librsvg: small cleanups (2013-05-17 10:36:19 +0100)

----------------------------------------------------------------
Ross Burton (5):
      pixbufcache: update the loader cache when installing natively
      gdk-pixbuf: remove native loader cache generation, use the class
      librsvg: add more PACKAGECONFIG options
      librsvg: clean up native depends
      librsvg: small cleanups

 meta/classes/pixbufcache.bbclass                   |   13 +++++++++
 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb |    3 --
 meta/recipes-gnome/librsvg/librsvg_2.32.1.bb       |   30 +++++++++-----------
 3 files changed, 27 insertions(+), 19 deletions(-)

Ross Burton (5):
  pixbufcache: update the loader cache when installing natively
  gdk-pixbuf: remove native loader cache generation, use the class
  librsvg: add more PACKAGECONFIG options
  librsvg: clean up native depends
  librsvg: small cleanups

 meta/classes/pixbufcache.bbclass                   |   13 +++++++++
 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb |    3 --
 meta/recipes-gnome/librsvg/librsvg_2.32.1.bb       |   30 +++++++++-----------
 3 files changed, 27 insertions(+), 19 deletions(-)

-- 
1.7.10.4




^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/5] pixbufcache: update the loader cache when installing natively
  2013-05-17  9:40 [PATCH 0/5] gdk-pixbuf and librsvg fixes Ross Burton
@ 2013-05-17  9:40 ` Ross Burton
  2013-05-17 10:49   ` Burton, Ross
  2013-05-17  9:40 ` [PATCH 2/5] gdk-pixbuf: remove native loader cache generation, use the class Ross Burton
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 7+ messages in thread
From: Ross Burton @ 2013-05-17  9:40 UTC (permalink / raw)
  To: openembedded-core

Register a sstate postinst function so that when installing a native package,
the gdk-pixbuf loader cache is updated.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/classes/pixbufcache.bbclass |   13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/meta/classes/pixbufcache.bbclass b/meta/classes/pixbufcache.bbclass
index 37bf812..0596018 100644
--- a/meta/classes/pixbufcache.bbclass
+++ b/meta/classes/pixbufcache.bbclass
@@ -44,3 +44,16 @@ python populate_packages_append() {
         postrm += d.getVar('pixbufcache_common', True)
         d.setVar('pkg_postrm_%s' % pkg, postrm)
 }
+
+#
+# Add a sstate postinst hook to update the cache for native packages
+#
+DEPENDS_append_class-native = " gdk-pixbuf-native"
+SSTATEPOSTINSTFUNCS_append_class-native = " pixbufcache_sstate_postinst"
+
+pixbufcache_sstate_postinst() {
+	if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]
+	then
+		gdk-pixbuf-query-loaders --update-cache
+	fi
+}
-- 
1.7.10.4




^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/5] gdk-pixbuf: remove native loader cache generation, use the class
  2013-05-17  9:40 [PATCH 0/5] gdk-pixbuf and librsvg fixes Ross Burton
  2013-05-17  9:40 ` [PATCH 1/5] pixbufcache: update the loader cache when installing natively Ross Burton
@ 2013-05-17  9:40 ` Ross Burton
  2013-05-17  9:40 ` [PATCH 3/5] librsvg: add more PACKAGECONFIG options Ross Burton
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Ross Burton @ 2013-05-17  9:40 UTC (permalink / raw)
  To: openembedded-core

We assumed that the only relevant gdk-pixbuf loaders in the native environment
were the ones in gdk-pixbuf itself, as the icon cache is only for PNG files.
However, glib-compile-resources can transform SVG files to raw image data, and
done natively this requires the SVG loader to be registered.  The current
implementation relies on this assumption by generating the cache based on the
staging directory during install, so if gdk-pixbuf-native is re-installed to the
sysroot after librsvg-native it will overwrite the loader cache.

So, remove the code in do_install that updated the cache, and rely on the new
logic in pixbufcache.bbclass that updates the cache when it's installed into the
sysroot itself.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb |    3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb
index b35f7c6..b85bbaf 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.26.5.bb
@@ -69,9 +69,6 @@ python populate_packages_prepend () {
 }
 
 do_install_append_class-native() {
-#Use wrapper script rather than binary as required libtool library is not installed now
-	GDK_PIXBUF_MODULEDIR=${D}${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders ${B}/gdk-pixbuf/gdk-pixbuf-query-loaders > ${D}${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
-	sed -i -e 's#${D}##g' ${D}${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
 	find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \;
 
 	create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \
-- 
1.7.10.4




^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/5] librsvg: add more PACKAGECONFIG options
  2013-05-17  9:40 [PATCH 0/5] gdk-pixbuf and librsvg fixes Ross Burton
  2013-05-17  9:40 ` [PATCH 1/5] pixbufcache: update the loader cache when installing natively Ross Burton
  2013-05-17  9:40 ` [PATCH 2/5] gdk-pixbuf: remove native loader cache generation, use the class Ross Burton
@ 2013-05-17  9:40 ` Ross Burton
  2013-05-17  9:40 ` [PATCH 4/5] librsvg: clean up native depends Ross Burton
  2013-05-17  9:40 ` [PATCH 5/5] librsvg: small cleanups Ross Burton
  4 siblings, 0 replies; 7+ messages in thread
From: Ross Burton @ 2013-05-17  9:40 UTC (permalink / raw)
  To: openembedded-core

Add options for the gdk-pixbuf loaders and the GTK+ 2 theme engine.  The theme
engine is generally unused so don't enable that by default, but enable the
gdk-pixbuf loader and also enable the croco feature which is required for
parsing CSS embedded into SVG.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-gnome/librsvg/librsvg_2.32.1.bb |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb b/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb
index ff17cf7..980c01c 100644
--- a/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb
+++ b/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     file://rsvg.h;beginline=3;endline=24;md5=20b4113c4909bbf0d67e006778302bc6"
 
 SECTION = "x11/utils"
-DEPENDS = "gtk+ cairo libxml2"
+DEPENDS = "cairo glib-2.0 gdk-pixbuf fontconfig freetype libxml2 pango"
 DEPENDS_class-native = "cairo-native pango-native gdk-pixbuf-native"
 BBCLASSEXTEND = "native"
 
@@ -17,11 +17,14 @@ inherit autotools pkgconfig gnome gtk-doc pixbufcache
 
 EXTRA_OECONF = "--disable-mozilla-plugin --without-svgz"
 
-PACKAGECONFIG ??= "croco"
-# When native we can manage without croco, as it's only for GTK+
-PACKAGECONFIG_class-native = ""
+PACKAGECONFIG ??= "croco gdkpixbuf"
 
+# Support embedded CSS stylesheets (recommended upstream)
 PACKAGECONFIG[croco] = "--with-croco,--without-croco,libcroco"
+# gdk-pixbuf loader
+PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader"
+# GTK+ 2 theme engine
+PACKAGECONFIG[gtk] = "--enable-gtk-theme,--disable-gtk-theme,gtk+"
 
 SRC_URI += "file://doc_Makefile.patch \
 	    file://librsvg-CVE-2011-3146.patch \
-- 
1.7.10.4




^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/5] librsvg: clean up native depends
  2013-05-17  9:40 [PATCH 0/5] gdk-pixbuf and librsvg fixes Ross Burton
                   ` (2 preceding siblings ...)
  2013-05-17  9:40 ` [PATCH 3/5] librsvg: add more PACKAGECONFIG options Ross Burton
@ 2013-05-17  9:40 ` Ross Burton
  2013-05-17  9:40 ` [PATCH 5/5] librsvg: small cleanups Ross Burton
  4 siblings, 0 replies; 7+ messages in thread
From: Ross Burton @ 2013-05-17  9:40 UTC (permalink / raw)
  To: openembedded-core

inherit gnome was only used for the SRC_URI, so just inherit gnomebase and
remove the native-specific DEPENDS which was only required as the gnome class
pulls in an impossible hicolor-icon-theme-native dependency.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-gnome/librsvg/librsvg_2.32.1.bb |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb b/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb
index 980c01c..f50c1a8 100644
--- a/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb
+++ b/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb
@@ -8,12 +8,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
 
 SECTION = "x11/utils"
 DEPENDS = "cairo glib-2.0 gdk-pixbuf fontconfig freetype libxml2 pango"
-DEPENDS_class-native = "cairo-native pango-native gdk-pixbuf-native"
 BBCLASSEXTEND = "native"
 
 PR = "r12"
 
-inherit autotools pkgconfig gnome gtk-doc pixbufcache
+inherit autotools pkgconfig gnomebase gtk-doc pixbufcache
 
 EXTRA_OECONF = "--disable-mozilla-plugin --without-svgz"
 
-- 
1.7.10.4




^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 5/5] librsvg: small cleanups
  2013-05-17  9:40 [PATCH 0/5] gdk-pixbuf and librsvg fixes Ross Burton
                   ` (3 preceding siblings ...)
  2013-05-17  9:40 ` [PATCH 4/5] librsvg: clean up native depends Ross Burton
@ 2013-05-17  9:40 ` Ross Burton
  4 siblings, 0 replies; 7+ messages in thread
From: Ross Burton @ 2013-05-17  9:40 UTC (permalink / raw)
  To: openembedded-core

Re-order fields to a more logical order.

Remove the unrecognised --disable-mozilla-plugin option.

Remove the unrequired setting of GDK_PIXBUF_QUERYLOADERS, it's found
automatically.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-gnome/librsvg/librsvg_2.32.1.bb |   20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb b/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb
index f50c1a8..6594bf0 100644
--- a/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb
+++ b/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb
@@ -14,7 +14,14 @@ PR = "r12"
 
 inherit autotools pkgconfig gnomebase gtk-doc pixbufcache
 
-EXTRA_OECONF = "--disable-mozilla-plugin --without-svgz"
+SRC_URI += "file://doc_Makefile.patch \
+            file://librsvg-CVE-2011-3146.patch \
+           "
+
+SRC_URI[archive.md5sum] = "4b00d0fee130c936644892c152f42db7"
+SRC_URI[archive.sha256sum] = "91b98051f352fab8a6257688d6b2fd665b4648ed66144861f2f853ccf876d334"
+
+EXTRA_OECONF = "--without-svgz"
 
 PACKAGECONFIG ??= "croco gdkpixbuf"
 
@@ -25,17 +32,6 @@ PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader"
 # GTK+ 2 theme engine
 PACKAGECONFIG[gtk] = "--enable-gtk-theme,--disable-gtk-theme,gtk+"
 
-SRC_URI += "file://doc_Makefile.patch \
-	    file://librsvg-CVE-2011-3146.patch \
-	    "
-
-SRC_URI[archive.md5sum] = "4b00d0fee130c936644892c152f42db7"
-SRC_URI[archive.sha256sum] = "91b98051f352fab8a6257688d6b2fd665b4648ed66144861f2f853ccf876d334"
-
-do_configure_prepend () {
-	export GDK_PIXBUF_QUERYLOADERS="${libdir}/gdk-pixbuf-2.0/2.10.0/loaders"
-}
-
 PACKAGES =+ "librsvg-gtk librsvg-gtk-dbg librsvg-gtk-dev rsvg"
 FILES_${PN} = "${libdir}/*.so.*"
 FILES_${PN}-staticdev += "${libdir}/gdk-pixbuf-2.0/*.a ${libdir}/gdk-pixbuf-2.0/*/*/*.a \
-- 
1.7.10.4




^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/5] pixbufcache: update the loader cache when installing natively
  2013-05-17  9:40 ` [PATCH 1/5] pixbufcache: update the loader cache when installing natively Ross Burton
@ 2013-05-17 10:49   ` Burton, Ross
  0 siblings, 0 replies; 7+ messages in thread
From: Burton, Ross @ 2013-05-17 10:49 UTC (permalink / raw)
  To: openembedded-core

On 17 May 2013 10:40, Ross Burton <ross.burton@intel.com> wrote:
> Register a sstate postinst function so that when installing a native package,
> the gdk-pixbuf loader cache is updated.

Retracting this, a last-minute change introduced a dependency cycle.
V2 coming shortly.

Ross



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-05-17 11:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-17  9:40 [PATCH 0/5] gdk-pixbuf and librsvg fixes Ross Burton
2013-05-17  9:40 ` [PATCH 1/5] pixbufcache: update the loader cache when installing natively Ross Burton
2013-05-17 10:49   ` Burton, Ross
2013-05-17  9:40 ` [PATCH 2/5] gdk-pixbuf: remove native loader cache generation, use the class Ross Burton
2013-05-17  9:40 ` [PATCH 3/5] librsvg: add more PACKAGECONFIG options Ross Burton
2013-05-17  9:40 ` [PATCH 4/5] librsvg: clean up native depends Ross Burton
2013-05-17  9:40 ` [PATCH 5/5] librsvg: small cleanups Ross Burton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox