Patchwork webkit-gtk: work around Make bug by re-running make

login
register
mail settings
Submitter Ross Burton
Date Sept. 10, 2012, 4:02 p.m.
Message ID <1347292942-7241-1-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/36215/
State Accepted
Commit af5bdc8ca413d6cabeb4f4b4c5836912a17f28be
Headers show

Comments

Ross Burton - Sept. 10, 2012, 4:02 p.m.
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@googlemail.com>.

[ YOCTO #2816 ]

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-sato/webkit/webkit-gtk_1.8.2.bb |   22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
Colin Walters - Sept. 10, 2012, 9:14 p.m.
On Mon, 2012-09-10 at 17:02 +0100, Ross Burton wrote:

> +# fixed in Make CVS, so 3.83 won't have this problem.

I know this will be painful, but did you consider looking at the make
version and determine whether or not this workaround is necessary?
Colin Walters - Sept. 10, 2012, 9:23 p.m.
On Mon, 2012-09-10 at 17:14 -0400, Colin Walters wrote:
> On Mon, 2012-09-10 at 17:02 +0100, Ross Burton wrote:
> 
> > +# fixed in Make CVS, so 3.83 won't have this problem.
> 
> I know this will be painful, but did you consider looking at the make
> version and determine whether or not this workaround is necessary?

Or actually, why not just backport the make patch into core now?
Richard Purdie - Sept. 10, 2012, 10:18 p.m.
On Mon, 2012-09-10 at 17:23 -0400, Colin Walters wrote:
> On Mon, 2012-09-10 at 17:14 -0400, Colin Walters wrote:
> > On Mon, 2012-09-10 at 17:02 +0100, Ross Burton wrote:
> > 
> > > +# fixed in Make CVS, so 3.83 won't have this problem.
> > 
> > I know this will be painful, but did you consider looking at the make
> > version and determine whether or not this workaround is necessary?
> 
> Or actually, why not just backport the make patch into core now?

We've gone around in circles on this several times.

The version check complicates the code more than I'd like. Adding a
make-native causes its own sets of pain and hoops we'd need to jump
through.

So I'm probably at the point I'll take this solution since its the
"least worst" :/.

Cheers,

Richard
Ross Burton - Sept. 11, 2012, 9:13 a.m.
On 10 September 2012 22:23, Colin Walters <walters@verbum.org> wrote:
> On Mon, 2012-09-10 at 17:14 -0400, Colin Walters wrote:
>> On Mon, 2012-09-10 at 17:02 +0100, Ross Burton wrote:
>>
>> > +# fixed in Make CVS, so 3.83 won't have this problem.
>>
>> I know this will be painful, but did you consider looking at the make
>> version and determine whether or not this workaround is necessary?
>
> Or actually, why not just backport the make patch into core now?

I had a branch that added make-replacement-native 3.81 as a dependency
of WebKit, but that's far too fragile.

An alternative would be to add make-native as part of the bootstrap.
At this late stage in the release that's rather invasive.

Ross
Saul Wold - Sept. 12, 2012, 4:49 p.m.
On 09/10/2012 09:02 AM, Ross Burton wrote:
> 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@googlemail.com>.
>
> [ YOCTO #2816 ]
>
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> ---
>   meta/recipes-sato/webkit/webkit-gtk_1.8.2.bb |   22 ++++++++++++++++++++++
>   1 file changed, 22 insertions(+)
>

Merged into OE-Core

Thanks
	Sau!


> 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}
>   }
>

Patch

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}
 }