Bug 143777 - [EFL] Add gnutls to jhbuild.module
Summary: [EFL] Add gnutls to jhbuild.module
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit EFL (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Gyuyoung Kim
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-15 09:20 PDT by Gyuyoung Kim
Modified: 2015-04-15 17:47 PDT (History)
9 users (show)

See Also:


Attachments
Patch (2.76 KB, patch)
2015-04-15 09:22 PDT, Gyuyoung Kim
no flags Details | Formatted Diff | Diff
Patch (2.76 KB, patch)
2015-04-15 09:23 PDT, Gyuyoung Kim
no flags Details | Formatted Diff | Diff
Patch (3.02 KB, patch)
2015-04-15 09:58 PDT, Gyuyoung Kim
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gyuyoung Kim 2015-04-15 09:20:22 PDT
EFL port have required at least 3.0.0 ver. of gnutls since r176712. However some old linux distributions don't support 3.0.0 ver. Besides other projects (e.g. Chromium) sometimes need to use lower version of gnutls. To fix this issue, I would like to suggest to download guntls via jhbuild.
Comment 1 Gyuyoung Kim 2015-04-15 09:22:42 PDT
Created attachment 250793 [details]
Patch
Comment 2 Gyuyoung Kim 2015-04-15 09:23:54 PDT
Created attachment 250794 [details]
Patch
Comment 3 Csaba Osztrogonác 2015-04-15 09:52:28 PDT
The idea is good. Can we remove libgnutls28-dev from
Tools/efl/install-dependencies too?

But unfortunately we will have one more issue remaining.
It is still impossible to build WebKitGTK and Chromium
on the same machine due to this conflict. GTK guys, do
you want a similar change or do you have a better idea
to be able build WebKitGTK+ and Chromium on the same machine?
Comment 4 Gyuyoung Kim 2015-04-15 09:58:23 PDT
Created attachment 250808 [details]
Patch
Comment 5 Gyuyoung Kim 2015-04-15 10:08:53 PDT
(In reply to comment #3)
> The idea is good. Can we remove libgnutls28-dev from
> Tools/efl/install-dependencies too?

Oh, I missed to remove it. Removed.

> But unfortunately we will have one more issue remaining.
> It is still impossible to build WebKitGTK and Chromium
> on the same machine due to this conflict. GTK guys, do
> you want a similar change or do you have a better idea
> to be able build WebKitGTK+ and Chromium on the same machine?

If we use 3.x.x version of gnutls for WebKit-EFL|GTK using jhbuild, as well as install libgnutls-dev(2.x.x version) through apt-get, can't we build Chromium on the same machine ?
Comment 6 Csaba Osztrogonác 2015-04-15 10:23:40 PDT
(In reply to comment #5)
> (In reply to comment #3)
> > The idea is good. Can we remove libgnutls28-dev from
> > Tools/efl/install-dependencies too?
> 
> Oh, I missed to remove it. Removed.
> 
> > But unfortunately we will have one more issue remaining.
> > It is still impossible to build WebKitGTK and Chromium
> > on the same machine due to this conflict. GTK guys, do
> > you want a similar change or do you have a better idea
> > to be able build WebKitGTK+ and Chromium on the same machine?
> 
> If we use 3.x.x version of gnutls for WebKit-EFL|GTK using jhbuild, as well
> as install libgnutls-dev(2.x.x version) through apt-get, can't we build
> Chromium on the same machine ?

Yes, if GTK accepts the same change in their jhbuild config.
Comment 7 Michael Catanzaro 2015-04-15 11:26:38 PDT
Nothing in our jhbuild moduleset depends on GnuTLS, so it doesn't belong in our jhbuild modulesets: it should be a system dependency.

If Ubuntu still has a libgnutls28 package, that is wildly irresponsible. It should have been removed from the distro along with its dependencies no later than January 2014, when upstream security support ended. I find it difficult to believe that Chromium depends on a version of GnuTLS with no security support: if so, then Chromium has an extremely serious problem.
Comment 8 Csaba Osztrogonác 2015-04-15 11:44:49 PDT
(In reply to comment #7)
> Nothing in our jhbuild moduleset depends on GnuTLS, so it doesn't belong in
> our jhbuild modulesets: it should be a system dependency.
> 
> If Ubuntu still has a libgnutls28 package, that is wildly irresponsible. It
> should have been removed from the distro along with its dependencies no
> later than January 2014, when upstream security support ended. I find it
> difficult to believe that Chromium depends on a version of GnuTLS with no
> security support: if so, then Chromium has an extremely serious problem.

I don't know the exact details, but to build Chromium on Ubuntu 14.04
you have to install libcups2-dev, which depends on libgnutls-dev:
http://packages.ubuntu.com/trusty/libcups2-dev

And the problem is that libgnutls-dev conflicts with libgnutls28-dev.
Comment 9 Csaba Osztrogonác 2015-04-15 12:00:53 PDT
I checked, libcups2-dev doesn't depend on libgnutls-dev on 
Ubuntu 14.10 and the coming 15.04 (will be releson on 23rd April)
Comment 10 Michael Catanzaro 2015-04-15 13:48:41 PDT
(In reply to comment #8)
> I don't know the exact details, but to build Chromium on Ubuntu 14.04
> you have to install libcups2-dev, which depends on libgnutls-dev:
> http://packages.ubuntu.com/trusty/libcups2-dev
> 
> And the problem is that libgnutls-dev conflicts with libgnutls28-dev.

I guess the problem is that the GTK+ install-dependencies script installs libgnutls28-dev. That's wrong. We use GnuTLS directly only for subtle crypto, and that requires GnuTLS 3.0.0.
Comment 11 Carlos Alberto Lopez Perez 2015-04-15 14:48:41 PDT
(In reply to comment #10)
> I guess the problem is that the GTK+ install-dependencies script installs
> libgnutls28-dev. That's wrong. We use GnuTLS directly only for subtle
> crypto, and that requires GnuTLS 3.0.0.

In Debian (and derivatives like Ubuntu) the package gnutls28 is actually 3.x. 

For a long time Debian shipped two different versions of this library, gnutls 2.x with the name gnutls26 and gnutls 3.x with thane gnutls28.

You can install the binaries of both libraries at the same time (as their have different sonames), but you can't install both development packages (the headers) at the same time because they have the same name.

The reason why Debian shipped two different versions of this library (2.X and 3.X) is because of some license issues that prevented some software to be linked with the new gnutls 3.x. This issues are now fixed and Debian dropped the old 2.x gnutls library.

However, Ubuntu 14.04 was forked from Debian at a time where those issues still were problem. You can read more about it here: https://wiki.debian.org/gnutls3


For reference, in Debian jessie (current testing) libgnutls28 is actually 3.3.8 and in Ubuntu 14.04 is actually 3.2.11.


So, AFAIK, the problem discussed on this bug only affects Ubuntu 14.04
Comment 12 Gyuyoung Kim 2015-04-15 16:57:21 PDT
(In reply to comment #11)
> (In reply to comment #10)
> > I guess the problem is that the GTK+ install-dependencies script installs
> > libgnutls28-dev. That's wrong. We use GnuTLS directly only for subtle
> > crypto, and that requires GnuTLS 3.0.0.
> 
> In Debian (and derivatives like Ubuntu) the package gnutls28 is actually
> 3.x. 
> 
> For a long time Debian shipped two different versions of this library,
> gnutls 2.x with the name gnutls26 and gnutls 3.x with thane gnutls28.
> 
> You can install the binaries of both libraries at the same time (as their
> have different sonames), but you can't install both development packages
> (the headers) at the same time because they have the same name.
> 
> The reason why Debian shipped two different versions of this library (2.X
> and 3.X) is because of some license issues that prevented some software to
> be linked with the new gnutls 3.x. This issues are now fixed and Debian
> dropped the old 2.x gnutls library.
> 
> However, Ubuntu 14.04 was forked from Debian at a time where those issues
> still were problem. You can read more about it here:
> https://wiki.debian.org/gnutls3
> 
> 
> For reference, in Debian jessie (current testing) libgnutls28 is actually
> 3.3.8 and in Ubuntu 14.04 is actually 3.2.11.
> 
> 
> So, AFAIK, the problem discussed on this bug only affects Ubuntu 14.04

Thank you for your detailed explanation. However AFAIK some of EFL folks are still using 14.04. So I think this patch can help them to build WebKit EFL and Chromium at the same time until 15.04 will be used by many of us.
Comment 13 WebKit Commit Bot 2015-04-15 17:47:04 PDT
Comment on attachment 250808 [details]
Patch

Clearing flags on attachment: 250808

Committed r182874: <http://trac.webkit.org/changeset/182874>
Comment 14 WebKit Commit Bot 2015-04-15 17:47:08 PDT
All reviewed patches have been landed.  Closing bug.