[OE-core] [PATCH] webkit-gtk: work around Make bug by re-running make

Ross Burton ross.burton at intel.com
Mon Sep 10 16:02:22 UTC 2012


GNU make 3.82 has a bug where it drops required dependencies.
https://bugs.webkit.org/show_bug.cgi?id=79498 is the WebKitGTK+
bug, and http://savannah.gnu.org/bugs/?30653 is the GNU Make bug.

Work around this by running make again if it fails just in case the failure is
due to the bug.

Based on a patch by Andreas Müller <schnitzeltony at googlemail.com>.

[ YOCTO #2816 ]

Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/recipes-sato/webkit/webkit-gtk_1.8.2.bb |   22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/meta/recipes-sato/webkit/webkit-gtk_1.8.2.bb b/meta/recipes-sato/webkit/webkit-gtk_1.8.2.bb
index cf4129d..8beb6eb 100644
--- a/meta/recipes-sato/webkit/webkit-gtk_1.8.2.bb
+++ b/meta/recipes-sato/webkit/webkit-gtk_1.8.2.bb
@@ -7,6 +7,8 @@ LIC_FILES_CHKSUM = "file://Source/WebCore/rendering/RenderApplet.h;endline=22;md
                     file://Source/WebKit/gtk/webkit/webkit.h;endline=21;md5=b4fbe9f4a944f1d071dba1d2c76b3351 \
                     file://Source/JavaScriptCore/parser/Parser.h;endline=23;md5=b57c8a2952a8d0e655988fa0ecb2bf7f"
 
+PR = "r1"
+
 # Choice of language backends - icu has issues on Big Endian machines so use pango
 ICU_LIB = "icu"
 ICU_LIB_powerpc = "pango"
@@ -77,6 +79,26 @@ do_configure_append() {
 	done
 }
 
+# A dirty hack for GNU make 3.82 bug which means it drops required
+# dependencies. https://bugs.webkit.org/show_bug.cgi?id=79498 is the WebKitGTK+
+# bug, and http://savannah.gnu.org/bugs/?30653 is the GNU Make bug.  This is
+# fixed in Make CVS, so 3.83 won't have this problem.
+do_compile() {
+    if [ x"$MAKE" = x ]; then MAKE=make; fi
+    bbnote ${MAKE} ${EXTRA_OEMAKE} "$@"
+    for error_count in 1 2 3; do
+        bbnote "Attempt $error_count of 3"
+        exit_code=0
+        ${MAKE} ${EXTRA_OEMAKE} "$@" || exit_code=1
+        if [ $exit_code = 0 ]; then
+            break
+        fi
+    done
+    if [ ! $exit_code = 0 ]; then
+        die "oe_runmake failed"
+    fi
+}
+
 do_install_append() {
 	rmdir ${D}${libexecdir}
 }
-- 
1.7.10





More information about the Openembedded-core mailing list