diff options
author | Ross Burton <ross.burton@intel.com> | 2015-09-25 23:25:12 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-28 12:00:16 +0100 |
commit | 8a12632e975d0efe71346b56202d19fe3f83ff08 (patch) | |
tree | b00e5069620422f28dd563e53264c7b29bd0fafc /meta | |
parent | b0707780fb4eb3a11c00e8d112d44b750e6d522c (diff) | |
download | poky-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.bbclass | 14 | ||||
-rw-r--r-- | meta/classes/pixbufcache.bbclass | 4 | ||||
-rw-r--r-- | meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb | 11 |
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 | ||
5 | gtk_icon_cache_postinst() { | 5 | gtk_icon_cache_postinst() { |
6 | if [ "x$D" != "x" ]; then | 6 | if [ "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} | ||
9 | else | 11 | else |
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 | ||
22 | gtk_icon_cache_postrm() { | 24 | gtk_icon_cache_postrm() { |
23 | if [ "x$D" != "x" ]; then | 25 | if [ "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} | ||
26 | else | 30 | else |
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 | |||
15 | else | 15 | else |
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 | ||
48 | gdkpixbuf_complete() { | 48 | gdkpixbuf_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" | |||
49 | FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}" | 49 | FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}" |
50 | ALLOW_EMPTY_${PN}-xlib = "1" | 50 | ALLOW_EMPTY_${PN}-xlib = "1" |
51 | 51 | ||
52 | FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \ | 52 | FILES_${PN} = "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \ |
53 | ${libdir}/lib*.so.*" | 53 | ${libdir}/lib*.so.*" |
54 | 54 | ||
55 | FILES_${PN}-dev += " \ | 55 | FILES_${PN}-dev += " \ |
@@ -61,6 +61,7 @@ FILES_${PN}-dev += " \ | |||
61 | 61 | ||
62 | FILES_${PN}-dbg += " \ | 62 | FILES_${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 | ||
84 | do_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 | |||
83 | do_install_append_class-native() { | 90 | do_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 | } |