<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>134727</bug_id>
          
          <creation_ts>2014-07-08 09:42:05 -0700</creation_ts>
          <short_desc>[GTK] Gstreamer missing from the install-dependencies script</short_desc>
          <delta_ts>2014-07-09 08:38:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>134754</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="ziran sun">ziran.sun</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mario</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1021101</commentid>
    <comment_count>0</comment_count>
    <who name="ziran sun">ziran.sun</who>
    <bug_when>2014-07-08 09:42:05 -0700</bug_when>
    <thetext>Issue was found during a build in Ubuntu 14.04 from scratch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021108</commentid>
    <comment_count>1</comment_count>
      <attachid>234568</attachid>
    <who name="ziran sun">ziran.sun</who>
    <bug_when>2014-07-08 09:55:00 -0700</bug_when>
    <thetext>Created attachment 234568
Patch proposal

Please review this patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021109</commentid>
    <comment_count>2</comment_count>
      <attachid>234568</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-07-08 09:56:17 -0700</bug_when>
    <thetext>Comment on attachment 234568
Patch proposal

Looks good to me. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021121</commentid>
    <comment_count>3</comment_count>
      <attachid>234568</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-08 10:34:01 -0700</bug_when>
    <thetext>Comment on attachment 234568
Patch proposal

Clearing flags on attachment: 234568

Committed r170889: &lt;http://trac.webkit.org/changeset/170889&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021122</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-08 10:34:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021124</commentid>
    <comment_count>5</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-07-08 10:37:02 -0700</bug_when>
    <thetext>What?

GStreamer is built inside the internal JHBuild. The install-dependencies script is not meant to replace the internal JHBuild setup. Please revert this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021139</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-07-08 11:35:30 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; GStreamer is built inside the internal JHBuild. The install-dependencies script is not meant to replace the internal JHBuild setup. Please revert this change.

I have to agree here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021168</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-07-08 13:07:11 -0700</bug_when>
    <thetext>The function to install RPM deps is also quite over-crowded, what happened with that?

