]> code.ossystems Code Review - openembedded-core.git/commitdiff
pango: have postinstalls run at do_rootfs time
authorLaurentiu Palcu <laurentiu.palcu@intel.com>
Wed, 19 Dec 2012 19:13:38 +0000 (21:13 +0200)
committerSaul Wold <sgw@linux.intel.com>
Sat, 5 Jan 2013 06:01:20 +0000 (22:01 -0800)
Since pango-native is built anyway and all the modules are in the native
sysroot, create the cache file by scanning those files instead of the
target files. The latter will fail because the shared objects wouldn't
be from the same ELF class.

[YOCTO #3600]

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
meta/recipes-graphics/pango/pango.inc

index 839c00d933a9f77a5bf13a4cf080618075eb7ffd..81c2a7ee65151d35c3b7f6724fa7047993655ee4 100644 (file)
@@ -10,7 +10,7 @@ SECTION = "libs"
 LICENSE = "LGPLv2.0+"
 
 X11DEPENDS = "virtual/libx11 libxft"
-DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv cairo elfutils"
+DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv cairo elfutils pango-native"
 
 PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
 PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}"
@@ -44,13 +44,31 @@ LEAD_SONAME = "libpango-1.0*"
 LIBV = "1.6.0"
 
 postinst_prologue() {
+if ! [ -e $D${sysconfdir}/pango ] ; then
+       mkdir -p $D${sysconfdir}/pango
+fi
+
 if [ "x$D" != "x" ]; then
-  exit 1
+pango-querymodules $(ls -d -1 $D${libdir}/pango/${LIBV}/modules/*.so|\
+    sed -e "s:$D:$NATIVE_ROOT:g") >\
+    $D${sysconfdir}/pango/${MLPREFIX}pango.modules \
+    2>$D${sysconfdir}/pango/${MLPREFIX}pango.err
+
+# pango-querymodules always returns 0, so we need to check if pango.err has
+# anything in it
+if [ -s $D${sysconfdir}/pango/${MLPREFIX}pango.err ]; then
+    rm $D${sysconfdir}/pango/${MLPREFIX}pango.err
+    exit 1
 fi
 
-if ! [ -e $D${sysconfdir}/pango ] ; then
-       mkdir -p $D${sysconfdir}/pango
+sed -i -e "s:$NATIVE_ROOT::g" $D${sysconfdir}/pango/${MLPREFIX}pango.modules
+
+# remove the empty pango.err
+rm $D${sysconfdir}/pango/${MLPREFIX}pango.err
+
+exit 0
 fi
+
 }
 
 do_install_append () {