summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2015-09-25 23:25:12 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-28 12:00:16 +0100
commit8a12632e975d0efe71346b56202d19fe3f83ff08 (patch)
treeb00e5069620422f28dd563e53264c7b29bd0fafc /meta
parentb0707780fb4eb3a11c00e8d112d44b750e6d522c (diff)
downloadpoky-8a12632e975d0efe71346b56202d19fe3f83ff08.tar.gz
gdk-pixbuf: move gdk-pixbuf-query-loaders to $libdir for multilib safety
If for example gdk-pixbuf and lib32-gdk-pixbuf are in an image then only one ${bindir}/gdk-pixbuf-query-loaders will be installed, so only one variant will actually be usable. Solve this by moving gdk-pixbuf-query-loaders into ${libdir} as it's intimately tied to the library and rarely directly invoked by the user, and update the callers to use the right path. (From OE-Core rev: 69df75f268e2b3d5874f05e2b5a6125f6d990a03) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/gtk-icon-cache.bbclass14
-rw-r--r--meta/classes/pixbufcache.bbclass4
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb11
3 files changed, 20 insertions, 9 deletions
diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/gtk-icon-cache.bbclass
index 12358e3aed..b005ab220b 100644
--- a/meta/classes/gtk-icon-cache.bbclass
+++ b/meta/classes/gtk-icon-cache.bbclass
@@ -4,12 +4,14 @@ DEPENDS += "${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} gtk
4 4
5gtk_icon_cache_postinst() { 5gtk_icon_cache_postinst() {
6if [ "x$D" != "x" ]; then 6if [ "x$D" != "x" ]; then
7 $INTERCEPT_DIR/postinst_intercept update_icon_cache ${PKG} mlprefix=${MLPREFIX} libdir=${libdir} \ 7 $INTERCEPT_DIR/postinst_intercept update_icon_cache ${PKG} \
8 base_libdir=${base_libdir} 8 mlprefix=${MLPREFIX} \
9 libdir=${libdir} \
10 STAGING_LIBDIR_NATIVE=${STAGING_LIBDIR_NATIVE}
9else 11else
10 12
11 # Update the pixbuf loaders in case they haven't been registered yet 13 # Update the pixbuf loaders in case they haven't been registered yet
12 GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/2.10.0/loaders gdk-pixbuf-query-loaders --update-cache 14 GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/2.10.0/loaders ${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache
13 15
14 for icondir in /usr/share/icons/* ; do 16 for icondir in /usr/share/icons/* ; do
15 if [ -d $icondir ] ; then 17 if [ -d $icondir ] ; then
@@ -21,8 +23,10 @@ fi
21 23
22gtk_icon_cache_postrm() { 24gtk_icon_cache_postrm() {
23if [ "x$D" != "x" ]; then 25if [ "x$D" != "x" ]; then
24 $INTERCEPT_DIR/postinst_intercept update_icon_cache ${PKG} mlprefix=${MLPREFIX} libdir=${libdir} \ 26 $INTERCEPT_DIR/postinst_intercept update_icon_cache ${PKG} \
25 base_libdir=${base_libdir} 27 mlprefix=${MLPREFIX} \
28 libdir=${libdir} \
29 STAGING_LIBDIR_NATIVE=${STAGING_LIBDIR_NATIVE}
26else 30else
27 for icondir in /usr/share/icons/* ; do 31 for icondir in /usr/share/icons/* ; do
28 if [ -d $icondir ] ; then 32 if [ -d $icondir ] ; then
diff --git a/meta/classes/pixbufcache.bbclass b/meta/classes/pixbufcache.bbclass
index 349967d74b..18fd9fa68d 100644
--- a/meta/classes/pixbufcache.bbclass
+++ b/meta/classes/pixbufcache.bbclass
@@ -15,7 +15,7 @@ if [ "x$D" != "x" ]; then
15else 15else
16 16
17 # Update the pixbuf loaders in case they haven't been registered yet 17 # Update the pixbuf loaders in case they haven't been registered yet
18 GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/2.10.0/loaders gdk-pixbuf-query-loaders --update-cache 18 GDK_PIXBUF_MODULEDIR=${libdir}/gdk-pixbuf-2.0/2.10.0/loaders ${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache
19 19
20 if [ -x ${bindir}/gtk-update-icon-cache ] && [ -d ${datadir}/icons ]; then 20 if [ -x ${bindir}/gtk-update-icon-cache ] && [ -d ${datadir}/icons ]; then
21 for icondir in /usr/share/icons/*; do 21 for icondir in /usr/share/icons/*; do
@@ -46,7 +46,7 @@ python populate_packages_append() {
46} 46}
47 47
48gdkpixbuf_complete() { 48gdkpixbuf_complete() {
49 GDK_PIXBUF_FATAL_LOADER=1 ${STAGING_BINDIR_NATIVE}/gdk-pixbuf-query-loaders --update-cache || exit 1 49 GDK_PIXBUF_FATAL_LOADER=1 ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache || exit 1
50} 50}
51 51
52# 52#
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb
index 87f5038f03..2f0ca49b35 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb
@@ -49,7 +49,7 @@ PACKAGES =+ "${PN}-xlib"
49FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}" 49FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}"
50ALLOW_EMPTY_${PN}-xlib = "1" 50ALLOW_EMPTY_${PN}-xlib = "1"
51 51
52FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \ 52FILES_${PN} = "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \
53 ${libdir}/lib*.so.*" 53 ${libdir}/lib*.so.*"
54 54
55FILES_${PN}-dev += " \ 55FILES_${PN}-dev += " \
@@ -61,6 +61,7 @@ FILES_${PN}-dev += " \
61 61
62FILES_${PN}-dbg += " \ 62FILES_${PN}-dbg += " \
63 ${libdir}/.debug/* \ 63 ${libdir}/.debug/* \
64 ${libdir}/gdk-pixbuf-2.0/.debug/* \
64 ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/.debug/* \ 65 ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/.debug/* \
65" 66"
66 67
@@ -80,6 +81,12 @@ python populate_packages_prepend () {
80 d.appendVar("RDEPENDS_gdk-pixbuf-ptest", " " + packages) 81 d.appendVar("RDEPENDS_gdk-pixbuf-ptest", " " + packages)
81} 82}
82 83
84do_install_append() {
85 # Move gdk-pixbuf-query-loaders into libdir so it is always available
86 # in multilib builds.
87 mv ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/
88}
89
83do_install_append_class-native() { 90do_install_append_class-native() {
84 find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \; 91 find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \;
85 92
@@ -89,7 +96,7 @@ do_install_append_class-native() {
89 create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \ 96 create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \
90 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache 97 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
91 98
92 create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \ 99 create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \
93 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ 100 GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
94 GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders 101 GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
95} 102}