diff mbox

package/erlang: build host-erlang with support for openssl

Message ID 1408117755-24948-1-git-send-email-yann.morin.1998@free.fr
State Accepted
Headers show

Commit Message

Yann E. MORIN Aug. 15, 2014, 3:49 p.m. UTC
Erlang uses openssl for all things crypto.

Since there are host Erlang tools that use crypto (such as rebar), we
need to build host-erlang with support for crypto, and thus it shall
depends on openssl.

Suggested-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Frank Hunleth <fhunleth@troodon-software.com>
Cc: Johan Oudinet <johan.oudinet@gmail.com>

---
Note: I am not sure whether this is the correct solution, to match the
host SSL support to the target SSL support. I'll let the erlang experts
enhance that patch if need be. ;-)
---
 package/erlang/erlang.mk | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Peter Korsgaard Aug. 17, 2014, 7:09 a.m. UTC | #1
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > Erlang uses openssl for all things crypto.
 > Since there are host Erlang tools that use crypto (such as rebar), we
 > need to build host-erlang with support for crypto, and thus it shall
 > depends on openssl.

 > Suggested-by: Frank Hunleth <fhunleth@troodon-software.com>
 > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > Cc: Frank Hunleth <fhunleth@troodon-software.com>
 > Cc: Johan Oudinet <johan.oudinet@gmail.com>

 > ---
 > Note: I am not sure whether this is the correct solution, to match the
 > host SSL support to the target SSL support. I'll let the erlang experts
 > enhance that patch if need be. ;-)

Sorry, I must have missed the discussion about this. What exactly does
it fix? Do we need it for 2014.08?
Yann E. MORIN Aug. 17, 2014, 9:01 a.m. UTC | #2
Peter, All,

On 2014-08-17 09:09 +0200, Peter Korsgaard spake thusly:
> >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
> 
>  > Erlang uses openssl for all things crypto.
>  > Since there are host Erlang tools that use crypto (such as rebar), we
>  > need to build host-erlang with support for crypto, and thus it shall
>  > depends on openssl.
> 
>  > Suggested-by: Frank Hunleth <fhunleth@troodon-software.com>
>  > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
>  > Cc: Frank Hunleth <fhunleth@troodon-software.com>
>  > Cc: Johan Oudinet <johan.oudinet@gmail.com>
> 
>  > ---
>  > Note: I am not sure whether this is the correct solution, to match the
>  > host SSL support to the target SSL support. I'll let the erlang experts
>  > enhance that patch if need be. ;-)

(Sorry, I should have removed this post-comit note in this v2)
 
> Sorry, I must have missed the discussion about this. What exactly does
> it fix?

Some Erlang packages (like ejabberd) use an Erlang script to do part of
the configure and build steps, thus we need a host Erlang.

This script may need to do some crypto stuff (e.g. to compute hashes,
or do https). In the Erlang world, all crypto stuff is implemented by
using oppenssl as the crypto backend.

So, we need a host Erlang with crypto support, and thus linked with
openssl.

> Do we need it for 2014.08?

Well, it can well wait for after the release, if you're not at ease with
it. Currently, we have no package that require Erlang, not even the host
Erlang.

However, since our host-erlang not being ssl-aware, it means no one is
really using it, and thus bumping should not cause a regressiopn for
anyone.

No one, but me, has complained so far. ;-)

Regards,
Yann E. MORIN.
Frank Hunleth Aug. 17, 2014, 12:18 p.m. UTC | #3
Yann, Peter, All,

On Sun, Aug 17, 2014 at 5:01 AM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> Peter, All,
>
> On 2014-08-17 09:09 +0200, Peter Korsgaard spake thusly:
>> >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
>>
>>  > Erlang uses openssl for all things crypto.
>>  > Since there are host Erlang tools that use crypto (such as rebar), we
>>  > need to build host-erlang with support for crypto, and thus it shall
>>  > depends on openssl.
>>
>>  > Suggested-by: Frank Hunleth <fhunleth@troodon-software.com>
>>  > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
>>  > Cc: Frank Hunleth <fhunleth@troodon-software.com>
>>  > Cc: Johan Oudinet <johan.oudinet@gmail.com>
>>
>>  > ---
>>  > Note: I am not sure whether this is the correct solution, to match the
>>  > host SSL support to the target SSL support. I'll let the erlang experts
>>  > enhance that patch if need be. ;-)
>
> (Sorry, I should have removed this post-comit note in this v2)
>
>> Sorry, I must have missed the discussion about this. What exactly does
>> it fix?
>
> Some Erlang packages (like ejabberd) use an Erlang script to do part of
> the configure and build steps, thus we need a host Erlang.
>
> This script may need to do some crypto stuff (e.g. to compute hashes,
> or do https). In the Erlang world, all crypto stuff is implemented by
> using oppenssl as the crypto backend.
>
> So, we need a host Erlang with crypto support, and thus linked with
> openssl.
>
>> Do we need it for 2014.08?
>
> Well, it can well wait for after the release, if you're not at ease with
> it. Currently, we have no package that require Erlang, not even the host
> Erlang.
>
> However, since our host-erlang not being ssl-aware, it means no one is
> really using it, and thus bumping should not cause a regressiopn for
> anyone.

FWIW, I use it and a few other people I know use host-erlang.

> No one, but me, has complained so far. ;-)

I find it amazing too that I haven't run into the issue or heard from
anyone else. I have a couple build environments that I thought were
minimal, but they clearly must have had the openssl dev packages
installed or I would have seen it.

Anyway, I agree with Yann, that there's no rush on getting the fix in
for this release. Now that we know how the issue manifests itself,
it's pretty easy to identify.

Thanks,
Frank
Thomas Petazzoni Oct. 6, 2014, 3:40 p.m. UTC | #4
Dear Yann E. MORIN,

On Fri, 15 Aug 2014 17:49:15 +0200, Yann E. MORIN wrote:
> Erlang uses openssl for all things crypto.
> 
> Since there are host Erlang tools that use crypto (such as rebar), we
> need to build host-erlang with support for crypto, and thus it shall
> depends on openssl.
> 
> Suggested-by: Frank Hunleth <fhunleth@troodon-software.com>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Frank Hunleth <fhunleth@troodon-software.com>
> Cc: Johan Oudinet <johan.oudinet@gmail.com>

Applied, thanks.

Thomas
diff mbox

Patch

diff --git a/package/erlang/erlang.mk b/package/erlang/erlang.mk
index 1278682..b616e99 100644
--- a/package/erlang/erlang.mk
+++ b/package/erlang/erlang.mk
@@ -8,7 +8,6 @@  ERLANG_VERSION = 17.0
 ERLANG_SITE = http://www.erlang.org/download
 ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz
 ERLANG_DEPENDENCIES = host-erlang
-HOST_ERLANG_DEPENDENCIES =
 
 ERLANG_LICENSE = EPL
 ERLANG_LICENSE_FILES = EPLICENCE
@@ -22,7 +21,11 @@  ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes
 ERLANG_CONF_ENV += erl_xcomp_sysroot=$(STAGING_DIR)
 
 ERLANG_CONF_OPT = --without-javac
-HOST_ERLANG_CONF_OPT = --without-javac
+
+# erlang uses openssl for all things crypto. Since the host tools (such as
+# rebar) uses crypto, we need to build host-erlang with support for openssl.
+HOST_ERLANG_DEPENDENCIES = host-openssl
+HOST_ERLANG_CONF_OPT = --without-javac --with-ssl=$(HOST_DIR)/usr
 
 ifeq ($(BR2_PACKAGE_NCURSES),y)
 ERLANG_CONF_OPT += --with-termcap