pango: Fix modules load failure in multilib environment

Multi-libs of Pango need different modules, thus different config files and
utils. This patch separate config file and utils with different MLPREFIX to
avoid conflict.

[YOCTO #2356] got fixed.

(From OE-Core rev: 80c431989eef64d2c34a9cddb7fb95b7b9768706)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Zhai Edwin 2012-05-08 22:43:49 +08:00 committed by Richard Purdie
parent c4a7a24cb5
commit 38467c458f
3 changed files with 54 additions and 5 deletions

View File

@ -0,0 +1,40 @@
Index: pango-1.28.4/configure.in
===================================================================
--- pango-1.28.4.orig/configure.in 2011-04-05 04:29:16.000000000 +0800
+++ pango-1.28.4/configure.in 2012-05-08 21:32:17.000000000 +0800
@@ -205,6 +205,11 @@
AC_SUBST(PANGO_DEBUG_FLAGS)
+AC_ARG_WITH(mlprefix,
+ AC_HELP_STRING([--with-mlprefix=<ARG>], [multilib prefix]),
+ mlprefix_str=$withval, mlprefix_str="")
+AC_DEFINE_UNQUOTED([MLPREFIX], ["$mlprefix_str"], [multilib prefix.])
+
AC_ARG_ENABLE(rebuilds,
[AC_HELP_STRING([--disable-rebuilds],
[disable all source autogeneration rules])],,
Index: pango-1.28.4/pango/modules.c
===================================================================
--- pango-1.28.4.orig/pango/modules.c 2010-09-22 03:37:01.000000000 +0800
+++ pango-1.28.4/pango/modules.c 2012-05-08 21:21:02.000000000 +0800
@@ -529,7 +529,8 @@
if (!file_str)
file_str = g_build_filename (pango_get_sysconf_subdirectory (),
- "pango.modules",
+/* For multilib case, keep multiple config file for different libs */
+ MLPREFIX "pango.modules",
NULL);
files = pango_split_file_list (file_str);
@@ -640,7 +641,8 @@
if (!no_module_warning)
{
gchar *filename = g_build_filename (pango_get_sysconf_subdirectory (),
- "pango.modules",
+/* For multilib case, keep multiple config file for different libs */
+ MLPREFIX "pango.modules",
NULL);
g_critical ("No modules found:\n"
"No builtin or dynamically loaded modules were found.\n"

View File

@ -37,7 +37,8 @@ FULL_OPTIMIZATION_arm = "-O2"
EXTRA_OECONF = "--disable-glibtest \
--disable-introspection \
--enable-explicit-deps=no \
--disable-debug"
--disable-debug \
--with-mlprefix=${MLPREFIX}"
LEAD_SONAME = "libpango-1.0*"
LIBV = "1.6.0"
@ -52,12 +53,19 @@ if ! [ -e $D${sysconfdir}/pango ] ; then
fi
}
do_install_append () {
if [ "${MLPREFIX}" != "" ]; then
mv ${D}/${bindir}/pango-querymodules ${D}/${bindir}/${MLPREFIX}pango-querymodules
fi
}
python populate_packages_prepend () {
prologue = d.getVar("postinst_prologue", True)
modules_root = d.expand('${libdir}/pango/${LIBV}/modules')
do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules')
do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + '${bindir}/${MLPREFIX}pango-querymodules > /etc/pango/${MLPREFIX}pango.modules')
}
FILES_${PN} = "${sysconfdir}/pango/* ${bindir}/* ${libdir}/libpango*${SOLIBS}"

View File

@ -2,10 +2,11 @@ require pango.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
PR = "r7"
PR = "r8"
SRC_URI += "file://no-tests.patch"
SRC_URI += "file://noconst.patch"
SRC_URI += "file://no-tests.patch \
file://noconst.patch \
file://multilib-fix-clean.patch"
SRC_URI[archive.md5sum] = "3f3989700f04e9117d30544a9078b3a0"
SRC_URI[archive.sha256sum] = "7eb035bcc10dd01569a214d5e2bc3437de95d9ac1cfa9f50035a687c45f05a9f"