Bug 81769 - [GTK] Add make to the jhbuild moduleset
Summary: [GTK] Add make to the jhbuild moduleset
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Gustavo Noronha (kov)
URL:
Keywords: Gtk
: 111156 (view as bug list)
Depends on: 81888
Blocks:
  Show dependency treegraph
 
Reported: 2012-03-21 06:05 PDT by Carlos Garcia Campos
Modified: 2013-08-06 10:28 PDT (History)
6 users (show)

See Also:


Attachments
Patch (11.68 KB, patch)
2012-03-21 06:19 PDT, Carlos Garcia Campos
no flags Details | Formatted Diff | Diff
Updated patch to fix efl build (11.84 KB, patch)
2012-03-21 08:17 PDT, Carlos Garcia Campos
no flags Details | Formatted Diff | Diff
New patch (8.94 KB, patch)
2012-03-22 04:58 PDT, Carlos Garcia Campos
no flags Details | Formatted Diff | Diff
Patch (7.40 KB, patch)
2012-03-22 11:28 PDT, Gustavo Noronha (kov)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Garcia Campos 2012-03-21 06:05:43 PDT
To add make and apply custom patches to fix several issues:

 - The argument list is too long error that happens when running make distcheck
 - Parallel build issues of make 3.82, see bug #79498
Comment 1 Carlos Garcia Campos 2012-03-21 06:19:24 PDT
Created attachment 133030 [details]
Patch
Comment 2 Philippe Normand 2012-03-21 06:30:42 PDT
Comment on attachment 133030 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=133030&action=review

Looks good but I'd like the EFL guys to test this before landing

> Tools/Scripts/update-webkit-libs-jhbuild:-53
> -chdir(relativeScriptsDir() . "/../".$platform) or die $!;

