Erlang 18 and native atomic ops
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
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
@@ -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
@@ -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
@@ -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
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.
Signed-off-by Frank Hunleth <[email protected]>--- ...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.patchpackage/erlang/0004-erts-fix-incorrect-use-of-ac-egrep-cpp.patch deleted +0
-79@@ -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
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@@ -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
-2ERLANG_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
PATCH 2/18 pkg-rebar.mk: pass C++ compiler path and options
In reply to Frank HunlethPreviously 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
@@ -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
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
@@ -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
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
@@ -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
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
@@ -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
PATCH 6/18 erlang-fast_tls: new package
In reply to Frank HunlethThis 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
@@ -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
@@ -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
@@ -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
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.mkpackage/Config.in +0
-0
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
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.mkpackage/Config.in +0
-0package/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
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
@@ -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
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
@@ -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
PATCH 9/18 erlang-p1-stringprep: bump to version 1.0.0
In reply to Frank HunlethThis 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
@@ -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
@@ -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
PATCH 10/18 erlang-p1_stun: bump to version 0.9.0
In reply to Frank HunlethAs 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
@@ -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
@@ -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
@@ -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
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
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
@@ -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
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
@@ -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
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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>--- 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
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
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
@@ -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
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
@@ -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
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
@@ -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
PATCH 17/18 ejabberd: bump to version 16.01
In reply to Frank HunlethAs 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
PATCH 18/18 erlang: make libatomic_ops optional
In reply to Frank HunlethThe 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
@@ -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
@@ -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
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_opswas necessary. Nowlibatomic_opsis 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/Signed-off-by Frank Hunleth <[email protected]>--- package/erlang/Config.in | 10 ++++++++-- package/erlang/erlang.mk | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-)package/erlang/Config.in +0
-0
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
-0help 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" helppackage/erlang/erlang.mk +0
-0
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
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_opswas necessary. Nowlibatomic_opsis 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 isIf using
libatomic_opson aarch64 with erlang causes build failures, then yourBR2_PACKAGE_ERLANG_USE_LIBATOMIC_OPSoption 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/Signed-off-by Frank Hunleth <[email protected]>--- 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@@ -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_opsThis 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
-0help 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_OPSWe rarely use _USE_ in Config.in options for such cases. Just
BR2_PACKAGE_ERLANG_LIBATOMIC_OPSis 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_OPSThis is where you should have the
"depends onBR2_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" helppackage/erlang/erlang.mk +0
-0@@ -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 +endifCan you add a "else" clause to explicitly disable
libatomic_opssupport? Otherwise,libatomic_opsmay 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
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@@ -7,8 +7,7 @@ config BR2_PACKAGE_ERLANGQuoted 8 lines
package/erlang/Config.in config BR2_PACKAGE_ERLANG · line 10
Quoted 6 lines
package/erlang/Config.in +1
-2bool "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_opsThis 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_SUPPORTShas 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
gcccompatible compiler for 32/64-bit x86, 32/64-bit SPARC V9, 32-bit PowerPC, or 32-bit Tile. When compiling with agcccompatible 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 agccof at least version 4.7) and/or using the__sync_*builtins (may be available when using agccof at least version 4.1). If only thegcc'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_opslibrary 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 thelibatomic_opslibrary is installed using the--with-libatomic_ops=PATHconfigureswitch.
5. As a last resort, the implementation solely based on thegcc__sync_*builtins. This will however cause lots of expensive and unnecessary memory barrier instructions to be issued. That is, performance will suffer. Theconfigurescript 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 +endifCan you add a "else" clause to explicitly disable
libatomic_opssupport? Otherwise,libatomic_opsmay 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 uselibatomic_opseven 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
v2 cover Erlang 18 and native atomic ops
In reply to Frank HunlethThis 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.patchSignature · 1 line
2.5.0
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
@@ -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
@@ -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
@@ -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
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.
Signed-off-by Frank Hunleth <[email protected]>
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.patchpackage/erlang/0004-erts-fix-incorrect-use-of-ac-egrep-cpp.patch deleted +0
-79@@ -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@@ -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.gzpackage/erlang/erlang.mk +5
-5@@ -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
Thomas Petazzoni
AppliedPATCH v2 1/18 erlang: bump to version 18.2.1
In reply to Frank HunlethDear 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.
Signed-off-by Frank Hunleth <[email protected]>---
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
PATCH v2 2/18 pkg-rebar.mk: pass C++ compiler path and options
In reply to Frank HunlethPreviously 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
@@ -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
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.
Signed-off-by Frank Hunleth <[email protected]>
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@@ -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) \
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.
Signed-off-by Frank Hunleth <[email protected]>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
Reviewed-by Romain Naour <[email protected]>Best regards,
RomainQuoted 19 lines
--- package/pkg-rebar.mk | 2 ++ 1 file changed, 2 insertions(+)package/pkg-rebar.mk +2
-0@@ -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/
PATCH v2 2/18 pkg-rebar.mk: pass C++ compiler path and options
In reply to Frank HunlethDear 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.
Signed-off-by Frank Hunleth <[email protected]>--- 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
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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>
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@@ -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
Thomas Petazzoni
AppliedPATCH v2 3/18 erlang-goldrush: bump to version 0.1.8
In reply to Frank HunlethDear Frank Hunleth,
Quoted 4 lines · Frank Hunleth
Signed-off-by Frank Hunleth <[email protected]>--- 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
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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>
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@@ -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
Thomas Petazzoni
AppliedPATCH v2 4/18 erlang-lager: bump to version 2.2.0
In reply to Frank HunlethDear Frank Hunleth,
Quoted 4 lines · Frank Hunleth
Signed-off-by Frank Hunleth <[email protected]>--- 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
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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>--- package/erlang-rebar/erlang-rebar.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)package/erlang-rebar/erlang-rebar.mk +0
-0
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
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
Signed-off-by Frank Hunleth <[email protected]>--- package/erlang-rebar/erlang-rebar.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)package/erlang-rebar/erlang-rebar.mk +1
-1@@ -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 theThere 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_FILESnot defined)Also it override the one defined in erlang package :-/
Best regards,
Romain
PATCH v2 5/18 erlang-rebar: bump to version 2.6.1
In reply to Romain NaourRomain, 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 theThere 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_FILESnot 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
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.0If 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. | '------------------------------^-------^------------------^--------------------'
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 = LICENSEQuoted 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
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 receivedfile-1.cunder the MIT license. However, you could also claim that the distributors of erlang-rebar never intended to change the license offile-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. | '------------------------------^-------^------------------^--------------------'
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.0Quoted 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 receivedfile-1.cunder the MIT license. However, you could also claim that the distributors of erlang-rebar never intended to change the license offile-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
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
Thomas Petazzoni
AppliedPATCH v2 5/18 erlang-rebar: bump to version 2.6.1
In reply to Frank HunlethDear Frank Hunleth,
Quoted 4 lines · Frank Hunleth
Signed-off-by Frank Hunleth <[email protected]>--- 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
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
Signed-off-by Frank Hunleth <[email protected]>---
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
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
PATCH v2 6/18 erlang-fast_tls: new package
In reply to Frank HunlethThis 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
@@ -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
@@ -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
@@ -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
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.
Signed-off-by Frank Hunleth <[email protected]>
Best regards,
Romain
Quoted 60 lines
---
Changesv1->v2:
- Add SoB
- Fix alphabetic ordering in package list
- Add missing dependency on erlang-p1-utilspackage/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.mkpackage/Config.in +1
-0@@ -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@@ -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_tlspackage/erlang-fast_tls/erlang-fast_tls.mk new file +14
-0@@ -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))
PATCH v2 6/18 erlang-fast_tls: new package
In reply to Frank HunlethDear Frank Hunleth,
Quoted 3 lines · Frank Hunleth
This package is used by the newer versions of the ejabberd dependencies.
Signed-off-by Frank Hunleth <[email protected]>
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
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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>
Best regards,
Romain
Quoted 25 lines
---
Changesv1->v2:
- Fix license file namepackage/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@@ -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))
PATCH v2 7/18 erlang-p1-cache-tab: bump to version 1.0.1
In reply to Frank HunlethDear 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
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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>
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@@ -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
Thomas Petazzoni
AppliedPATCH v2 8/18 erlang-p1-iconv: bump to version 0.9.0
In reply to Frank HunlethDear Frank Hunleth,
Quoted 4 lines · Frank Hunleth
Signed-off-by Frank Hunleth <[email protected]>--- 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
PATCH v2 9/18 erlang-p1-stringprep: bump to version 1.0.0
In reply to Frank HunlethThis 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
@@ -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
@@ -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
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.
Signed-off-by Frank Hunleth <[email protected]>--- 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
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@@ -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
Thomas Petazzoni
AppliedPATCH v2 9/18 erlang-p1-stringprep: bump to version 1.0.0
In reply to Frank HunlethDear Frank Hunleth,
Quoted 8 lines · Frank Hunleth
This version includes C++ code, so also add dependency on a C++ compiler.
Signed-off-by Frank Hunleth <[email protected]>--- 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
PATCH v2 10/18 erlang-p1_stun: bump to version 0.9.0
In reply to Frank HunlethAs 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
@@ -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
@@ -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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>--- 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@@ -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@@ -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 Erlangpackage/erlang-p1_stun/erlang-p1_stun.mk renamed from package/erlang-p1-stun/erlang-p1-stun.mk +3
-3@@ -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))
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,
RomainQuoted 65 lines
Signed-off-by Frank Hunleth <[email protected]>--- 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@@ -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@@ -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 Erlangpackage/erlang-p1_stun/erlang-p1_stun.mk renamed from package/erlang-p1-stun/erlang-p1-stun.mk +3
-3@@ -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))
PATCH v2 10/18 erlang-p1_stun: bump to version 0.9.0
In reply to Frank HunlethDear 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.
Signed-off-by Frank Hunleth <[email protected]>
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_STUNpackage/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
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
Signed-off-by Frank Hunleth <[email protected]>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_STUNpackage/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_TLSwas not the proper dependency, and instead keepingBR2_PACKAGE_ERLANG_P1_TLSwas the right solution. Could you double check why you switched tofast_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/
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_STUNpackage/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_TLSwas not the proper dependency, and instead keepingBR2_PACKAGE_ERLANG_P1_TLSwas the right solution. Could you double check why you switched tofast_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
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_STUNpackage/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_TLSBuild testing has shown that
BR2_PACKAGE_ERLANG_FAST_TLSwas not the proper dependency, and instead keepingBR2_PACKAGE_ERLANG_P1_TLSwas the right solution. Could you double check why you switched tofast_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_tlspackage still useful?
No. I'll send a patch that removes it.
Frank
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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>
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@@ -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))
PATCH v2 11/18 erlang-p1-sip: bump to version 1.0.0
In reply to Frank HunlethDear Frank Hunleth,
Quoted 10 lines · Frank Hunleth
Signed-off-by Frank Hunleth <[email protected]>--- 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
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
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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>
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@@ -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
Thomas Petazzoni
AppliedPATCH v2 12/18 erlang-p1-tls: bump to version 1.0.0
In reply to Frank HunlethDear Frank Hunleth,
Quoted 4 lines · Frank Hunleth
Signed-off-by Frank Hunleth <[email protected]>--- 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
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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>
Best regards,
Romain
Quoted 25 lines
---
Changesv1->v2:
- Fix license file namepackage/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@@ -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))
Thomas Petazzoni
AppliedPATCH v2 13/18 erlang-p1-utils: bump to version 1.0.3
In reply to Frank HunlethDear Frank Hunleth,
Quoted 4 lines · Frank Hunleth
Signed-off-by Frank Hunleth <[email protected]>---
Changesv1->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
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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>---
Changesv1->v2:
- Fix license file namepackage/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
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
-0ERLANG_P1_XML_INSTALL_STAGING = YES
PATCH v2 14/18 erlang-p1-xml: bump to version 1.1.1
In reply to Frank HunlethDear Frank Hunleth,
Quoted 14 lines · Frank Hunleth
Signed-off-by Frank Hunleth <[email protected]>---
Changesv1->v2:
- Fix license file namepackage/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@@ -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
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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>--- 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
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
PATCH v2 15/18 erlang-p1-yaml: bump to version 1.0.0
In reply to Frank HunlethDear Frank Hunleth,
Quoted 10 lines · Frank Hunleth
Signed-off-by Frank Hunleth <[email protected]>--- 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
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
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
@@ -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
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
Signed-off-by Frank Hunleth <[email protected]>
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@@ -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
Thomas Petazzoni
AppliedPATCH v2 16/18 erlang-p1-zlib: bump to version 1.0.0
In reply to Frank HunlethDear Frank Hunleth,
Quoted 4 lines · Frank Hunleth
Signed-off-by Frank Hunleth <[email protected]>--- 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
PATCH v2 17/18 ejabberd: bump to version 16.01
In reply to Frank HunlethAs 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
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.
Signed-off-by Frank Hunleth <[email protected]>--- ...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@@ -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@@ -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.tgzpackage/ejabberd/ejabberd.mk +0
-0
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 = YESEJABBERD_AUTORECONF = YES
Best regards,
Romain
PATCH v2 18/18 erlang: support choosing atomic ops
In reply to Frank HunlethErlang 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
@@ -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
@@ -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
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_opsoption 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_opson aarch64. Erlang's native atomic ops implementation works on aarch64.Fixes:
http://autobuild.buildroot.net/results/0cd/0cd22eb74fa29e5a85bf897762e16ab3daf33962/Signed-off-by Frank Hunleth <[email protected]>---
Changesv1->v2:
- AddBR2_PACKAGE_ERLANG_ARCH_SUPPORTSand 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 iflibatomic_opsis 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@@ -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
-2config 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
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.
PATCH v2 18/18 erlang: support choosing atomic ops
Romain, Frank,
Quoted 5 lines · Romain Naour
Copy past error:
BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTSdoesn't exist but you probably wantedBR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS.Maybe
BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTSwhich is defined inlibatomic_opspackage 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