Skip to contentSkip to conversation

Erlang 18 and native atomic ops

PATCH Superseded Frank Hunleth 6 participants 95 messages Jan 23, 2016 – Feb 21, 2016

lore
Share & tools
lore
#0 lore raw

cover Erlang 18 and native atomic ops

This patch set pulls in a major update to Erlang. A couple build errors were introduced by the upgrade which necessitated upgrading several Erlang packages. It turns out that Erlang's native atomic ops code has been improved since the last version so that it is now preferred over using libatomic ops. The final commit that makes the switch away from libatomic_ops fixes builds on aarch64 without affecting other builds (at least the qemu_*_defconfigs w/ Erlang and a few other configs.) Erlang autobuilder errors due to sparc_v8 atomics and musl are not addressed by this patch set.

Frank Hunleth (18):
erlang: bump to version 18.2.1 pkg-rebar.mk: pass C++ compiler path and options
erlang-goldrush: bump to version 0.1.8
erlang-lager: bump to version 2.2.0
erlang-rebar: bump to version 2.6.1
erlang-fast_tls: new package
erlang-p1-cache-tab: bump to version 1.0.1
erlang-p1-iconv: bump to version 0.9.0
erlang-p1-stringprep: bump to version 1.0.0
erlang-p1_stun: bump to version 0.9.0
erlang-p1-sip: bump to version 1.0.0
erlang-p1-tls: bump to version 1.0.0
erlang-p1-utils: bump to version 1.0.3
erlang-p1-xml: bump to version 1.1.1
erlang-p1-yaml: bump to version 1.0.0
erlang-p1-zlib: bump to version 1.0.0
ejabberd: bump to version 16.01
erlang: make libatomic_ops optional

 package/Config.in                                  |  3 +-
 ...001-remove-dependencies-from-rebar-config.patch | 83 ++++++++++++++++++++++
 package/ejabberd/0001-remove-deps.patch            | 22 ------
 package/ejabberd/0002-disable-rebar-deps.patch     | 76 --------------------
 .../0002-remove-make-targets-for-deps.patch        | 74 +++++++++++++++++++
 package/ejabberd/0003-disable-test.patch           | 27 -------
 .../0003-remove-checking-erlang-version.patch      | 30 ++++++++
 package/ejabberd/0004-correct-include.patch        | 56 +++++++++++++++
 package/ejabberd/0004-disable-version-check.patch  | 20 ------
 .../0005-disable-ERLANG_DEPRECATED_CHECK.patch     | 27 +++++++
 package/ejabberd/0005-fix-includes.patch           | 45 ------------
 ...006-disable-erlang-deprecated-types-check.patch | 20 ------
 ...ns.patch => 0006-fix-install-permissions.patch} | 41 +++++------
 ...jabberdctl.patch => 0007-fix-ejabberdctl.patch} | 21 ++++--
 package/ejabberd/Config.in                         |  5 +-
 package/ejabberd/ejabberd.hash                     |  6 +-
 package/ejabberd/ejabberd.mk                       |  2 +-
 package/erlang-fast_tls/Config.in                  |  7 ++
 package/erlang-fast_tls/erlang-fast_tls.mk         | 14 ++++
 package/erlang-goldrush/erlang-goldrush.mk         |  2 +-
 package/erlang-lager/erlang-lager.mk               |  2 +-
 package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk |  2 +-
 package/erlang-p1-iconv/erlang-p1-iconv.mk         |  2 +-
 package/erlang-p1-sip/erlang-p1-sip.mk             |  4 +-
 package/erlang-p1-stringprep/Config.in             |  4 ++
 .../erlang-p1-stringprep/erlang-p1-stringprep.mk   |  2 +-
 package/erlang-p1-tls/erlang-p1-tls.mk             |  2 +-
 package/erlang-p1-utils/erlang-p1-utils.mk         |  2 +-
 package/erlang-p1-xml/erlang-p1-xml.mk             |  2 +-
 package/erlang-p1-yaml/erlang-p1-yaml.mk           |  2 +-
 package/erlang-p1-zlib/erlang-p1-zlib.mk           |  2 +-
 .../{erlang-p1-stun => erlang-p1_stun}/Config.in   |  4 +-
 .../erlang-p1_stun.mk}                             |  6 +-
 package/erlang-rebar/erlang-rebar.mk               |  2 +-
 ...04-erts-fix-incorrect-use-of-ac-egrep-cpp.patch | 79 --------------------
 package/erlang/Config.in                           | 10 ++-
 package/erlang/erlang.hash                         |  2 +-
 package/erlang/erlang.mk                           | 10 +--
 package/pkg-rebar.mk                               |  2 +
 39 files changed, 375 insertions(+), 347 deletions(-)
 create mode 100644 package/ejabberd/0001-remove-dependencies-from-rebar-config.patch
 delete mode 100644 package/ejabberd/0001-remove-deps.patch
 delete mode 100644 package/ejabberd/0002-disable-rebar-deps.patch
 create mode 100644 package/ejabberd/0002-remove-make-targets-for-deps.patch
 delete mode 100644 package/ejabberd/0003-disable-test.patch
 create mode 100644 package/ejabberd/0003-remove-checking-erlang-version.patch
 create mode 100644 package/ejabberd/0004-correct-include.patch
 delete mode 100644 package/ejabberd/0004-disable-version-check.patch
 create mode 100644 package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch
 delete mode 100644 package/ejabberd/0005-fix-includes.patch
 delete mode 100644 package/ejabberd/0006-disable-erlang-deprecated-types-check.patch
 rename package/ejabberd/{0007-fix-install-permissions.patch => 0006-fix-install-permissions.patch} (73%)
 rename package/ejabberd/{0008-fix-ejabberdctl.patch => 0007-fix-ejabberdctl.patch} (56%)
 create mode 100644 package/erlang-fast_tls/Config.in
 create mode 100644 package/erlang-fast_tls/erlang-fast_tls.mk
 rename package/{erlang-p1-stun => erlang-p1_stun}/Config.in (70%)
 rename package/{erlang-p1-stun/erlang-p1-stun.mk => erlang-p1_stun/erlang-p1_stun.mk} (77%)
 delete mode 100644 package/erlang/0004-erts-fix-incorrect-use-of-ac-egrep-cpp.patch

--
2.5.0

#1 lore raw

PATCH 1/18 erlang: bump to version 18.2.1

This is a major release of Erlang that includes a licensing change from the EPL to the Apache License, significant changes to the timer APIs, better support for large maps, and security improvements.

---
 ...04-erts-fix-incorrect-use-of-ac-egrep-cpp.patch | 79 ----------------------
 package/erlang/erlang.hash                         |  2 +-
 package/erlang/erlang.mk                           |  8 +--
 3 files changed, 5 insertions(+), 84 deletions(-)
 delete mode 100644 package/erlang/0004-erts-fix-incorrect-use-of-ac-egrep-cpp.patch