Are you sure this needs to be removed?
Comment 3 Philippe Normand 2012-03-21 06:31:50 PDT
Can the EFL folks have a look at this patch and test it please?
Comment 4 Carlos Garcia Campos 2012-03-21 06:40:08 PDT
(In reply to comment #2)
> (From update of attachment 133030 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=133030&action=review
> 
> Looks good but I'd like the EFL guys to test this before landing
> 
> > Tools/Scripts/update-webkit-libs-jhbuild:-53
> > -chdir(relativeScriptsDir() . "/../".$platform) or die $!;
> 
> Are you sure this needs to be removed?

That was used to run jhbuild directly, we are now using the wrapper script.
Comment 5 Philippe Normand 2012-03-21 06:58:09 PDT
Comment on attachment 133030 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=133030&action=review

> Tools/ChangeLog:8
> +        Add bootstrap.modules with GNU make and custom patches top fix

s/top/to

Spotted by drott

> Tools/Scripts/update-webkit-libs-jhbuild:60
> -my @jhbuildArgs = ("../../WebKitBuild/Dependencies/Root/bin/jhbuild", "--no-interact", "-f", "jhbuildrc");
> -push(@jhbuildArgs, @ARGV[2..-1]);
> -if (system(@jhbuildArgs) != 0) {
> -    die "Running jhbuild failed.\n"
> -}
> +runJhbuild("build");

Hum you no longer pass "--no-interact", "-f", "jhbuildrc" to jhbuild?
Comment 6 Dominik Röttsches (drott) 2012-03-21 06:59:16 PDT
When cleaning up WebKitBuild and running from scratch:

Updating EFL port required support tools using jhbuild...
jhbuild bootstrap: failed to parse bootstrap: [Errno 2] No such file or directory: 'bootstrap'
Running jhbuild-wrapper bootstrap failed.
Traceback (most recent call last):
  File "/fast/dominik/dev/WebKitGit_EFL/Tools/efl/../Scripts/../../Tools/jhbuild/jhbuild-wrapper", line 136, in <module>
    ensure_jhbuild()
  File "/fast/dominik/dev/WebKitGit_EFL/Tools/efl/../Scripts/../../Tools/jhbuild/jhbuild-wrapper", line 126, in ensure_jhbuild
    update_webkit_libs_jhbuild()
  File "/fast/dominik/dev/WebKitGit_EFL/Tools/efl/../Scripts/../../Tools/jhbuild/jhbuild-wrapper", line 110, in update_webkit_libs_jhbuild
    raise Exception('jhbuild configure failed with return code: %i' % process.returncode)
Exception: jhbuild configure failed with return code: 1
Comment 7 Carlos Garcia Campos 2012-03-21 07:02:54 PDT
(In reply to comment #5)
> (From update of attachment 133030 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=133030&action=review
> 
> > Tools/ChangeLog:8
> > +        Add bootstrap.modules with GNU make and custom patches top fix
> 
> s/top/to
> 
> Spotted by drott
> 
> > Tools/Scripts/update-webkit-libs-jhbuild:60
> > -my @jhbuildArgs = ("../../WebKitBuild/Dependencies/Root/bin/jhbuild", "--no-interact", "-f", "jhbuildrc");
> > -push(@jhbuildArgs, @ARGV[2..-1]);
> > -if (system(@jhbuildArgs) != 0) {
> > -    die "Running jhbuild failed.\n"
> > -}
> > +runJhbuild("build");
> 
> Hum you no longer pass "--no-interact", "-f", "jhbuildrc" to jhbuild?

yes, jhbuild-wrapper does it
Comment 8 Martin Robinson 2012-03-21 08:00:58 PDT
It isn't too important to build JHbuild itself with a patched make, so why not just add make and the patches to the main moduleset? Wouldn't that make this patch a lot smaller?
Comment 9 Carlos Garcia Campos 2012-03-21 08:17:47 PDT
Created attachment 133044 [details]
Updated patch to fix efl build

Check whether bootstrap moduleset file exists before trying to run jhbuild bootstrap
Comment 10 Carlos Garcia Campos 2012-03-21 08:20:35 PDT
(In reply to comment #8)
> It isn't too important to build JHbuild itself with a patched make, so why not just add make and the patches to the main moduleset? Wouldn't that make this patch a lot smaller?

Because it's not a dependency.
Comment 11 Dominik Röttsches (drott) 2012-03-21 08:44:46 PDT
(In reply to comment #9)
> Created an attachment (id=133044) [details]
> Updated patch to fix efl build

Works for me. Thanks.
Comment 12 Carlos Garcia Campos 2012-03-22 03:42:34 PDT
I've split this patch, see bug #81888
Comment 13 Carlos Garcia Campos 2012-03-22 04:58:54 PDT
Created attachment 133224 [details]
New patch

Instead of running bootstrap in update-webkit-libs-jhbuild, it simply adds a new step for the bots to run bootstrap before installing the dependencies. Developers who use build-webkit and want to install patched make only have to run Tools/jhbuild/jhbuild-wrapper --gtk bootstrap
This way we don't need to change anything in efl
Comment 14 Philippe Normand 2012-03-22 05:02:33 PDT
Comment on attachment 133224 [details]
New patch

LGTM, Martin, WDYT?
Comment 15 Gustavo Noronha (kov) 2012-03-22 07:54:31 PDT
Like I said on IRC, I would prefer to have this on the existing jhbuild.modules. I understand this would be incorrect from a conceptual point of view, since make is not a dependency, but I think practicality beats purity (Python Zen™) in this case. Adding another step will certainly add more bugs we'll need to fix. In any case, if we do add the bootstrap stuff, we need to make sure it's run in Tools/Scripts/webkitdirs.pm, here (~ line 1900) :

    # We might need to update jhbuild dependencies.
    if (checkForArgumentAndRemoveFromArrayRef("--update-gtk", \@buildParams)) {
        system("perl", "$sourceDir/Tools/Scripts/update-webkitgtk-libs") == 0 or die $!;
    }
Comment 16 Carlos Garcia Campos 2012-03-22 07:57:22 PDT
(In reply to comment #15)
> Like I said on IRC, I would prefer to have this on the existing jhbuild.modules. I understand this would be incorrect from a conceptual point of view, since make is not a dependency, but I think practicality beats purity (Python Zen™) in this case. Adding another step will certainly add more bugs we'll need to fix.

fair enough
Comment 17 Gustavo Noronha (kov) 2012-03-22 11:28:54 PDT
Created attachment 133302 [details]
Patch
Comment 18 Gustavo Noronha (kov) 2012-03-22 13:23:14 PDT
Comment on attachment 133302 [details]
Patch

Clearing flags on attachment: 133302

Committed r111749: <http://trac.webkit.org/changeset/111749>
Comment 19 Gustavo Noronha (kov) 2012-03-22 13:23:23 PDT
All reviewed patches have been landed.  Closing bug.
Comment 20 Zan Dobersek 2013-08-06 10:28:35 PDT
*** Bug 111156 has been marked as a duplicate of this bug. ***