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>
This commit is contained in:
Kai Kang 2018-09-11 19:25:20 -04:00 committed by Richard Purdie
parent 44fa30ffa2
commit ee929034eb
3 changed files with 12 additions and 4 deletions

View File

@ -90,6 +90,10 @@ do_install () {
install -m 0644 ${S}/gtk/gtkfilesystemmodel.h ${D}${includedir}/gtk-2.0/gtk/
mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-2.0
# duplicate gtk-query-immodules for post install script update_gtk_immodules_cache
mkdir -p ${D}${libexecdir}
ln ${D}${bindir}/gtk-query-immodules-2.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-2.0
}
SYSROOT_PREPROCESS_FUNCS += "gtk_sysroot_preprocess"

View File

@ -53,6 +53,10 @@ PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,way
do_install_append() {
mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-3.0
# duplicate gtk-query-immodules for post install script update_gtk_immodules_cache
mkdir -p ${D}${libexecdir}
ln ${D}${bindir}/gtk-query-immodules-3.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-3.0
}
PACKAGES =+ "${PN}-demo"

View File

@ -2,14 +2,14 @@
set -e
if [ -x $D${bindir}/gtk-query-immodules-2.0 ]; then
PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D/${bindir}/gtk-query-immodules-2.0 \
if [ -x $D${libexecdir}/${binprefix}gtk-query-immodules-2.0 ]; then
PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D${libexecdir}/${binprefix}gtk-query-immodules-2.0 \
> $D${libdir}/gtk-2.0/2.10.0/immodules.cache &&
sed -i -e "s:$D::" $D${libdir}/gtk-2.0/2.10.0/immodules.cache
chown root:root $D${libdir}/gtk-2.0/2.10.0/immodules.cache
fi
if [ -x $D${bindir}/gtk-query-immodules-3.0 ]; then
PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D/${bindir}/gtk-query-immodules-3.0 \
if [ -x $D${libexecdir}/${binprefix}gtk-query-immodules-3.0 ]; then
PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D${libexecdir}/${binprefix}gtk-query-immodules-3.0 \
> $D${libdir}/gtk-3.0/3.0.0/immodules.cache &&
sed -i -e "s:$D::" $D${libdir}/gtk-3.0/3.0.0/immodules.cache
chown root:root $D${libdir}/gtk-3.0/3.0.0/immodules.cache