The install-dependencies script was abused, it should really install only the strict necessary dependencies to bootstrap and build JHBuild :( Unless I misunderstood its purpose?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021309</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-09 02:09:33 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 134754</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021314</commentid>
    <comment_count>9</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-07-09 02:15:23 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; The function to install RPM deps is also quite over-crowded, what happened with that?
&gt; 
&gt; The install-dependencies script was abused, it should really install only the strict necessary dependencies to bootstrap and build JHBuild :( Unless I misunderstood its purpose?

Filed Bug 134755 about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021319</commentid>
    <comment_count>10</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-07-09 02:36:10 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; GStreamer is built inside the internal JHBuild. The install-dependencies script is not meant to replace the internal JHBuild setup. Please revert this change.
&gt; 
&gt; I have to agree here.

I disagree, though. JHBuild is a helper tool that enable people to build WebKit when system packages are not recent enough, as well as to help &quot;normalize&quot; testing environments such as the ones used in the bots.

However, I don&apos;t see what&apos;s the point of having to build all the deps if your distro have recent enough versions of those packages (e.g. Ubuntu 14.04 at this time), but in order to do that the developer would need to install these 2 gstreamer devel packages first, as they are core deps of WebKit.

On top of that, I don&apos;t see any collision between having these 2 packages in the apt-get section of the install-dependencies script (as it&apos;s done already for the yum section, btw) and building gstreamer anyway in the jhbuild moduleset:

 - If you execute both install-dependencies and update-webkitgtklibs, WebKit will pick the versions from the jhbuild, as they likely are newer. No conflict here.

 - If you don&apos;t execute update-webkitgtklibs, then WebKit will use the (recent enough) versions in your system, saving you time.

In both cases it&apos;s a Win-Win situation, while keeping these 2 packages out of the install-dependencies script means only the first scenario will work.

Last, I was pointed to http://trac.webkit.org/wiki/BuildingGtk as proof that both steps should be executed, but I think that&apos;s a mistake too, as you can certainly build and run WebKitGTK if the system is new enough without using the jhbuild at all.

So, could you please ellaborate a bit more in how exactly including those _core_ deps in install-dependencies is a bad thing? So far I can&apos;t see any good reason, to be honest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021367</commentid>
    <comment_count>11</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-07-09 08:23:15 -0700</bug_when>
    <thetext>(In reply to comment #10)

&gt; However, I don&apos;t see what&apos;s the point of having to build all the deps if your distro have recent enough versions of those packages (e.g. Ubuntu 14.04 at this time), but in order to do that the developer would need to install these 2 gstreamer devel packages first, as they are core deps of WebKit.

install-dependencies and the JHBuild are complementary tools, so it would be best, in my opinion, to avoid overlap. Isn&apos;t there a mode where JHBuild can install dependencies from the system?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021368</commentid>
    <comment_count>12</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-07-09 08:29:17 -0700</bug_when>
    <thetext>(In reply to comment #11)

&gt; install-dependencies and the JHBuild are complementary tools, so it would be best, in my opinion, to avoid overlap. Isn&apos;t there a mode where JHBuild can install dependencies from the system?

Yes, perhaps people who *really* don&apos;t want to use the JHBuild can simply use jhbuild sysdeps. I think it would be alright with me if install-dependencies had another mode install-dependencies --avoid-jhbuild, or whatever, that called jhbuild sysdeps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021370</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-07-09 08:35:49 -0700</bug_when>
    <thetext>For the record, my understanding is the following:

The purpose of the internal JHBuild is to build _specific_ versions (note the specific: it don&apos;t matters if is newer or older, but the exact version) of the dependencies that could make the layout tests behave different (ex: the typical one pixel difference).

So the only way of running the layout tests and getting consistent results is using the internal JHBuild.

When we raise the version of a library of the JHBuild, we also have to rebaseline a bunch of tests that will give different results with the new version of that library.

While is true that you can use your system libraries on a modern enough distribution, you can&apos;t be sure that the results you are getting for the layout tests are consistent with what the rest of developers (and the bots) get.

The purpose of the script update-webkitgtklibs is to install the system dependencies required to bootstrap the internal JHBuild, as also to install the system dependencies required to build webkitgtk+ that are not provided in the JHBuild (because that dependencies won&apos;t affect the results of the layout tests).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021371</commentid>
    <comment_count>14</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-07-09 08:38:50 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; For the record, my understanding is the following:

Yeah, your understanding is spot on, I&apos;d say. Some people do need to build trunk and don&apos;t care about layout tests. I think adding an option to do that isn&apos;t a bad idea, but hopefully we can do it without duplicating the package lists.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234568</attachid>
            <date>2014-07-08 09:55:00 -0700</date>
            <delta_ts>2014-07-08 10:34:01 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>bug-134727-20140708175504.patch</filename>
            <type>text/plain</type>
            <size>1264</size>
            <attacher name="ziran sun">ziran.sun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcwODgxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzUzNzJkZWQwOGU4MmJlMTk1Y2VhMjI1N2M3MTgyY2M3
MGEzNWM0Ny4uZTk2N2VmM2I1MTIyM2Y1MWU4NmE1OGM0YzY0Yzg1OTIwYThkMTUwZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE0LTA3LTA4ICBaaXJhbiBTdW4gIDx6aXJhbi5zdW5Ac2Ftc3VuZy5jb20+CisKKyAg
ICAgICAgW0dUS10gR3N0cmVhbWVyIG1pc3NpbmcgZnJvbSB0aGUgaW5zdGFsbC1kZXBlbmRlbmNp
ZXMgc2NyaXB0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzQ3MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRlZCBtaXNzaW5nIGdzdHJlYW1lciBkZXBlbmRlbmNpZXMgZm9yIGRlYmlhbiBiYXNlZCBz
eXN0ZW1zLgorCisgICAgICAgICogZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzOiBBZGRlZCAyIGRl
cGVuZGVuY2llcyBmb3IgYXB0LWdldC4KKwogMjAxNC0wNy0wOCAgR2VyZ28gQmFsb2doICA8Z2Jh
bG9naC51LXN6ZWdlZEBwYXJ0bmVyLnNhbXN1bmcuY29tPgogCiAgICAgICAgIEFkZCBvcHRpb24g
dG8gc3BlY2lmeSBvdXRwdXQgZmlsZSBsb2NhdGlvbiBpbiBzdW5zcGlkZXIuCmRpZmYgLS1naXQg
YS9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy9ndGsvaW5zdGFsbC1kZXBl
bmRlbmNpZXMKaW5kZXggOGYyODhkMjg4M2RhNzgyMGNhYzZmNzRjOTk3MmNkNWY1YTAyZTMwZS4u
Y2VkNDE1NzA0OTBlOTY5ZGE0Y2IwNTRjNzU1NGE5YTFmNzM1YjRjMCAxMDA3NTUKLS0tIGEvVG9v
bHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVu
ZGVuY2llcwpAQCAtNTYsNiArNTYsOCBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0
aEFwdCB7CiAgICAgICAgIGxpYmdsMS1tZXNhLWRldiBcCiAgICAgICAgIGxpYmdsMS1tZXNhLWds
eCBcCiAgICAgICAgIGxpYmdudXRscy1kZXYgXAorICAgICAgICBsaWJnc3RyZWFtZXIxLjAtZGV2
IFwKKyAgICAgICAgbGliZ3N0cmVhbWVyLXBsdWdpbnMtYmFzZTEuMC1kZXYgXAogICAgICAgICBs
aWJndGsyLjAtZGV2IFwKICAgICAgICAgbGliZ3RrLTMtZGV2IFwKICAgICAgICAgbGliZ3VkZXYt
MS4wLWRldiBcCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>