* [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