summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhai Edwin <edwin.zhai@intel.com>2012-05-08 22:43:49 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-05-08 16:00:13 +0100
commit80c431989eef64d2c34a9cddb7fb95b7b9768706 (patch)
treeccfd542db87d82ffc08050b132fdc9f47d9167f0
parent370b186b7c39897b868a5e3798a11a285277f145 (diff)
downloadopenembedded-core-80c431989eef64d2c34a9cddb7fb95b7b9768706.tar.gz
openembedded-core-80c431989eef64d2c34a9cddb7fb95b7b9768706.tar.bz2
openembedded-core-80c431989eef64d2c34a9cddb7fb95b7b9768706.zip
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. Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-graphics/pango/pango-1.28.4/multilib-fix-clean.patch40
-rw-r--r--meta/recipes-graphics/pango/pango.inc12
-rw-r--r--meta/recipes-graphics/pango/pango_1.28.4.bb7
3 files changed, 54 insertions, 5 deletions
diff --git a/meta/recipes-graphics/pango/pango-1.28.4/multilib-fix-clean.patch b/meta/recipes-graphics/pango/pango-1.28.4/multilib-fix-clean.patch
new file mode 100644
index 0000000000..addda5f90c
--- /dev/null
+++ b/meta/recipes-graphics/pango/pango-1.28.4/multilib-fix-clean.patch
@@ -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"
diff --git a/meta/recipes-graphics/pango/pango.inc b/meta/recipes-graphics/pango/pango.inc
index e7681b66d6..fbf5027db8 100644
--- a/meta/recipes-graphics/pango/pango.inc
+++ b/meta/recipes-graphics/pango/pango.inc
@@ -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}"
diff --git a/meta/recipes-graphics/pango/pango_1.28.4.bb b/meta/recipes-graphics/pango/pango_1.28.4.bb
index 8d71de0458..7055158192 100644
--- a/meta/recipes-graphics/pango/pango_1.28.4.bb
+++ b/meta/recipes-graphics/pango/pango_1.28.4.bb
@@ -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"