RESOLVED FIXED 76161
[GTK] jhbuild cloning is not following WEBKITOUTPUTDIR.
https://bugs.webkit.org/show_bug.cgi?id=76161
Summary [GTK] jhbuild cloning is not following WEBKITOUTPUTDIR.
Alexis Menard (darktears)
Reported 2012-01-12 02:56:15 PST
When calling the build (totally clean build) like this : WEBKITOUTPUTDIR=/home/darktears/dev/troll/webkit-gtk build-webkit --gtk --release it keeps looping infinitely to detect jhbuild. http://pastebin.com/aMASEh4v shows the infinite loop. It's a annoying regression for people who want to test multiple port with the same source directory.
Attachments
Patch (5.97 KB, patch)
2012-04-20 15:35 PDT, Gustavo Noronha (kov)
no flags
Martin Robinson
Comment 1 2012-01-12 08:48:15 PST
I cannot reproduce this one. Do you mind deleting WebKitBuild/Dependencies and trying again?
Alexis Menard (darktears)
Comment 2 2012-01-12 09:04:33 PST
(In reply to comment #1) > I cannot reproduce this one. Do you mind deleting WebKitBuild/Dependencies and trying again? Did it clones again jhbuild and keep looping for ever until the death of my machine.
Alexis Menard (darktears)
Comment 3 2012-01-12 09:13:37 PST
It clones in WebKitBuild in my source dir, maybe it shouldn't "pollute" the source dir.
Martin Robinson
Comment 4 2012-01-12 09:26:28 PST
(In reply to comment #3) > It clones in WebKitBuild in my source dir, maybe it shouldn't "pollute" the source dir. That's true, but this is unrelated to the bug. Do you mind trying to install the gnome-common package (or whatever brings in /usr/bin/gnome-autogen.sh) and trying again?
Alexis Menard (darktears)
Comment 5 2012-01-12 09:36:45 PST
Same but I found suspicious this line : Don't forget to create ~/.jhbuildrc install -m755 install-check /home/darktears/dev/troll//qt-50-debug/qtbase/bin/install-check why it would put stuff in my Qt installation??? Just for the record it is my first entry in PATH.
Martin Robinson
Comment 6 2012-01-12 09:46:58 PST
(In reply to comment #5) > why it would put stuff in my Qt installation??? Just for the record it is my first entry in PATH. Perhaps this is a bug in the fallback jhbuild build script. It shouldn't be installing anything outside the prefix.
Balazs Kelemen
Comment 7 2012-03-09 08:52:00 PST
*** Bug 80698 has been marked as a duplicate of this bug. ***
Alexis Menard (darktears)
Comment 8 2012-04-19 15:59:26 PDT
(In reply to comment #7) > *** Bug 80698 has been marked as a duplicate of this bug. *** /home/darktears/dev/troll/webkit/WebKitBuild/Dependencies/Source/jhbuild/jhbuild is where it is cloned.
Alexis Menard (darktears)
Comment 9 2012-04-19 16:01:16 PDT
(In reply to comment #8) > (In reply to comment #7) > > *** Bug 80698 has been marked as a duplicate of this bug. *** > > /home/darktears/dev/troll/webkit/WebKitBuild/Dependencies/Source/jhbuild/jhbuild is where it is cloned. Also gnome-common seems to be a hard dependency, the fallback script of jhbuild without autotool is proper broken.
Gustavo Noronha (kov)
Comment 10 2012-04-20 15:35:30 PDT
Gustavo Noronha (kov)
Comment 11 2012-04-20 15:36:41 PDT
Should we add gnome-common to jhbuild, or do you think it would be better as a dependency we expect the system to provide?
Gustavo Noronha (kov)
Comment 12 2012-04-20 16:05:44 PDT
I added gnome-common as a dependency on the wiki.
Martin Robinson
Comment 13 2012-04-20 16:07:52 PDT
Comment on attachment 138178 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=138178&action=review Great! There are just a few minor change suggestions below. > Tools/jhbuild/jhbuild-wrapper:48 > +if os.environ.has_key('WEBKITOUTPUTDIR'): > + installation_prefix = os.path.abspath(os.path.join(os.environ['WEBKITOUTPUTDIR'], 'Dependencies', 'Root')) > + source_path = os.path.abspath(os.path.join(os.environ['WEBKITOUTPUTDIR'], 'Dependencies', 'Source')) > + jhbuild_source_path = os.path.join(source_path, 'jhbuild') > + jhbuild_path = os.path.join(installation_prefix, 'bin', 'jhbuild') > +else: > + installation_prefix = os.path.abspath(top_level_path('WebKitBuild', 'Dependencies', 'Root')) > + source_path = os.path.abspath(top_level_path('WebKitBuild', 'Dependencies', 'Source')) > + jhbuild_source_path = os.path.join(source_path, 'jhbuild') > + jhbuild_path = top_level_path('WebKitBuild', 'Dependencies', 'Root', 'bin', 'jhbuild') > + I think in this case something like this might be better: if os.environ.has_key('WEBKITOUTPUTDIR'): dependencies_path = os.path.abspath(top_level_path('WebKitBuild', 'Dependencies')) else: dependencies_path = top_level_path('WebKitBuild', 'Dependencies') And then you can make all paths relative to those. I think a change like this makes sense for the previous two code blocks too.
Raphael Kubo da Costa (:rakuco)
Comment 14 2012-04-24 16:16:43 PDT
*** Bug 81475 has been marked as a duplicate of this bug. ***
Gustavo Noronha (kov)
Comment 15 2012-04-27 22:51:24 PDT
Philippe Normand
Comment 16 2012-05-03 07:24:50 PDT
(In reply to comment #15) > Committed r115532: <http://trac.webkit.org/changeset/115532> So this patch restored the behavior to store the jhbuild*.md5sum files in the build directory instead of Dependencies. Is there any reason why?
Philippe Normand
Comment 17 2012-05-03 07:29:16 PDT
(In reply to comment #16) > (In reply to comment #15) > > Committed r115532: <http://trac.webkit.org/changeset/115532> > > So this patch restored the behavior to store the jhbuild*.md5sum files in the build directory instead of Dependencies. Is there any reason why? Hum doesn't seem to be this one. Anyway, something broke :( Will try to track this regression down again.
Philippe Normand
Comment 18 2012-05-03 07:47:19 PDT
Comment on attachment 138178 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=138178&action=review > Tools/Scripts/webkitdirs.pm:1846 > + return join(baseProductDir(), "Dependencies"); Hrm. the first argument to join() should be the separator no?? > Tools/Scripts/webkitdirs.pm:1991 > + my $destination = join(getJhbuildPath(), $file); Ditto.
Philippe Normand
Comment 19 2012-05-03 09:53:13 PDT
Comment on attachment 138178 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=138178&action=review >> Tools/jhbuild/jhbuild-wrapper:48 >> + > > I think in this case something like this might be better: > > if os.environ.has_key('WEBKITOUTPUTDIR'): > dependencies_path = os.path.abspath(top_level_path('WebKitBuild', 'Dependencies')) > else: > dependencies_path = top_level_path('WebKitBuild', 'Dependencies') > > And then you can make all paths relative to those. I think a change like this makes sense for the previous two code blocks too. Looks like this suggestion wasn't correctly applied :( Current code: if os.environ.has_key('WEBKITOUTPUTDIR'): dependencies_path = os.path.abspath(os.path.join(os.environ['WEBKITOUTPUTDIR'], 'Dependencies', 'Root')) else: dependencies_path = os.path.abspath(top_level_path('WebKitBuild', 'Dependencies', 'Root')) so we end up with installation_prefix ending with Root/Root ... Will send another patch.
Philippe Normand
Comment 20 2012-05-03 09:59:03 PDT
Oh this was fixored in r115904... My bad for not updating before blaming :)
Gustavo Noronha (kov)
Comment 21 2012-05-09 06:41:53 PDT
Wow, and I thought I had tested it properly =) thanks for your investigations, hopefully it's all fixed now.
Note You need to log in before you can comment on or make changes to this bug.