package/erlang/0004-erts-fix-incorrect-use-of-ac-egrep-cpp.patch deleted +0 -79
deleted file mode 100644
index bc08697..0000000
@@ -1,79 +0,0 @@
-Status: upstream
-https://github.com/erlang/otp/pull/658
-
-Signed-off-by: Johan Oudinet <[email protected]>
-
-From 73392fcb6f8fddba57de6fb7ae6eeafa0e444686 Mon Sep 17 00:00:00 2001
-From: Johan Oudinet <[email protected]>
-Date: Tue, 24 Mar 2015 15:54:31 +0100
-Subject: [PATCH] erts: Fix incorrect use of AC_EGREP_CPP
-
-Using 'AC_EGREP_CPP(yes' without restraining the pattern always return
-true if it runs from a path containing the string 'yes'.
----
- erts/aclocal.m4   |  2 +-
- erts/configure.in | 17 +++++++++--------
- 2 files changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/erts/aclocal.m4 b/erts/aclocal.m4
-index 5735cde..70a5b40 100644
---- a/erts/aclocal.m4
-+++ b/erts/aclocal.m4
-@@ -559,7 +559,7 @@ dnl
- 
- AC_DEFUN(LM_SYS_MULTICAST,
- [AC_CACHE_CHECK([for multicast support], ac_cv_sys_multicast_support,
--[AC_EGREP_CPP(yes,
-+[AC_EGREP_CPP(^yes$,
- [#include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
-diff --git a/erts/configure.in b/erts/configure.in
-index b3fe48d..9e19e33 100644
---- a/erts/configure.in
-+++ b/erts/configure.in
-@@ -1555,10 +1555,11 @@ if test "$have_gethostbyname_r" = yes; then
- 				    [Define to flavour of gethostbyname_r]))
- 		;;
- 		*)
--			AC_EGREP_CPP(yes,[#include <stdio.h>
--			  #ifdef __GLIBC__
--			  yes
--			  #endif
-+			AC_EGREP_CPP(^yes$,[
-+#include <stdio.h>
-+#ifdef __GLIBC__
-+yes
-+#endif
- 			  ], AC_DEFINE(HAVE_GETHOSTBYNAME_R, GHBN_R_GLIBC,
- 				[Define to flavour of gethostbyname_r]))
- 		;;
-@@ -4303,10 +4304,10 @@ case "$erl_xcomp_without_sysroot-$with_ssl" in
- 			SSL_INCLUDE="-I$dir/include"
- 			old_CPPFLAGS=$CPPFLAGS
- 			CPPFLAGS=$SSL_INCLUDE
--			AC_EGREP_CPP(yes,[
-+			AC_EGREP_CPP(^yes$,[
- #include <openssl/opensslv.h>
- #if OPENSSL_VERSION_NUMBER >= 0x0090700fL
--  yes
-+yes
- #endif
- 			],[
- 			ssl_found=yes
-@@ -4501,10 +4502,10 @@ if test "x$SSL_APP" != "x" ; then
-     AC_MSG_CHECKING(for OpenSSL kerberos 5 support)
-     old_CPPFLAGS=$CPPFLAGS
-     CPPFLAGS=$SSL_INCLUDE
--    AC_EGREP_CPP(yes,[
-+    AC_EGREP_CPP(^yes$,[
- #include <openssl/opensslconf.h>
- #ifndef OPENSSL_NO_KRB5
--  yes
-+yes
- #endif
-       ],[
-       AC_MSG_RESULT([yes])
--- 
-2.1.0
-
package/erlang/erlang.hash +1 -1
index 2d6a39a..e04893e 100644
@@ -1,2 +1,2 @@
 # From http://www.erlang.org/download/MD5
-md5	346dd0136bf1cc28cebc140e505206bb	otp_src_17.5.tar.gz
+md5	ebb226d51f89ec54cc83ce5d417ce55e	otp_src_18.2.1.tar.gz
package/erlang/erlang.mk +4 -4
index 848d1dd..dfab30d 100644
@@ -5,13 +5,13 @@
 ################################################################################
 
 # See note below when updating Erlang
-ERLANG_VERSION = 17.5
+ERLANG_VERSION = 18.2.1
 ERLANG_SITE = http://www.erlang.org/download
 ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz
 ERLANG_DEPENDENCIES = host-erlang
 
-ERLANG_LICENSE = EPL
-ERLANG_LICENSE_FILES = EPLICENCE
+ERLANG_LICENSE = Apache-2.0
+ERLANG_LICENSE_FILES = LICENSE.txt
 ERLANG_INSTALL_STAGING = YES
 
 # Touching erts/configure.in
@@ -19,7 +19,7 @@ ERLANG_AUTORECONF = YES
 
 # Whenever updating Erlang, this value should be updated as well, to the
 # value of EI_VSN in the file lib/erl_interface/vsn.mk
-ERLANG_EI_VSN = 3.7.20
+ERLANG_EI_VSN = 3.8.1
 
 # The configure checks for these functions fail incorrectly
 ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes
Signature · 1 line
2.5.0
#2 lore raw

PATCH 1/18 erlang: bump to version 18.2.1

Hi Frank, All,

Le 23/01/2016 02:10, Frank Hunleth a ?crit :

Quoted 102 lines

This is a major release of Erlang that includes a licensing change from the EPL to the Apache License, significant changes to the timer APIs, better support for large maps, and security improvements.

---
 ...04-erts-fix-incorrect-use-of-ac-egrep-cpp.patch | 79 ----------------------
 package/erlang/erlang.hash                         |  2 +-
 package/erlang/erlang.mk                           |  8 +--
 3 files changed, 5 insertions(+), 84 deletions(-)
 delete mode 100644 package/erlang/0004-erts-fix-incorrect-use-of-ac-egrep-cpp.patch
package/erlang/0004-erts-fix-incorrect-use-of-ac-egrep-cpp.patch deleted +0 -79
deleted file mode 100644
index bc08697..0000000
@@ -1,79 +0,0 @@
-Status: upstream
-https://github.com/erlang/otp/pull/658
-
-Signed-off-by: Johan Oudinet <[email protected]>
-
-From 73392fcb6f8fddba57de6fb7ae6eeafa0e444686 Mon Sep 17 00:00:00 2001
-From: Johan Oudinet <[email protected]>
-Date: Tue, 24 Mar 2015 15:54:31 +0100
-Subject: [PATCH] erts: Fix incorrect use of AC_EGREP_CPP
-
-Using 'AC_EGREP_CPP(yes' without restraining the pattern always return
-true if it runs from a path containing the string 'yes'.
----
- erts/aclocal.m4   |  2 +-
- erts/configure.in | 17 +++++++++--------
- 2 files changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/erts/aclocal.m4 b/erts/aclocal.m4
-index 5735cde..70a5b40 100644
---- a/erts/aclocal.m4
-+++ b/erts/aclocal.m4
-@@ -559,7 +559,7 @@ dnl
- 
- AC_DEFUN(LM_SYS_MULTICAST,
- [AC_CACHE_CHECK([for multicast support], ac_cv_sys_multicast_support,
--[AC_EGREP_CPP(yes,
-+[AC_EGREP_CPP(^yes$,
- [#include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
-diff --git a/erts/configure.in b/erts/configure.in
-index b3fe48d..9e19e33 100644
---- a/erts/configure.in
-+++ b/erts/configure.in
-@@ -1555,10 +1555,11 @@ if test "$have_gethostbyname_r" = yes; then
- 				    [Define to flavour of gethostbyname_r]))
- 		;;
- 		*)
--			AC_EGREP_CPP(yes,[#include <stdio.h>
--			  #ifdef __GLIBC__
--			  yes
--			  #endif
-+			AC_EGREP_CPP(^yes$,[
-+#include <stdio.h>
-+#ifdef __GLIBC__
-+yes
-+#endif
- 			  ], AC_DEFINE(HAVE_GETHOSTBYNAME_R, GHBN_R_GLIBC,
- 				[Define to flavour of gethostbyname_r]))
- 		;;
-@@ -4303,10 +4304,10 @@ case "$erl_xcomp_without_sysroot-$with_ssl" in
- 			SSL_INCLUDE="-I$dir/include"
- 			old_CPPFLAGS=$CPPFLAGS
- 			CPPFLAGS=$SSL_INCLUDE
--			AC_EGREP_CPP(yes,[
-+			AC_EGREP_CPP(^yes$,[
- #include <openssl/opensslv.h>
- #if OPENSSL_VERSION_NUMBER >= 0x0090700fL
--  yes
-+yes
- #endif
- 			],[
- 			ssl_found=yes
-@@ -4501,10 +4502,10 @@ if test "x$SSL_APP" != "x" ; then
-     AC_MSG_CHECKING(for OpenSSL kerberos 5 support)
-     old_CPPFLAGS=$CPPFLAGS
-     CPPFLAGS=$SSL_INCLUDE
--    AC_EGREP_CPP(yes,[
-+    AC_EGREP_CPP(^yes$,[
- #include <openssl/opensslconf.h>
- #ifndef OPENSSL_NO_KRB5
--  yes
-+yes
- #endif
-       ],[
-       AC_MSG_RESULT([yes])
--- 
-2.1.0
-
package/erlang/erlang.hash +0 -0
index 2d6a39a..e04893e 100644

package/erlang/erlang.hash line 2

Quoted 3 lines
package/erlang/erlang.hash +1 -1
@@ -1,2 +1,2 @@
 # From http://www.erlang.org/download/MD5
-md5	346dd0136bf1cc28cebc140e505206bb	otp_src_17.5.tar.gz
+md5	ebb226d51f89ec54cc83ce5d417ce55e	otp_src_18.2.1.tar.gz

Maybe you should add a stronger hash here.

Quoted 11 lines
package/erlang/erlang.mk +1 -1
index 848d1dd..dfab30d 100644
@@ -5,13 +5,13 @@
 ################################################################################
 
 # See note below when updating Erlang
-ERLANG_VERSION = 17.5
+ERLANG_VERSION = 18.2.1
 ERLANG_SITE = http://www.erlang.org/download

package/erlang/erlang.mk line 17

Quoted 10 lines
package/erlang/erlang.mk +2 -2
 ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz
 ERLANG_DEPENDENCIES = host-erlang
 
-ERLANG_LICENSE = EPL
-ERLANG_LICENSE_FILES = EPLICENCE
+ERLANG_LICENSE = Apache-2.0
+ERLANG_LICENSE_FILES = LICENSE.txt
 ERLANG_INSTALL_STAGING = YES
 
 # Touching erts/configure.in

Since you removed the patch touching erts/configure.in you should remove/update this comment here.

package/erlang/erlang.mk ERLANG_AUTORECONF = YES

Quoted 1 line
package/erlang/erlang.mk +0 -0
@@ -19,7 +19,7 @@ ERLANG_AUTORECONF = YES

I guess autoreconf is still needed here since erts/aclocal.m4 is patched by 0002-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch

Best regards,
Romain

Quoted 9 lines
package/erlang/erlang.mk +1 -1
 # Whenever updating Erlang, this value should be updated as well, to the
 # value of EI_VSN in the file lib/erl_interface/vsn.mk
-ERLANG_EI_VSN = 3.7.20
+ERLANG_EI_VSN = 3.8.1
 
 # The configure checks for these functions fail incorrectly
 ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes
 
#3 lore raw

PATCH 2/18 pkg-rebar.mk: pass C++ compiler path and options

In reply to Frank Hunleth

Previously only the C compiler path and options were passed to rebar. Erlang projects that used the C++ compiler would fail to build. This fixes those errors.

---
 package/pkg-rebar.mk | 2 ++
 1 file changed, 2 insertions(+)
package/pkg-rebar.mk +2 -0
index c727489..44c6d6c 100644
@@ -158,7 +158,9 @@ ifndef $(2)_BUILD_CMDS
 define $(2)_BUILD_CMDS
 	(cd $$(@D); \
 		CC="$$(TARGET_CC)" \
+		CXX="$$(TARGET_CXX)" \
 		CFLAGS="$$(TARGET_CFLAGS)" \
+		CXXFLAGS="$$(TARGET_CXXFLAGS)" \
 		LDFLAGS="$$(TARGET_LDFLAGS)" \
 		$$(REBAR_TARGET_DEPS_ENV) \
 		$$(TARGET_MAKE_ENV) \
Signature · 1 line
2.5.0
#4 lore raw

PATCH 3/18 erlang-goldrush: bump to version 0.1.8

In reply to Frank Hunleth
---
 package/erlang-goldrush/erlang-goldrush.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-goldrush/erlang-goldrush.mk +1 -1
index b18a8ec..2fa8810 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_GOLDRUSH_VERSION = 0.1.6
+ERLANG_GOLDRUSH_VERSION = 0.1.8
 ERLANG_GOLDRUSH_SITE = $(call github,DeadZen,goldrush,$(ERLANG_GOLDRUSH_VERSION))
 ERLANG_GOLDRUSH_LICENSE = ISC
 ERLANG_GOLDRUSH_LICENSE_FILES = LICENSE
Signature · 1 line
2.5.0
#5 lore raw

PATCH 4/18 erlang-lager: bump to version 2.2.0

In reply to Frank Hunleth
---
 package/erlang-lager/erlang-lager.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-lager/erlang-lager.mk +1 -1
index b725bfd..19940a9 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_LAGER_VERSION = 2.0.3
+ERLANG_LAGER_VERSION = 2.2.0
 ERLANG_LAGER_SITE = $(call github,basho,lager,$(ERLANG_LAGER_VERSION))
 ERLANG_LAGER_LICENSE = Apache-2.0
 ERLANG_LAGER_LICENSE_FILES = LICENSE
Signature · 1 line
2.5.0
#6 lore raw

PATCH 5/18 erlang-rebar: bump to version 2.6.1

In reply to Frank Hunleth
---
 package/erlang-rebar/erlang-rebar.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-rebar/erlang-rebar.mk +1 -1
index f29eb75..06a7800 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_REBAR_VERSION = 2.5.1
+ERLANG_REBAR_VERSION = 2.6.1
 
 # Upstream publishes a release, but we can not use it as it is a release of
 # a generated rebar script, when we want the sources. So we have to use the
Signature · 1 line
2.5.0
#7 lore raw

PATCH 6/18 erlang-fast_tls: new package

In reply to Frank Hunleth

This package is used by the newer versions of the ejabberd dependencies.

---
 package/Config.in                          |  1 +
 package/erlang-fast_tls/Config.in          |  7 +++++++
 package/erlang-fast_tls/erlang-fast_tls.mk | 14 ++++++++++++++
 3 files changed, 22 insertions(+)
 create mode 100644 package/erlang-fast_tls/Config.in
 create mode 100644 package/erlang-fast_tls/erlang-fast_tls.mk
package/Config.in +1 -0
index 09c2b40..a560784 100644
@@ -471,6 +471,7 @@ menu "Erlang libraries/modules"
 	source "package/erlang-goldrush/Config.in"
 	source "package/erlang-lager/Config.in"
 	source "package/erlang-p1-cache-tab/Config.in"
+	source "package/erlang-fast_tls/Config.in"
 	source "package/erlang-p1-iconv/Config.in"
 	source "package/erlang-p1-sip/Config.in"
 	source "package/erlang-p1-stringprep/Config.in"
package/erlang-fast_tls/Config.in new file +7 -0
new file mode 100644
index 0000000..a303e85
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_ERLANG_FAST_TLS
+	bool "erlang-fast_tls"
+	select BR2_PACKAGE_OPENSSL
+	help
+	  TLS / SSL OpenSSL-based native driver for Erlang / Elixir
+
+	  https://github.com/processone/fast_tls
package/erlang-fast_tls/erlang-fast_tls.mk new file +14 -0
new file mode 100644
index 0000000..17be01b
@@ -0,0 +1,14 @@
+################################################################################
+#
+# erlang-fast_tls
+#
+################################################################################
+
+ERLANG_FAST_TLS_VERSION = 1.0.0
+ERLANG_FAST_TLS_SITE = $(call github,processone,fast_tls,$(ERLANG_FAST_TLS_VERSION))
+ERLANG_FAST_TLS_LICENSE = Apache-2.0
+ERLANG_FAST_TLS_LICENSE_FILES = LICENSE.txt
+ERLANG_FAST_TLS_INSTALL_STAGING = YES
+ERLANG_FAST_TLS_DEPENDENCIES = openssl
+
+$(eval $(rebar-package))
Signature · 1 line
2.5.0
#8 lore raw

PATCH 6/18 erlang-fast_tls: new package

Dear Frank Hunleth,

Quoted 1 line · Frank Hunleth

This package is used by the newer versions of the ejabberd dependencies.

SoB line missing.

Quoted 13 lines
---
 package/Config.in                          |  1 +
 package/erlang-fast_tls/Config.in          |  7 +++++++
 package/erlang-fast_tls/erlang-fast_tls.mk | 14 ++++++++++++++
 3 files changed, 22 insertions(+)
 create mode 100644 package/erlang-fast_tls/Config.in
 create mode 100644 package/erlang-fast_tls/erlang-fast_tls.mk
package/Config.in +0 -0
index 09c2b40..a560784 100644

package/Config.in menu "Erlang libraries/modules" · line 474

Quoted 4 lines
package/Config.in +1 -0
@@ -471,6 +471,7 @@ menu "Erlang libraries/modules"
 	source "package/erlang-goldrush/Config.in"
 	source "package/erlang-lager/Config.in"
 	source "package/erlang-p1-cache-tab/Config.in"
+	source "package/erlang-fast_tls/Config.in"

Alphabetic ordering not correct here.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#9 lore raw

PATCH 6/18 erlang-fast_tls: new package

Hi Frank, Thomas, All,

Le 23/01/2016 09:20, Thomas Petazzoni a ?crit :

Quoted 6 lines

Dear Frank Hunleth,

Quoted 1 line · Frank Hunleth

This package is used by the newer versions of the ejabberd dependencies.

SoB line missing.

It seems that erlang-fast_tls depends on erlang-p1-utils package. I had the following build error:

==> erlang-fast_tls-1.0.0 (compile)
Dependency not available: p1_utils-.* ({git,

                                        "git://github.com/processone/p1_utils",
                                        {tag,"1.0.3"}})

ERROR: compile failed while processing /home/naourr/git/buildroot/test/erlang/build/erlang-fast_tls-1.0.0: rebar_abort

Best regards,
Romain

Quoted 23 lines
Quoted 14 lines
---
 package/Config.in                          |  1 +
 package/erlang-fast_tls/Config.in          |  7 +++++++
 package/erlang-fast_tls/erlang-fast_tls.mk | 14 ++++++++++++++
 3 files changed, 22 insertions(+)
 create mode 100644 package/erlang-fast_tls/Config.in
 create mode 100644 package/erlang-fast_tls/erlang-fast_tls.mk
package/Config.in +0 -0
index 09c2b40..a560784 100644

package/Config.in menu "Erlang libraries/modules" · line 474

Quoted 4 lines
package/Config.in +1 -0
@@ -471,6 +471,7 @@ menu "Erlang libraries/modules"
 	source "package/erlang-goldrush/Config.in"
 	source "package/erlang-lager/Config.in"
 	source "package/erlang-p1-cache-tab/Config.in"
+	source "package/erlang-fast_tls/Config.in"

Alphabetic ordering not correct here.

Thomas

#10 lore raw

PATCH 7/18 erlang-p1-cache-tab: bump to version 1.0.1

In reply to Frank Hunleth
---
 package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk +1 -1
index 6c5d98a..f8ddad2 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_CACHE_TAB_VERSION = f7ea12b
+ERLANG_P1_CACHE_TAB_VERSION = 1.0.1
 ERLANG_P1_CACHE_TAB_SITE = $(call github,processone,cache_tab,$(ERLANG_P1_CACHE_TAB_VERSION))
 ERLANG_P1_CACHE_TAB_LICENSE = GPLv2+
 ERLANG_P1_CACHE_TAB_LICENSE_FILES = COPYING
Signature · 1 line
2.5.0
#11 lore raw

PATCH 8/18 erlang-p1-iconv: bump to version 0.9.0

In reply to Frank Hunleth
---
 package/erlang-p1-iconv/erlang-p1-iconv.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-iconv/erlang-p1-iconv.mk +1 -1
index 2189f01..d2d2626 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_ICONV_VERSION = dff5ee5
+ERLANG_P1_ICONV_VERSION = 0.9.0
 ERLANG_P1_ICONV_SITE = $(call github,processone,eiconv,$(ERLANG_P1_ICONV_VERSION))
 ERLANG_P1_ICONV_LICENSE = GPLv2+
 ERLANG_P1_ICONV_LICENSE_FILES = COPYING
Signature · 1 line
2.5.0
#12 lore raw

PATCH 9/18 erlang-p1-stringprep: bump to version 1.0.0

In reply to Frank Hunleth

This version includes C++ code, so also add dependency on a C++ compiler.

---
 package/erlang-p1-stringprep/Config.in               | 4 ++++
 package/erlang-p1-stringprep/erlang-p1-stringprep.mk | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
package/erlang-p1-stringprep/Config.in +4 -0
index 3ef77ed..bc4d139 100644
@@ -1,5 +1,9 @@
+comment "erlang-p1-stringprep needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_ERLANG_P1_STRINGPREP
 	bool "erlang-p1-stringprep"
+	depends on BR2_INSTALL_LIBSTDCPP
 	help
 	  Erlang interface to stringprep
 
package/erlang-p1-stringprep/erlang-p1-stringprep.mk +1 -1
index 60c80bc..001c205 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_STRINGPREP_VERSION = 3c64023
+ERLANG_P1_STRINGPREP_VERSION = 1.0.0
 ERLANG_P1_STRINGPREP_SITE = $(call github,processone,stringprep,$(ERLANG_P1_STRINGPREP_VERSION))
 ERLANG_P1_STRINGPREP_LICENSE = TCL
 ERLANG_P1_STRINGPREP_LICENSE_FILES = LICENSE.TCL
Signature · 1 line
2.5.0
#13 lore raw

PATCH 10/18 erlang-p1_stun: bump to version 0.9.0

In reply to Frank Hunleth

As part of the version change, the package name changed to use an underscore rather than a hyphen.

---
 package/Config.in                                                   | 2 +-
 package/{erlang-p1-stun => erlang-p1_stun}/Config.in                | 4 ++--
 .../erlang-p1-stun.mk => erlang-p1_stun/erlang-p1_stun.mk}          | 6 +++---
 3 files changed, 6 insertions(+), 6 deletions(-)
 rename package/{erlang-p1-stun => erlang-p1_stun}/Config.in (70%)
 rename package/{erlang-p1-stun/erlang-p1-stun.mk => erlang-p1_stun/erlang-p1_stun.mk} (77%)
package/Config.in +1 -1
index a560784..987c10d 100644
@@ -475,7 +475,7 @@ menu "Erlang libraries/modules"
 	source "package/erlang-p1-iconv/Config.in"
 	source "package/erlang-p1-sip/Config.in"
 	source "package/erlang-p1-stringprep/Config.in"
-	source "package/erlang-p1-stun/Config.in"
+	source "package/erlang-p1_stun/Config.in"
 	source "package/erlang-p1-tls/Config.in"
 	source "package/erlang-p1-utils/Config.in"
 	source "package/erlang-p1-xml/Config.in"
package/erlang-p1_stun/Config.in renamed from package/erlang-p1-stun/Config.in +2 -2
similarity index 70%
rename from package/erlang-p1-stun/Config.in
rename to package/erlang-p1_stun/Config.in
index 70cdd91..b3f56de 100644
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_ERLANG_P1_STUN
-	bool "erlang-p1-stun"
-	select BR2_PACKAGE_ERLANG_P1_TLS
+	bool "erlang-p1_stun"
+	select BR2_PACKAGE_ERLANG_FAST_TLS
 	select BR2_PACKAGE_ERLANG_P1_UTILS
 	help
 	  STUN library for Erlang
package/erlang-p1_stun/erlang-p1_stun.mk renamed from package/erlang-p1-stun/erlang-p1-stun.mk +3 -3
similarity index 77%
rename from package/erlang-p1-stun/erlang-p1-stun.mk
rename to package/erlang-p1_stun/erlang-p1_stun.mk
index 7920347..d689585 100644
@@ -1,14 +1,14 @@
 ################################################################################
 #
-# erlang-p1-stun
+# erlang-p1_stun
 #
 ################################################################################
 
-ERLANG_P1_STUN_VERSION = a3dce07
+ERLANG_P1_STUN_VERSION = 0.9.0
 ERLANG_P1_STUN_SITE = $(call github,processone,stun,$(ERLANG_P1_STUN_VERSION))
 ERLANG_P1_STUN_LICENSE = GPLv2+
 ERLANG_P1_STUN_LICENSE_FILES = COPYING
-ERLANG_P1_STUN_DEPENDENCIES = erlang-p1-tls erlang-p1-utils
+ERLANG_P1_STUN_DEPENDENCIES = erlang-fast_tls erlang-p1-utils
 ERLANG_P1_STUN_INSTALL_STAGING = YES
 
 $(eval $(rebar-package))
Signature · 1 line
2.5.0
#14 lore raw

PATCH 10/18 erlang-p1_stun: bump to version 0.9.0

Dear Frank Hunleth,

Quoted 2 lines · Frank Hunleth

As part of the version change, the package name changed to use an underscore rather than a hyphen.

SoB line missing.

Fortunately, the name change doesn't affect the Config.in option, so we don't need any legacy handling.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#15 lore raw

PATCH 11/18 erlang-p1-sip: bump to version 1.0.0

In reply to Frank Hunleth
---
 package/erlang-p1-sip/erlang-p1-sip.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/erlang-p1-sip/erlang-p1-sip.mk +2 -2
index d017a92..eb963c8 100644
@@ -4,11 +4,11 @@
 #
 ################################################################################
 
-ERLANG_P1_SIP_VERSION = fd3e461
+ERLANG_P1_SIP_VERSION = 1.0.0
 ERLANG_P1_SIP_SITE = $(call github,processone,p1_sip,$(ERLANG_P1_SIP_VERSION))
 ERLANG_P1_SIP_LICENSE = GPLv2 with OpenSSL exception
 ERLANG_P1_SIP_LICENSE_FILES = COPYING
-ERLANG_P1_SIP_DEPENDENCIES = erlang-p1-stun erlang-p1-tls erlang-p1-utils
+ERLANG_P1_SIP_DEPENDENCIES = erlang-p1_stun erlang-p1-tls erlang-p1-utils
 ERLANG_P1_SIP_INSTALL_STAGING = YES
 
 $(eval $(rebar-package))
Signature · 1 line
2.5.0
#16 lore raw

PATCH 12/18 erlang-p1-tls: bump to version 1.0.0

In reply to Frank Hunleth
---
 package/erlang-p1-tls/erlang-p1-tls.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-tls/erlang-p1-tls.mk +1 -1
index 4f1fc48..f7212c4 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_TLS_VERSION = b070004
+ERLANG_P1_TLS_VERSION = 1.0.0
 ERLANG_P1_TLS_SITE = $(call github,processone,tls,$(ERLANG_P1_TLS_VERSION))
 ERLANG_P1_TLS_LICENSE = GPLv2+
 ERLANG_P1_TLS_LICENSE_FILES = COPYING
Signature · 1 line
2.5.0
#17 lore raw

PATCH 13/18 erlang-p1-utils: bump to version 1.0.3

In reply to Frank Hunleth
---
 package/erlang-p1-utils/erlang-p1-utils.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-utils/erlang-p1-utils.mk +1 -1
index c01d6d5..04d6bd3 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_UTILS_VERSION = 1bf99f9
+ERLANG_P1_UTILS_VERSION = 1.0.3
 ERLANG_P1_UTILS_SITE = $(call github,processone,p1_utils,$(ERLANG_P1_UTILS_VERSION))
 ERLANG_P1_UTILS_LICENSE = GPLv2+
 ERLANG_P1_UTILS_LICENSE_FILES = COPYING
Signature · 1 line
2.5.0
#18 lore raw

PATCH 13/18 erlang-p1-utils: bump to version 1.0.3

Hi Frank, All,

Le 23/01/2016 02:11, Frank Hunleth a ?crit :

Quoted 10 lines
---
 package/erlang-p1-utils/erlang-p1-utils.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-utils/erlang-p1-utils.mk +0 -0
index c01d6d5..04d6bd3 100644

package/erlang-p1-utils/erlang-p1-utils.mk line 10

Quoted 8 lines
package/erlang-p1-utils/erlang-p1-utils.mk +1 -1
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_UTILS_VERSION = 1bf99f9
+ERLANG_P1_UTILS_VERSION = 1.0.3
 ERLANG_P1_UTILS_SITE = $(call github,processone,p1_utils,$(ERLANG_P1_UTILS_VERSION))
 ERLANG_P1_UTILS_LICENSE = GPLv2+
 ERLANG_P1_UTILS_LICENSE_FILES = COPYING

The license file has been updated: COPYING -> LICENSE.txt
It seems that all other erlang package have updated their license file.

Don't forget to test your series with legal-info ;-)

Best regards,
Romain

Quoted 1 line
#19 lore raw

PATCH 14/18 erlang-p1-xml: bump to version 1.1.1

In reply to Frank Hunleth
---
 package/erlang-p1-xml/erlang-p1-xml.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-xml/erlang-p1-xml.mk +1 -1
index f81d3e5..d97820a 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_XML_VERSION = 2c61083
+ERLANG_P1_XML_VERSION = 1.1.1
 ERLANG_P1_XML_SITE = $(call github,processone,xml,$(ERLANG_P1_XML_VERSION))
 ERLANG_P1_XML_LICENSE = GPLv2+
 ERLANG_P1_XML_LICENSE_FILES = COPYING
Signature · 1 line
2.5.0
#20 lore raw

PATCH 15/18 erlang-p1-yaml: bump to version 1.0.0

In reply to Frank Hunleth
---
 package/erlang-p1-yaml/erlang-p1-yaml.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-yaml/erlang-p1-yaml.mk +1 -1
index 6f7c977..ba661b9 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_YAML_VERSION = e1f081e
+ERLANG_P1_YAML_VERSION = 1.0.0
 ERLANG_P1_YAML_SITE = $(call github,processone,p1_yaml,$(ERLANG_P1_YAML_VERSION))
 ERLANG_P1_YAML_LICENSE = Apache-2.0
 ERLANG_P1_YAML_LICENSE_FILES = COPYING
Signature · 1 line
2.5.0
#21 lore raw

PATCH 16/18 erlang-p1-zlib: bump to version 1.0.0

In reply to Frank Hunleth
---
 package/erlang-p1-zlib/erlang-p1-zlib.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-zlib/erlang-p1-zlib.mk +1 -1
index 4ba3332..1f8ae00 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_ZLIB_VERSION = 52e82bb
+ERLANG_P1_ZLIB_VERSION = 1.0.0
 ERLANG_P1_ZLIB_SITE = $(call github,processone,zlib,$(ERLANG_P1_ZLIB_VERSION))
 ERLANG_P1_ZLIB_LICENSE = GPLv2+
 ERLANG_P1_ZLIB_LICENSE_FILES = COPYING
Signature · 1 line
2.5.0
#22 lore raw

PATCH 17/18 ejabberd: bump to version 16.01

In reply to Frank Hunleth

As part of the upgrade, updated patches from Debian were used where appropriate. All patches were converted to git format.

---
 ...001-remove-dependencies-from-rebar-config.patch | 83 ++++++++++++++++++++++
 package/ejabberd/0001-remove-deps.patch            | 22 ------
 package/ejabberd/0002-disable-rebar-deps.patch     | 76 --------------------
 .../0002-remove-make-targets-for-deps.patch        | 74 +++++++++++++++++++
 package/ejabberd/0003-disable-test.patch           | 27 -------
 .../0003-remove-checking-erlang-version.patch      | 30 ++++++++
 package/ejabberd/0004-correct-include.patch        | 56 +++++++++++++++
 package/ejabberd/0004-disable-version-check.patch  | 20 ------
 .../0005-disable-ERLANG_DEPRECATED_CHECK.patch     | 27 +++++++
 package/ejabberd/0005-fix-includes.patch           | 45 ------------
 ...006-disable-erlang-deprecated-types-check.patch | 20 ------
 ...ns.patch => 0006-fix-install-permissions.patch} | 41 +++++------
 ...jabberdctl.patch => 0007-fix-ejabberdctl.patch} | 21 ++++--
 package/ejabberd/Config.in                         |  5 +-
 package/ejabberd/ejabberd.hash                     |  6 +-
 package/ejabberd/ejabberd.mk                       |  2 +-
 16 files changed, 313 insertions(+), 242 deletions(-)
 create mode 100644 package/ejabberd/0001-remove-dependencies-from-rebar-config.patch
 delete mode 100644 package/ejabberd/0001-remove-deps.patch
 delete mode 100644 package/ejabberd/0002-disable-rebar-deps.patch
 create mode 100644 package/ejabberd/0002-remove-make-targets-for-deps.patch
 delete mode 100644 package/ejabberd/0003-disable-test.patch
 create mode 100644 package/ejabberd/0003-remove-checking-erlang-version.patch
 create mode 100644 package/ejabberd/0004-correct-include.patch
 delete mode 100644 package/ejabberd/0004-disable-version-check.patch
 create mode 100644 package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch
 delete mode 100644 package/ejabberd/0005-fix-includes.patch
 delete mode 100644 package/ejabberd/0006-disable-erlang-deprecated-types-check.patch
 rename package/ejabberd/{0007-fix-install-permissions.patch => 0006-fix-install-permissions.patch} (73%)
 rename package/ejabberd/{0008-fix-ejabberdctl.patch => 0007-fix-ejabberdctl.patch} (56%)
package/ejabberd/0001-remove-dependencies-from-rebar-config.patch new file +83 -0
new file mode 100644
index 0000000..6929c10
@@ -0,0 +1,83 @@
+From 9bcf7020e348771f16a04abeff2a7cc3a5e87c5b Mon Sep 17 00:00:00 2001
+From: Philipp Huebner <[email protected]>
+Date: Wed, 20 Jan 2016 08:08:42 -0500
+Subject: [PATCH 1/7] remove dependencies from rebar config
+
+Without this patch, dependencies would be downloaded and compiled
+by rebar at build time.
+---
+ rebar.config | 51 ---------------------------------------------------
+ 1 file changed, 51 deletions(-)
+
+diff --git a/rebar.config b/rebar.config
+index 30c0360..d6a5b4d 100644
+--- a/rebar.config
++++ b/rebar.config
+@@ -7,48 +7,6 @@
+ %%% Created :  1 May 2013 by Evgeniy Khramtsov <[email protected]>
+ %%%-------------------------------------------------------------------
+ 
+-{deps, [{if_var_true, lager, {lager, ".*", {git, "https://github.com/basho/lager", {tag, "3.0.2"}}}},
+-        {if_var_false, lager, {p1_logger, ".*", {git, "https://github.com/processone/p1_logger", {tag, "1.0.0"}}}},
+-        {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.2"}}},
+-        {cache_tab, ".*", {git, "https://github.com/processone/cache_tab", {tag, "1.0.1"}}},
+-        {p1_tls, ".*", {git, "https://github.com/processone/tls", {tag, "1.0.0"}}},
+-        {p1_stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.0"}}},
+-        {p1_xml, ".*", {git, "https://github.com/processone/xml", {tag, "1.1.1"}}},
+-        {p1_stun, ".*", {git, "https://github.com/processone/stun", "0.9.0"}},
+-        {esip, ".*", {git, "https://github.com/processone/p1_sip", "1.0.0"}},
+-        {p1_yaml, ".*", {git, "https://github.com/processone/p1_yaml", {tag, "1.0.0"}}},
+-        {jiffy, ".*", {git, "https://github.com/davisp/jiffy", {tag, "0.14.5"}}},
+-        {oauth2, ".*", {git, "https://github.com/kivra/oauth2", "8d129fbf8866930b4ffa6dd84e65bd2b32b9acb8"}},
+-        {xmlrpc, ".*", {git, "https://github.com/rds13/xmlrpc", {tag, "1.15"}}},
+-        {if_var_true, mysql, {p1_mysql, ".*", {git, "https://github.com/processone/mysql", {tag, "1.0.0"}}}},
+-        {if_var_true, pgsql, {p1_pgsql, ".*", {git, "https://github.com/processone/pgsql", {tag, "1.0.0"}}}},
+-        {if_var_true, sqlite, {sqlite3, ".*", {git, "https://github.com/alexeyr/erlang-sqlite3", "cbc3505f7a131254265d3ef56191b2581b8cc172"}}},
+-        {if_var_true, pam, {p1_pam, ".*", {git, "https://github.com/processone/epam", {tag, "1.0.0"}}}},
+-        {if_var_true, zlib, {p1_zlib, ".*", {git, "https://github.com/processone/zlib", {tag, "1.0.0"}}}},
+-        {if_var_true, riak, {hamcrest, ".*", {git, "https://github.com/hyperthunk/hamcrest-erlang", "908a24fda4a46776a5135db60ca071e3d783f9f6"}}},  % for riak_pb-2.1.0.7
+-        {if_var_true, riak, {riakc, ".*", {git, "https://github.com/basho/riak-erlang-client", "527722d12d0433b837cdb92a60900c2cb5df8942"}}},
+-        {if_var_true, elixir, {elixir, ".*", {git, "https://github.com/elixir-lang/elixir", {tag, "v1.1.0"}}}},
+-        {if_var_true, elixir, {rebar_elixir_plugin, ".*", {git, "https://github.com/processone/rebar_elixir_plugin", "0.1.0"}}},
+-        {if_var_true, iconv, {p1_iconv, ".*", {git, "https://github.com/processone/eiconv", {tag, "0.9.0"}}}},
+-        {if_var_true, tools, {meck, "0.8.2", {git, "https://github.com/eproxus/meck", {tag, "0.8.2"}}}},
+-        {if_var_true, redis, {eredis, ".*", {git, "https://github.com/wooga/eredis", {tag, "v1.0.8"}}}}]}.
+-
+-{if_var_true, latest_deps,
+- {floating_deps, [p1_logger,
+-                  cache_tab,
+-                  p1_tls,
+-                  p1_stringprep,
+-                  p1_xml,
+-                  esip,
+-                  p1_stun,
+-                  p1_yaml,
+-                  p1_utils,
+-                  p1_mysql,
+-                  p1_pgsql,
+-                  p1_pam,
+-                  p1_zlib,
+-                  p1_iconv]}}.
+-
+ {erl_opts, [nowarn_deprecated_function,
+             {if_var_true, roster_gateway_workaround, {d, 'ROSTER_GATWAY_WORKAROUND'}},
+             {if_var_match, db_type, mssql, {d, 'mssql'}},
+@@ -92,15 +50,6 @@
+ 
+ {eunit_compile_opts, [{i, "tools"}]}.
+ 
+-{post_hook_configure, [{"p1_tls", []},
+-                       {"p1_stringprep", []},
+-                       {"p1_yaml", []},
+-                       {"esip", []},
+-                       {"p1_xml", [{if_var_true, full_xml, "--enable-full-xml"}]},
+-                       {if_var_true, pam, {"p1_pam", []}},
+-                       {if_var_true, zlib, {"p1_zlib", []}},
+-                       {if_var_true, iconv, {"p1_iconv", []}}]}.
+-
+ {port_env, [{"CFLAGS", "-g -O2 -Wall"}]}.
+ 
+ {port_specs, [{"priv/lib/jid.so", ["c_src/jid.c"]}]}.
+-- 
+2.5.0
+
package/ejabberd/0001-remove-deps.patch deleted +0 -22
deleted file mode 100644
index c5700dd..0000000
@@ -1,22 +0,0 @@
-Description: remove make targets for deps
- Without this patch, dependencies would be downloaded and compiled
- using rebar at build time.
-Author: Philipp Huebner <[email protected]>
-
-Index: ejabberd/rebar.config.script
-===================================================================
-diff --git a/rebar.config.script b/rebar.config.script
-index 633433c..646a15a 100644
---- a/rebar.config.script
-+++ b/rebar.config.script
-@@ -187,9 +187,7 @@ Config = [{erl_opts, Macros ++ HiPE ++ DebugInfo ++
-           {xref_checks, []},
- 	  {xref_queries,
- 	   [{"(XC - UC) || (XU - X - B - "
--	     ++ string:join(CfgXrefs, " - ") ++ ")", []}]},
--          {post_hooks, PostHooks ++ CfgPostHooks},
--          {deps, AllDeps}] ++ ElixirConfig,
-+	     ++ string:join(CfgXrefs, " - ") ++ ")", []}]}],
- %%io:format("ejabberd configuration:~n  ~p~n", [Config]),
- Config.
- 
package/ejabberd/0002-disable-rebar-deps.patch deleted +0 -76

76 lines not on this page · raw message

package/ejabberd/0002-remove-make-targets-for-deps.patch new file +74 -0

74 lines not on this page · raw message

package/ejabberd/0003-disable-test.patch deleted +0 -27
deleted file mode 100644
index 1b28957..0000000
@@ -1,27 +0,0 @@
-Description: remove testing with MySQL and PostgreSQL
- Without this patch a test would be initiated after building ejabberd that
- requires specially configured instances of MySQL and PostgreSQL to be up
- and running.
-Author: Philipp Huebner <[email protected]>
-
-Index: ejabberd/Makefile.in
-===================================================================
-diff --git a/Makefile.in b/Makefile.in
-index ffd1d30..835d611 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -306,14 +306,8 @@ dialyzer: erlang_plt deps_plt ejabberd_plt
- 	status=$$? ; if [ $$status -ne 2 ]; then exit $$status; else exit 0; fi
- 
- test:
--	@echo "************************** NOTICE ***************************************"
--	@cat test/README
--	@echo "*************************************************************************"
--	@cd priv && ln -sf ../sql
--	$(REBAR) skip_deps=true ct
- 
- quicktest:
--	$(REBAR) skip_deps=true ct suites=elixir
- 
- .PHONY: src edoc dialyzer Makefile TAGS clean clean-rel distclean rel \
- 	install uninstall uninstall-binary uninstall-all translations deps test spec \
package/ejabberd/0003-remove-checking-erlang-version.patch new file +30 -0
new file mode 100644
index 0000000..1690aae
@@ -0,0 +1,30 @@
+From fa3d9795f5a3cf29866dd09848d57b679bb7aea2 Mon Sep 17 00:00:00 2001
+From: Johan Oudinet <[email protected]>
+Date: Wed, 20 Jan 2016 08:11:32 -0500
+Subject: [PATCH 3/7] remove checking erlang version
+
+Without this patch, the configure will try to run erlang to simply check
+if the version is supported by ejabberd. Instead, we do this test
+statically.
+---
+ configure.ac | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 97e89a2..cd1ab08 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -39,10 +39,8 @@ AC_ARG_ENABLE(erlang-version-check,
+ 	[Check Erlang/OTP version @<:@default=yes@:>@])])
+ case "$enable_erlang_version_check" in
+ 	yes|'')
+-		ERLANG_VERSION_CHECK([$REQUIRE_ERLANG_MIN],[$REQUIRE_ERLANG_MAX])
+ 		;;
+ 	no)
+-		ERLANG_VERSION_CHECK([$REQUIRE_ERLANG_MIN],[$REQUIRE_ERLANG_MAX],[warn])
+ 		;;
+ esac
+ 
+-- 
+2.5.0
+
package/ejabberd/0004-correct-include.patch new file +56 -0

56 lines not on this page · raw message

package/ejabberd/0004-disable-version-check.patch deleted +0 -20
deleted file mode 100644
index f2f1e81..0000000
@@ -1,20 +0,0 @@
-Description: remove checking erlang version
- Without this patch, the configure will try to run erlang to simply check if
- the version is supported by ejabberd. Instead, we do this test statically.
-Author: Johan Oudinet <[email protected]>
-
-Index: ejabberd/configure.ac
-===================================================================
---- ejabberd.orig/configure.ac	2014-10-20 11:04:14.751256865 +0200
-+++ ejabberd/configure.ac	2014-10-20 11:03:47.983578623 +0200
-@@ -37,10 +37,8 @@ AC_ARG_ENABLE(erlang-version-check,
- 	[Check Erlang/OTP version @<:@default=yes@:>@])])
- case "$enable_erlang_version_check" in
- 	yes|'')
--		ERLANG_VERSION_CHECK([$REQUIRE_ERLANG_MIN],[$REQUIRE_ERLANG_MAX])
- 		;;
- 	no)
--		ERLANG_VERSION_CHECK([$REQUIRE_ERLANG_MIN],[$REQUIRE_ERLANG_MAX],[warn])
- 		;;
- esac
- 
package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch new file +27 -0
new file mode 100644
index 0000000..5b5d741
@@ -0,0 +1,27 @@
+From 7dbb86c84f7dd34c7fdb3c4f78c29381128793ea Mon Sep 17 00:00:00 2001
+From: Johan Oudinet <[email protected]>
+Date: Wed, 20 Jan 2016 08:16:26 -0500
+Subject: [PATCH 5/7] disable ERLANG_DEPRECATED_CHECK
+
+Without this patch, the configure will try to execute erlang to check
+if it uses deprecated types. Assume the answer is false.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index cd1ab08..a4f1533 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -235,7 +235,7 @@ if test "$ENABLEUSER" != ""; then
+   AC_SUBST([INSTALLUSER], [$ENABLEUSER])
+ fi
+ 
+-ERLANG_DEPRECATED_TYPES_CHECK
++AC_SUBST(erlang_deprecated_types, false)
+ 
+ if test "$sqlite" = "true"; then
+    AX_LIB_SQLITE3([3.6.19])
+-- 
+2.5.0
+
package/ejabberd/0005-fix-includes.patch deleted +0 -45

45 lines not on this page · raw message

package/ejabberd/0006-disable-erlang-deprecated-types-check.patch deleted +0 -20
deleted file mode 100644
index 1b70953..0000000
@@ -1,20 +0,0 @@
-Description: disable ERLANG_DEPRECATED_CHECK
- Without this patch, the configure will try to execute erlang to check
- if it uses deprecated types. Assume the answer is false.
-Author: Johan Oudinet <[email protected]>
-
-Index: ejabberd/configure.ac
-====================================================================
-diff --git a/configure.ac b/configure.ac
-index 6ae0a24..e5498df 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -252,7 +252,7 @@ if test "$ENABLEUSER" != ""; then
-   AC_SUBST([INSTALLUSER], [$ENABLEUSER])
- fi
- 
--ERLANG_DEPRECATED_TYPES_CHECK
-+AC_SUBST(erlang_deprecated_types, false)
- 
- if test "$sqlite" = "true"; then
-    AX_LIB_SQLITE3([3.6.19])
package/ejabberd/0006-fix-install-permissions.patch renamed from package/ejabberd/0007-fix-install-permissions.patch +21 -20

63 lines not on this page · raw message

package/ejabberd/0007-fix-ejabberdctl.patch renamed from package/ejabberd/0008-fix-ejabberdctl.patch +15 -6
similarity index 56%
rename from package/ejabberd/0008-fix-ejabberdctl.patch
rename to package/ejabberd/0007-fix-ejabberdctl.patch
index af0b6ee..bb99624 100644
@@ -1,12 +1,18 @@
-Description: fix ejabberdctl
- Change default values so ejabberdctl run commands as ejabberd user
- Also add a way for the user to change default values.
+From 8ed9f378d4a18114f2021969b4f440d34abacc0d Mon Sep 17 00:00:00 2001
+From: Johan Oudinet <[email protected]>
+Date: Wed, 20 Jan 2016 09:35:07 -0500
+Subject: [PATCH 7/7] fix ejabberdctl
+
+Change default values so ejabberdctl run commands as ejabberd user
+Also add a way for the user to change default values.
+
 Signed-off-by: Johan Oudinet <[email protected]>
+---
+ ejabberdctl.template | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
 
-Index: ejabberd/ejabberdctl.template
-===================================================================
 diff --git a/ejabberdctl.template b/ejabberdctl.template
-index c7d76ef..a7afce1 100755
+index f65c21f..ff9225f 100755
 --- a/ejabberdctl.template
 +++ b/ejabberdctl.template
 @@ -14,9 +14,12 @@ SCRIPT_DIR=`cd ${0%/*} && pwd`
@@ -23,3 +29,6 @@ index c7d76ef..a7afce1 100755
  # check the proper system user is used if defined
  if [ "$INSTALLUSER" != "" ] ; then
      EXEC_CMD="false"
+-- 
+2.5.0
+
package/ejabberd/Config.in +3 -2
index 7b4e99b..7add8c6 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_EJABBERD
 	bool "ejabberd"
 	depends on BR2_PACKAGE_ERLANG
+	depends on BR2_INSTALL_LIBSTDCPP # required for erlang-p1-stringprep
 	select BR2_PACKAGE_ERLANG_LAGER
 	select BR2_PACKAGE_ERLANG_P1_CACHE_TAB
 	select BR2_PACKAGE_ERLANG_P1_ICONV
@@ -18,5 +19,5 @@ config BR2_PACKAGE_EJABBERD
 
 	  http://www.ejabberd.im
 
-comment "ejabberd needs erlang"
-	depends on !BR2_PACKAGE_ERLANG
+comment "ejabberd needs erlang and a toolchain w/ C++"
+	depends on !BR2_PACKAGE_ERLANG || !BR2_INSTALL_LIBSTDCPP
package/ejabberd/ejabberd.hash +3 -3
index b027183..ea85d1c 100644
@@ -1,4 +1,4 @@
-# From https://www.process-one.net/downloads/ejabberd/15.11/ejabberd-15.11.tgz.md5
-md5 a6997b88d44c5a5acff45bb1d938d0f3 ejabberd-15.11.tgz
+# From https://www.process-one.net/downloads/ejabberd/15.11/ejabberd-16.01.tgz.md5
+md5 5e525c25c8f04287217b8a9522d7c942 ejabberd-16.01.tgz
 # Locally computed
-sha256 01044b5a25f9f8dda8c60726698bd27d650751b810e5bfa23f9bb49ba20e946a ejabberd-15.11.tgz
+sha256 e2cc479d5870539b2e6756690b227969c88a541d464d1fc6e1cbf7270ad7d681 ejabberd-16.01.tgz
package/ejabberd/ejabberd.mk +1 -1
index 841c911..a3aad35 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-EJABBERD_VERSION = 15.11
+EJABBERD_VERSION = 16.01
 EJABBERD_SOURCE = ejabberd-$(EJABBERD_VERSION).tgz
 EJABBERD_SITE = https://www.process-one.net/downloads/ejabberd/$(EJABBERD_VERSION)
 EJABBERD_LICENSE = GPLv2+ with OpenSSL exception
Signature · 1 line
2.5.0
#23 lore raw

PATCH 18/18 erlang: make libatomic_ops optional

In reply to Frank Hunleth

The Erlang developers prefer the use of Erlang's native atomics in Erlang 18. In the previous Erlang release, the native atomics implementation was not complete and so libatomic_ops was necessary. Now libatomic_ops is used as a fallback, but based on tests of every qemu_*_defconfig and several other configs it appears to not be necessary. In fact, it causes build failures on aarch64. Since it is conceivable that a platform exists that may still require libatomic_ops, this change makes the use of the library optional.

Fixes:
http://autobuild.buildroot.net/results/0cd/0cd22eb74fa29e5a85bf897762e16ab3daf33962/

---
 package/erlang/Config.in | 10 ++++++++--
 package/erlang/erlang.mk |  2 ++
 2 files changed, 10 insertions(+), 2 deletions(-)
package/erlang/Config.in +8 -2
index 0ec01bb..9bd64ac 100644
@@ -7,8 +7,7 @@ config BR2_PACKAGE_ERLANG
 	bool "erlang"
 	depends on BR2_USE_MMU # fork()
 	depends on !BR2_STATIC_LIBS
-	depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
-	select BR2_PACKAGE_LIBATOMIC_OPS
+	depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS # erlang native atomics and libatomic_ops
 	help
 	  Erlang is a programming language used to build massively scalable
 	  soft real-time systems with requirements on high availability.
@@ -20,6 +19,13 @@ config BR2_PACKAGE_ERLANG
 
 if BR2_PACKAGE_ERLANG
 
+config BR2_PACKAGE_ERLANG_USE_LIBATOMIC_OPS
+	bool "use libatomic_ops"
+	select BR2_PACKAGE_LIBATOMIC_OPS
+	help
+	  Erlang's native atomic ops implementation is preferred. If this is
+	  insufficient, enabling this option forces Erlang to use libatomic_ops.
+
 config BR2_PACKAGE_ERLANG_SMP
 	bool "enable SMP support"
 	help
package/erlang/erlang.mk +2 -0
index dfab30d..a2f75e7 100644
@@ -30,8 +30,10 @@ ERLANG_CONF_ENV += erl_xcomp_sysroot=$(STAGING_DIR)
 
 ERLANG_CONF_OPTS = --without-javac
 
+ifeq ($(BR2_PACKAGE_ERLANG_USE_LIBATOMIC_OPS),y)
 ERLANG_DEPENDENCIES += libatomic_ops
 ERLANG_CONF_OPTS += --with-libatomic_ops=$(STAGING_DIR)/usr LIBS=-latomic_ops
+endif
 
 # 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.
Signature · 1 line
2.5.0
#24 lore raw

PATCH 18/18 erlang: make libatomic_ops optional

Frank,

Quoted 6 lines · Frank Hunleth

The Erlang developers prefer the use of Erlang's native atomics in Erlang 18. In the previous Erlang release, the native atomics implementation was not complete and so libatomic_ops was necessary. Now libatomic_ops is used as a fallback, but based on tests of every qemu_*_defconfig and several other configs it appears to not be necessary. In fact, it causes build failures on aarch64. Since it is

If using libatomic_ops on aarch64 with erlang causes build failures, then your BR2_PACKAGE_ERLANG_USE_LIBATOMIC_OPS option should depend on !BR2_aarch64.

Quoted 17 lines

conceivable that a platform exists that may still require libatomic_ops, this change makes the use of the library optional.

Fixes:
http://autobuild.buildroot.net/results/0cd/0cd22eb74fa29e5a85bf897762e16ab3daf33962/

---
 package/erlang/Config.in | 10 ++++++++--
 package/erlang/erlang.mk |  2 ++
 2 files changed, 10 insertions(+), 2 deletions(-)
package/erlang/Config.in +0 -0
index 0ec01bb..9bd64ac 100644

package/erlang/Config.in config BR2_PACKAGE_ERLANG · line 10

Quoted 6 lines
package/erlang/Config.in +1 -2
@@ -7,8 +7,7 @@ config BR2_PACKAGE_ERLANG
 	bool "erlang"
 	depends on BR2_USE_MMU # fork()
 	depends on !BR2_STATIC_LIBS
-	depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
-	select BR2_PACKAGE_LIBATOMIC_OPS
+	depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS # erlang native atomics and libatomic_ops

This shouldn't be here, since you no longer select libatomic_ops.

package/erlang/Config.in config BR2_PACKAGE_ERLANG · line 22

Quoted 8 lines
package/erlang/Config.in +1 -0
 	help
 	  Erlang is a programming language used to build massively scalable
 	  soft real-time systems with requirements on high availability.
@@ -20,6 +19,13 @@ config BR2_PACKAGE_ERLANG
 
 if BR2_PACKAGE_ERLANG
 
+config BR2_PACKAGE_ERLANG_USE_LIBATOMIC_OPS

We rarely use _USE_ in Config.in options for such cases. Just BR2_PACKAGE_ERLANG_LIBATOMIC_OPS is enough.

package/erlang/Config.in config BR2_PACKAGE_ERLANG · line 24

Quoted 2 lines
package/erlang/Config.in +2 -0
+	bool "use libatomic_ops"
+	select BR2_PACKAGE_LIBATOMIC_OPS

This is where you should have the
"depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS".

package/erlang/Config.in config BR2_PACKAGE_ERLANG · line 27

Quoted 3 lines
package/erlang/Config.in +3 -0
+	help
+	  Erlang's native atomic ops implementation is preferred. If this is
+	  insufficient, enabling this option forces Erlang to use libatomic_ops.

Lines too long I believe.

Quoted 9 lines
package/erlang/Config.in +1 -0
+
 config BR2_PACKAGE_ERLANG_SMP
 	bool "enable SMP support"
 	help
package/erlang/erlang.mk +0 -0
index dfab30d..a2f75e7 100644

package/erlang/erlang.mk ERLANG_CONF_ENV += erl_xcomp_sysroot=$(STAGING_DIR) · line 36

Quoted 7 lines
package/erlang/erlang.mk +2 -0
@@ -30,8 +30,10 @@ ERLANG_CONF_ENV += erl_xcomp_sysroot=$(STAGING_DIR)
 
 ERLANG_CONF_OPTS = --without-javac
 
+ifeq ($(BR2_PACKAGE_ERLANG_USE_LIBATOMIC_OPS),y)
 ERLANG_DEPENDENCIES += libatomic_ops
 ERLANG_CONF_OPTS += --with-libatomic_ops=$(STAGING_DIR)/usr LIBS=-latomic_ops
+endif

Can you add a "else" clause to explicitly disable libatomic_ops support? Otherwise, libatomic_ops may be enabled in the Buildroot configuration, built before erlang, and detected automatically by erlang configure script.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#25 lore raw

PATCH 18/18 erlang: make libatomic_ops optional

Thomas,

Quoted 26 lines · Thomas Petazzoni

Frank,

Quoted 6 lines · Frank Hunleth

The Erlang developers prefer the use of Erlang's native atomics in Erlang 18. In the previous Erlang release, the native atomics implementation was not complete and so libatomic_ops was necessary. Now libatomic_ops is used as a fallback, but based on tests of every qemu_*_defconfig and several other configs it appears to not be necessary. In fact, it causes build failures on aarch64. Since it is

If using libatomic_ops on aarch64 with erlang causes build failures, then your BR2_PACKAGE_ERLANG_USE_LIBATOMIC_OPS option should depend on !BR2_aarch64.

Quoted 12 lines

conceivable that a platform exists that may still require libatomic_ops, this change makes the use of the library optional.

Fixes:
http://autobuild.buildroot.net/results/0cd/0cd22eb74fa29e5a85bf897762e16ab3daf33962/

---
 package/erlang/Config.in | 10 ++++++++--
 package/erlang/erlang.mk |  2 ++
 2 files changed, 10 insertions(+), 2 deletions(-)
Quoted 13 lines

package/erlang/Config.in config BR2_PACKAGE_ERLANG · line 10

Quoted 11 lines
package/erlang/Config.in +1 -2
index 0ec01bb..9bd64ac 100644
@@ -7,8 +7,7 @@ config BR2_PACKAGE_ERLANG
      bool "erlang"
      depends on BR2_USE_MMU # fork()
      depends on !BR2_STATIC_LIBS
-     depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
-     select BR2_PACKAGE_LIBATOMIC_OPS
+     depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS # erlang native atomics and libatomic_ops

This shouldn't be here, since you no longer select libatomic_ops.

I'm having trouble addressing this one. It seems like some "depends on" clause should be here. The Erlang docs are vague on what all they support natively, so I was originally thinking that BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS has a good list. Here's the text from the Erlang docs in case it gives you a good idea on what to do:

"Erlang/OTP itself provides implementations of native atomic memory operations that can be used when compiling with a gcc compatible compiler for 32/64-bit x86, 32/64-bit SPARC V9, 32-bit PowerPC, or 32-bit Tile. When compiling with a gcc compatible compiler for other architectures, the VM may be able to make use of native atomic operations using the __atomic_* builtins (may be available when using a gcc of at least version 4.7) and/or using the __sync_* builtins (may be available when using a gcc of at least version 4.1). If only the gcc's __sync_* builtins are available, the performance will suffer. Such a configuration should only be used as a last resort. When compiling on Windows using a MicroSoft Visual C++ compiler native atomic memory operations are provided by Windows APIs.

Native atomic implementation in the order preferred:

1.  The implementation provided by Erlang/OTP.
2.  The API provided by Windows.
3.  The implementation based on the `gcc` `__atomic_*` builtins.
4.  If none of the above are available for your architecture/compiler, you

are recommended to build and install [libatomic_ops][] before building Erlang/OTP. The libatomic_ops library provides native atomic memory operations for a variety of architectures and compilers. When building Erlang/OTP you need to inform the build system of where the libatomic_ops library is installed using the --with-libatomic_ops=PATH configure switch.
5. As a last resort, the implementation solely based on the gcc __sync_* builtins. This will however cause lots of expensive and unnecessary memory barrier instructions to be issued. That is, performance will suffer. The configure script will warn at the end of its execution if it cannot find any other alternative than this.
"

Or maybe the answer is to delete it and add a !BR2_xyz_platform whenever the autobuilders catch something. The only platform I know of that isn't supported is BR2_sparc_v8.

Quoted 37 lines

package/erlang/Config.in config BR2_PACKAGE_ERLANG · line 22

Quoted 9 lines
package/erlang/Config.in +1 -0
      help
        Erlang is a programming language used to build massively scalable
        soft real-time systems with requirements on high availability.
@@ -20,6 +19,13 @@ config BR2_PACKAGE_ERLANG
 
 if BR2_PACKAGE_ERLANG
 
+config BR2_PACKAGE_ERLANG_USE_LIBATOMIC_OPS

We rarely use _USE_ in Config.in options for such cases. Just BR2_PACKAGE_ERLANG_LIBATOMIC_OPS is enough.

package/erlang/Config.in config BR2_PACKAGE_ERLANG · line 24

Quoted 2 lines
package/erlang/Config.in +2 -0
+     bool "use libatomic_ops"
+     select BR2_PACKAGE_LIBATOMIC_OPS

This is where you should have the
"depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS".

package/erlang/Config.in config BR2_PACKAGE_ERLANG · line 27

Quoted 3 lines
package/erlang/Config.in +3 -0
+     help
+       Erlang's native atomic ops implementation is preferred. If this is
+       insufficient, enabling this option forces Erlang to use libatomic_ops.

Lines too long I believe.

Quoted 12 lines
package/erlang/Config.in +1 -0
+
 config BR2_PACKAGE_ERLANG_SMP
      bool "enable SMP support"
      help
package/erlang/erlang.mk +0 -0
index dfab30d..a2f75e7 100644
@@ -30,8 +30,10 @@ ERLANG_CONF_ENV += erl_xcomp_sysroot=$(STAGING_DIR)
 
 ERLANG_CONF_OPTS = --without-javac
 
Quoted 9 lines

package/erlang/erlang.mk ERLANG_CONF_ENV += erl_xcomp_sysroot=$(STAGING_DIR) · line 36

Quoted 4 lines
package/erlang/erlang.mk +2 -0
+ifeq ($(BR2_PACKAGE_ERLANG_USE_LIBATOMIC_OPS),y)
 ERLANG_DEPENDENCIES += libatomic_ops
 ERLANG_CONF_OPTS += --with-libatomic_ops=$(STAGING_DIR)/usr LIBS=-latomic_ops
+endif

Can you add a "else" clause to explicitly disable libatomic_ops support? Otherwise, libatomic_ops may be enabled in the Buildroot configuration, built before erlang, and detected automatically by erlang configure script.

The configure script doesn't provide a --without-libatomic_ops or a --only-use-native-atomic-ops or anything that I can tell can be used to disable use of libatomic_ops. Based on my tests, the configure script does not use libatomic_ops even if present. It's also low down on their priority list for the atomics implementation to use, so I think this was intentional.

Also, thanks for the comments on the other patches. I've addressed those and will submit back after I understand what to do on this one.

Regards,
Frank

#26 lore raw

PATCH 18/18 erlang: make libatomic_ops optional

Frank,

Quoted 14 lines · Frank Hunleth
Quoted 5 lines
Quoted 5 lines
package/erlang/Config.in +0 -0
index 0ec01bb..9bd64ac 100644
@@ -7,8 +7,7 @@ config BR2_PACKAGE_ERLANG
Quoted 8 lines

package/erlang/Config.in config BR2_PACKAGE_ERLANG · line 10

Quoted 6 lines
package/erlang/Config.in +1 -2
      bool "erlang"
      depends on BR2_USE_MMU # fork()
      depends on !BR2_STATIC_LIBS
-     depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
-     select BR2_PACKAGE_LIBATOMIC_OPS
+     depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS # erlang native atomics and libatomic_ops

This shouldn't be here, since you no longer select libatomic_ops.

Quoted 4 lines

I'm having trouble addressing this one. It seems like some "depends on" clause should be here. The Erlang docs are vague on what all they support natively, so I was originally thinking that BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS has a good list.

This one is easy: BR2_PACKAGE_xxx_ARCH_SUPPORTS options are meant to more easily propagate the architecture dependencies of one package when you select that package.

Remember that in Buildroot, when a package does:

select BR2_PACKAGE_<foo>

It *must* replicate the "depends on" that exist in the defintion of BR2_PACKAGE_<foo>.

For some packages, such dependencies are architecture dependencies, like:

config BR2_PACKAGE_<foo>

	bool "foo"
	depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || ...

Then in all packages selecting BR2_PACKAGE_<foo>, we would have to replicate this long "depends on" line. And when this "depends on" changes, propagate to all reverse dependencies. Not nice.

Hence we rather do:

config BR2_PACKAGE_<foo>_ARCH_SUPPORTS

	bool
	default y if BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || ...

config BR2_PACKAGE_<foo>
bool "foo"
depends on BR2_PACKAGE_<foo>_ARCH_SUPPORTS

This way, not only BR2_PACKAGE_<foo> uses BR2_PACKAGE_<foo>_ARCH_SUPPORTS, but also all reverse dependencies of the "foo" package.

So, if you are not selecting BR2_PACKAGE_<foo>, there is no reason to use BR2_PACKAGE_<foo>_ARCH_SUPPORTS. Does that make sense ?

Quoted 18 lines

"Erlang/OTP itself provides implementations of native atomic memory operations that can be used when compiling with a gcc compatible compiler for 32/64-bit x86, 32/64-bit SPARC V9, 32-bit PowerPC, or 32-bit Tile. When compiling with a gcc compatible compiler for other architectures, the VM may be able to make use of native atomic operations using the __atomic_* builtins (may be available when using a gcc of at least version 4.7) and/or using the __sync_* builtins (may be available when using a gcc of at least version 4.1). If only the gcc's __sync_* builtins are available, the performance will suffer. Such a configuration should only be used as a last resort. When compiling on Windows using a MicroSoft Visual C++ compiler native atomic memory operations are provided by Windows APIs.

Native atomic implementation in the order preferred:

1.  The implementation provided by Erlang/OTP.
2.  The API provided by Windows.
3.  The implementation based on the `gcc` `__atomic_*` builtins.
4.  If none of the above are available for your architecture/compiler, you
Quoted 12 lines

are recommended to build and install [libatomic_ops][] before building Erlang/OTP. The libatomic_ops library provides native atomic memory operations for a variety of architectures and compilers. When building Erlang/OTP you need to inform the build system of where the libatomic_ops library is installed using the --with-libatomic_ops=PATH configure switch.
5. As a last resort, the implementation solely based on the gcc __sync_* builtins. This will however cause lots of expensive and unnecessary memory barrier instructions to be issued. That is, performance will suffer. The configure script will warn at the end of its execution if it cannot find any other alternative than this.
"

Ah, at least the Erlang documentation is quite verbose and actually useful. So, let's take this point by point:

(1) According to their documentation, this is only available on x86 (not sure 32 bits or 64 bits, let's assume both), SPARC v9, PowerPC and Tile (we don't care about Tile).

(2) We don't care.

(3) __atomic_*() built-ins are available on *all* architectures, provided you link with -latomic.

(4) libatomic_ops is available on architectures listed in BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS

(5) The availability of __sync_*() operations depend on the architectures. See
http://lists.busybox.net/pipermail/buildroot/2016-January/150744.html
for the lengthy details. We would actually need to know which __sync_*() built-ins Erlang is using. According to
http://autobuild.buildroot.org/results/209/2090874eee165af3349cf2d597657fc1b4ca1012/build-end.log,
it needs the 4-byte and 8-byte version.

So, with this in hand, here is how we could encode the architecture dependency of Erlang:

config BR2_PACKAGE_ERLANG_ARCH_SUPPORTS

	bool
	default y if BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sparc_v9 # case (1)
	default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # case (3)
	default y if BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # case (4)
	default y if BR2_TOOLCHAIN_HAS_SYNC_4 && BR2_TOOLCHAIN_HAS_SYNC_8 # case (5)

Of course, this should come with a pretty fat comment on top of it that replicates the good explanation of the Erlang documentation. *And* in order for case (3) to work, you must make sure that Erlang links with -latomic.

Quoted 10 lines
Quoted 9 lines

package/erlang/Config.in config BR2_PACKAGE_ERLANG

Quoted 4 lines
package/erlang/Config.in +2 -0
+ifeq ($(BR2_PACKAGE_ERLANG_USE_LIBATOMIC_OPS),y)
 ERLANG_DEPENDENCIES += libatomic_ops
 ERLANG_CONF_OPTS += --with-libatomic_ops=$(STAGING_DIR)/usr LIBS=-latomic_ops
+endif

Can you add a "else" clause to explicitly disable libatomic_ops support? Otherwise, libatomic_ops may be enabled in the Buildroot configuration, built before erlang, and detected automatically by erlang configure script.

Quoted 6 lines

The configure script doesn't provide a --without-libatomic_ops or a --only-use-native-atomic-ops or anything that I can tell can be used to disable use of libatomic_ops. Based on my tests, the configure script does not use libatomic_ops even if present. It's also low down on their priority list for the atomics implementation to use, so I think this was intentional.

OK, so what you did is good. Maybe just add a comment on top of it.

Also, are you sure LIBS=-latomic_ops is needed ? This seems weird, I believe Erlang should automatically link against libatomic_ops.

One last thing: do not confuse libatomic and libatomic_ops. They are completely different things!

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#27 lore raw

v2 cover Erlang 18 and native atomic ops

In reply to Frank Hunleth

This patch set pulls in a major update to Erlang. A couple build errors were introduced by the upgrade which necessitated upgrading several Erlang packages. It turns out that Erlang's native atomic ops code has been improved since the last version so that it is now preferred over using libatomic ops. The final commit that makes the switch away from libatomic_ops fixes builds on aarch64 without affecting other builds (at least the qemu_*_defconfigs w/ Erlang and a few other configs.) Erlang autobuilder errors due to musl are not addressed by this patch set.

Changes v1->v2:
- Several formatting/SoB fixes
- Fixed legal-info errors (Thanks Romain)
- Fixed a missing dependency with erlang-fast_tls (Thanks Romain)
- Reworked final patch for choosing atomic ops implementation based on many helpful comments from Thomas.

Frank Hunleth (18):
erlang: bump to version 18.2.1 pkg-rebar.mk: pass C++ compiler path and options
erlang-goldrush: bump to version 0.1.8
erlang-lager: bump to version 2.2.0
erlang-rebar: bump to version 2.6.1
erlang-fast_tls: new package
erlang-p1-cache-tab: bump to version 1.0.1
erlang-p1-iconv: bump to version 0.9.0
erlang-p1-stringprep: bump to version 1.0.0
erlang-p1_stun: bump to version 0.9.0
erlang-p1-sip: bump to version 1.0.0
erlang-p1-tls: bump to version 1.0.0
erlang-p1-utils: bump to version 1.0.3
erlang-p1-xml: bump to version 1.1.1
erlang-p1-yaml: bump to version 1.0.0
erlang-p1-zlib: bump to version 1.0.0
ejabberd: bump to version 16.01
erlang: support choosing atomic ops

 package/Config.in                                  |  3 +-
 ...001-remove-dependencies-from-rebar-config.patch | 83 ++++++++++++++++++++++
 package/ejabberd/0001-remove-deps.patch            | 22 ------
 package/ejabberd/0002-disable-rebar-deps.patch     | 76 --------------------
 .../0002-remove-make-targets-for-deps.patch        | 74 +++++++++++++++++++
 package/ejabberd/0003-disable-test.patch           | 27 -------
 .../0003-remove-checking-erlang-version.patch      | 30 ++++++++
 package/ejabberd/0004-correct-include.patch        | 56 +++++++++++++++
 package/ejabberd/0004-disable-version-check.patch  | 20 ------
 .../0005-disable-ERLANG_DEPRECATED_CHECK.patch     | 27 +++++++
 package/ejabberd/0005-fix-includes.patch           | 45 ------------
 ...006-disable-erlang-deprecated-types-check.patch | 20 ------
 ...ns.patch => 0006-fix-install-permissions.patch} | 41 +++++------
 ...jabberdctl.patch => 0007-fix-ejabberdctl.patch} | 21 ++++--
 package/ejabberd/Config.in                         |  5 +-
 package/ejabberd/ejabberd.hash                     |  6 +-
 package/ejabberd/ejabberd.mk                       |  2 +-
 package/erlang-fast_tls/Config.in                  |  8 +++
 package/erlang-fast_tls/erlang-fast_tls.mk         | 14 ++++
 package/erlang-goldrush/erlang-goldrush.mk         |  2 +-
 package/erlang-lager/erlang-lager.mk               |  2 +-
 package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk |  4 +-
 package/erlang-p1-iconv/erlang-p1-iconv.mk         |  2 +-
 package/erlang-p1-sip/erlang-p1-sip.mk             |  4 +-
 package/erlang-p1-stringprep/Config.in             |  4 ++
 .../erlang-p1-stringprep/erlang-p1-stringprep.mk   |  2 +-
 package/erlang-p1-tls/erlang-p1-tls.mk             |  2 +-
 package/erlang-p1-utils/erlang-p1-utils.mk         |  4 +-
 package/erlang-p1-xml/erlang-p1-xml.mk             |  4 +-
 package/erlang-p1-yaml/erlang-p1-yaml.mk           |  2 +-
 package/erlang-p1-zlib/erlang-p1-zlib.mk           |  2 +-
 .../{erlang-p1-stun => erlang-p1_stun}/Config.in   |  4 +-
 .../erlang-p1_stun.mk}                             |  6 +-
 package/erlang-rebar/erlang-rebar.mk               |  2 +-
 ...04-erts-fix-incorrect-use-of-ac-egrep-cpp.patch | 79 --------------------
 package/erlang/Config.in                           | 55 ++++++++++++--
 package/erlang/erlang.hash                         |  5 +-
 package/erlang/erlang.mk                           | 16 +++--
 package/pkg-rebar.mk                               |  2 +
 39 files changed, 426 insertions(+), 357 deletions(-)
 create mode 100644 package/ejabberd/0001-remove-dependencies-from-rebar-config.patch
 delete mode 100644 package/ejabberd/0001-remove-deps.patch
 delete mode 100644 package/ejabberd/0002-disable-rebar-deps.patch
 create mode 100644 package/ejabberd/0002-remove-make-targets-for-deps.patch
 delete mode 100644 package/ejabberd/0003-disable-test.patch
 create mode 100644 package/ejabberd/0003-remove-checking-erlang-version.patch
 create mode 100644 package/ejabberd/0004-correct-include.patch
 delete mode 100644 package/ejabberd/0004-disable-version-check.patch
 create mode 100644 package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch
 delete mode 100644 package/ejabberd/0005-fix-includes.patch
 delete mode 100644 package/ejabberd/0006-disable-erlang-deprecated-types-check.patch
 rename package/ejabberd/{0007-fix-install-permissions.patch => 0006-fix-install-permissions.patch} (73%)
 rename package/ejabberd/{0008-fix-ejabberdctl.patch => 0007-fix-ejabberdctl.patch} (56%)
 create mode 100644 package/erlang-fast_tls/Config.in
 create mode 100644 package/erlang-fast_tls/erlang-fast_tls.mk
 rename package/{erlang-p1-stun => erlang-p1_stun}/Config.in (70%)
 rename package/{erlang-p1-stun/erlang-p1-stun.mk => erlang-p1_stun/erlang-p1_stun.mk} (77%)
 delete mode 100644 package/erlang/0004-erts-fix-incorrect-use-of-ac-egrep-cpp.patch
Signature · 1 line
2.5.0
#28 lore raw

PATCH v2 1/18 erlang: bump to version 18.2.1

This is a major release of Erlang that includes a licensing change from the EPL to the Apache License, significant changes to the timer APIs, better support for large maps, and security improvements.

---
Changes v1 -> v2:
- Add sha256 as suggested by Romain
- Update autoreconf comment now that reason changed

 ...04-erts-fix-incorrect-use-of-ac-egrep-cpp.patch | 79 ----------------------
 package/erlang/erlang.hash                         |  5 +-
 package/erlang/erlang.mk                           | 10 +--
 3 files changed, 8 insertions(+), 86 deletions(-)
 delete mode 100644 package/erlang/0004-erts-fix-incorrect-use-of-ac-egrep-cpp.patch
package/erlang/0004-erts-fix-incorrect-use-of-ac-egrep-cpp.patch deleted +0 -79
deleted file mode 100644
index bc08697..0000000
@@ -1,79 +0,0 @@
-Status: upstream
-https://github.com/erlang/otp/pull/658
-
-Signed-off-by: Johan Oudinet <[email protected]>
-
-From 73392fcb6f8fddba57de6fb7ae6eeafa0e444686 Mon Sep 17 00:00:00 2001
-From: Johan Oudinet <[email protected]>
-Date: Tue, 24 Mar 2015 15:54:31 +0100
-Subject: [PATCH] erts: Fix incorrect use of AC_EGREP_CPP
-
-Using 'AC_EGREP_CPP(yes' without restraining the pattern always return
-true if it runs from a path containing the string 'yes'.
----
- erts/aclocal.m4   |  2 +-
- erts/configure.in | 17 +++++++++--------
- 2 files changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/erts/aclocal.m4 b/erts/aclocal.m4
-index 5735cde..70a5b40 100644
---- a/erts/aclocal.m4
-+++ b/erts/aclocal.m4
-@@ -559,7 +559,7 @@ dnl
- 
- AC_DEFUN(LM_SYS_MULTICAST,
- [AC_CACHE_CHECK([for multicast support], ac_cv_sys_multicast_support,
--[AC_EGREP_CPP(yes,
-+[AC_EGREP_CPP(^yes$,
- [#include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
-diff --git a/erts/configure.in b/erts/configure.in
-index b3fe48d..9e19e33 100644
---- a/erts/configure.in
-+++ b/erts/configure.in
-@@ -1555,10 +1555,11 @@ if test "$have_gethostbyname_r" = yes; then
- 				    [Define to flavour of gethostbyname_r]))
- 		;;
- 		*)
--			AC_EGREP_CPP(yes,[#include <stdio.h>
--			  #ifdef __GLIBC__
--			  yes
--			  #endif
-+			AC_EGREP_CPP(^yes$,[
-+#include <stdio.h>
-+#ifdef __GLIBC__
-+yes
-+#endif
- 			  ], AC_DEFINE(HAVE_GETHOSTBYNAME_R, GHBN_R_GLIBC,
- 				[Define to flavour of gethostbyname_r]))
- 		;;
-@@ -4303,10 +4304,10 @@ case "$erl_xcomp_without_sysroot-$with_ssl" in
- 			SSL_INCLUDE="-I$dir/include"
- 			old_CPPFLAGS=$CPPFLAGS
- 			CPPFLAGS=$SSL_INCLUDE
--			AC_EGREP_CPP(yes,[
-+			AC_EGREP_CPP(^yes$,[
- #include <openssl/opensslv.h>
- #if OPENSSL_VERSION_NUMBER >= 0x0090700fL
--  yes
-+yes
- #endif
- 			],[
- 			ssl_found=yes
-@@ -4501,10 +4502,10 @@ if test "x$SSL_APP" != "x" ; then
-     AC_MSG_CHECKING(for OpenSSL kerberos 5 support)
-     old_CPPFLAGS=$CPPFLAGS
-     CPPFLAGS=$SSL_INCLUDE
--    AC_EGREP_CPP(yes,[
-+    AC_EGREP_CPP(^yes$,[
- #include <openssl/opensslconf.h>
- #ifndef OPENSSL_NO_KRB5
--  yes
-+yes
- #endif
-       ],[
-       AC_MSG_RESULT([yes])
--- 
-2.1.0
-
package/erlang/erlang.hash +3 -2
index 2d6a39a..f6519af 100644
@@ -1,2 +1,3 @@
-# From http://www.erlang.org/download/MD5
-md5	346dd0136bf1cc28cebc140e505206bb	otp_src_17.5.tar.gz
+# md5 from http://www.erlang.org/download/MD5, sha256 locally computed
+md5	ebb226d51f89ec54cc83ce5d417ce55e	otp_src_18.2.1.tar.gz
+sha256	82d76ebfeeda5db64ea5b0f1a04aa0e9ac63380b278722e0e6052249bd3fe39a  otp_src_18.2.1.tar.gz
package/erlang/erlang.mk +5 -5
index 848d1dd..638d2c2 100644
@@ -5,21 +5,21 @@
 ################################################################################
 
 # See note below when updating Erlang
-ERLANG_VERSION = 17.5
+ERLANG_VERSION = 18.2.1
 ERLANG_SITE = http://www.erlang.org/download
 ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz
 ERLANG_DEPENDENCIES = host-erlang
 
-ERLANG_LICENSE = EPL
-ERLANG_LICENSE_FILES = EPLICENCE
+ERLANG_LICENSE = Apache-2.0
+ERLANG_LICENSE_FILES = LICENSE.txt
 ERLANG_INSTALL_STAGING = YES
 
-# Touching erts/configure.in
+# Patched erts/aclocal.m4
 ERLANG_AUTORECONF = YES
 
 # Whenever updating Erlang, this value should be updated as well, to the
 # value of EI_VSN in the file lib/erl_interface/vsn.mk
-ERLANG_EI_VSN = 3.7.20
+ERLANG_EI_VSN = 3.8.1
 
 # The configure checks for these functions fail incorrectly
 ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes
Signature · 1 line
2.5.0
#29 lore raw

PATCH v2 1/18 erlang: bump to version 18.2.1

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 5 lines

This is a major release of Erlang that includes a licensing change from the EPL to the Apache License, significant changes to the timer APIs, better support for large maps, and security improvements.

The complete series has been tested with legal-info to check if the new license is correct.

Best regards,
Romain

Quoted 138 lines

---
Changes v1 -> v2:
- Add sha256 as suggested by Romain
- Update autoreconf comment now that reason changed

 ...04-erts-fix-incorrect-use-of-ac-egrep-cpp.patch | 79 ----------------------
 package/erlang/erlang.hash                         |  5 +-
 package/erlang/erlang.mk                           | 10 +--
 3 files changed, 8 insertions(+), 86 deletions(-)
 delete mode 100644 package/erlang/0004-erts-fix-incorrect-use-of-ac-egrep-cpp.patch
package/erlang/0004-erts-fix-incorrect-use-of-ac-egrep-cpp.patch deleted +0 -79
deleted file mode 100644
index bc08697..0000000
@@ -1,79 +0,0 @@
-Status: upstream
-https://github.com/erlang/otp/pull/658
-
-Signed-off-by: Johan Oudinet <[email protected]>
-
-From 73392fcb6f8fddba57de6fb7ae6eeafa0e444686 Mon Sep 17 00:00:00 2001
-From: Johan Oudinet <[email protected]>
-Date: Tue, 24 Mar 2015 15:54:31 +0100
-Subject: [PATCH] erts: Fix incorrect use of AC_EGREP_CPP
-
-Using 'AC_EGREP_CPP(yes' without restraining the pattern always return
-true if it runs from a path containing the string 'yes'.
----
- erts/aclocal.m4   |  2 +-
- erts/configure.in | 17 +++++++++--------
- 2 files changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/erts/aclocal.m4 b/erts/aclocal.m4
-index 5735cde..70a5b40 100644
---- a/erts/aclocal.m4
-+++ b/erts/aclocal.m4
-@@ -559,7 +559,7 @@ dnl
- 
- AC_DEFUN(LM_SYS_MULTICAST,
- [AC_CACHE_CHECK([for multicast support], ac_cv_sys_multicast_support,
--[AC_EGREP_CPP(yes,
-+[AC_EGREP_CPP(^yes$,
- [#include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
-diff --git a/erts/configure.in b/erts/configure.in
-index b3fe48d..9e19e33 100644
---- a/erts/configure.in
-+++ b/erts/configure.in
-@@ -1555,10 +1555,11 @@ if test "$have_gethostbyname_r" = yes; then
- 				    [Define to flavour of gethostbyname_r]))
- 		;;
- 		*)
--			AC_EGREP_CPP(yes,[#include <stdio.h>
--			  #ifdef __GLIBC__
--			  yes
--			  #endif
-+			AC_EGREP_CPP(^yes$,[
-+#include <stdio.h>
-+#ifdef __GLIBC__
-+yes
-+#endif
- 			  ], AC_DEFINE(HAVE_GETHOSTBYNAME_R, GHBN_R_GLIBC,
- 				[Define to flavour of gethostbyname_r]))
- 		;;
-@@ -4303,10 +4304,10 @@ case "$erl_xcomp_without_sysroot-$with_ssl" in
- 			SSL_INCLUDE="-I$dir/include"
- 			old_CPPFLAGS=$CPPFLAGS
- 			CPPFLAGS=$SSL_INCLUDE
--			AC_EGREP_CPP(yes,[
-+			AC_EGREP_CPP(^yes$,[
- #include <openssl/opensslv.h>
- #if OPENSSL_VERSION_NUMBER >= 0x0090700fL
--  yes
-+yes
- #endif
- 			],[
- 			ssl_found=yes
-@@ -4501,10 +4502,10 @@ if test "x$SSL_APP" != "x" ; then
-     AC_MSG_CHECKING(for OpenSSL kerberos 5 support)
-     old_CPPFLAGS=$CPPFLAGS
-     CPPFLAGS=$SSL_INCLUDE
--    AC_EGREP_CPP(yes,[
-+    AC_EGREP_CPP(^yes$,[
- #include <openssl/opensslconf.h>
- #ifndef OPENSSL_NO_KRB5
--  yes
-+yes
- #endif
-       ],[
-       AC_MSG_RESULT([yes])
--- 
-2.1.0
-
package/erlang/erlang.hash +3 -2
index 2d6a39a..f6519af 100644
@@ -1,2 +1,3 @@
-# From http://www.erlang.org/download/MD5
-md5	346dd0136bf1cc28cebc140e505206bb	otp_src_17.5.tar.gz
+# md5 from http://www.erlang.org/download/MD5, sha256 locally computed
+md5	ebb226d51f89ec54cc83ce5d417ce55e	otp_src_18.2.1.tar.gz
+sha256	82d76ebfeeda5db64ea5b0f1a04aa0e9ac63380b278722e0e6052249bd3fe39a  otp_src_18.2.1.tar.gz
package/erlang/erlang.mk +5 -5
index 848d1dd..638d2c2 100644
@@ -5,21 +5,21 @@
 ################################################################################
 
 # See note below when updating Erlang
-ERLANG_VERSION = 17.5
+ERLANG_VERSION = 18.2.1
 ERLANG_SITE = http://www.erlang.org/download
 ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz
 ERLANG_DEPENDENCIES = host-erlang
 
-ERLANG_LICENSE = EPL
-ERLANG_LICENSE_FILES = EPLICENCE
+ERLANG_LICENSE = Apache-2.0
+ERLANG_LICENSE_FILES = LICENSE.txt
 ERLANG_INSTALL_STAGING = YES
 
-# Touching erts/configure.in
+# Patched erts/aclocal.m4
 ERLANG_AUTORECONF = YES
 
 # Whenever updating Erlang, this value should be updated as well, to the
 # value of EI_VSN in the file lib/erl_interface/vsn.mk
-ERLANG_EI_VSN = 3.7.20
+ERLANG_EI_VSN = 3.8.1
 
 # The configure checks for these functions fail incorrectly
 ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes
#30 lore raw

PATCH v2 1/18 erlang: bump to version 18.2.1

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 9 lines · Frank Hunleth

This is a major release of Erlang that includes a licensing change from the EPL to the Apache License, significant changes to the timer APIs, better support for large maps, and security improvements.

---
Changes v1 -> v2:
- Add sha256 as suggested by Romain
- Update autoreconf comment now that reason changed

Applied to next, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#31 lore raw

PATCH v2 2/18 pkg-rebar.mk: pass C++ compiler path and options

In reply to Frank Hunleth

Previously only the C compiler path and options were passed to rebar. Erlang projects that used the C++ compiler would fail to build. This fixes those errors.

---
 package/pkg-rebar.mk | 2 ++
 1 file changed, 2 insertions(+)
package/pkg-rebar.mk +2 -0
index c727489..44c6d6c 100644
@@ -158,7 +158,9 @@ ifndef $(2)_BUILD_CMDS
 define $(2)_BUILD_CMDS
 	(cd $$(@D); \
 		CC="$$(TARGET_CC)" \
+		CXX="$$(TARGET_CXX)" \
 		CFLAGS="$$(TARGET_CFLAGS)" \
+		CXXFLAGS="$$(TARGET_CXXFLAGS)" \
 		LDFLAGS="$$(TARGET_LDFLAGS)" \
 		$$(REBAR_TARGET_DEPS_ENV) \
 		$$(TARGET_MAKE_ENV) \
Signature · 1 line
2.5.0
#32 lore raw

PATCH v2 2/18 pkg-rebar.mk: pass C++ compiler path and options

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 5 lines

Previously only the C compiler path and options were passed to rebar. Erlang projects that used the C++ compiler would fail to build. This fixes those errors.

C++ support is currently only required for erlang-p1-stringprep, right ?

Best regards,
Romain

Quoted 19 lines
---
 package/pkg-rebar.mk | 2 ++
 1 file changed, 2 insertions(+)
package/pkg-rebar.mk +2 -0
index c727489..44c6d6c 100644
@@ -158,7 +158,9 @@ ifndef $(2)_BUILD_CMDS
 define $(2)_BUILD_CMDS
 	(cd $$(@D); \
 		CC="$$(TARGET_CC)" \
+		CXX="$$(TARGET_CXX)" \
 		CFLAGS="$$(TARGET_CFLAGS)" \
+		CXXFLAGS="$$(TARGET_CXXFLAGS)" \
 		LDFLAGS="$$(TARGET_LDFLAGS)" \
 		$$(REBAR_TARGET_DEPS_ENV) \
 		$$(TARGET_MAKE_ENV) \
#33 lore raw

PATCH v2 2/18 pkg-rebar.mk: pass C++ compiler path and options

Hi Romain,

Quoted 10 lines · Romain Naour

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 5 lines

Previously only the C compiler path and options were passed to rebar. Erlang projects that used the C++ compiler would fail to build. This fixes those errors.

C++ support is currently only required for erlang-p1-stringprep, right ?

Yes, that is the only one. I'll add this to the comment in the next version.

Quoted 25 lines

Best regards,
Romain

Quoted 19 lines
---
 package/pkg-rebar.mk | 2 ++
 1 file changed, 2 insertions(+)
package/pkg-rebar.mk +2 -0
index c727489..44c6d6c 100644
@@ -158,7 +158,9 @@ ifndef $(2)_BUILD_CMDS
 define $(2)_BUILD_CMDS
      (cd $$(@D); \
              CC="$$(TARGET_CC)" \
+             CXX="$$(TARGET_CXX)" \
              CFLAGS="$$(TARGET_CFLAGS)" \
+             CXXFLAGS="$$(TARGET_CXXFLAGS)" \
              LDFLAGS="$$(TARGET_LDFLAGS)" \
              $$(REBAR_TARGET_DEPS_ENV) \
              $$(TARGET_MAKE_ENV) \
Signature · 4 lines
Frank Hunleth
Troodon Software LLC
Embedded Software Development
http://troodon-software.com/
#34 lore raw

PATCH v2 2/18 pkg-rebar.mk: pass C++ compiler path and options

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 8 lines · Frank Hunleth

Previously only the C compiler path and options were passed to rebar. Erlang projects that used the C++ compiler would fail to build. This fixes those errors.

---
 package/pkg-rebar.mk | 2 ++
 1 file changed, 2 insertions(+)

I've added the information suggested by Romain Naour in the commit log, i.e the package that first needed the C++ support. And then I've applied to the next branch. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#35 lore raw

PATCH v2 3/18 erlang-goldrush: bump to version 0.1.8

In reply to Frank Hunleth
---
 package/erlang-goldrush/erlang-goldrush.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-goldrush/erlang-goldrush.mk +1 -1
index b18a8ec..2fa8810 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_GOLDRUSH_VERSION = 0.1.6
+ERLANG_GOLDRUSH_VERSION = 0.1.8
 ERLANG_GOLDRUSH_SITE = $(call github,DeadZen,goldrush,$(ERLANG_GOLDRUSH_VERSION))
 ERLANG_GOLDRUSH_LICENSE = ISC
 ERLANG_GOLDRUSH_LICENSE_FILES = LICENSE
Signature · 1 line
2.5.0
#36 lore raw

PATCH v2 3/18 erlang-goldrush: bump to version 0.1.8

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 1 line

Best regards,
Romain

Quoted 18 lines
---
 package/erlang-goldrush/erlang-goldrush.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-goldrush/erlang-goldrush.mk +1 -1
index b18a8ec..2fa8810 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_GOLDRUSH_VERSION = 0.1.6
+ERLANG_GOLDRUSH_VERSION = 0.1.8
 ERLANG_GOLDRUSH_SITE = $(call github,DeadZen,goldrush,$(ERLANG_GOLDRUSH_VERSION))
 ERLANG_GOLDRUSH_LICENSE = ISC
 ERLANG_GOLDRUSH_LICENSE_FILES = LICENSE
#37 lore raw

PATCH v2 3/18 erlang-goldrush: bump to version 0.1.8

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 4 lines · Frank Hunleth
---
 package/erlang-goldrush/erlang-goldrush.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied to next, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#38 lore raw

PATCH v2 4/18 erlang-lager: bump to version 2.2.0

In reply to Frank Hunleth
---
 package/erlang-lager/erlang-lager.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-lager/erlang-lager.mk +1 -1
index b725bfd..19940a9 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_LAGER_VERSION = 2.0.3
+ERLANG_LAGER_VERSION = 2.2.0
 ERLANG_LAGER_SITE = $(call github,basho,lager,$(ERLANG_LAGER_VERSION))
 ERLANG_LAGER_LICENSE = Apache-2.0
 ERLANG_LAGER_LICENSE_FILES = LICENSE
Signature · 1 line
2.5.0
#39 lore raw

PATCH v2 4/18 erlang-lager: bump to version 2.2.0

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 1 line

Best regards,
Romain

Quoted 18 lines
---
 package/erlang-lager/erlang-lager.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-lager/erlang-lager.mk +1 -1
index b725bfd..19940a9 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_LAGER_VERSION = 2.0.3
+ERLANG_LAGER_VERSION = 2.2.0
 ERLANG_LAGER_SITE = $(call github,basho,lager,$(ERLANG_LAGER_VERSION))
 ERLANG_LAGER_LICENSE = Apache-2.0
 ERLANG_LAGER_LICENSE_FILES = LICENSE
#40 lore raw

PATCH v2 4/18 erlang-lager: bump to version 2.2.0

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 4 lines · Frank Hunleth
---
 package/erlang-lager/erlang-lager.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied to next, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#41 lore raw

PATCH v2 5/18 erlang-rebar: bump to version 2.6.1

In reply to Frank Hunleth
---
 package/erlang-rebar/erlang-rebar.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-rebar/erlang-rebar.mk +1 -1
index f29eb75..06a7800 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_REBAR_VERSION = 2.5.1
+ERLANG_REBAR_VERSION = 2.6.1
 
 # Upstream publishes a release, but we can not use it as it is a release of
 # a generated rebar script, when we want the sources. So we have to use the
Signature · 1 line
2.5.0
#42 lore raw

PATCH v2 5/18 erlang-rebar: bump to version 2.6.1

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 11 lines
---
 package/erlang-rebar/erlang-rebar.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-rebar/erlang-rebar.mk +0 -0
index f29eb75..06a7800 100644

package/erlang-rebar/erlang-rebar.mk line 10

Quoted 8 lines
package/erlang-rebar/erlang-rebar.mk +1 -1
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_REBAR_VERSION = 2.5.1
+ERLANG_REBAR_VERSION = 2.6.1
 
 # Upstream publishes a release, but we can not use it as it is a release of
 # a generated rebar script, when we want the sources. So we have to use the

There is an error with the variable used for licensing:
s/ERLANG_LICENSE/ERLANG_REBAR_LICENSE/

Otherwise the license file and license type are not defined and produce a warning with legal-info:

# WARNING: erlang-rebar: cannot save license (HOST_ERLANG_REBAR_LICENSE_FILES not defined)

Also it override the one defined in erlang package :-/

Best regards,
Romain

#43 lore raw

PATCH v2 5/18 erlang-rebar: bump to version 2.6.1

Hi Romain,

Quoted 19 lines · Romain Naour

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 16 lines
---
 package/erlang-rebar/erlang-rebar.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-rebar/erlang-rebar.mk +1 -1
index f29eb75..06a7800 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_REBAR_VERSION = 2.5.1
+ERLANG_REBAR_VERSION = 2.6.1
 
Quoted 6 lines

package/erlang-rebar/erlang-rebar.mk line 10

Quoted 3 lines
package/erlang-rebar/erlang-rebar.mk +0 -0
 # Upstream publishes a release, but we can not use it as it is a release of
 # a generated rebar script, when we want the sources. So we have to use the

There is an error with the variable used for licensing:
s/ERLANG_LICENSE/ERLANG_REBAR_LICENSE/

Good catch. Will be fixed in the next patch set. 'make legal-info' now gives no erlang related warnings or errors for me.

Quoted 11 lines

Otherwise the license file and license type are not defined and produce a warning with legal-info:

# WARNING: erlang-rebar: cannot save license (HOST_ERLANG_REBAR_LICENSE_FILES not defined)

Also it override the one defined in erlang package :-/

Best regards,
Romain

#44 lore raw

PATCH v2 5/18 erlang-rebar: bump to version 2.6.1

In reply to Romain Naour

Romain, Frank,

Quoted 10 lines · Romain Naour

package/erlang-rebar/erlang-rebar.mk line 10

Quoted 6 lines
package/erlang-rebar/erlang-rebar.mk +1 -1
-ERLANG_REBAR_VERSION = 2.5.1
+ERLANG_REBAR_VERSION = 2.6.1
 
 # Upstream publishes a release, but we can not use it as it is a release of
 # a generated rebar script, when we want the sources. So we have to use the

There is an error with the variable used for licensing:
s/ERLANG_LICENSE/ERLANG_REBAR_LICENSE/

Quoted 7 lines

Otherwise the license file and license type are not defined and produce a warning with legal-info:

# WARNING: erlang-rebar: cannot save license (HOST_ERLANG_REBAR_LICENSE_FILES not defined)

Also it override the one defined in erlang package :-/

I've fixed this in the master branch, since this is really a bug. See commit
https://git.busybox.net/buildroot/commit/?id=498055a8c2e66a8a36b6205555b1c7e806b4d31f.

However, I am not sure about the license information of erlang-rebar. We currently have:

# Although the file LICENSE state Apache-2.0, a lot (if not all) the files

# in src/ bear the MIT licence.
ERLANG_LICENSE = Apache-2.0, MIT
ERLANG_LICENSE_FILES = LICENSE

But the LICENSE file is really only the text of Apache-2.0. It is not because many of the source files carry the MIT license that the whole is not licensed under Apache-2.0. The MIT license is a permissive license, so MIT code can be included into a project that is redistributed only under the Apache 2.0 license.

(I've added Yann and Luca in Cc to get their opinion on the matter.)

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#45 lore raw

PATCH v2 5/18 erlang-rebar: bump to version 2.6.1

Thomas, All

On 2016-02-20 18:37 +0100, Thomas Petazzoni spake thusly:
[--SNIP--]

Quoted 8 lines

However, I am not sure about the license information of erlang-rebar. We currently have:

# Although the file LICENSE state Apache-2.0, a lot (if not all) the files

# in src/ bear the MIT licence.
ERLANG_LICENSE = Apache-2.0, MIT
ERLANG_LICENSE_FILES = LICENSE
Quoted 5 lines

But the LICENSE file is really only the text of Apache-2.0. It is not because many of the source files carry the MIT license that the whole is not licensed under Apache-2.0. The MIT license is a permissive license, so MIT code can be included into a project that is redistributed only under the Apache 2.0 license.

IANAL, TTYL and so on... ;-)

Well, that's not how licensing works.

Individual files have their own licenses, and they retain those licenses even when they are combined together. So, if you have two files under two licenses, like so:

    file-1.c    MIT
    file-2.c    Apache-2.0

If the two licenses are "compatible", then you are allowed to combine the two files to produce a derived work. That derived work is then governed by both licenses. In effect, the most stringent license will dominate, but the other will still apply.

Let's take two hypotetical licenses:

- the Hello License, which states: If you use that file, you must say Hello to the closest Human being.

- the Tea-Now License, which states: If you use that file, you must drink a tea now.

Those two licenses are compatible (i.e. you can say Hello and drink a tea), so you can combine them. Still, you have to do both, not either.

So yes, we need to specify *all* the licenses that govern files used to generate the output.

Note that the licenses list in Buildroot is to be interpreted as:
The combined work generated from this package is governed by those licenses.

It is not to be interpreted as:
You may redistribute the combined work of this program under those licenses.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#46 lore raw

PATCH v2 5/18 erlang-rebar: bump to version 2.6.1

Quoted 20 lines · Yann E. MORIN

Thomas, All

On 2016-02-20 18:37 +0100, Thomas Petazzoni spake thusly:
[--SNIP--]

Quoted 8 lines

However, I am not sure about the license information of erlang-rebar. We currently have:

# Although the file LICENSE state Apache-2.0, a lot (if not all) the files

# in src/ bear the MIT licence.
ERLANG_LICENSE = Apache-2.0, MIT
ERLANG_LICENSE_FILES = LICENSE
Quoted 5 lines

But the LICENSE file is really only the text of Apache-2.0. It is not because many of the source files carry the MIT license that the whole is not licensed under Apache-2.0. The MIT license is a permissive license, so MIT code can be included into a project that is redistributed only under the Apache 2.0 license.

IANAL, TTYL and so on... ;-)

Quoted 7 lines

Well, that's not how licensing works.

Individual files have their own licenses, and they retain those licenses even when they are combined together. So, if you have two files under two licenses, like so:

    file-1.c    MIT
    file-2.c    Apache-2.0

Actually, I think it's not really the files that carry a license. It is how you
got it. This shows in packages that are dual licensed (i.e., with an OR), where it is possible that you got it under only one of those licenses (e.g. because it was combined with another work that puts constraints on it).

And unfortunately, it is not very clear under which license you received the
code when you got it through a combined work. You _could_ claim that because you received these files as part of the erlang-rebar package, you have only received file-1.c under the MIT license. However, you could also claim that the distributors of erlang-rebar never intended to change the license of file-1.c, so that that individual file can still be used under the MIT license. So:
situation is not clear IMHO.

Quoted 16 lines

If the two licenses are "compatible", then you are allowed to combine the two files to produce a derived work. That derived work is then governed by both licenses. In effect, the most stringent license will dominate, but the other will still apply.

Let's take two hypotetical licenses:

- the Hello License, which states: If you use that file, you must say Hello to the closest Human being.

- the Tea-Now License, which states: If you use that file, you must drink a tea now.

Those two licenses are compatible (i.e. you can say Hello and drink a tea), so you can combine them. Still, you have to do both, not either.

Quoted 6 lines

So yes, we need to specify *all* the licenses that govern files used to generate the output.

Note that the licenses list in Buildroot is to be interpreted as:
The combined work generated from this package is governed by those licenses.

I don't think we can put that strong a claim, I think it is: the combined work
generated from this package may be governed by those licenses.

One example where the 'may' is important is when you configured out some file,
and that was the only file under a particular license, then that license doesn't apply anymore to the combined work.

Regards,
Arnout

Quoted 8 lines

It is not to be interpreted as:
You may redistribute the combined work of this program under those licenses.

Regards,
Yann E. MORIN.

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#47 lore raw

PATCH v2 5/18 erlang-rebar: bump to version 2.6.1

Arnout, All,

On 2016-02-21 00:05 +0100, Arnout Vandecappelle spake thusly:

Quoted 1 line · Yann E. MORIN

[--SNIP--]

Quoted 8 lines
Quoted 7 lines

Well, that's not how licensing works.

Individual files have their own licenses, and they retain those licenses even when they are combined together. So, if you have two files under two licenses, like so:

    file-1.c    MIT
    file-2.c    Apache-2.0
Quoted 4 lines

Actually, I think it's not really the files that carry a license. It is how you
got it. This shows in packages that are dual licensed (i.e., with an OR), where it is possible that you got it under only one of those licenses (e.g. because it was combined with another work that puts constraints on it).

Again, IANAL, TTYL, and so on...

However, if some "other work" puts constraints on the file, then that file still retains its own license; the rights you had under that license are just diminished by those "constraints" of the license for that "other work".

Quoted 7 lines

And unfortunately, it is not very clear under which license you received the
code when you got it through a combined work. You _could_ claim that because you received these files as part of the erlang-rebar package, you have only received file-1.c under the MIT license. However, you could also claim that the distributors of erlang-rebar never intended to change the license of file-1.c, so that that individual file can still be used under the MIT license. So:
situation is not clear IMHO.

No, it's definitely not clear, as all licensing issues! :-)

Still, I think we should not take the responisibility to do such an in-depth licensing analysis, and that we should dtride of the safe side by just listing all those licenses that apply (see below).

Quoted 23 lines
Quoted 16 lines

If the two licenses are "compatible", then you are allowed to combine the two files to produce a derived work. That derived work is then governed by both licenses. In effect, the most stringent license will dominate, but the other will still apply.

Let's take two hypotetical licenses:

- the Hello License, which states: If you use that file, you must say Hello to the closest Human being.

- the Tea-Now License, which states: If you use that file, you must drink a tea now.

Those two licenses are compatible (i.e. you can say Hello and drink a tea), so you can combine them. Still, you have to do both, not either.

Quoted 6 lines

So yes, we need to specify *all* the licenses that govern files used to generate the output.

Note that the licenses list in Buildroot is to be interpreted as:
The combined work generated from this package is governed by those licenses.

Quoted 6 lines

I don't think we can put that strong a claim, I think it is: the combined work
generated from this package may be governed by those licenses.

One example where the 'may' is important is when you configured out some file,
and that was the only file under a particular license, then that license doesn't apply anymore to the combined work.

I see your point. But we usually try to make that license conditional in this case, like dtc, ffmpeg, kmod and a few others. Not saying that we always do so, but we tend to.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#48 lore raw

PATCH v2 5/18 erlang-rebar: bump to version 2.6.1

Quoted 33 lines · Yann E. MORIN

Arnout, All,

On 2016-02-21 00:05 +0100, Arnout Vandecappelle spake thusly:

Quoted 1 line · Yann E. MORIN

[--SNIP--]

Quoted 8 lines
Quoted 7 lines

Well, that's not how licensing works.

Individual files have their own licenses, and they retain those licenses even when they are combined together. So, if you have two files under two licenses, like so:

    file-1.c    MIT
    file-2.c    Apache-2.0
Quoted 4 lines

Actually, I think it's not really the files that carry a license. It is how you
got it. This shows in packages that are dual licensed (i.e., with an OR), where it is possible that you got it under only one of those licenses (e.g. because it was combined with another work that puts constraints on it).

Again, IANAL, TTYL, and so on...

However, if some "other work" puts constraints on the file, then that file still retains its own license; the rights you had under that license are just diminished by those "constraints" of the license for that "other work".

Quoted 7 lines

And unfortunately, it is not very clear under which license you received the
code when you got it through a combined work. You _could_ claim that because you received these files as part of the erlang-rebar package, you have only received file-1.c under the MIT license. However, you could also claim that the distributors of erlang-rebar never intended to change the license of file-1.c, so that that individual file can still be used under the MIT license. So:
situation is not clear IMHO.

Quoted 5 lines

No, it's definitely not clear, as all licensing issues! :-)

Still, I think we should not take the responisibility to do such an in-depth licensing analysis, and that we should dtride of the safe side by just listing all those licenses that apply (see below).

+1 to that.

Regards,
Arnout

[snip]

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#49 lore raw

PATCH v2 5/18 erlang-rebar: bump to version 2.6.1

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Hi,

Quoted 7 lines
Quoted 5 lines

No, it's definitely not clear, as all licensing issues! :-)

Still, I think we should not take the responisibility to do such an in-depth licensing analysis, and that we should dtride of the safe side by just listing all those licenses that apply (see below).

+1 to that.

Yes, agreed. We're after all developers, not lawyers ;)

Signature · 1 line
Bye, Peter Korsgaard
#50 lore raw

PATCH v2 5/18 erlang-rebar: bump to version 2.6.1

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 4 lines · Frank Hunleth
---
 package/erlang-rebar/erlang-rebar.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied to next, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#51 lore raw

PATCH v2 5/18 erlang-rebar: bump to version 2.6.1

Dear Thomas,

Thanks for applying some of the Erlang patches. I've had a really busy week, but as soon as I get back today, I'll see what's missing and send a patch set with any residual changes that didn't make your cut. I know that I had several changes that various people had requested.

Thanks,
Frank

Quoted 17 lines · Thomas Petazzoni

Dear Frank Hunleth,

Quoted 5 lines · Frank Hunleth

---
package/erlang-rebar/erlang-rebar.mk | 2 +-

1 file changed, 1 insertion(+), 1 deletion(-)

Applied to next, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#52 lore raw

PATCH v2 5/18 erlang-rebar: bump to version 2.6.1

Hello Frank,

Quoted 5 lines · Frank Hunleth

Thanks for applying some of the Erlang patches. I've had a really busy week, but as soon as I get back today, I'll see what's missing and send a patch set with any residual changes that didn't make your cut. I know that I had several changes that various people had requested.

No problem. I've applied all of them, but had to do some changes on a few of them (I've replied to each patch individually to let you know). Please double check my change on the fast_tls vs. p1-tls dependency change in p1-stun.

I have left on the side the ejabberd update for the moment, since Romain had some comments. I'll mark this patch as "Changes Requested", so please respin.

Regarding the erlang atomic operations patch, I haven't had a look yet.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#53 lore raw

PATCH v2 6/18 erlang-fast_tls: new package

In reply to Frank Hunleth

This package is used by the newer versions of the ejabberd dependencies.

---
Changes v1->v2:
- Add SoB
- Fix alphabetic ordering in package list
- Add missing dependency on erlang-p1-utils

 package/Config.in                          |  1 +
 package/erlang-fast_tls/Config.in          |  8 ++++++++
 package/erlang-fast_tls/erlang-fast_tls.mk | 14 ++++++++++++++
 3 files changed, 23 insertions(+)
 create mode 100644 package/erlang-fast_tls/Config.in
 create mode 100644 package/erlang-fast_tls/erlang-fast_tls.mk
package/Config.in +1 -0
index f2b6901..e576c92 100644
@@ -469,6 +469,7 @@ menu "Interpreter languages and scripting"
 	source "package/erlang/Config.in"
 if BR2_PACKAGE_ERLANG
 menu "Erlang libraries/modules"
+	source "package/erlang-fast_tls/Config.in"
 	source "package/erlang-goldrush/Config.in"
 	source "package/erlang-lager/Config.in"
 	source "package/erlang-p1-cache-tab/Config.in"
package/erlang-fast_tls/Config.in new file +8 -0
new file mode 100644
index 0000000..3bf52a1
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_ERLANG_FAST_TLS
+	bool "erlang-fast_tls"
+	select BR2_PACKAGE_ERLANG_P1_UTILS
+	select BR2_PACKAGE_OPENSSL
+	help
+	  TLS / SSL OpenSSL-based native driver for Erlang / Elixir
+
+	  https://github.com/processone/fast_tls
package/erlang-fast_tls/erlang-fast_tls.mk new file +14 -0
new file mode 100644
index 0000000..63c55c5
@@ -0,0 +1,14 @@
+################################################################################
+#
+# erlang-fast_tls
+#
+################################################################################
+
+ERLANG_FAST_TLS_VERSION = 1.0.0
+ERLANG_FAST_TLS_SITE = $(call github,processone,fast_tls,$(ERLANG_FAST_TLS_VERSION))
+ERLANG_FAST_TLS_LICENSE = Apache-2.0
+ERLANG_FAST_TLS_LICENSE_FILES = LICENSE.txt
+ERLANG_FAST_TLS_INSTALL_STAGING = YES
+ERLANG_FAST_TLS_DEPENDENCIES = openssl erlang-p1-utils
+
+$(eval $(rebar-package))
Signature · 1 line
2.5.0
#54 lore raw

PATCH v2 6/18 erlang-fast_tls: new package

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 3 lines

This package is used by the newer versions of the ejabberd dependencies.

Best regards,
Romain

Quoted 60 lines

---
Changes v1->v2:
- Add SoB
- Fix alphabetic ordering in package list
- Add missing dependency on erlang-p1-utils

 package/Config.in                          |  1 +
 package/erlang-fast_tls/Config.in          |  8 ++++++++
 package/erlang-fast_tls/erlang-fast_tls.mk | 14 ++++++++++++++
 3 files changed, 23 insertions(+)
 create mode 100644 package/erlang-fast_tls/Config.in
 create mode 100644 package/erlang-fast_tls/erlang-fast_tls.mk
package/Config.in +1 -0
index f2b6901..e576c92 100644
@@ -469,6 +469,7 @@ menu "Interpreter languages and scripting"
 	source "package/erlang/Config.in"
 if BR2_PACKAGE_ERLANG
 menu "Erlang libraries/modules"
+	source "package/erlang-fast_tls/Config.in"
 	source "package/erlang-goldrush/Config.in"
 	source "package/erlang-lager/Config.in"
 	source "package/erlang-p1-cache-tab/Config.in"
package/erlang-fast_tls/Config.in new file +8 -0
new file mode 100644
index 0000000..3bf52a1
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_ERLANG_FAST_TLS
+	bool "erlang-fast_tls"
+	select BR2_PACKAGE_ERLANG_P1_UTILS
+	select BR2_PACKAGE_OPENSSL
+	help
+	  TLS / SSL OpenSSL-based native driver for Erlang / Elixir
+
+	  https://github.com/processone/fast_tls
package/erlang-fast_tls/erlang-fast_tls.mk new file +14 -0
new file mode 100644
index 0000000..63c55c5
@@ -0,0 +1,14 @@
+################################################################################
+#
+# erlang-fast_tls
+#
+################################################################################
+
+ERLANG_FAST_TLS_VERSION = 1.0.0
+ERLANG_FAST_TLS_SITE = $(call github,processone,fast_tls,$(ERLANG_FAST_TLS_VERSION))
+ERLANG_FAST_TLS_LICENSE = Apache-2.0
+ERLANG_FAST_TLS_LICENSE_FILES = LICENSE.txt
+ERLANG_FAST_TLS_INSTALL_STAGING = YES
+ERLANG_FAST_TLS_DEPENDENCIES = openssl erlang-p1-utils
+
+$(eval $(rebar-package))
#55 lore raw

PATCH v2 6/18 erlang-fast_tls: new package

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 3 lines · Frank Hunleth

This package is used by the newer versions of the ejabberd dependencies.

I've applied to next, but the only package that used this was erlang-p1-stun (after your version bump), but in fact it still uses erlang-p1-tls and not erlang-fast_tls. It would be good if you could clarify this. So this package is in fact not used by ejabberd.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#56 lore raw

PATCH v2 7/18 erlang-p1-cache-tab: bump to version 1.0.1

In reply to Frank Hunleth

---
Changes v1->v2:
- Fix license file name

 package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk +2 -2
index 6c5d98a..7739c8c 100644
@@ -4,10 +4,10 @@
 #
 ################################################################################
 
-ERLANG_P1_CACHE_TAB_VERSION = f7ea12b
+ERLANG_P1_CACHE_TAB_VERSION = 1.0.1
 ERLANG_P1_CACHE_TAB_SITE = $(call github,processone,cache_tab,$(ERLANG_P1_CACHE_TAB_VERSION))
 ERLANG_P1_CACHE_TAB_LICENSE = GPLv2+
-ERLANG_P1_CACHE_TAB_LICENSE_FILES = COPYING
+ERLANG_P1_CACHE_TAB_LICENSE_FILES = LICENSE.txt
 ERLANG_P1_CACHE_TAB_DEPENDENCIES = erlang-p1-utils
 
 $(eval $(rebar-package))
Signature · 1 line
2.5.0
#57 lore raw

PATCH v2 7/18 erlang-p1-cache-tab: bump to version 1.0.1

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 1 line

Best regards,
Romain

Quoted 25 lines

---
Changes v1->v2:
- Fix license file name

 package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk +2 -2
index 6c5d98a..7739c8c 100644
@@ -4,10 +4,10 @@
 #
 ################################################################################
 
-ERLANG_P1_CACHE_TAB_VERSION = f7ea12b
+ERLANG_P1_CACHE_TAB_VERSION = 1.0.1
 ERLANG_P1_CACHE_TAB_SITE = $(call github,processone,cache_tab,$(ERLANG_P1_CACHE_TAB_VERSION))
 ERLANG_P1_CACHE_TAB_LICENSE = GPLv2+
-ERLANG_P1_CACHE_TAB_LICENSE_FILES = COPYING
+ERLANG_P1_CACHE_TAB_LICENSE_FILES = LICENSE.txt
 ERLANG_P1_CACHE_TAB_DEPENDENCIES = erlang-p1-utils
 
 $(eval $(rebar-package))
#58 lore raw

PATCH v2 7/18 erlang-p1-cache-tab: bump to version 1.0.1

In reply to Frank Hunleth

Dear Frank Hunleth,

package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk line 9

Quoted 4 lines · Frank Hunleth
package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk +1 -1
-ERLANG_P1_CACHE_TAB_VERSION = f7ea12b
+ERLANG_P1_CACHE_TAB_VERSION = 1.0.1
 ERLANG_P1_CACHE_TAB_SITE = $(call github,processone,cache_tab,$(ERLANG_P1_CACHE_TAB_VERSION))
 ERLANG_P1_CACHE_TAB_LICENSE = GPLv2+

The license has changed, it's now Apache-2.0. I've fixed that up and applied to the next branch.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#59 lore raw

PATCH v2 8/18 erlang-p1-iconv: bump to version 0.9.0

In reply to Frank Hunleth
---
 package/erlang-p1-iconv/erlang-p1-iconv.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-iconv/erlang-p1-iconv.mk +1 -1
index 2189f01..d2d2626 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_ICONV_VERSION = dff5ee5
+ERLANG_P1_ICONV_VERSION = 0.9.0
 ERLANG_P1_ICONV_SITE = $(call github,processone,eiconv,$(ERLANG_P1_ICONV_VERSION))
 ERLANG_P1_ICONV_LICENSE = GPLv2+
 ERLANG_P1_ICONV_LICENSE_FILES = COPYING
Signature · 1 line
2.5.0
#60 lore raw

PATCH v2 8/18 erlang-p1-iconv: bump to version 0.9.0

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 1 line

Best regards,
Romain

Quoted 18 lines
---
 package/erlang-p1-iconv/erlang-p1-iconv.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-iconv/erlang-p1-iconv.mk +1 -1
index 2189f01..d2d2626 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_ICONV_VERSION = dff5ee5
+ERLANG_P1_ICONV_VERSION = 0.9.0
 ERLANG_P1_ICONV_SITE = $(call github,processone,eiconv,$(ERLANG_P1_ICONV_VERSION))
 ERLANG_P1_ICONV_LICENSE = GPLv2+
 ERLANG_P1_ICONV_LICENSE_FILES = COPYING
#61 lore raw

PATCH v2 8/18 erlang-p1-iconv: bump to version 0.9.0

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 4 lines · Frank Hunleth
---
 package/erlang-p1-iconv/erlang-p1-iconv.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied to next, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#62 lore raw

PATCH v2 9/18 erlang-p1-stringprep: bump to version 1.0.0

In reply to Frank Hunleth

This version includes C++ code, so also add dependency on a C++ compiler.

---
 package/erlang-p1-stringprep/Config.in               | 4 ++++
 package/erlang-p1-stringprep/erlang-p1-stringprep.mk | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
package/erlang-p1-stringprep/Config.in +4 -0
index 3ef77ed..bc4d139 100644
@@ -1,5 +1,9 @@
+comment "erlang-p1-stringprep needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_ERLANG_P1_STRINGPREP
 	bool "erlang-p1-stringprep"
+	depends on BR2_INSTALL_LIBSTDCPP
 	help
 	  Erlang interface to stringprep
 
package/erlang-p1-stringprep/erlang-p1-stringprep.mk +1 -1
index 60c80bc..001c205 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_STRINGPREP_VERSION = 3c64023
+ERLANG_P1_STRINGPREP_VERSION = 1.0.0
 ERLANG_P1_STRINGPREP_SITE = $(call github,processone,stringprep,$(ERLANG_P1_STRINGPREP_VERSION))
 ERLANG_P1_STRINGPREP_LICENSE = TCL
 ERLANG_P1_STRINGPREP_LICENSE_FILES = LICENSE.TCL
Signature · 1 line
2.5.0
#63 lore raw

PATCH v2 9/18 erlang-p1-stringprep: bump to version 1.0.0

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 14 lines

This version includes C++ code, so also add dependency on a C++ compiler.

---
 package/erlang-p1-stringprep/Config.in               | 4 ++++
 package/erlang-p1-stringprep/erlang-p1-stringprep.mk | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
package/erlang-p1-stringprep/Config.in +0 -0
index 3ef77ed..bc4d139 100644

package/erlang-p1-stringprep/Config.in line 8

Quoted 8 lines
package/erlang-p1-stringprep/Config.in +4 -0
@@ -1,5 +1,9 @@
+comment "erlang-p1-stringprep needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
+
 config BR2_PACKAGE_ERLANG_P1_STRINGPREP
 	bool "erlang-p1-stringprep"
+	depends on BR2_INSTALL_LIBSTDCPP
 	help
 	  Erlang interface to stringprep

Now BR2_PACKAGE_ERLANG_P1_STRINGPREP denpends on C++, so the dependency must be propagated to ejabberd.

With that fixed:

Best regards,
Romain

Quoted 15 lines
package/erlang-p1-stringprep/erlang-p1-stringprep.mk +1 -1
index 60c80bc..001c205 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_STRINGPREP_VERSION = 3c64023
+ERLANG_P1_STRINGPREP_VERSION = 1.0.0
 ERLANG_P1_STRINGPREP_SITE = $(call github,processone,stringprep,$(ERLANG_P1_STRINGPREP_VERSION))
 ERLANG_P1_STRINGPREP_LICENSE = TCL
 ERLANG_P1_STRINGPREP_LICENSE_FILES = LICENSE.TCL
#64 lore raw

PATCH v2 9/18 erlang-p1-stringprep: bump to version 1.0.0

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 8 lines · Frank Hunleth

This version includes C++ code, so also add dependency on a C++ compiler.

---
 package/erlang-p1-stringprep/Config.in               | 4 ++++
 package/erlang-p1-stringprep/erlang-p1-stringprep.mk | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

Applied to next, but after doing the following changes:

[Thomas:
- propagate new C++ dependency to ejabberd, as noticed by Romain Naour
- fix license information and license files. Not all the code is under the TCL license, in fact most of the code is under the Apache-2.0 license, and some additional license files have been added to clarify this.]

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#65 lore raw

PATCH v2 10/18 erlang-p1_stun: bump to version 0.9.0

In reply to Frank Hunleth

As part of the version change, the package name changed to use an underscore rather than a hyphen. Fortunately, the name change doesn't affect the Config.in option, so no legacy handling is needed.

---
 package/Config.in                                                   | 2 +-
 package/{erlang-p1-stun => erlang-p1_stun}/Config.in                | 4 ++--
 .../erlang-p1-stun.mk => erlang-p1_stun/erlang-p1_stun.mk}          | 6 +++---
 3 files changed, 6 insertions(+), 6 deletions(-)
 rename package/{erlang-p1-stun => erlang-p1_stun}/Config.in (70%)
 rename package/{erlang-p1-stun/erlang-p1-stun.mk => erlang-p1_stun/erlang-p1_stun.mk} (77%)
package/Config.in +1 -1
index e576c92..c5a7734 100644
@@ -476,7 +476,7 @@ menu "Erlang libraries/modules"
 	source "package/erlang-p1-iconv/Config.in"
 	source "package/erlang-p1-sip/Config.in"
 	source "package/erlang-p1-stringprep/Config.in"
-	source "package/erlang-p1-stun/Config.in"
+	source "package/erlang-p1_stun/Config.in"
 	source "package/erlang-p1-tls/Config.in"
 	source "package/erlang-p1-utils/Config.in"
 	source "package/erlang-p1-xml/Config.in"
package/erlang-p1_stun/Config.in renamed from package/erlang-p1-stun/Config.in +2 -2
similarity index 70%
rename from package/erlang-p1-stun/Config.in
rename to package/erlang-p1_stun/Config.in
index 70cdd91..b3f56de 100644
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_ERLANG_P1_STUN
-	bool "erlang-p1-stun"
-	select BR2_PACKAGE_ERLANG_P1_TLS
+	bool "erlang-p1_stun"
+	select BR2_PACKAGE_ERLANG_FAST_TLS
 	select BR2_PACKAGE_ERLANG_P1_UTILS
 	help
 	  STUN library for Erlang
package/erlang-p1_stun/erlang-p1_stun.mk renamed from package/erlang-p1-stun/erlang-p1-stun.mk +3 -3
similarity index 77%
rename from package/erlang-p1-stun/erlang-p1-stun.mk
rename to package/erlang-p1_stun/erlang-p1_stun.mk
index 7920347..d689585 100644
@@ -1,14 +1,14 @@
 ################################################################################
 #
-# erlang-p1-stun
+# erlang-p1_stun
 #
 ################################################################################
 
-ERLANG_P1_STUN_VERSION = a3dce07
+ERLANG_P1_STUN_VERSION = 0.9.0
 ERLANG_P1_STUN_SITE = $(call github,processone,stun,$(ERLANG_P1_STUN_VERSION))
 ERLANG_P1_STUN_LICENSE = GPLv2+
 ERLANG_P1_STUN_LICENSE_FILES = COPYING
-ERLANG_P1_STUN_DEPENDENCIES = erlang-p1-tls erlang-p1-utils
+ERLANG_P1_STUN_DEPENDENCIES = erlang-fast_tls erlang-p1-utils
 ERLANG_P1_STUN_INSTALL_STAGING = YES
 
 $(eval $(rebar-package))
Signature · 1 line
2.5.0
#66 lore raw

PATCH v2 10/18 erlang-p1_stun: bump to version 0.9.0

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 3 lines

As part of the version change, the package name changed to use an underscore rather than a hyphen. Fortunately, the name change doesn't affect the Config.in option, so no legacy handling is needed.

I don't understand why we need to rename the Buildroot package here.

Best regards,
Romain

Quoted 65 lines
---
 package/Config.in                                                   | 2 +-
 package/{erlang-p1-stun => erlang-p1_stun}/Config.in                | 4 ++--
 .../erlang-p1-stun.mk => erlang-p1_stun/erlang-p1_stun.mk}          | 6 +++---
 3 files changed, 6 insertions(+), 6 deletions(-)
 rename package/{erlang-p1-stun => erlang-p1_stun}/Config.in (70%)
 rename package/{erlang-p1-stun/erlang-p1-stun.mk => erlang-p1_stun/erlang-p1_stun.mk} (77%)
package/Config.in +1 -1
index e576c92..c5a7734 100644
@@ -476,7 +476,7 @@ menu "Erlang libraries/modules"
 	source "package/erlang-p1-iconv/Config.in"
 	source "package/erlang-p1-sip/Config.in"
 	source "package/erlang-p1-stringprep/Config.in"
-	source "package/erlang-p1-stun/Config.in"
+	source "package/erlang-p1_stun/Config.in"
 	source "package/erlang-p1-tls/Config.in"
 	source "package/erlang-p1-utils/Config.in"
 	source "package/erlang-p1-xml/Config.in"
package/erlang-p1_stun/Config.in renamed from package/erlang-p1-stun/Config.in +2 -2
similarity index 70%
rename from package/erlang-p1-stun/Config.in
rename to package/erlang-p1_stun/Config.in
index 70cdd91..b3f56de 100644
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_ERLANG_P1_STUN
-	bool "erlang-p1-stun"
-	select BR2_PACKAGE_ERLANG_P1_TLS
+	bool "erlang-p1_stun"
+	select BR2_PACKAGE_ERLANG_FAST_TLS
 	select BR2_PACKAGE_ERLANG_P1_UTILS
 	help
 	  STUN library for Erlang
package/erlang-p1_stun/erlang-p1_stun.mk renamed from package/erlang-p1-stun/erlang-p1-stun.mk +3 -3
similarity index 77%
rename from package/erlang-p1-stun/erlang-p1-stun.mk
rename to package/erlang-p1_stun/erlang-p1_stun.mk
index 7920347..d689585 100644
@@ -1,14 +1,14 @@
 ################################################################################
 #
-# erlang-p1-stun
+# erlang-p1_stun
 #
 ################################################################################
 
-ERLANG_P1_STUN_VERSION = a3dce07
+ERLANG_P1_STUN_VERSION = 0.9.0
 ERLANG_P1_STUN_SITE = $(call github,processone,stun,$(ERLANG_P1_STUN_VERSION))
 ERLANG_P1_STUN_LICENSE = GPLv2+
 ERLANG_P1_STUN_LICENSE_FILES = COPYING
-ERLANG_P1_STUN_DEPENDENCIES = erlang-p1-tls erlang-p1-utils
+ERLANG_P1_STUN_DEPENDENCIES = erlang-fast_tls erlang-p1-utils
 ERLANG_P1_STUN_INSTALL_STAGING = YES
 
 $(eval $(rebar-package))
#67 lore raw

PATCH v2 10/18 erlang-p1_stun: bump to version 0.9.0

Hi Romain,

Quoted 8 lines · Romain Naour

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 3 lines

As part of the version change, the package name changed to use an underscore rather than a hyphen. Fortunately, the name change doesn't affect the Config.in option, so no legacy handling is needed.

I don't understand why we need to rename the Buildroot package here.

I renamed it for consistency with upstream. However, now that I look into it, the rest of the erlang-p1-* packages could be renamed erlang-p1_* by the same logic. I think that I'll revert the renaming here and bump the version rather than tackling everything in this patch set.

Frank

Quoted 69 lines

Best regards,
Romain

Quoted 65 lines
---
 package/Config.in                                                   | 2 +-
 package/{erlang-p1-stun => erlang-p1_stun}/Config.in                | 4 ++--
 .../erlang-p1-stun.mk => erlang-p1_stun/erlang-p1_stun.mk}          | 6 +++---
 3 files changed, 6 insertions(+), 6 deletions(-)
 rename package/{erlang-p1-stun => erlang-p1_stun}/Config.in (70%)
 rename package/{erlang-p1-stun/erlang-p1-stun.mk => erlang-p1_stun/erlang-p1_stun.mk} (77%)
package/Config.in +1 -1
index e576c92..c5a7734 100644
@@ -476,7 +476,7 @@ menu "Erlang libraries/modules"
      source "package/erlang-p1-iconv/Config.in"
      source "package/erlang-p1-sip/Config.in"
      source "package/erlang-p1-stringprep/Config.in"
-     source "package/erlang-p1-stun/Config.in"
+     source "package/erlang-p1_stun/Config.in"
      source "package/erlang-p1-tls/Config.in"
      source "package/erlang-p1-utils/Config.in"
      source "package/erlang-p1-xml/Config.in"
package/erlang-p1_stun/Config.in renamed from package/erlang-p1-stun/Config.in +2 -2
similarity index 70%
rename from package/erlang-p1-stun/Config.in
rename to package/erlang-p1_stun/Config.in
index 70cdd91..b3f56de 100644
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_ERLANG_P1_STUN
-     bool "erlang-p1-stun"
-     select BR2_PACKAGE_ERLANG_P1_TLS
+     bool "erlang-p1_stun"
+     select BR2_PACKAGE_ERLANG_FAST_TLS
      select BR2_PACKAGE_ERLANG_P1_UTILS
      help
        STUN library for Erlang
package/erlang-p1_stun/erlang-p1_stun.mk renamed from package/erlang-p1-stun/erlang-p1-stun.mk +3 -3
similarity index 77%
rename from package/erlang-p1-stun/erlang-p1-stun.mk
rename to package/erlang-p1_stun/erlang-p1_stun.mk
index 7920347..d689585 100644
@@ -1,14 +1,14 @@
 ################################################################################
 #
-# erlang-p1-stun
+# erlang-p1_stun
 #
 ################################################################################
 
-ERLANG_P1_STUN_VERSION = a3dce07
+ERLANG_P1_STUN_VERSION = 0.9.0
 ERLANG_P1_STUN_SITE = $(call github,processone,stun,$(ERLANG_P1_STUN_VERSION))
 ERLANG_P1_STUN_LICENSE = GPLv2+
 ERLANG_P1_STUN_LICENSE_FILES = COPYING
-ERLANG_P1_STUN_DEPENDENCIES = erlang-p1-tls erlang-p1-utils
+ERLANG_P1_STUN_DEPENDENCIES = erlang-fast_tls erlang-p1-utils
 ERLANG_P1_STUN_INSTALL_STAGING = YES
 
 $(eval $(rebar-package))
#68 lore raw

PATCH v2 10/18 erlang-p1_stun: bump to version 0.9.0

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 5 lines · Frank Hunleth

As part of the version change, the package name changed to use an underscore rather than a hyphen. Fortunately, the name change doesn't affect the Config.in option, so no legacy handling is needed.

As suggested by Romain in his review, I've dropped the rename. Generally speaking, when things aren't clear between _ and -, I very much prefer to see - used in package name (though I admit this is a personal preference).

package/erlang-p1_stun/Config.in line 3

Quoted 5 lines

config BR2_PACKAGE_ERLANG_P1_STUN

package/erlang-p1_stun/Config.in renamed from package/erlang-p1-stun/Config.in +2 -2
-	bool "erlang-p1-stun"
-	select BR2_PACKAGE_ERLANG_P1_TLS
+	bool "erlang-p1_stun"
+	select BR2_PACKAGE_ERLANG_FAST_TLS

Build testing has shown that BR2_PACKAGE_ERLANG_FAST_TLS was not the proper dependency, and instead keeping BR2_PACKAGE_ERLANG_P1_TLS was the right solution. Could you double check why you switched to fast_tls ?

So, I've applied to next, with the following changes:

[Thomas:
- do only the version bump, not the package rename, as suggested by Romain Naour
- erlang-p1-stun continues to depend on erlang-p1-tls, not erlang-fast_tls.]

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#69 lore raw

PATCH v2 10/18 erlang-p1_stun: bump to version 0.9.0

Hi Thomas,

Quoted 7 lines · Thomas Petazzoni

Dear Frank Hunleth,

Quoted 4 lines · Frank Hunleth

As part of the version change, the package name changed to use an underscore rather than a hyphen. Fortunately, the name change doesn't affect the Config.in option, so no legacy handling is needed.

Quoted 6 lines
Quoted 1 line

As suggested by Romain in his review, I've dropped the rename. Generally speaking, when things aren't clear between _ and -, I very much prefer to see - used in package name (though I admit this is a personal preference).

Yes, I generally have the same preference. In the Erlang world, the style is to use underscores since module names can be represented as atoms. In theory, you can quote atoms if you want them to have hyphens, but it doesn't look pretty. In the end, I don't think that it bothers me either way, so I'm happy to leave it as is.

Quoted 8 lines

package/erlang-p1_stun/Config.in line 3

Quoted 7 lines

config BR2_PACKAGE_ERLANG_P1_STUN

package/erlang-p1_stun/Config.in renamed from package/erlang-p1-stun/Config.in +2 -2
-     bool "erlang-p1-stun"
-     select BR2_PACKAGE_ERLANG_P1_TLS
+     bool "erlang-p1_stun"
+     select BR2_PACKAGE_ERLANG_FAST_TLS
Quoted 4 lines

Build testing has shown that BR2_PACKAGE_ERLANG_FAST_TLS was not the proper dependency, and instead keeping BR2_PACKAGE_ERLANG_P1_TLS was the right solution. Could you double check why you switched to fast_tls ?

This was a mistake on my part. I fixed it in a patch that I hadn't sent to the list, so thanks for fixing that for me.

Frank

Quoted 16 lines

So, I've applied to next, with the following changes:

[Thomas:
- do only the version bump, not the package rename, as suggested by Romain Naour
- erlang-p1-stun continues to depend on erlang-p1-tls, not erlang-fast_tls.]

Thanks!

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

Signature · 4 lines
Frank Hunleth
Troodon Software LLC
Embedded Software Development
http://troodon-software.com/
#70 lore raw

PATCH v2 10/18 erlang-p1_stun: bump to version 0.9.0

Hello,

Quoted 5 lines · Frank Hunleth

Yes, I generally have the same preference. In the Erlang world, the style is to use underscores since module names can be represented as atoms. In theory, you can quote atoms if you want them to have hyphens, but it doesn't look pretty. In the end, I don't think that it bothers me either way, so I'm happy to leave it as is.

Ok, fine.

Quoted 6 lines
Quoted 6 lines
Quoted 5 lines

config BR2_PACKAGE_ERLANG_P1_STUN

package/erlang-p1_stun/Config.in renamed from package/erlang-p1-stun/Config.in +2 -2
-     bool "erlang-p1-stun"
-     select BR2_PACKAGE_ERLANG_P1_TLS
+     bool "erlang-p1_stun"
+     select BR2_PACKAGE_ERLANG_FAST_TLS
Quoted 7 lines
Quoted 4 lines

Build testing has shown that BR2_PACKAGE_ERLANG_FAST_TLS was not the proper dependency, and instead keeping BR2_PACKAGE_ERLANG_P1_TLS was the right solution. Could you double check why you switched to fast_tls ?

This was a mistake on my part. I fixed it in a patch that I hadn't sent to the list, so thanks for fixing that for me.

So, is the fast_tls package still useful?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#71 lore raw

PATCH v2 10/18 erlang-p1_stun: bump to version 0.9.0

Hi Thomas,

Quoted 23 lines · Thomas Petazzoni

Hello,

Quoted 5 lines · Frank Hunleth

Yes, I generally have the same preference. In the Erlang world, the style is to use underscores since module names can be represented as atoms. In theory, you can quote atoms if you want them to have hyphens, but it doesn't look pretty. In the end, I don't think that it bothers me either way, so I'm happy to leave it as is.

Ok, fine.

Quoted 11 lines
Quoted 10 lines

package/erlang-p1_stun/Config.in line 3

Quoted 5 lines

config BR2_PACKAGE_ERLANG_P1_STUN

package/erlang-p1_stun/Config.in renamed from package/erlang-p1-stun/Config.in +2 -2
-     bool "erlang-p1-stun"
-     select BR2_PACKAGE_ERLANG_P1_TLS
+     bool "erlang-p1_stun"
+     select BR2_PACKAGE_ERLANG_FAST_TLS

Build testing has shown that BR2_PACKAGE_ERLANG_FAST_TLS was not the proper dependency, and instead keeping BR2_PACKAGE_ERLANG_P1_TLS was the right solution. Could you double check why you switched to fast_tls ?

Quoted 4 lines
Quoted 2 lines

This was a mistake on my part. I fixed it in a patch that I hadn't sent to the list, so thanks for fixing that for me.

So, is the fast_tls package still useful?

No. I'll send a patch that removes it.

Frank

#72 lore raw

PATCH v2 11/18 erlang-p1-sip: bump to version 1.0.0

In reply to Frank Hunleth
---
 package/erlang-p1-sip/erlang-p1-sip.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/erlang-p1-sip/erlang-p1-sip.mk +2 -2
index d017a92..eb963c8 100644
@@ -4,11 +4,11 @@
 #
 ################################################################################
 
-ERLANG_P1_SIP_VERSION = fd3e461
+ERLANG_P1_SIP_VERSION = 1.0.0
 ERLANG_P1_SIP_SITE = $(call github,processone,p1_sip,$(ERLANG_P1_SIP_VERSION))
 ERLANG_P1_SIP_LICENSE = GPLv2 with OpenSSL exception
 ERLANG_P1_SIP_LICENSE_FILES = COPYING
-ERLANG_P1_SIP_DEPENDENCIES = erlang-p1-stun erlang-p1-tls erlang-p1-utils
+ERLANG_P1_SIP_DEPENDENCIES = erlang-p1_stun erlang-p1-tls erlang-p1-utils
 ERLANG_P1_SIP_INSTALL_STAGING = YES
 
 $(eval $(rebar-package))
Signature · 1 line
2.5.0
#73 lore raw

PATCH v2 11/18 erlang-p1-sip: bump to version 1.0.0

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 1 line

If erlang-p1_stun rename is keep as is:

Best regards,
Romain

Quoted 23 lines
---
 package/erlang-p1-sip/erlang-p1-sip.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/erlang-p1-sip/erlang-p1-sip.mk +2 -2
index d017a92..eb963c8 100644
@@ -4,11 +4,11 @@
 #
 ################################################################################
 
-ERLANG_P1_SIP_VERSION = fd3e461
+ERLANG_P1_SIP_VERSION = 1.0.0
 ERLANG_P1_SIP_SITE = $(call github,processone,p1_sip,$(ERLANG_P1_SIP_VERSION))
 ERLANG_P1_SIP_LICENSE = GPLv2 with OpenSSL exception
 ERLANG_P1_SIP_LICENSE_FILES = COPYING
-ERLANG_P1_SIP_DEPENDENCIES = erlang-p1-stun erlang-p1-tls erlang-p1-utils
+ERLANG_P1_SIP_DEPENDENCIES = erlang-p1_stun erlang-p1-tls erlang-p1-utils
 ERLANG_P1_SIP_INSTALL_STAGING = YES
 
 $(eval $(rebar-package))
#74 lore raw

PATCH v2 11/18 erlang-p1-sip: bump to version 1.0.0

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 10 lines · Frank Hunleth
---
 package/erlang-p1-sip/erlang-p1-sip.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/erlang-p1-sip/erlang-p1-sip.mk +0 -0
index d017a92..eb963c8 100644

package/erlang-p1-sip/erlang-p1-sip.mk line 11

Quoted 10 lines
package/erlang-p1-sip/erlang-p1-sip.mk +2 -2
@@ -4,11 +4,11 @@
 #
 ################################################################################
 
-ERLANG_P1_SIP_VERSION = fd3e461
+ERLANG_P1_SIP_VERSION = 1.0.0
 ERLANG_P1_SIP_SITE = $(call github,processone,p1_sip,$(ERLANG_P1_SIP_VERSION))
 ERLANG_P1_SIP_LICENSE = GPLv2 with OpenSSL exception
 ERLANG_P1_SIP_LICENSE_FILES = COPYING
-ERLANG_P1_SIP_DEPENDENCIES = erlang-p1-stun erlang-p1-tls erlang-p1-utils
+ERLANG_P1_SIP_DEPENDENCIES = erlang-p1_stun erlang-p1-tls erlang-p1-utils

This erlang-p1-stun was not renamed, I've removed this change for the patch, and then applied to the next branch. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#75 lore raw

PATCH v2 12/18 erlang-p1-tls: bump to version 1.0.0

In reply to Frank Hunleth
---
 package/erlang-p1-tls/erlang-p1-tls.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-tls/erlang-p1-tls.mk +1 -1
index 4f1fc48..f7212c4 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_TLS_VERSION = b070004
+ERLANG_P1_TLS_VERSION = 1.0.0
 ERLANG_P1_TLS_SITE = $(call github,processone,tls,$(ERLANG_P1_TLS_VERSION))
 ERLANG_P1_TLS_LICENSE = GPLv2+
 ERLANG_P1_TLS_LICENSE_FILES = COPYING
Signature · 1 line
2.5.0
#76 lore raw

PATCH v2 12/18 erlang-p1-tls: bump to version 1.0.0

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 1 line

Best regards,
Romain

Quoted 18 lines
---
 package/erlang-p1-tls/erlang-p1-tls.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-tls/erlang-p1-tls.mk +1 -1
index 4f1fc48..f7212c4 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_TLS_VERSION = b070004
+ERLANG_P1_TLS_VERSION = 1.0.0
 ERLANG_P1_TLS_SITE = $(call github,processone,tls,$(ERLANG_P1_TLS_VERSION))
 ERLANG_P1_TLS_LICENSE = GPLv2+
 ERLANG_P1_TLS_LICENSE_FILES = COPYING
#77 lore raw

PATCH v2 12/18 erlang-p1-tls: bump to version 1.0.0

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 4 lines · Frank Hunleth
---
 package/erlang-p1-tls/erlang-p1-tls.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied to next, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#78 lore raw

PATCH v2 13/18 erlang-p1-utils: bump to version 1.0.3

In reply to Frank Hunleth

---
Changes v1->v2:
- Fix license file name

 package/erlang-p1-utils/erlang-p1-utils.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/erlang-p1-utils/erlang-p1-utils.mk +2 -2
index c01d6d5..733cf87 100644
@@ -4,10 +4,10 @@
 #
 ################################################################################
 
-ERLANG_P1_UTILS_VERSION = 1bf99f9
+ERLANG_P1_UTILS_VERSION = 1.0.3
 ERLANG_P1_UTILS_SITE = $(call github,processone,p1_utils,$(ERLANG_P1_UTILS_VERSION))
 ERLANG_P1_UTILS_LICENSE = GPLv2+
-ERLANG_P1_UTILS_LICENSE_FILES = COPYING
+ERLANG_P1_UTILS_LICENSE_FILES = LICENSE.txt
 ERLANG_P1_UTILS_INSTALL_STAGING = YES
 
 $(eval $(rebar-package))
Signature · 1 line
2.5.0
#79 lore raw

PATCH v2 13/18 erlang-p1-utils: bump to version 1.0.3

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 1 line

Best regards,
Romain

Quoted 25 lines

---
Changes v1->v2:
- Fix license file name

 package/erlang-p1-utils/erlang-p1-utils.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/erlang-p1-utils/erlang-p1-utils.mk +2 -2
index c01d6d5..733cf87 100644
@@ -4,10 +4,10 @@
 #
 ################################################################################
 
-ERLANG_P1_UTILS_VERSION = 1bf99f9
+ERLANG_P1_UTILS_VERSION = 1.0.3
 ERLANG_P1_UTILS_SITE = $(call github,processone,p1_utils,$(ERLANG_P1_UTILS_VERSION))
 ERLANG_P1_UTILS_LICENSE = GPLv2+
-ERLANG_P1_UTILS_LICENSE_FILES = COPYING
+ERLANG_P1_UTILS_LICENSE_FILES = LICENSE.txt
 ERLANG_P1_UTILS_INSTALL_STAGING = YES
 
 $(eval $(rebar-package))
#80 lore raw

PATCH v2 13/18 erlang-p1-utils: bump to version 1.0.3

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 4 lines · Frank Hunleth

---
Changes v1->v2:
- Fix license file name

Applied to next, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#81 lore raw

PATCH v2 14/18 erlang-p1-xml: bump to version 1.1.1

In reply to Frank Hunleth

---
Changes v1->v2:
- Fix license file name

 package/erlang-p1-xml/erlang-p1-xml.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/erlang-p1-xml/erlang-p1-xml.mk +2 -2
index f81d3e5..36c1537 100644
@@ -4,10 +4,10 @@
 #
 ################################################################################
 
-ERLANG_P1_XML_VERSION = 2c61083
+ERLANG_P1_XML_VERSION = 1.1.1
 ERLANG_P1_XML_SITE = $(call github,processone,xml,$(ERLANG_P1_XML_VERSION))
 ERLANG_P1_XML_LICENSE = GPLv2+
-ERLANG_P1_XML_LICENSE_FILES = COPYING
+ERLANG_P1_XML_LICENSE_FILES = LICENSE.txt
 ERLANG_P1_XML_DEPENDENCIES = expat
 ERLANG_P1_XML_INSTALL_STAGING = YES
 
Signature · 1 line
2.5.0
#82 lore raw

PATCH v2 14/18 erlang-p1-xml: bump to version 1.1.1

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 13 lines

---
Changes v1->v2:
- Fix license file name

 package/erlang-p1-xml/erlang-p1-xml.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/erlang-p1-xml/erlang-p1-xml.mk +0 -0
index f81d3e5..36c1537 100644

package/erlang-p1-xml/erlang-p1-xml.mk line 11

Quoted 10 lines
package/erlang-p1-xml/erlang-p1-xml.mk +2 -2
@@ -4,10 +4,10 @@
 #
 ################################################################################
 
-ERLANG_P1_XML_VERSION = 2c61083
+ERLANG_P1_XML_VERSION = 1.1.1
 ERLANG_P1_XML_SITE = $(call github,processone,xml,$(ERLANG_P1_XML_VERSION))
 ERLANG_P1_XML_LICENSE = GPLv2+
-ERLANG_P1_XML_LICENSE_FILES = COPYING
+ERLANG_P1_XML_LICENSE_FILES = LICENSE.txt
 ERLANG_P1_XML_DEPENDENCIES = expat

erlang-p1_utils seems to be a dependency of erlang-p1-xml, see rebar.config:

{deps, [{p1_utils, ".*", {git, "git://github.com/processone/p1_utils", {tag, "1.0.0"}}}]}.

Best regards,
Romain

Quoted 3 lines
package/erlang-p1-xml/erlang-p1-xml.mk +0 -0
 ERLANG_P1_XML_INSTALL_STAGING = YES
 
#83 lore raw

PATCH v2 14/18 erlang-p1-xml: bump to version 1.1.1

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 14 lines · Frank Hunleth

---
Changes v1->v2:
- Fix license file name

 package/erlang-p1-xml/erlang-p1-xml.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/erlang-p1-xml/erlang-p1-xml.mk +0 -0
index f81d3e5..36c1537 100644
@@ -4,10 +4,10 @@
 #

package/erlang-p1-xml/erlang-p1-xml.mk line 12

Quoted 10 lines
package/erlang-p1-xml/erlang-p1-xml.mk +2 -2
 ################################################################################
 
-ERLANG_P1_XML_VERSION = 2c61083
+ERLANG_P1_XML_VERSION = 1.1.1
 ERLANG_P1_XML_SITE = $(call github,processone,xml,$(ERLANG_P1_XML_VERSION))
 ERLANG_P1_XML_LICENSE = GPLv2+
-ERLANG_P1_XML_LICENSE_FILES = COPYING
+ERLANG_P1_XML_LICENSE_FILES = LICENSE.txt
 ERLANG_P1_XML_DEPENDENCIES = expat
 ERLANG_P1_XML_INSTALL_STAGING = YES

As noticed by Romain Naour, a dependency on erlang-p1-utils was missing, I could verified that with a build test. Also, the license has changed from GPLv2+ to Apache-2.0. So I've applied to next with the following changes:

[Thomas:
- add dependency on erlang-p1-utils, as noticed by Romain Naour.
- the license is now Apache-2.0 and no longer GPLv2+.]

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#84 lore raw

PATCH v2 15/18 erlang-p1-yaml: bump to version 1.0.0

In reply to Frank Hunleth
---
 package/erlang-p1-yaml/erlang-p1-yaml.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-yaml/erlang-p1-yaml.mk +1 -1
index 6f7c977..ba661b9 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_YAML_VERSION = e1f081e
+ERLANG_P1_YAML_VERSION = 1.0.0
 ERLANG_P1_YAML_SITE = $(call github,processone,p1_yaml,$(ERLANG_P1_YAML_VERSION))
 ERLANG_P1_YAML_LICENSE = Apache-2.0
 ERLANG_P1_YAML_LICENSE_FILES = COPYING
Signature · 1 line
2.5.0
#85 lore raw

PATCH v2 15/18 erlang-p1-yaml: bump to version 1.0.0

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 11 lines
---
 package/erlang-p1-yaml/erlang-p1-yaml.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-yaml/erlang-p1-yaml.mk +0 -0
index 6f7c977..ba661b9 100644

package/erlang-p1-yaml/erlang-p1-yaml.mk line 10

Quoted 8 lines
package/erlang-p1-yaml/erlang-p1-yaml.mk +1 -1
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_YAML_VERSION = e1f081e
+ERLANG_P1_YAML_VERSION = 1.0.0
 ERLANG_P1_YAML_SITE = $(call github,processone,p1_yaml,$(ERLANG_P1_YAML_VERSION))
 ERLANG_P1_YAML_LICENSE = Apache-2.0
 ERLANG_P1_YAML_LICENSE_FILES = COPYING

Same here, it seems we need to add erlang-p1-utils to the dependencies, see rebbar.config.script:

    {deps, [{p1_utils, ".*", {git, "git://github.com/processone/p1_utils", {tag,

"1.0.2"}}}]},

Best regards,
Romain

#86 lore raw

PATCH v2 15/18 erlang-p1-yaml: bump to version 1.0.0

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 10 lines · Frank Hunleth
---
 package/erlang-p1-yaml/erlang-p1-yaml.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-yaml/erlang-p1-yaml.mk +0 -0
index 6f7c977..ba661b9 100644

package/erlang-p1-yaml/erlang-p1-yaml.mk line 10

Quoted 8 lines
package/erlang-p1-yaml/erlang-p1-yaml.mk +1 -1
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_YAML_VERSION = e1f081e
+ERLANG_P1_YAML_VERSION = 1.0.0
 ERLANG_P1_YAML_SITE = $(call github,processone,p1_yaml,$(ERLANG_P1_YAML_VERSION))
 ERLANG_P1_YAML_LICENSE = Apache-2.0
 ERLANG_P1_YAML_LICENSE_FILES = COPYING

Same problem as erlang-p1-xml: the dependency on erlang-p1-utils was missing. I've added it and applied to the next branch. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#87 lore raw

PATCH v2 16/18 erlang-p1-zlib: bump to version 1.0.0

In reply to Frank Hunleth
---
 package/erlang-p1-zlib/erlang-p1-zlib.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-zlib/erlang-p1-zlib.mk +1 -1
index 4ba3332..1f8ae00 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_ZLIB_VERSION = 52e82bb
+ERLANG_P1_ZLIB_VERSION = 1.0.0
 ERLANG_P1_ZLIB_SITE = $(call github,processone,zlib,$(ERLANG_P1_ZLIB_VERSION))
 ERLANG_P1_ZLIB_LICENSE = GPLv2+
 ERLANG_P1_ZLIB_LICENSE_FILES = COPYING
Signature · 1 line
2.5.0
#88 lore raw

PATCH v2 16/18 erlang-p1-zlib: bump to version 1.0.0

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 1 line

Best regards,
Romain

Quoted 18 lines
---
 package/erlang-p1-zlib/erlang-p1-zlib.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/erlang-p1-zlib/erlang-p1-zlib.mk +1 -1
index 4ba3332..1f8ae00 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ERLANG_P1_ZLIB_VERSION = 52e82bb
+ERLANG_P1_ZLIB_VERSION = 1.0.0
 ERLANG_P1_ZLIB_SITE = $(call github,processone,zlib,$(ERLANG_P1_ZLIB_VERSION))
 ERLANG_P1_ZLIB_LICENSE = GPLv2+
 ERLANG_P1_ZLIB_LICENSE_FILES = COPYING
#89 lore raw

PATCH v2 16/18 erlang-p1-zlib: bump to version 1.0.0

In reply to Frank Hunleth

Dear Frank Hunleth,

Quoted 4 lines · Frank Hunleth
---
 package/erlang-p1-zlib/erlang-p1-zlib.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied to next, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#90 lore raw

PATCH v2 17/18 ejabberd: bump to version 16.01

In reply to Frank Hunleth

As part of the upgrade, updated patches from Debian were used where appropriate. All patches were converted to git format.

---
 ...001-remove-dependencies-from-rebar-config.patch | 83 ++++++++++++++++++++++
 package/ejabberd/0001-remove-deps.patch            | 22 ------
 package/ejabberd/0002-disable-rebar-deps.patch     | 76 --------------------
 .../0002-remove-make-targets-for-deps.patch        | 74 +++++++++++++++++++
 package/ejabberd/0003-disable-test.patch           | 27 -------
 .../0003-remove-checking-erlang-version.patch      | 30 ++++++++
 package/ejabberd/0004-correct-include.patch        | 56 +++++++++++++++
 package/ejabberd/0004-disable-version-check.patch  | 20 ------
 .../0005-disable-ERLANG_DEPRECATED_CHECK.patch     | 27 +++++++
 package/ejabberd/0005-fix-includes.patch           | 45 ------------
 ...006-disable-erlang-deprecated-types-check.patch | 20 ------
 ...ns.patch => 0006-fix-install-permissions.patch} | 41 +++++------
 ...jabberdctl.patch => 0007-fix-ejabberdctl.patch} | 21 ++++--
 package/ejabberd/Config.in                         |  5 +-
 package/ejabberd/ejabberd.hash                     |  6 +-
 package/ejabberd/ejabberd.mk                       |  2 +-
 16 files changed, 313 insertions(+), 242 deletions(-)
 create mode 100644 package/ejabberd/0001-remove-dependencies-from-rebar-config.patch
 delete mode 100644 package/ejabberd/0001-remove-deps.patch
 delete mode 100644 package/ejabberd/0002-disable-rebar-deps.patch
 create mode 100644 package/ejabberd/0002-remove-make-targets-for-deps.patch
 delete mode 100644 package/ejabberd/0003-disable-test.patch
 create mode 100644 package/ejabberd/0003-remove-checking-erlang-version.patch
 create mode 100644 package/ejabberd/0004-correct-include.patch
 delete mode 100644 package/ejabberd/0004-disable-version-check.patch
 create mode 100644 package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch
 delete mode 100644 package/ejabberd/0005-fix-includes.patch
 delete mode 100644 package/ejabberd/0006-disable-erlang-deprecated-types-check.patch
 rename package/ejabberd/{0007-fix-install-permissions.patch => 0006-fix-install-permissions.patch} (73%)
 rename package/ejabberd/{0008-fix-ejabberdctl.patch => 0007-fix-ejabberdctl.patch} (56%)
package/ejabberd/0001-remove-dependencies-from-rebar-config.patch new file +83 -0
new file mode 100644
index 0000000..6929c10
@@ -0,0 +1,83 @@
+From 9bcf7020e348771f16a04abeff2a7cc3a5e87c5b Mon Sep 17 00:00:00 2001
+From: Philipp Huebner <[email protected]>
+Date: Wed, 20 Jan 2016 08:08:42 -0500
+Subject: [PATCH 1/7] remove dependencies from rebar config
+
+Without this patch, dependencies would be downloaded and compiled
+by rebar at build time.
+---
+ rebar.config | 51 ---------------------------------------------------
+ 1 file changed, 51 deletions(-)
+
+diff --git a/rebar.config b/rebar.config
+index 30c0360..d6a5b4d 100644
+--- a/rebar.config
++++ b/rebar.config
+@@ -7,48 +7,6 @@
+ %%% Created :  1 May 2013 by Evgeniy Khramtsov <[email protected]>
+ %%%-------------------------------------------------------------------
+ 
+-{deps, [{if_var_true, lager, {lager, ".*", {git, "https://github.com/basho/lager", {tag, "3.0.2"}}}},
+-        {if_var_false, lager, {p1_logger, ".*", {git, "https://github.com/processone/p1_logger", {tag, "1.0.0"}}}},
+-        {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.2"}}},
+-        {cache_tab, ".*", {git, "https://github.com/processone/cache_tab", {tag, "1.0.1"}}},
+-        {p1_tls, ".*", {git, "https://github.com/processone/tls", {tag, "1.0.0"}}},
+-        {p1_stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.0"}}},
+-        {p1_xml, ".*", {git, "https://github.com/processone/xml", {tag, "1.1.1"}}},
+-        {p1_stun, ".*", {git, "https://github.com/processone/stun", "0.9.0"}},
+-        {esip, ".*", {git, "https://github.com/processone/p1_sip", "1.0.0"}},
+-        {p1_yaml, ".*", {git, "https://github.com/processone/p1_yaml", {tag, "1.0.0"}}},
+-        {jiffy, ".*", {git, "https://github.com/davisp/jiffy", {tag, "0.14.5"}}},
+-        {oauth2, ".*", {git, "https://github.com/kivra/oauth2", "8d129fbf8866930b4ffa6dd84e65bd2b32b9acb8"}},
+-        {xmlrpc, ".*", {git, "https://github.com/rds13/xmlrpc", {tag, "1.15"}}},
+-        {if_var_true, mysql, {p1_mysql, ".*", {git, "https://github.com/processone/mysql", {tag, "1.0.0"}}}},
+-        {if_var_true, pgsql, {p1_pgsql, ".*", {git, "https://github.com/processone/pgsql", {tag, "1.0.0"}}}},
+-        {if_var_true, sqlite, {sqlite3, ".*", {git, "https://github.com/alexeyr/erlang-sqlite3", "cbc3505f7a131254265d3ef56191b2581b8cc172"}}},
+-        {if_var_true, pam, {p1_pam, ".*", {git, "https://github.com/processone/epam", {tag, "1.0.0"}}}},
+-        {if_var_true, zlib, {p1_zlib, ".*", {git, "https://github.com/processone/zlib", {tag, "1.0.0"}}}},
+-        {if_var_true, riak, {hamcrest, ".*", {git, "https://github.com/hyperthunk/hamcrest-erlang", "908a24fda4a46776a5135db60ca071e3d783f9f6"}}},  % for riak_pb-2.1.0.7
+-        {if_var_true, riak, {riakc, ".*", {git, "https://github.com/basho/riak-erlang-client", "527722d12d0433b837cdb92a60900c2cb5df8942"}}},
+-        {if_var_true, elixir, {elixir, ".*", {git, "https://github.com/elixir-lang/elixir", {tag, "v1.1.0"}}}},
+-        {if_var_true, elixir, {rebar_elixir_plugin, ".*", {git, "https://github.com/processone/rebar_elixir_plugin", "0.1.0"}}},
+-        {if_var_true, iconv, {p1_iconv, ".*", {git, "https://github.com/processone/eiconv", {tag, "0.9.0"}}}},
+-        {if_var_true, tools, {meck, "0.8.2", {git, "https://github.com/eproxus/meck", {tag, "0.8.2"}}}},
+-        {if_var_true, redis, {eredis, ".*", {git, "https://github.com/wooga/eredis", {tag, "v1.0.8"}}}}]}.
+-
+-{if_var_true, latest_deps,
+- {floating_deps, [p1_logger,
+-                  cache_tab,
+-                  p1_tls,
+-                  p1_stringprep,
+-                  p1_xml,
+-                  esip,
+-                  p1_stun,
+-                  p1_yaml,
+-                  p1_utils,
+-                  p1_mysql,
+-                  p1_pgsql,
+-                  p1_pam,
+-                  p1_zlib,
+-                  p1_iconv]}}.
+-
+ {erl_opts, [nowarn_deprecated_function,
+             {if_var_true, roster_gateway_workaround, {d, 'ROSTER_GATWAY_WORKAROUND'}},
+             {if_var_match, db_type, mssql, {d, 'mssql'}},
+@@ -92,15 +50,6 @@
+ 
+ {eunit_compile_opts, [{i, "tools"}]}.
+ 
+-{post_hook_configure, [{"p1_tls", []},
+-                       {"p1_stringprep", []},
+-                       {"p1_yaml", []},
+-                       {"esip", []},
+-                       {"p1_xml", [{if_var_true, full_xml, "--enable-full-xml"}]},
+-                       {if_var_true, pam, {"p1_pam", []}},
+-                       {if_var_true, zlib, {"p1_zlib", []}},
+-                       {if_var_true, iconv, {"p1_iconv", []}}]}.
+-
+ {port_env, [{"CFLAGS", "-g -O2 -Wall"}]}.
+ 
+ {port_specs, [{"priv/lib/jid.so", ["c_src/jid.c"]}]}.
+-- 
+2.5.0
+
package/ejabberd/0001-remove-deps.patch deleted +0 -22
deleted file mode 100644
index c5700dd..0000000
@@ -1,22 +0,0 @@
-Description: remove make targets for deps
- Without this patch, dependencies would be downloaded and compiled
- using rebar at build time.
-Author: Philipp Huebner <[email protected]>
-
-Index: ejabberd/rebar.config.script
-===================================================================
-diff --git a/rebar.config.script b/rebar.config.script
-index 633433c..646a15a 100644
---- a/rebar.config.script
-+++ b/rebar.config.script
-@@ -187,9 +187,7 @@ Config = [{erl_opts, Macros ++ HiPE ++ DebugInfo ++
-           {xref_checks, []},
- 	  {xref_queries,
- 	   [{"(XC - UC) || (XU - X - B - "
--	     ++ string:join(CfgXrefs, " - ") ++ ")", []}]},
--          {post_hooks, PostHooks ++ CfgPostHooks},
--          {deps, AllDeps}] ++ ElixirConfig,
-+	     ++ string:join(CfgXrefs, " - ") ++ ")", []}]}],
- %%io:format("ejabberd configuration:~n  ~p~n", [Config]),
- Config.
- 
package/ejabberd/0002-disable-rebar-deps.patch deleted +0 -76

76 lines not on this page · raw message

package/ejabberd/0002-remove-make-targets-for-deps.patch new file +74 -0

74 lines not on this page · raw message

package/ejabberd/0003-disable-test.patch deleted +0 -27
deleted file mode 100644
index 1b28957..0000000
@@ -1,27 +0,0 @@
-Description: remove testing with MySQL and PostgreSQL
- Without this patch a test would be initiated after building ejabberd that
- requires specially configured instances of MySQL and PostgreSQL to be up
- and running.
-Author: Philipp Huebner <[email protected]>
-
-Index: ejabberd/Makefile.in
-===================================================================
-diff --git a/Makefile.in b/Makefile.in
-index ffd1d30..835d611 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -306,14 +306,8 @@ dialyzer: erlang_plt deps_plt ejabberd_plt
- 	status=$$? ; if [ $$status -ne 2 ]; then exit $$status; else exit 0; fi
- 
- test:
--	@echo "************************** NOTICE ***************************************"
--	@cat test/README
--	@echo "*************************************************************************"
--	@cd priv && ln -sf ../sql
--	$(REBAR) skip_deps=true ct
- 
- quicktest:
--	$(REBAR) skip_deps=true ct suites=elixir
- 
- .PHONY: src edoc dialyzer Makefile TAGS clean clean-rel distclean rel \
- 	install uninstall uninstall-binary uninstall-all translations deps test spec \
package/ejabberd/0003-remove-checking-erlang-version.patch new file +30 -0
new file mode 100644
index 0000000..1690aae
@@ -0,0 +1,30 @@
+From fa3d9795f5a3cf29866dd09848d57b679bb7aea2 Mon Sep 17 00:00:00 2001
+From: Johan Oudinet <[email protected]>
+Date: Wed, 20 Jan 2016 08:11:32 -0500
+Subject: [PATCH 3/7] remove checking erlang version
+
+Without this patch, the configure will try to run erlang to simply check
+if the version is supported by ejabberd. Instead, we do this test
+statically.
+---
+ configure.ac | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 97e89a2..cd1ab08 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -39,10 +39,8 @@ AC_ARG_ENABLE(erlang-version-check,
+ 	[Check Erlang/OTP version @<:@default=yes@:>@])])
+ case "$enable_erlang_version_check" in
+ 	yes|'')
+-		ERLANG_VERSION_CHECK([$REQUIRE_ERLANG_MIN],[$REQUIRE_ERLANG_MAX])
+ 		;;
+ 	no)
+-		ERLANG_VERSION_CHECK([$REQUIRE_ERLANG_MIN],[$REQUIRE_ERLANG_MAX],[warn])
+ 		;;
+ esac
+ 
+-- 
+2.5.0
+
package/ejabberd/0004-correct-include.patch new file +56 -0

56 lines not on this page · raw message

package/ejabberd/0004-disable-version-check.patch deleted +0 -20
deleted file mode 100644
index f2f1e81..0000000
@@ -1,20 +0,0 @@
-Description: remove checking erlang version
- Without this patch, the configure will try to run erlang to simply check if
- the version is supported by ejabberd. Instead, we do this test statically.
-Author: Johan Oudinet <[email protected]>
-
-Index: ejabberd/configure.ac
-===================================================================
---- ejabberd.orig/configure.ac	2014-10-20 11:04:14.751256865 +0200
-+++ ejabberd/configure.ac	2014-10-20 11:03:47.983578623 +0200
-@@ -37,10 +37,8 @@ AC_ARG_ENABLE(erlang-version-check,
- 	[Check Erlang/OTP version @<:@default=yes@:>@])])
- case "$enable_erlang_version_check" in
- 	yes|'')
--		ERLANG_VERSION_CHECK([$REQUIRE_ERLANG_MIN],[$REQUIRE_ERLANG_MAX])
- 		;;
- 	no)
--		ERLANG_VERSION_CHECK([$REQUIRE_ERLANG_MIN],[$REQUIRE_ERLANG_MAX],[warn])
- 		;;
- esac
- 
package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch new file +27 -0
new file mode 100644
index 0000000..5b5d741
@@ -0,0 +1,27 @@
+From 7dbb86c84f7dd34c7fdb3c4f78c29381128793ea Mon Sep 17 00:00:00 2001
+From: Johan Oudinet <[email protected]>
+Date: Wed, 20 Jan 2016 08:16:26 -0500
+Subject: [PATCH 5/7] disable ERLANG_DEPRECATED_CHECK
+
+Without this patch, the configure will try to execute erlang to check
+if it uses deprecated types. Assume the answer is false.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index cd1ab08..a4f1533 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -235,7 +235,7 @@ if test "$ENABLEUSER" != ""; then
+   AC_SUBST([INSTALLUSER], [$ENABLEUSER])
+ fi
+ 
+-ERLANG_DEPRECATED_TYPES_CHECK
++AC_SUBST(erlang_deprecated_types, false)
+ 
+ if test "$sqlite" = "true"; then
+    AX_LIB_SQLITE3([3.6.19])
+-- 
+2.5.0
+
package/ejabberd/0005-fix-includes.patch deleted +0 -45

45 lines not on this page · raw message

package/ejabberd/0006-disable-erlang-deprecated-types-check.patch deleted +0 -20
deleted file mode 100644
index 1b70953..0000000
@@ -1,20 +0,0 @@
-Description: disable ERLANG_DEPRECATED_CHECK
- Without this patch, the configure will try to execute erlang to check
- if it uses deprecated types. Assume the answer is false.
-Author: Johan Oudinet <[email protected]>
-
-Index: ejabberd/configure.ac
-====================================================================
-diff --git a/configure.ac b/configure.ac
-index 6ae0a24..e5498df 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -252,7 +252,7 @@ if test "$ENABLEUSER" != ""; then
-   AC_SUBST([INSTALLUSER], [$ENABLEUSER])
- fi
- 
--ERLANG_DEPRECATED_TYPES_CHECK
-+AC_SUBST(erlang_deprecated_types, false)
- 
- if test "$sqlite" = "true"; then
-    AX_LIB_SQLITE3([3.6.19])
package/ejabberd/0006-fix-install-permissions.patch renamed from package/ejabberd/0007-fix-install-permissions.patch +21 -20

63 lines not on this page · raw message

package/ejabberd/0007-fix-ejabberdctl.patch renamed from package/ejabberd/0008-fix-ejabberdctl.patch +15 -6
similarity index 56%
rename from package/ejabberd/0008-fix-ejabberdctl.patch
rename to package/ejabberd/0007-fix-ejabberdctl.patch
index af0b6ee..bb99624 100644
@@ -1,12 +1,18 @@
-Description: fix ejabberdctl
- Change default values so ejabberdctl run commands as ejabberd user
- Also add a way for the user to change default values.
+From 8ed9f378d4a18114f2021969b4f440d34abacc0d Mon Sep 17 00:00:00 2001
+From: Johan Oudinet <[email protected]>
+Date: Wed, 20 Jan 2016 09:35:07 -0500
+Subject: [PATCH 7/7] fix ejabberdctl
+
+Change default values so ejabberdctl run commands as ejabberd user
+Also add a way for the user to change default values.
+
 Signed-off-by: Johan Oudinet <[email protected]>
+---
+ ejabberdctl.template | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
 
-Index: ejabberd/ejabberdctl.template
-===================================================================
 diff --git a/ejabberdctl.template b/ejabberdctl.template
-index c7d76ef..a7afce1 100755
+index f65c21f..ff9225f 100755
 --- a/ejabberdctl.template
 +++ b/ejabberdctl.template
 @@ -14,9 +14,12 @@ SCRIPT_DIR=`cd ${0%/*} && pwd`
@@ -23,3 +29,6 @@ index c7d76ef..a7afce1 100755
  # check the proper system user is used if defined
  if [ "$INSTALLUSER" != "" ] ; then
      EXEC_CMD="false"
+-- 
+2.5.0
+
package/ejabberd/Config.in +3 -2
index 7b4e99b..7add8c6 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_EJABBERD
 	bool "ejabberd"
 	depends on BR2_PACKAGE_ERLANG
+	depends on BR2_INSTALL_LIBSTDCPP # required for erlang-p1-stringprep
 	select BR2_PACKAGE_ERLANG_LAGER
 	select BR2_PACKAGE_ERLANG_P1_CACHE_TAB
 	select BR2_PACKAGE_ERLANG_P1_ICONV
@@ -18,5 +19,5 @@ config BR2_PACKAGE_EJABBERD
 
 	  http://www.ejabberd.im
 
-comment "ejabberd needs erlang"
-	depends on !BR2_PACKAGE_ERLANG
+comment "ejabberd needs erlang and a toolchain w/ C++"
+	depends on !BR2_PACKAGE_ERLANG || !BR2_INSTALL_LIBSTDCPP
package/ejabberd/ejabberd.hash +3 -3
index b027183..ea85d1c 100644
@@ -1,4 +1,4 @@
-# From https://www.process-one.net/downloads/ejabberd/15.11/ejabberd-15.11.tgz.md5
-md5 a6997b88d44c5a5acff45bb1d938d0f3 ejabberd-15.11.tgz
+# From https://www.process-one.net/downloads/ejabberd/15.11/ejabberd-16.01.tgz.md5
+md5 5e525c25c8f04287217b8a9522d7c942 ejabberd-16.01.tgz
 # Locally computed
-sha256 01044b5a25f9f8dda8c60726698bd27d650751b810e5bfa23f9bb49ba20e946a ejabberd-15.11.tgz
+sha256 e2cc479d5870539b2e6756690b227969c88a541d464d1fc6e1cbf7270ad7d681 ejabberd-16.01.tgz
package/ejabberd/ejabberd.mk +1 -1
index 841c911..a3aad35 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-EJABBERD_VERSION = 15.11
+EJABBERD_VERSION = 16.01
 EJABBERD_SOURCE = ejabberd-$(EJABBERD_VERSION).tgz
 EJABBERD_SITE = https://www.process-one.net/downloads/ejabberd/$(EJABBERD_VERSION)
 EJABBERD_LICENSE = GPLv2+ with OpenSSL exception
Signature · 1 line
2.5.0
#91 lore raw

PATCH v2 17/18 ejabberd: bump to version 16.01

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 27 lines

As part of the upgrade, updated patches from Debian were used where appropriate. All patches were converted to git format.

---
 ...001-remove-dependencies-from-rebar-config.patch | 83 ++++++++++++++++++++++
 package/ejabberd/0001-remove-deps.patch            | 22 ------
 package/ejabberd/0002-disable-rebar-deps.patch     | 76 --------------------
 .../0002-remove-make-targets-for-deps.patch        | 74 +++++++++++++++++++
 package/ejabberd/0003-disable-test.patch           | 27 -------
 .../0003-remove-checking-erlang-version.patch      | 30 ++++++++
 package/ejabberd/0004-correct-include.patch        | 56 +++++++++++++++
 package/ejabberd/0004-disable-version-check.patch  | 20 ------
 .../0005-disable-ERLANG_DEPRECATED_CHECK.patch     | 27 +++++++
 package/ejabberd/0005-fix-includes.patch           | 45 ------------
 ...006-disable-erlang-deprecated-types-check.patch | 20 ------
 ...ns.patch => 0006-fix-install-permissions.patch} | 41 +++++------
 ...jabberdctl.patch => 0007-fix-ejabberdctl.patch} | 21 ++++--
 package/ejabberd/Config.in                         |  5 +-
 package/ejabberd/ejabberd.hash                     |  6 +-
 package/ejabberd/ejabberd.mk                       |  2 +-
 16 files changed, 313 insertions(+), 242 deletions(-)
 create mode 100644 package/ejabberd/0001-remove-dependencies-from-rebar-config.patch
 delete mode 100644 package/ejabberd/0001-remove-deps.patch
 delete mode 100644 package/ejabberd/0002-disable-rebar-deps.patch
 create mode 100644 package/ejabberd/0002-remove-make-targets-for-deps.patch
 delete mode 100644 package/ejabberd/0003-disable-test.patch
Quoted 9 lines
 create mode 100644 package/ejabberd/0003-remove-checking-erlang-version.patch
 create mode 100644 package/ejabberd/0004-correct-include.patch
 delete mode 100644 package/ejabberd/0004-disable-version-check.patch
 create mode 100644 package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch
 delete mode 100644 package/ejabberd/0005-fix-includes.patch
 delete mode 100644 package/ejabberd/0006-disable-erlang-deprecated-types-check.patch
 rename package/ejabberd/{0007-fix-install-permissions.patch => 0006-fix-install-permissions.patch} (73%)
 rename package/ejabberd/{0008-fix-ejabberdctl.patch => 0007-fix-ejabberdctl.patch} (56%)

[snip]

You need to add your Sob line in each patch you add in package/ejabberd.

Quoted 14 lines
(quoted diff) +1 -0
+
package/ejabberd/Config.in +1 -0
index 7b4e99b..7add8c6 100644
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_EJABBERD
 	bool "ejabberd"
 	depends on BR2_PACKAGE_ERLANG
+	depends on BR2_INSTALL_LIBSTDCPP # required for erlang-p1-stringprep
 	select BR2_PACKAGE_ERLANG_LAGER
 	select BR2_PACKAGE_ERLANG_P1_CACHE_TAB
 	select BR2_PACKAGE_ERLANG_P1_ICONV

package/ejabberd/Config.in config BR2_PACKAGE_EJABBERD · line 23

Quoted 7 lines
package/ejabberd/Config.in +2 -2
@@ -18,5 +19,5 @@ config BR2_PACKAGE_EJABBERD
 
 	  http://www.ejabberd.im
 
-comment "ejabberd needs erlang"
-	depends on !BR2_PACKAGE_ERLANG
+comment "ejabberd needs erlang and a toolchain w/ C++"
+	depends on !BR2_PACKAGE_ERLANG || !BR2_INSTALL_LIBSTDCPP

This part must be in erlang-p1-stringprep patch bump.

Quoted 18 lines
package/ejabberd/ejabberd.hash +3 -3
index b027183..ea85d1c 100644
@@ -1,4 +1,4 @@
-# From https://www.process-one.net/downloads/ejabberd/15.11/ejabberd-15.11.tgz.md5
-md5 a6997b88d44c5a5acff45bb1d938d0f3 ejabberd-15.11.tgz
+# From https://www.process-one.net/downloads/ejabberd/15.11/ejabberd-16.01.tgz.md5
+md5 5e525c25c8f04287217b8a9522d7c942 ejabberd-16.01.tgz
 # Locally computed
-sha256 01044b5a25f9f8dda8c60726698bd27d650751b810e5bfa23f9bb49ba20e946a ejabberd-15.11.tgz
+sha256 e2cc479d5870539b2e6756690b227969c88a541d464d1fc6e1cbf7270ad7d681 ejabberd-16.01.tgz
package/ejabberd/ejabberd.mk +0 -0
index 841c911..a3aad35 100644

package/ejabberd/ejabberd.mk line 10

Quoted 8 lines
package/ejabberd/ejabberd.mk +1 -1
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-EJABBERD_VERSION = 15.11
+EJABBERD_VERSION = 16.01
 EJABBERD_SOURCE = ejabberd-$(EJABBERD_VERSION).tgz
 EJABBERD_SITE = https://www.process-one.net/downloads/ejabberd/$(EJABBERD_VERSION)
 EJABBERD_LICENSE = GPLv2+ with OpenSSL exception

It would be great if you add a comment about these lines (patch 0003) EJABBERD_USE_AUTOCONF = YES
EJABBERD_AUTORECONF = YES

Best regards,
Romain

#92 lore raw

PATCH v2 18/18 erlang: support choosing atomic ops

In reply to Frank Hunleth

Erlang requires atomic ops support and provides several options for fulfilling this need. Previously in Buildroot only the libatomic_ops option was used, but with Erlang 18, the Erlang developers prefer their own atomic ops implementation is used. This change makes it possible to select between options.

Additionally, this fixes an autobuilder failure that occurs when using libatomic_ops on aarch64. Erlang's native atomic ops implementation works on aarch64.

Fixes:
http://autobuild.buildroot.net/results/0cd/0cd22eb74fa29e5a85bf897762e16ab3daf33962/

---
Changes v1->v2:
- Add BR2_PACKAGE_ERLANG_ARCH_SUPPORTS and related changes (Thanks to Thomas)
- Atomic ops selection is a choice now due to the potential for more than two options based on the Erlang documentation.
- Line wrapping updates
- Added note on Erlang choosing native atomic ops even if libatomic_ops is present.
- Removed LIBS=-latomic_ops. The ./configure test for it still worked, and Erlang linked to it without errors.

 package/erlang/Config.in | 55 ++++++++++++++++++++++++++++++++++++++++++------
 package/erlang/erlang.mk |  6 +++++-
 2 files changed, 54 insertions(+), 7 deletions(-)
package/erlang/Config.in +49 -6
index 0ec01bb..2a3098c 100644
@@ -1,14 +1,30 @@
-comment "erlang needs a toolchain w/ dynamic library"
-	depends on BR2_USE_MMU # fork()
-	depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
-	depends on BR2_STATIC_LIBS
+# Erlang requires platform support for atomic operations. See the
+# HOWTO/INSTALL.md file for the full description. A summary of the
+# options is as follows:
+#
+#   1. Erlang's atomic operations on 32/64-bit x86, 32/64-bit
+#      SPARC V9, 32-bit PowerPC, or 32-bit Tile. The INSTALL.md
+#      omits 32/64-bit ARM support, but those are supported as well.
+#   2. The API provided by Windows (N/A for Buildroot)
+#   3. Native atomic operations provided by the '__atomic_*' builtins
+#      with gcc 4.7 or later.
+#   4. libatomic_ops
+#   5. The availability of __sync_*() operations. Based on
+#      http://autobuild.buildroot.org/results/209/2090874eee165af3349cf2d597657fc1b4ca1012/build-end.log,
+#      it needs the 4-byte and 8-byte versions.
+#
+# Cases 3 and 5 do not appear to work on configurations that are not
+# included in 1 and 4 due to compiler errors.
+config BR2_PACKAGE_ERLANG_ARCH_SUPPORTS
+	bool
+	default y if BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sparc_v9 || BR2_arm || BR2_aarch64 # case (1)
+	default y if BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # case (4)
 
 config BR2_PACKAGE_ERLANG
 	bool "erlang"
 	depends on BR2_USE_MMU # fork()
 	depends on !BR2_STATIC_LIBS
-	depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
-	select BR2_PACKAGE_LIBATOMIC_OPS
+	depends on BR2_PACKAGE_ERLANG_ARCH_SUPPORTS
 	help
 	  Erlang is a programming language used to build massively scalable
 	  soft real-time systems with requirements on high availability.
@@ -20,6 +36,28 @@ config BR2_PACKAGE_ERLANG
 
 if BR2_PACKAGE_ERLANG
 
+choice
+	prompt "atomic ops"
+	help
+	  Selects the atomic operations implementation used by the Erlang
+	  VM
+
+config BR2_PACKAGE_ERLANG_NATIVE_ATOMIC_OPS
+	bool "native atomic ops"
+	help
+	  Use Erlang's native atomic ops implementation. If unsure, select
+	  this choice.
+
+config BR2_PACKAGE_ERLANG_LIBATOMIC_OPS
+	bool "libatomic_ops"
+	depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
+	depends on !BR2_aarch64 # causes build failures
+	select BR2_PACKAGE_LIBATOMIC_OPS
+	help
+	  Use libatomic_ops to provide atomic ops support.
+
+endchoice
+
 config BR2_PACKAGE_ERLANG_SMP
 	bool "enable SMP support"
 	help
@@ -38,3 +76,8 @@ config BR2_PACKAGE_ERLANG_MEGACO
 	  enable it.
 
 endif # BR2_PACKAGE_ERLANG
+
+comment "erlang needs a toolchain w/ dynamic library, atomic_ops"
+	depends on BR2_USE_MMU # fork()
+	depends on BR2_STATIC_LIBS || !BR2_PACKAGE_ERLANG_ARCH_SUPPORTS
+
package/erlang/erlang.mk +5 -1
index 638d2c2..b1c8e35 100644
@@ -30,8 +30,12 @@ ERLANG_CONF_ENV += erl_xcomp_sysroot=$(STAGING_DIR)
 
 ERLANG_CONF_OPTS = --without-javac
 
+# Erlang uses its own native atomic ops implementation if support is
+# available. Override this if the user wants libatomic_ops.
+ifeq ($(BR2_PACKAGE_ERLANG_LIBATOMIC_OPS),y)
 ERLANG_DEPENDENCIES += libatomic_ops
-ERLANG_CONF_OPTS += --with-libatomic_ops=$(STAGING_DIR)/usr LIBS=-latomic_ops
+ERLANG_CONF_OPTS += --with-libatomic_ops=$(STAGING_DIR)/usr
+endif
 
 # 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.
Signature · 1 line
2.5.0
#93 lore raw

PATCH v2 18/18 erlang: support choosing atomic ops

Hi Frank, All,

Le 02/02/2016 20:57, Frank Hunleth a ?crit :

Quoted 50 lines

Erlang requires atomic ops support and provides several options for fulfilling this need. Previously in Buildroot only the libatomic_ops option was used, but with Erlang 18, the Erlang developers prefer their own atomic ops implementation is used. This change makes it possible to select between options.

Additionally, this fixes an autobuilder failure that occurs when using libatomic_ops on aarch64. Erlang's native atomic ops implementation works on aarch64.

Fixes:
http://autobuild.buildroot.net/results/0cd/0cd22eb74fa29e5a85bf897762e16ab3daf33962/

---
Changes v1->v2:
- Add BR2_PACKAGE_ERLANG_ARCH_SUPPORTS and related changes (Thanks to Thomas)
- Atomic ops selection is a choice now due to the potential for more than two options based on the Erlang documentation.
- Line wrapping updates
- Added note on Erlang choosing native atomic ops even if libatomic_ops is present.
- Removed LIBS=-latomic_ops. The ./configure test for it still worked, and Erlang linked to it without errors.

 package/erlang/Config.in | 55 ++++++++++++++++++++++++++++++++++++++++++------
 package/erlang/erlang.mk |  6 +++++-
 2 files changed, 54 insertions(+), 7 deletions(-)
package/erlang/Config.in +11 -4
index 0ec01bb..2a3098c 100644
@@ -1,14 +1,30 @@
-comment "erlang needs a toolchain w/ dynamic library"
-	depends on BR2_USE_MMU # fork()
-	depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
-	depends on BR2_STATIC_LIBS
+# Erlang requires platform support for atomic operations. See the
+# HOWTO/INSTALL.md file for the full description. A summary of the
+# options is as follows:
+#
+#   1. Erlang's atomic operations on 32/64-bit x86, 32/64-bit
+#      SPARC V9, 32-bit PowerPC, or 32-bit Tile. The INSTALL.md
+#      omits 32/64-bit ARM support, but those are supported as well.
+#   2. The API provided by Windows (N/A for Buildroot)
+#   3. Native atomic operations provided by the '__atomic_*' builtins
+#      with gcc 4.7 or later.
+#   4. libatomic_ops

package/erlang/Config.in line 21

Quoted 10 lines
package/erlang/Config.in +10 -0
+#   5. The availability of __sync_*() operations. Based on
+#      http://autobuild.buildroot.org/results/209/2090874eee165af3349cf2d597657fc1b4ca1012/build-end.log,
+#      it needs the 4-byte and 8-byte versions.
+#
+# Cases 3 and 5 do not appear to work on configurations that are not
+# included in 1 and 4 due to compiler errors.
+config BR2_PACKAGE_ERLANG_ARCH_SUPPORTS
+	bool
+	default y if BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sparc_v9 || BR2_arm || BR2_aarch64 # case (1)
+	default y if BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # case (4)

Copy past error: BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS doesn't exist but you probably wanted BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS.

Maybe BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS which is defined in libatomic_ops package is confusing... Thomas ?

Quoted 16 lines
package/erlang/Config.in +2 -2
 config BR2_PACKAGE_ERLANG
 	bool "erlang"
 	depends on BR2_USE_MMU # fork()
 	depends on !BR2_STATIC_LIBS
-	depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
-	select BR2_PACKAGE_LIBATOMIC_OPS
+	depends on BR2_PACKAGE_ERLANG_ARCH_SUPPORTS
 	help
 	  Erlang is a programming language used to build massively scalable
 	  soft real-time systems with requirements on high availability.
@@ -20,6 +36,28 @@ config BR2_PACKAGE_ERLANG
 
 if BR2_PACKAGE_ERLANG
 
+choice

package/erlang/Config.in config BR2_PACKAGE_ERLANG · line 49

Quoted 10 lines
package/erlang/Config.in +10 -0
+	prompt "atomic ops"
+	help
+	  Selects the atomic operations implementation used by the Erlang
+	  VM
+
+config BR2_PACKAGE_ERLANG_NATIVE_ATOMIC_OPS
+	bool "native atomic ops"
+	help
+	  Use Erlang's native atomic ops implementation. If unsure, select
+	  this choice.

Well, for now BR2_PACKAGE_ERLANG_NATIVE_ATOMIC_OPS is not used anywhere.

Maybe you can just add BR2_PACKAGE_ERLANG_LIBATOMIC_OPS for now. If Erlang add a new libatomic options in a further release then you can add a choice in the packaging.

Quoted 15 lines
package/erlang/Config.in +11 -0
+
+config BR2_PACKAGE_ERLANG_LIBATOMIC_OPS
+	bool "libatomic_ops"
+	depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
+	depends on !BR2_aarch64 # causes build failures
+	select BR2_PACKAGE_LIBATOMIC_OPS
+	help
+	  Use libatomic_ops to provide atomic ops support.
+
+endchoice
+
 config BR2_PACKAGE_ERLANG_SMP
 	bool "enable SMP support"
 	help

package/erlang/Config.in config BR2_PACKAGE_ERLANG_MEGACO · line 82

Quoted 7 lines
package/erlang/Config.in +4 -0
@@ -38,3 +76,8 @@ config BR2_PACKAGE_ERLANG_MEGACO
 	  enable it.
 
 endif # BR2_PACKAGE_ERLANG
+
+comment "erlang needs a toolchain w/ dynamic library, atomic_ops"
+	depends on BR2_USE_MMU # fork()
+	depends on BR2_STATIC_LIBS || !BR2_PACKAGE_ERLANG_ARCH_SUPPORTS

Indeed the dependencies comment is missing in erlang but it's not related to libatomic_ops. It would be great if you add this in a separate patch at the beginning of this series.

Quoted 6 lines
package/erlang/Config.in +1 -0
+
package/erlang/erlang.mk +0 -0
index 638d2c2..b1c8e35 100644

package/erlang/erlang.mk ERLANG_CONF_ENV += erl_xcomp_sysroot=$(STAGING_DIR) · line 38

Quoted 10 lines
package/erlang/erlang.mk +5 -1
@@ -30,8 +30,12 @@ ERLANG_CONF_ENV += erl_xcomp_sysroot=$(STAGING_DIR)
 
 ERLANG_CONF_OPTS = --without-javac
 
+# Erlang uses its own native atomic ops implementation if support is
+# available. Override this if the user wants libatomic_ops.
+ifeq ($(BR2_PACKAGE_ERLANG_LIBATOMIC_OPS),y)
 ERLANG_DEPENDENCIES += libatomic_ops
-ERLANG_CONF_OPTS += --with-libatomic_ops=$(STAGING_DIR)/usr LIBS=-latomic_ops
+ERLANG_CONF_OPTS += --with-libatomic_ops=$(STAGING_DIR)/usr
+endif

Maybe the removal of LIBS=-latomic_ops should be part of Erlang bump patch ?

Best regards,
Romain

Quoted 4 lines
package/erlang/erlang.mk +0 -0
 # 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.
 
#94 lore raw

PATCH v2 18/18 erlang: support choosing atomic ops

Romain, Frank,

Quoted 5 lines · Romain Naour

Copy past error: BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS doesn't exist but you probably wanted BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS.

Maybe BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS which is defined in libatomic_ops package is confusing... Thomas ?

Yes, it should be renamed to BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS. Could someone send a patch for this?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com