summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Kang <kai.kang@windriver.com>2018-09-11 19:25:20 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-09-13 07:42:28 +0100
commitee929034ebd712c702bb1199dec59999d91c15f0 (patch)
tree333d0a8ced47881c115c0e418176fe34a6235c5c
parent44fa30ffa23c9816f4eade57b4002f0c9fa89735 (diff)
downloadpoky-ee929034ebd712c702bb1199dec59999d91c15f0.tar.gz
update_gtk_immodules_cache: update for multilib
Postinstall script update_gtk_immodules_cache calls ${bindir}/gtk-query-immodules-${version}. When multilib is enabled, both packages foo and lib32-foo call ${bindir}/gtk-query-immodules-${version} and one of them will fail to run obviously. Duplicate install files gtk-query-immodules-${version} to ${libexecdir} with ${MLPREFIX}. And update update_gtk_immodules_cache calls proper binary. (From OE-Core rev: cad28bd74438d8edbdb02a2d56169e2a55260ca8) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-gnome/gtk+/gtk+.inc4
-rw-r--r--meta/recipes-gnome/gtk+/gtk+3.inc4
-rw-r--r--scripts/postinst-intercepts/update_gtk_immodules_cache8
3 files changed, 12 insertions, 4 deletions
diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc
index 558bc485ad..14ed8d812c 100644
--- a/meta/recipes-gnome/gtk+/gtk+.inc
+++ b/meta/recipes-gnome/gtk+/gtk+.inc
@@ -90,6 +90,10 @@ do_install () {
90 install -m 0644 ${S}/gtk/gtkfilesystemmodel.h ${D}${includedir}/gtk-2.0/gtk/ 90 install -m 0644 ${S}/gtk/gtkfilesystemmodel.h ${D}${includedir}/gtk-2.0/gtk/
91 91
92 mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-2.0 92 mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-2.0
93
94 # duplicate gtk-query-immodules for post install script update_gtk_immodules_cache
95 mkdir -p ${D}${libexecdir}
96 ln ${D}${bindir}/gtk-query-immodules-2.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-2.0
93} 97}
94 98
95SYSROOT_PREPROCESS_FUNCS += "gtk_sysroot_preprocess" 99SYSROOT_PREPROCESS_FUNCS += "gtk_sysroot_preprocess"
diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc b/meta/recipes-gnome/gtk+/gtk+3.inc
index 420ead2ca2..6331a4323c 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -53,6 +53,10 @@ PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,way
53 53
54do_install_append() { 54do_install_append() {
55 mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0 55 mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
56
57 # duplicate gtk-query-immodules for post install script update_gtk_immodules_cache
58 mkdir -p ${D}${libexecdir}
59 ln ${D}${bindir}/gtk-query-immodules-3.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-3.0
56} 60}
57 61
58PACKAGES =+ "${PN}-demo" 62PACKAGES =+ "${PN}-demo"
diff --git a/scripts/postinst-intercepts/update_gtk_immodules_cache b/scripts/postinst-intercepts/update_gtk_immodules_cache
index d85d3622c2..395516971e 100644
--- a/scripts/postinst-intercepts/update_gtk_immodules_cache
+++ b/scripts/postinst-intercepts/update_gtk_immodules_cache
@@ -2,14 +2,14 @@
2 2
3set -e 3set -e
4 4
5if [ -x $D${bindir}/gtk-query-immodules-2.0 ]; then 5if [ -x $D${libexecdir}/${binprefix}gtk-query-immodules-2.0 ]; then
6 PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D/${bindir}/gtk-query-immodules-2.0 \ 6 PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D${libexecdir}/${binprefix}gtk-query-immodules-2.0 \
7 > $D${libdir}/gtk-2.0/2.10.0/immodules.cache && 7 > $D${libdir}/gtk-2.0/2.10.0/immodules.cache &&
8 sed -i -e "s:$D::" $D${libdir}/gtk-2.0/2.10.0/immodules.cache 8 sed -i -e "s:$D::" $D${libdir}/gtk-2.0/2.10.0/immodules.cache
9 chown root:root $D${libdir}/gtk-2.0/2.10.0/immodules.cache 9 chown root:root $D${libdir}/gtk-2.0/2.10.0/immodules.cache
10fi 10fi
11if [ -x $D${bindir}/gtk-query-immodules-3.0 ]; then 11if [ -x $D${libexecdir}/${binprefix}gtk-query-immodules-3.0 ]; then
12 PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D/${bindir}/gtk-query-immodules-3.0 \ 12 PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D${libexecdir}/${binprefix}gtk-query-immodules-3.0 \
13 > $D${libdir}/gtk-3.0/3.0.0/immodules.cache && 13 > $D${libdir}/gtk-3.0/3.0.0/immodules.cache &&
14 sed -i -e "s:$D::" $D${libdir}/gtk-3.0/3.0.0/immodules.cache 14 sed -i -e "s:$D::" $D${libdir}/gtk-3.0/3.0.0/immodules.cache
15 chown root:root $D${libdir}/gtk-3.0/3.0.0/immodules.cache 15 chown root:root $D${libdir}/gtk-3.0/3.0.0/immodules.cache