From a6c18203f47a708fd520caf2e2a6e48b7bc23022 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 4 Feb 2013 12:22:32 +0400
Subject: [PATCH 001/322] Ver. R16A
Signed-off-by: Peter Lemenkov
---
.gitignore | 4 +
erlang.spec | 76 +-
...n-pages-and-do-not-install-miscellan.patch | 4 +-
otp-0002-Remove-rpath.patch | 6 +-
otp-0003-Do-not-install-C-sources.patch | 87 +-
otp-0004-Do-not-install-Java-sources.patch | 18 +-
...teventlog-and-related-doc-files-on-n.patch | 8 +-
...Do-not-install-VxWorks-specific-docs.patch | 21 -
...p-0006-Do-not-install-erlang-sources.patch | 168 +-
...for-java-1.5.0-gcj-which-doesn-t-sup.patch | 4 +-
...tion-of-a-n-internal-erl_interface-A.patch | 49 -
otp-get-patches.sh | 92 -
otp_src_R16A_RELEASE_CANDIDATE.readme | 2250 +++++++++++++++++
sources | 5 +-
14 files changed, 2422 insertions(+), 370 deletions(-)
delete mode 100644 otp-0006-Do-not-install-VxWorks-specific-docs.patch
rename otp-0007-Do-not-install-erlang-sources.patch => otp-0006-Do-not-install-erlang-sources.patch (93%)
rename otp-0008-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch => otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch (96%)
delete mode 100644 otp-0009-Restore-installation-of-a-n-internal-erl_interface-A.patch
delete mode 100755 otp-get-patches.sh
create mode 100644 otp_src_R16A_RELEASE_CANDIDATE.readme
diff --git a/.gitignore b/.gitignore
index 47b31a3..13eb3d8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,7 @@ otp_src_R14A.tar.gz
/otp_doc_man_R15B03-1.tar.gz
/otp_src_R15B03-1.readme
/otp_src_R15B03-1.tar.gz
+/otp_doc_html_R16A_RELEASE_CANDIDATE.tar.gz
+/otp_doc_man_R16A_RELEASE_CANDIDATE.tar.gz
+/otp_src_R16A_RELEASE_CANDIDATE.tar.gz
+/otp_src_R16A_RELEASE_CANDIDATE.readme
diff --git a/erlang.spec b/erlang.spec
index a897a47..8413b3a 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -1,7 +1,7 @@
-%global upstream_ver R15B
+%global upstream_ver R16A
# Do NOT change %%{upstream_rel} unless UPSTREAM has actually changed it!
-%global upstream_rel 03
-#%%global upstream_rel %%{nil}
+#%global upstream_rel 03
+%global upstream_rel %{nil}
# Use %%{nil} for %%{upstream_rel} for tracking source like otp_src_R14B.tar.gz,
# and 01 %%{upstream_rel} for tracking source like otp_src_R14B01.tar.gz.
@@ -25,18 +25,18 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.2%{?dist}
+Release: %{upstream_rel_for_rpm}.1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
License: ERPL
URL: http://www.erlang.org
-Source0: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}-1.tar.gz
+Source0: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}_RELEASE_CANDIDATE.tar.gz
%if %{use_prebuilt_docs}
-Source1: http://erlang.org/download/otp_doc_html_%{upstream_ver}%{upstream_rel}-1.tar.gz
-Source2: http://erlang.org/download/otp_doc_man_%{upstream_ver}%{upstream_rel}-1.tar.gz
+Source1: http://erlang.org/download/otp_doc_html_%{upstream_ver}%{upstream_rel}_RELEASE_CANDIDATE.tar.gz
+Source2: http://erlang.org/download/otp_doc_man_%{upstream_ver}%{upstream_rel}_RELEASE_CANDIDATE.tar.gz
%endif
-Source4: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}-1.readme
+Source4: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}_RELEASE_CANDIDATE.readme
# For the source of the Fedora specific patches, see the respective
@@ -71,17 +71,11 @@ Patch4: otp-0004-Do-not-install-Java-sources.patch
# Do not install nteventlog and related doc-files on non-win32
Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
# Fedora specific patch
-# Do not install VxWorks-specific docs
-Patch6: otp-0006-Do-not-install-VxWorks-specific-docs.patch
-# Fedora specific patch
# Do not install erlang sources
-Patch7: otp-0007-Do-not-install-erlang-sources.patch
+Patch6: otp-0006-Do-not-install-erlang-sources.patch
# Required only for el5, el6 on PowerPC
# Ugly workaround for java-1.5.0-gcj which doesn't support
-Patch8: otp-0008-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
-# Fedora specific patch
-# Restore installation of a n internal erl_interface API
-Patch9: otp-0009-Restore-installation-of-a-n-internal-erl_interface-A.patch
+Patch7: otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
# end of autogenerated patch tag list
# BuildRoot not strictly needed since F10, but keep it for spec file robustness
@@ -136,7 +130,6 @@ Requires: erlang-gs%{?_isa} = %{version}-%{release}
Requires: erlang-hipe%{?_isa} = %{version}-%{release}
Requires: erlang-ic%{?_isa} = %{version}-%{release}
Requires: erlang-inets%{?_isa} = %{version}-%{release}
-Requires: erlang-inviso%{?_isa} = %{version}-%{release}
Requires: erlang-jinterface%{?_isa} = %{version}-%{release}
Requires: erlang-kernel%{?_isa} = %{version}-%{release}
Requires: erlang-megaco%{?_isa} = %{version}-%{release}
@@ -167,6 +160,7 @@ Requires: erlang-webtool%{?_isa} = %{version}-%{release}
Requires: erlang-wx%{?_isa} = %{version}-%{release}
Requires: erlang-xmerl%{?_isa} = %{version}-%{release}
Obsoletes: erlang-docbuilder
+Obsoletes: erlang-inviso
%description
Erlang is a general-purpose programming language and runtime
@@ -182,6 +176,7 @@ Requires: %{name}-gs%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
+Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Obsoletes: %{name} < R13B-04.5
%description appmon
@@ -193,7 +188,6 @@ Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
Obsoletes: %{name} < R13B-04.5
%description asn1
@@ -354,7 +348,7 @@ Obsoletes: %{name} < R13B-04.5
A debugger for debugging and testing of Erlang programs.
%package dialyzer
-Summary: A DIscrepany AnaLYZer for ERlang programs
+Summary: A DIscrepancy AnaLYZer for ERlang programs
Group: Development/Languages
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
@@ -367,7 +361,7 @@ Requires: %{name}-wx%{?_isa} = %{version}-%{release}
Obsoletes: %{name} < R13B-04.5
%description dialyzer
-A DIscrepany AnaLYZer for ERlang programs.
+A DIscrepancy AnaLYZer for ERlang programs.
%package diameter
Summary: Diameter (RFC 3588) library
@@ -540,18 +534,6 @@ Obsoletes: %{name} < R13B-04.5
%description inets
A set of services such as a Web server and a ftp client etc.
-%package inviso
-Summary: A trace tool for both development and delivered systems
-Group: Development/Languages
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
-Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
-
-%description inviso
-A trace tool for both development and delivered systems.
-
%package jinterface
Summary: A library for accessing Java from Erlang
Group: Development/Languages
@@ -600,6 +582,7 @@ from media conversion.
%package mnesia
Summary: A heavy duty real-time distributed database
Group: Development/Languages
+#Error:erlang(megaco_flex_scanner:scan/2)
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -611,7 +594,6 @@ A heavy duty real-time distributed database.
%package observer
Summary: A set of tools for tracing and investigation of distributed systems
Group: Development/Languages
-Requires: %{name}-appmon%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-et%{?_isa} = %{version}-%{release}
Requires: %{name}-gs%{?_isa} = %{version}-%{release}
@@ -844,6 +826,7 @@ reading source files differently, pretty-printing syntax trees.
Summary: The OTP Test Server
Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
+Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-observer%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
@@ -998,14 +981,12 @@ Erlang mode for XEmacs (source lisp files).
%patch3 -p1 -b .Do_not_install_C_sources
%patch4 -p1 -b .Do_not_install_Java_sources
%patch5 -p1 -b .Do_not_install_nteventlog_and_related_doc_files_on_n
-%patch6 -p1 -b .Do_not_install_VxWorks_specific_docs
-%patch7 -p1 -b .Do_not_install_erlang_sources
+%patch6 -p1 -b .Do_not_install_erlang_sources
%if 0%{?el4}%{?el5}%{?el6}
%ifnarch %{ix86} x86_64
-%patch8 -p1 -b .Ugly_workaround_for_java_1_5_0_gcj_which_doesn_t_sup
+%patch7 -p1 -b .Ugly_workaround_for_java_1_5_0_gcj_which_doesn_t_sup
%endif
%endif
-%patch9 -p1 -b .Restore_installation_of_a_n_internal_erl_interface_A
# end of autogenerated prep patch list
# remove shipped zlib sources
@@ -1637,17 +1618,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/tftp.*
%endif
-%files inviso
-%{_libdir}/erlang/lib/inviso-*/
-%if %{with doc}
-%{_libdir}/erlang/man/man3/inviso.*
-%{_libdir}/erlang/man/man3/inviso_as_lib.*
-%{_libdir}/erlang/man/man3/inviso_lfm.*
-%{_libdir}/erlang/man/man3/inviso_lfm_tpfreader.*
-%{_libdir}/erlang/man/man3/inviso_rt.*
-%{_libdir}/erlang/man/man3/inviso_rt_meta.*
-%endif
-
%files jinterface
%{_libdir}/erlang/lib/jinterface-*/
%{_javadir}/%{name}/OtpErlang.jar
@@ -1681,7 +1651,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/net_adm.*
%{_libdir}/erlang/man/man3/net_kernel.*
%{_libdir}/erlang/man/man3/os.*
-%{_libdir}/erlang/man/man3/packages.*
%{_libdir}/erlang/man/man3/pg2.*
%{_libdir}/erlang/man/man3/rpc.*
%{_libdir}/erlang/man/man3/seq_trace.*
@@ -1922,9 +1891,12 @@ rm -rf $RPM_BUILD_ROOT
%if %{with doc}
%{_libdir}/erlang/man/man3/ssh.*
%{_libdir}/erlang/man/man3/ssh_channel.*
+%{_libdir}/erlang/man/man3/ssh_client_key_api.*
%{_libdir}/erlang/man/man3/ssh_connection.*
+%{_libdir}/erlang/man/man3/ssh_server_key_api.*
%{_libdir}/erlang/man/man3/ssh_sftp.*
%{_libdir}/erlang/man/man3/ssh_sftpd.*
+%{_libdir}/erlang/man/man6/ssh.*
%endif
%files ssl
@@ -2218,7 +2190,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/wxMoveEvent.*
%{_libdir}/erlang/man/man3/wxMultiChoiceDialog.*
%{_libdir}/erlang/man/man3/wxNavigationKeyEvent.*
-%{_libdir}/erlang/man/man3/wxNcPaintEvent.*
%{_libdir}/erlang/man/man3/wxNotebook.*
%{_libdir}/erlang/man/man3/wxNotebookEvent.*
%{_libdir}/erlang/man/man3/wxNotifyEvent.*
@@ -2337,6 +2308,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Feb 03 2013 Peter Lemenkov - R16A-0.1
+- Ver. R16A
+
* Tue Dec 25 2012 Peter Lemenkov - R15B-03.2
- Run make clean before build (to remove pre-built files)
@@ -2487,7 +2461,7 @@ rm -rf $RPM_BUILD_ROOT
- Made erlang-rpm-macros as separate package
- Fix error while installing erlang-rpm-macros
-* Wed Apr 17 2010 Peter Lemenkov - R13B-04.5
+* Sat Apr 17 2010 Peter Lemenkov - R13B-04.5
- Use erlang rpm macros for adding provides/reqires
- All %%{_libdir}/erlang/lib/* items were splitted off from main package, which
in turn becomes purely virtual now.
diff --git a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
index 524ad7f..5952bab 100644
--- a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
+++ b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
@@ -10,10 +10,10 @@ Signed-off-by: Peter Lemenkov
2 files changed, 14 deletions(-)
diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in
-index 83fe97d..f77b485 100644
+index 5c1ce51..5a07855 100644
--- a/erts/etc/common/Makefile.in
+++ b/erts/etc/common/Makefile.in
-@@ -568,10 +568,6 @@ endif
+@@ -474,10 +474,6 @@ endif
ifneq ($(INSTALL_TOP_BIN),)
$(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)"
endif
diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch
index 03fc5eb..2192c39 100644
--- a/otp-0002-Remove-rpath.patch
+++ b/otp-0002-Remove-rpath.patch
@@ -9,18 +9,18 @@ Signed-off-by: Peter Lemenkov
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
-index ffd556c..80e95ef 100644
+index a20ddff..e890927 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
-@@ -84,7 +84,7 @@ endif
+@@ -85,7 +85,7 @@ endif
DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
-SSL_DED_LD_RUNTIME_LIBRARY_PATH = @SSL_DED_LD_RUNTIME_LIBRARY_PATH@
+SSL_DED_LD_RUNTIME_LIBRARY_PATH =
CRYPTO_LINK_LIB=$(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -l$(SSL_CRYPTO_LIBNAME)
+ EXTRA_FLAGS = -DHAVE_DYNAMIC_CRYPTO_LIB
else
- SSL_DED_LD_RUNTIME_LIBRARY_PATH=
diff --git a/lib/crypto/priv/Makefile b/lib/crypto/priv/Makefile
index 0989f14..0d29444 100644
--- a/lib/crypto/priv/Makefile
diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch
index 9e6a72d..705b48f 100644
--- a/otp-0003-Do-not-install-C-sources.patch
+++ b/otp-0003-Do-not-install-C-sources.patch
@@ -2,26 +2,33 @@ From: Peter Lemenkov
Date: Fri, 18 Jun 2010 23:41:33 +0400
Subject: [PATCH] Do not install C sources
-Don't install *.c and *.o files at all.
+Don't install *.c and *.o files.
+
+Excepts ones from the internal erl_interface. These
+API headers are necessary. See rhbz #818419 for the
+explanation why they're necessary for the low-level
+interaction with the Erlang nodes:
+
+https://bugzilla.redhat.com/818419
Signed-off-by: Peter Lemenkov
---
lib/asn1/c_src/Makefile | 2 --
- lib/crypto/c_src/Makefile.in | 3 ---
- lib/erl_interface/src/Makefile.in | 18 ------------------
+ lib/crypto/c_src/Makefile.in | 4 ----
+ lib/erl_interface/src/Makefile.in | 16 ++++++++--------
lib/ic/c_src/Makefile.in | 2 --
lib/megaco/src/flex/Makefile.in | 2 +-
lib/odbc/c_src/Makefile.in | 3 ---
lib/os_mon/c_src/Makefile.in | 2 --
lib/runtime_tools/c_src/Makefile.in | 2 --
lib/tools/c_src/Makefile.in | 2 --
- 9 files changed, 1 insertion(+), 35 deletions(-)
+ 9 files changed, 9 insertions(+), 26 deletions(-)
diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile
-index a73d01a..102d4fb 100644
+index 7023833..8bf8eb9 100644
--- a/lib/asn1/c_src/Makefile
+++ b/lib/asn1/c_src/Makefile
-@@ -112,8 +112,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -107,8 +107,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
$(INSTALL_PROGRAM) $(NIF_SHARED_OBJ_FILE) "$(RELSYSDIR)/priv/lib"
@@ -31,43 +38,31 @@ index a73d01a..102d4fb 100644
release_docs_spec:
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
-index 80e95ef..c644ad2 100644
+index e890927..1377654 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
-@@ -133,10 +133,7 @@ docs:
+@@ -160,13 +160,9 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/priv/obj"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
- $(INSTALL_DATA) $(NIF_MAKEFILE) "$(RELSYSDIR)/priv/obj"
-- $(INSTALL_PROGRAM) $(OBJS) "$(RELSYSDIR)/priv/obj"
+- $(INSTALL_PROGRAM) $(CRYPTO_OBJS) "$(RELSYSDIR)/priv/obj"
$(INSTALL_PROGRAM) $(NIF_LIB) "$(RELSYSDIR)/priv/lib"
+ ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
+- $(INSTALL_PROGRAM) $(CALLBACK_OBJS) "$(RELSYSDIR)/priv/obj"
+ $(INSTALL_PROGRAM) $(CALLBACK_LIB) "$(RELSYSDIR)/priv/lib"
+ endif
- release_docs_spec:
diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
-index cb41391..9aeba86 100644
+index ebacc1c..388e27e 100644
--- a/lib/erl_interface/src/Makefile.in
+++ b/lib/erl_interface/src/Makefile.in
-@@ -846,29 +846,11 @@ release: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/include"
- $(INSTALL_DIR) "$(RELSYSDIR)/lib"
- $(INSTALL_DIR) "$(RELSYSDIR)/bin"
-- $(INSTALL_DIR) "$(RELSYSDIR)/src/auxdir"
-- $(INSTALL_DIR) "$(RELSYSDIR)/src/connect"
-- $(INSTALL_DIR) "$(RELSYSDIR)/src/decode"
-- $(INSTALL_DIR) "$(RELSYSDIR)/src/encode"
-- $(INSTALL_DIR) "$(RELSYSDIR)/src/epmd"
-- $(INSTALL_DIR) "$(RELSYSDIR)/src/legacy"
-- $(INSTALL_DIR) "$(RELSYSDIR)/src/misc"
-- $(INSTALL_DIR) "$(RELSYSDIR)/src/prog"
-- $(INSTALL_DIR) "$(RELSYSDIR)/src/registry"
- $(INSTALL_DATA) $(HEADERS) "$(RELSYSDIR)/include"
- $(INSTALL_DATA) $(OBJ_TARGETS) "$(RELSYSDIR)/lib"
- ifneq ($(EXE_TARGETS),)
+@@ -872,14 +872,14 @@ ifneq ($(EXE_TARGETS),)
$(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin"
endif
-- $(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) connect/*.[ch] "$(RELSYSDIR)/src/connect"
- $(INSTALL_DATA) decode/*.[ch] "$(RELSYSDIR)/src/decode"
- $(INSTALL_DATA) encode/*.[ch] "$(RELSYSDIR)/src/encode"
@@ -76,14 +71,22 @@ index cb41391..9aeba86 100644
- $(INSTALL_DATA) registry/*.[ch] "$(RELSYSDIR)/src/registry"
- $(INSTALL_DATA) legacy/*.[ch] "$(RELSYSDIR)/src/legacy"
- $(INSTALL_DATA) prog/*.[ch] "$(RELSYSDIR)/src/prog"
++ $(INSTALL_DATA) connect/*.h "$(RELSYSDIR)/src/connect"
++ $(INSTALL_DATA) decode/*.h "$(RELSYSDIR)/src/decode"
++ $(INSTALL_DATA) encode/*.h "$(RELSYSDIR)/src/encode"
++ $(INSTALL_DATA) epmd/*.h "$(RELSYSDIR)/src/epmd"
++ $(INSTALL_DATA) misc/*.h "$(RELSYSDIR)/src/misc"
++ $(INSTALL_DATA) registry/*.h "$(RELSYSDIR)/src/registry"
++ $(INSTALL_DATA) legacy/*.h "$(RELSYSDIR)/src/legacy"
++ $(INSTALL_DATA) prog/*.h "$(RELSYSDIR)/src/prog"
release_docs:
diff --git a/lib/ic/c_src/Makefile.in b/lib/ic/c_src/Makefile.in
-index de46ead..b30ce1e 100644
+index 856823b..d000273 100644
--- a/lib/ic/c_src/Makefile.in
+++ b/lib/ic/c_src/Makefile.in
-@@ -140,10 +140,8 @@ $(OBJDIR)/%.o: %.c
+@@ -146,10 +146,8 @@ $(OBJDIR)/%.o: %.c
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -95,10 +98,10 @@ index de46ead..b30ce1e 100644
$(INSTALL_DATA) $(LIBRARY) "$(RELSYSDIR)/priv/lib"
diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
-index 69c2425..b36ef26 100644
+index 6111cf2..bd62e8b 100644
--- a/lib/megaco/src/flex/Makefile.in
+++ b/lib/megaco/src/flex/Makefile.in
-@@ -279,7 +279,7 @@ release_spec: opt
+@@ -270,7 +270,7 @@ release_spec: opt
$(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/flex"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true)
@@ -108,7 +111,7 @@ index 69c2425..b36ef26 100644
endif
diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in
-index 026da39..3a568e4 100644
+index 6572d28..c7093ae 100644
--- a/lib/odbc/c_src/Makefile.in
+++ b/lib/odbc/c_src/Makefile.in
@@ -128,11 +128,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -124,23 +127,23 @@ index 026da39..3a568e4 100644
endif
diff --git a/lib/os_mon/c_src/Makefile.in b/lib/os_mon/c_src/Makefile.in
-index 2b16789..1241014 100644
+index 51569f6..4e4d729 100644
--- a/lib/os_mon/c_src/Makefile.in
+++ b/lib/os_mon/c_src/Makefile.in
-@@ -131,8 +131,6 @@ ifeq ($(findstring vxworks_simso,$(TARGET)),vxworks_simso)
- release_spec:
- else
+@@ -124,8 +124,6 @@ $(OBJDIR)/memsup.o: memsup.h
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) $(C_FILES) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/bin"
$(INSTALL_PROGRAM) $(TARGET_FILES) "$(RELSYSDIR)/priv/bin"
- endif
+
diff --git a/lib/runtime_tools/c_src/Makefile.in b/lib/runtime_tools/c_src/Makefile.in
-index 754e6cc..1c367ef 100644
+index d315a90..7b4b9fb 100644
--- a/lib/runtime_tools/c_src/Makefile.in
+++ b/lib/runtime_tools/c_src/Makefile.in
-@@ -193,9 +193,7 @@ docs:
+@@ -177,9 +177,7 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -151,10 +154,10 @@ index 754e6cc..1c367ef 100644
release_docs_spec:
diff --git a/lib/tools/c_src/Makefile.in b/lib/tools/c_src/Makefile.in
-index 0382d32..f74eb5a 100644
+index aea5686..a0c8883 100644
--- a/lib/tools/c_src/Makefile.in
+++ b/lib/tools/c_src/Makefile.in
-@@ -188,8 +188,6 @@ include ../vsn.mk
+@@ -189,8 +189,6 @@ include ../vsn.mk
RELSYSDIR = $(RELEASE_PATH)/lib/tools-$(TOOLS_VSN)
release_spec: all
diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch
index 301d66b..fc3ccd5 100644
--- a/otp-0004-Do-not-install-Java-sources.patch
+++ b/otp-0004-Do-not-install-Java-sources.patch
@@ -9,10 +9,10 @@ Signed-off-by: Peter Lemenkov
2 files changed, 4 deletions(-)
diff --git a/lib/ic/java_src/com/ericsson/otp/ic/Makefile b/lib/ic/java_src/com/ericsson/otp/ic/Makefile
-index cf4c353..57f64d9 100644
+index 273614e..5b1fb57 100644
--- a/lib/ic/java_src/com/ericsson/otp/ic/Makefile
+++ b/lib/ic/java_src/com/ericsson/otp/ic/Makefile
-@@ -109,8 +109,6 @@ docs:
+@@ -112,8 +112,6 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -22,15 +22,15 @@ index cf4c353..57f64d9 100644
$(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv"
diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
-index 8ae63a1..8605a20 100644
+index f476d45..44429a4 100644
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
-@@ -99,8 +99,6 @@ release release_docs release_tests release_html:
- $(MAKE) $(MFLAGS) RELEASE_PATH="$(RELEASE_PATH)" $(TARGET_MAKEFILE) $@_spec
+@@ -102,8 +102,6 @@ release release_docs release_tests release_html:
+ $(V_at)$(MAKE) $(MFLAGS) RELEASE_PATH="$(RELEASE_PATH)" $(TARGET_MAKEFILE) $@_spec
release_spec: opt
-- $(INSTALL_DIR) "$(RELSYSDIR)/java_src/com/ericsson/otp/erlang"
-- $(INSTALL_DATA) $(JAVA_SRC) "$(RELSYSDIR)/java_src/com/ericsson/otp/erlang"
- $(INSTALL_DIR) "$(RELSYSDIR)/priv"
- $(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv"
+- $(V_at)$(INSTALL_DIR) "$(RELSYSDIR)/java_src/com/ericsson/otp/erlang"
+- $(V_at)$(INSTALL_DATA) $(JAVA_SRC) "$(RELSYSDIR)/java_src/com/ericsson/otp/erlang"
+ $(V_at)$(INSTALL_DIR) "$(RELSYSDIR)/priv"
+ $(V_at)$(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv"
diff --git a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
index 988069e..c73b50c 100644
--- a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
+++ b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
@@ -33,7 +33,7 @@ index 08fd23e..5606cfc 100644
XML_REF6_FILES = os_mon_app.xml
diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
-index 864d7a0..79a4076 100644
+index cd2dade..4e78cf8 100644
--- a/lib/os_mon/src/Makefile
+++ b/lib/os_mon/src/Makefile
@@ -33,8 +33,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/os_mon-$(VSN)
@@ -56,10 +56,10 @@ index 864d7a0..79a4076 100644
$(APP_TARGET): $(APP_SRC) ../vsn.mk
+ifeq ($(findstring win32,$(TARGET)),win32)
- sed -e 's;%VSN%;$(VSN);' $< > $@
+ $(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@
+else
-+ sed -e 's;%VSN%;$(VSN);;s;,\s*nteventlog;;' $< > $@
++ $(vsn_verbose)sed -e 's;%VSN%;$(VSN);;s;,\s*nteventlog;;' $< > $@
+endif
$(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
- sed -e 's;%VSN%;$(VSN);' $< > $@
+ $(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@
diff --git a/otp-0006-Do-not-install-VxWorks-specific-docs.patch b/otp-0006-Do-not-install-VxWorks-specific-docs.patch
deleted file mode 100644
index 4be897b..0000000
--- a/otp-0006-Do-not-install-VxWorks-specific-docs.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Peter Lemenkov
-Date: Sat, 19 Jun 2010 11:26:04 +0400
-Subject: [PATCH] Do not install VxWorks-specific docs
-
-Signed-off-by: Peter Lemenkov
----
- erts/doc/src/Makefile | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/erts/doc/src/Makefile b/erts/doc/src/Makefile
-index da245d7..a494b3a 100644
---- a/erts/doc/src/Makefile
-+++ b/erts/doc/src/Makefile
-@@ -55,7 +55,6 @@ XML_REF3_EFILES = \
- XML_REF3_FILES = \
- driver_entry.xml \
- erl_nif.xml \
-- erl_set_memory_block.xml \
- erl_driver.xml \
- erl_prim_loader.xml \
- erlang.xml \
diff --git a/otp-0007-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
similarity index 93%
rename from otp-0007-Do-not-install-erlang-sources.patch
rename to otp-0006-Do-not-install-erlang-sources.patch
index 399a5dd..c3229c9 100644
--- a/otp-0007-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -43,7 +43,6 @@ Signed-off-by: Hans Ulrich Niedermann
lib/inets/src/http_server/Makefile | 2 +-
lib/inets/src/inets_app/Makefile | 2 +-
lib/inets/src/tftp/Makefile | 2 +-
- lib/inviso/src/Makefile | 2 --
lib/kernel/src/Makefile | 1 -
lib/megaco/src/app/Makefile | 2 +-
lib/megaco/src/binary/Makefile | 2 +-
@@ -84,13 +83,13 @@ Signed-off-by: Hans Ulrich Niedermann
lib/webtool/src/Makefile | 2 --
lib/wx/src/Makefile | 4 ++--
lib/xmerl/src/Makefile | 4 +---
- 77 files changed, 60 insertions(+), 115 deletions(-)
+ 76 files changed, 60 insertions(+), 113 deletions(-)
diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile
-index 5bcc2eb..c87dc9e 100644
+index a224b6a..e88641b 100644
--- a/erts/preloaded/src/Makefile
+++ b/erts/preloaded/src/Makefile
-@@ -68,8 +68,6 @@ copy:
+@@ -69,8 +69,6 @@ copy:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec:
@@ -100,10 +99,10 @@ index 5bcc2eb..c87dc9e 100644
$(INSTALL_DATA) $(STATIC_TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/appmon/src/Makefile b/lib/appmon/src/Makefile
-index 06e61b7..cae409b 100644
+index c1620bc..02c0984 100644
--- a/lib/appmon/src/Makefile
+++ b/lib/appmon/src/Makefile
-@@ -93,7 +93,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -95,7 +95,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -113,7 +112,7 @@ index 06e61b7..cae409b 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile
-index 4bd49aa..b6d4880 100644
+index 9607799..dbfb40b 100644
--- a/lib/asn1/src/Makefile
+++ b/lib/asn1/src/Makefile
@@ -156,7 +156,7 @@ release_spec: opt
@@ -126,7 +125,7 @@ index 4bd49aa..b6d4880 100644
$(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples"
diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile
-index dd2923e..246d30a 100644
+index 4600c0a..1675a4a 100644
--- a/lib/common_test/src/Makefile
+++ b/lib/common_test/src/Makefile
@@ -139,7 +139,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -139,10 +138,10 @@ index dd2923e..246d30a 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile
-index 958d350..312ddfa 100644
+index c6d09d8..46dcdf4 100644
--- a/lib/compiler/src/Makefile
+++ b/lib/compiler/src/Makefile
-@@ -164,8 +164,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -165,8 +165,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -154,7 +153,7 @@ index 958d350..312ddfa 100644
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/cosEvent/src/Makefile b/lib/cosEvent/src/Makefile
-index 7787fad..0bf29fb 100644
+index 2864ee0..0e27bb6 100644
--- a/lib/cosEvent/src/Makefile
+++ b/lib/cosEvent/src/Makefile
@@ -202,7 +202,7 @@ release_spec: opt
@@ -167,7 +166,7 @@ index 7787fad..0bf29fb 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosEventDomain/src/Makefile b/lib/cosEventDomain/src/Makefile
-index 213d433..f1efdac 100644
+index b4b74bd..420f566 100644
--- a/lib/cosEventDomain/src/Makefile
+++ b/lib/cosEventDomain/src/Makefile
@@ -171,7 +171,7 @@ release_spec: opt
@@ -180,7 +179,7 @@ index 213d433..f1efdac 100644
$(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosFileTransfer/src/Makefile b/lib/cosFileTransfer/src/Makefile
-index d552349..6aa53b7 100644
+index 9d3abb9..c3d83a5 100644
--- a/lib/cosFileTransfer/src/Makefile
+++ b/lib/cosFileTransfer/src/Makefile
@@ -179,9 +179,7 @@ release_spec: opt
@@ -195,7 +194,7 @@ index d552349..6aa53b7 100644
release_docs_spec:
diff --git a/lib/cosNotification/src/Makefile b/lib/cosNotification/src/Makefile
-index decf598..3c3423f 100644
+index 13153bd..0860700 100644
--- a/lib/cosNotification/src/Makefile
+++ b/lib/cosNotification/src/Makefile
@@ -370,8 +370,7 @@ release_spec: opt
@@ -209,7 +208,7 @@ index decf598..3c3423f 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosProperty/src/Makefile b/lib/cosProperty/src/Makefile
-index 54d1b60..25d3d43 100644
+index d7b75d8..fba8746 100644
--- a/lib/cosProperty/src/Makefile
+++ b/lib/cosProperty/src/Makefile
@@ -179,8 +179,7 @@ release_spec: opt
@@ -223,7 +222,7 @@ index 54d1b60..25d3d43 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosTime/src/Makefile b/lib/cosTime/src/Makefile
-index e8536a3..3872160 100644
+index 0ab2b41..c29caeb 100644
--- a/lib/cosTime/src/Makefile
+++ b/lib/cosTime/src/Makefile
@@ -198,8 +198,7 @@ release_spec: opt
@@ -237,7 +236,7 @@ index e8536a3..3872160 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosTransactions/src/Makefile b/lib/cosTransactions/src/Makefile
-index 1d935c4..0dd00c1 100644
+index 7b4a9cf..290707c 100644
--- a/lib/cosTransactions/src/Makefile
+++ b/lib/cosTransactions/src/Makefile
@@ -173,7 +173,7 @@ release_spec: opt
@@ -250,7 +249,7 @@ index 1d935c4..0dd00c1 100644
$(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile
-index 910e893..2baf92d 100644
+index 574c207..52320b0 100644
--- a/lib/crypto/src/Makefile
+++ b/lib/crypto/src/Makefile
@@ -83,8 +83,6 @@ docs:
@@ -263,7 +262,7 @@ index 910e893..2baf92d 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile
-index e8b350c..85da380 100644
+index 85754da..5a6f298 100644
--- a/lib/debugger/src/Makefile
+++ b/lib/debugger/src/Makefile
@@ -130,7 +130,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -276,7 +275,7 @@ index e8b350c..85da380 100644
$(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile
-index 63cc1c9..af956d9 100644
+index bb2edd4..6b20995 100644
--- a/lib/dialyzer/src/Makefile
+++ b/lib/dialyzer/src/Makefile
@@ -156,7 +156,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -289,10 +288,10 @@ index 63cc1c9..af956d9 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile
-index 060659b..5e91d0f 100644
+index a08c204..3f5483a 100644
--- a/lib/diameter/src/Makefile
+++ b/lib/diameter/src/Makefile
-@@ -222,11 +222,8 @@ release_spec: opt
+@@ -230,11 +230,8 @@ release_spec: opt
$(MAKE) $(EXAMPLE_DIRS:%/=release_examples_%)
$(TARGET_DIRS:%/=release_src_%): release_src_%:
@@ -307,7 +306,7 @@ index 060659b..5e91d0f 100644
$(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%:
$(INSTALL_DIR) "$(RELSYSDIR)/examples/$*"
diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile
-index 72354ac..f6ed199 100644
+index 4e5a418..c0bb0c3 100644
--- a/lib/edoc/src/Makefile
+++ b/lib/edoc/src/Makefile
@@ -88,7 +88,7 @@ release_spec: opt
@@ -320,7 +319,7 @@ index 72354ac..f6ed199 100644
release_docs_spec:
diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile
-index 39a41d0..30b0b17 100644
+index ebb7967..b6337cb 100644
--- a/lib/eldap/src/Makefile
+++ b/lib/eldap/src/Makefile
@@ -98,10 +98,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -335,7 +334,7 @@ index 39a41d0..30b0b17 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile
-index 6c8b438..5f918a9 100644
+index ef96f5d..d9a2f0d 100644
--- a/lib/erl_docgen/src/Makefile
+++ b/lib/erl_docgen/src/Makefile
@@ -89,8 +89,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -348,7 +347,7 @@ index 6c8b438..5f918a9 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile
-index c68a3f4..4d8e93f 100644
+index 386169f..216b548 100644
--- a/lib/et/src/Makefile
+++ b/lib/et/src/Makefile
@@ -108,7 +108,6 @@ release_spec: opt
@@ -360,7 +359,7 @@ index c68a3f4..4d8e93f 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile
-index 0a2e71c..18db0f4 100644
+index e88e28d..e7f44a4 100644
--- a/lib/eunit/src/Makefile
+++ b/lib/eunit/src/Makefile
@@ -117,8 +117,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -373,7 +372,7 @@ index 0a2e71c..18db0f4 100644
$(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
diff --git a/lib/gs/src/Makefile b/lib/gs/src/Makefile
-index 4b7a452..ada9464 100644
+index 0a63d54..8a49249 100644
--- a/lib/gs/src/Makefile
+++ b/lib/gs/src/Makefile
@@ -108,8 +108,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -427,7 +426,7 @@ index 0f2d6db..4e267f9 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/main/Makefile b/lib/hipe/main/Makefile
-index 673431a..c372a37 100644
+index 66e4c3e..2f11670 100644
--- a/lib/hipe/main/Makefile
+++ b/lib/hipe/main/Makefile
@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -453,7 +452,7 @@ index 16166f5..0ba5845 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile
-index 426d1bd..44238b9 100644
+index 7852a21..917cdee 100644
--- a/lib/hipe/rtl/Makefile
+++ b/lib/hipe/rtl/Makefile
@@ -104,7 +104,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -487,7 +486,7 @@ index a5ee232..f03e41d 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/ic/src/Makefile b/lib/ic/src/Makefile
-index 280d86a..3cd19f4 100644
+index e8769d2..965d0e7 100644
--- a/lib/ic/src/Makefile
+++ b/lib/ic/src/Makefile
@@ -199,7 +199,7 @@ release_spec: opt
@@ -552,7 +551,7 @@ index 67555d5..0620f3a 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile
-index 7d68145..71885ef 100644
+index 22426ee..0b0cfb8 100644
--- a/lib/inets/src/inets_app/Makefile
+++ b/lib/inets/src/inets_app/Makefile
@@ -113,7 +113,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -577,24 +576,11 @@ index b368b12..5eddaf0 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
-diff --git a/lib/inviso/src/Makefile b/lib/inviso/src/Makefile
-index 292a2be..b1c9a1f 100644
---- a/lib/inviso/src/Makefile
-+++ b/lib/inviso/src/Makefile
-@@ -87,8 +87,6 @@ docs:
- include $(ERL_TOP)/make/otp_release_targets.mk
-
- release_spec: opt
-- $(INSTALL_DIR) "$(RELSYSDIR)/src"
-- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
- # $(INSTALL_DIR) "$(RELSYSDIR)/include"
- # $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
- $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile
-index c76ff9e..7706204 100644
+index cb3c0a4..dbda2a2 100644
--- a/lib/kernel/src/Makefile
+++ b/lib/kernel/src/Makefile
-@@ -199,7 +199,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -198,7 +198,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -603,7 +589,7 @@ index c76ff9e..7706204 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/megaco/src/app/Makefile b/lib/megaco/src/app/Makefile
-index 42030c5..282419f 100644
+index d18da53..4a9f4d2 100644
--- a/lib/megaco/src/app/Makefile
+++ b/lib/megaco/src/app/Makefile
@@ -113,7 +113,7 @@ release_spec: opt
@@ -616,10 +602,10 @@ index 42030c5..282419f 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile
-index 695599b..187ccac 100644
+index c1fd66b..0699ffa 100644
--- a/lib/megaco/src/binary/Makefile
+++ b/lib/megaco/src/binary/Makefile
-@@ -198,7 +198,7 @@ release_spec: opt
+@@ -175,7 +175,7 @@ release_spec: opt
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/binary"
@@ -642,10 +628,10 @@ index 7cecef1..841a88a 100644
diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
-index b36ef26..2e748fe 100644
+index bd62e8b..cce5a8d 100644
--- a/lib/megaco/src/flex/Makefile.in
+++ b/lib/megaco/src/flex/Makefile.in
-@@ -276,8 +276,6 @@ release_spec: opt
+@@ -267,8 +267,6 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src/flex"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
@@ -694,10 +680,10 @@ index 9486804..ea4830c 100644
release_docs_spec:
diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile
-index 6f28943..ead350f 100644
+index ac38fa0..20bce7e 100644
--- a/lib/mnesia/src/Makefile
+++ b/lib/mnesia/src/Makefile
-@@ -133,7 +133,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -132,7 +132,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -707,10 +693,10 @@ index 6f28943..ead350f 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile
-index 7135a6a..c8e78e6 100644
+index 42f5c19..a98b706 100644
--- a/lib/observer/src/Makefile
+++ b/lib/observer/src/Makefile
-@@ -130,7 +130,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -131,7 +131,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -719,7 +705,7 @@ index 7135a6a..c8e78e6 100644
$(INSTALL_DIR) "$(RELSYSDIR)/examples"
$(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples"
diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile
-index 2af65cc..2358d16 100644
+index bfbda8a..6e4ad54 100644
--- a/lib/odbc/src/Makefile
+++ b/lib/odbc/src/Makefile
@@ -109,7 +109,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -732,7 +718,7 @@ index 2af65cc..2358d16 100644
$(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/orber/COSS/CosNaming/Makefile b/lib/orber/COSS/CosNaming/Makefile
-index 769c08a..cfc56b3 100644
+index 8140620..73df530 100644
--- a/lib/orber/COSS/CosNaming/Makefile
+++ b/lib/orber/COSS/CosNaming/Makefile
@@ -144,8 +144,8 @@ release_spec: opt
@@ -747,10 +733,10 @@ index 769c08a..cfc56b3 100644
release_docs_spec:
diff --git a/lib/orber/src/Makefile b/lib/orber/src/Makefile
-index 72610de..a800d2f 100644
+index 1c6781e..e471f88 100644
--- a/lib/orber/src/Makefile
+++ b/lib/orber/src/Makefile
-@@ -257,7 +257,7 @@ release_spec: opt
+@@ -256,7 +256,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -760,7 +746,7 @@ index 72610de..a800d2f 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) $(GEN_HRL_FILES_EXT) "$(RELSYSDIR)/include"
diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
-index 79a4076..1197250 100644
+index 4e78cf8..69d434c 100644
--- a/lib/os_mon/src/Makefile
+++ b/lib/os_mon/src/Makefile
@@ -104,7 +104,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -772,7 +758,7 @@ index 79a4076..1197250 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/otp_mibs/src/Makefile b/lib/otp_mibs/src/Makefile
-index 03298d3..83b2e05 100644
+index 4f03d02..756db7b 100644
--- a/lib/otp_mibs/src/Makefile
+++ b/lib/otp_mibs/src/Makefile
@@ -95,8 +95,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -785,10 +771,10 @@ index 03298d3..83b2e05 100644
$(INSTALL_DATA) $(TARGETS) "$(RELSYSDIR)/ebin"
diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile
-index 4f199da..bffd62f 100644
+index 2ee2285..ea075ed 100644
--- a/lib/parsetools/src/Makefile
+++ b/lib/parsetools/src/Makefile
-@@ -89,8 +89,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+@@ -90,8 +90,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -798,7 +784,7 @@ index 4f199da..bffd62f 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/percept/src/Makefile b/lib/percept/src/Makefile
-index 253a8c2..6720c05 100644
+index 6bf0af9..e501539 100644
--- a/lib/percept/src/Makefile
+++ b/lib/percept/src/Makefile
@@ -93,8 +93,6 @@ docs:
@@ -811,7 +797,7 @@ index 253a8c2..6720c05 100644
# $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/pman/src/Makefile b/lib/pman/src/Makefile
-index fa01fe7..5197f4b 100644
+index eb0413b..4f5419b 100644
--- a/lib/pman/src/Makefile
+++ b/lib/pman/src/Makefile
@@ -104,7 +104,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -824,7 +810,7 @@ index fa01fe7..5197f4b 100644
$(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile
-index 957c332..26d9420 100644
+index a4e36c7..432e73a 100644
--- a/lib/public_key/asn1/Makefile
+++ b/lib/public_key/asn1/Makefile
@@ -95,8 +95,8 @@ release_spec: opt
@@ -839,10 +825,10 @@ index 957c332..26d9420 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile
-index d5cd13d..d2a35f8 100644
+index 09393e8..eb4c54d 100644
--- a/lib/public_key/src/Makefile
+++ b/lib/public_key/src/Makefile
-@@ -48,8 +48,6 @@ MODULES = \
+@@ -49,8 +49,6 @@ MODULES = \
HRL_FILES = $(INCLUDE)/public_key.hrl
@@ -851,7 +837,7 @@ index d5cd13d..d2a35f8 100644
ERL_FILES = $(MODULES:%=%.erl)
TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR))
-@@ -102,8 +100,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+@@ -103,8 +101,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -861,10 +847,10 @@ index d5cd13d..d2a35f8 100644
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile
-index a7e3405..3705dd9 100644
+index b8387ff..2012af9 100644
--- a/lib/reltool/src/Makefile
+++ b/lib/reltool/src/Makefile
-@@ -98,7 +98,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -99,7 +99,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -874,10 +860,10 @@ index a7e3405..3705dd9 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/runtime_tools/src/Makefile b/lib/runtime_tools/src/Makefile
-index 810e3e8..b529c92 100644
+index 2347986..b7f57b8 100644
--- a/lib/runtime_tools/src/Makefile
+++ b/lib/runtime_tools/src/Makefile
-@@ -99,8 +99,6 @@ docs:
+@@ -95,8 +95,6 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -887,7 +873,7 @@ index 810e3e8..b529c92 100644
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/examples"
diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile
-index de0c45e..58c2ecb 100644
+index ab2d3a3..bb53a67 100644
--- a/lib/sasl/src/Makefile
+++ b/lib/sasl/src/Makefile
@@ -92,7 +92,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -912,7 +898,7 @@ index beed696..752072d 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile
-index f7c311b..59d68b8 100644
+index 716add8..59ce2ef 100644
--- a/lib/snmp/src/app/Makefile
+++ b/lib/snmp/src/app/Makefile
@@ -129,7 +129,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -964,10 +950,10 @@ index 698c341..3344a0c 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile
-index b8eecd3..41bf50c 100644
+index 93d0b54..5904bc2 100644
--- a/lib/ssh/src/Makefile
+++ b/lib/ssh/src/Makefile
-@@ -133,7 +133,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -977,7 +963,7 @@ index b8eecd3..41bf50c 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index c5c5bf5..a7ac1aa 100644
+index 043645b..ef98c3b 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
@@ -123,7 +123,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -990,10 +976,10 @@ index c5c5bf5..a7ac1aa 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile
-index 1430482..d217c2d 100644
+index f3387d6..4c5e622 100644
--- a/lib/stdlib/src/Makefile
+++ b/lib/stdlib/src/Makefile
-@@ -200,7 +200,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -202,7 +202,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -1002,7 +988,7 @@ index 1430482..d217c2d 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/syntax_tools/src/Makefile b/lib/syntax_tools/src/Makefile
-index dca5e78..6a65bfe 100644
+index c9fbad8..2fc7f18 100644
--- a/lib/syntax_tools/src/Makefile
+++ b/lib/syntax_tools/src/Makefile
@@ -82,8 +82,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -1015,10 +1001,10 @@ index dca5e78..6a65bfe 100644
release_docs_spec:
diff --git a/lib/test_server/src/Makefile b/lib/test_server/src/Makefile
-index 513720d..09766b1 100644
+index ebc5f5b..471375c 100644
--- a/lib/test_server/src/Makefile
+++ b/lib/test_server/src/Makefile
-@@ -125,7 +125,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -124,7 +124,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -1027,7 +1013,7 @@ index 513720d..09766b1 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/toolbar/src/Makefile b/lib/toolbar/src/Makefile
-index 102970a..bdf63b5 100644
+index a248469..96c42df 100644
--- a/lib/toolbar/src/Makefile
+++ b/lib/toolbar/src/Makefile
@@ -85,7 +85,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -1040,7 +1026,7 @@ index 102970a..bdf63b5 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile
-index abe1389..e5e4874 100644
+index e606b97..1beb8cc 100644
--- a/lib/tools/src/Makefile
+++ b/lib/tools/src/Makefile
@@ -106,7 +106,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -1053,7 +1039,7 @@ index abe1389..e5e4874 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/tv/src/Makefile b/lib/tv/src/Makefile
-index da1713e..4436ac7 100644
+index 3d680c1..e6ed610 100644
--- a/lib/tv/src/Makefile
+++ b/lib/tv/src/Makefile
@@ -127,7 +127,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -1066,7 +1052,7 @@ index da1713e..4436ac7 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/typer/src/Makefile b/lib/typer/src/Makefile
-index 1f94d8f..751e76e 100644
+index 13af466..c29a597 100644
--- a/lib/typer/src/Makefile
+++ b/lib/typer/src/Makefile
@@ -101,9 +101,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -1080,7 +1066,7 @@ index 1f94d8f..751e76e 100644
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/webtool/src/Makefile b/lib/webtool/src/Makefile
-index 783ffad..37135d3 100644
+index f28c777..346ce37 100644
--- a/lib/webtool/src/Makefile
+++ b/lib/webtool/src/Makefile
@@ -87,8 +87,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -1093,7 +1079,7 @@ index 783ffad..37135d3 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile
-index 777fb7d..f6a5a2a 100644
+index 26574ed..266a5d6 100644
--- a/lib/wx/src/Makefile
+++ b/lib/wx/src/Makefile
@@ -121,9 +121,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES)
@@ -1109,7 +1095,7 @@ index 777fb7d..f6a5a2a 100644
$(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile
-index ce1aa11..b381ce6 100644
+index d5ce3fe..e21e4b1 100644
--- a/lib/xmerl/src/Makefile
+++ b/lib/xmerl/src/Makefile
@@ -217,9 +217,7 @@ release_spec: opt
diff --git a/otp-0008-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch b/otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
similarity index 96%
rename from otp-0008-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
rename to otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
index 0aa2e82..d7fb120 100644
--- a/otp-0008-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
+++ b/otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
@@ -40,10 +40,10 @@ index 3456fd7..86cd411 100644
diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java
-index b9b4348..c11702c 100644
+index 9dc1728..76e380d 100644
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java
-@@ -1074,17 +1074,8 @@ public class OtpInputStream extends ByteArrayInputStream {
+@@ -1112,17 +1112,8 @@ public class OtpInputStream extends ByteArrayInputStream {
case OtpExternal.nilTag:
return "";
case OtpExternal.listTag: // List when unicode +
diff --git a/otp-0009-Restore-installation-of-a-n-internal-erl_interface-A.patch b/otp-0009-Restore-installation-of-a-n-internal-erl_interface-A.patch
deleted file mode 100644
index c05258b..0000000
--- a/otp-0009-Restore-installation-of-a-n-internal-erl_interface-A.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From: Peter Lemenkov
-Date: Tue, 26 Jun 2012 15:16:39 +0400
-Subject: [PATCH] Restore installation of a n internal erl_interface API
- headers
-
-See rhbz #818419 for the explanation why they're necessary for low-level
-interaction with Erlang nodes:
-
-https://bugzilla.redhat.com/818419
-
-Signed-off-by: Peter Lemenkov
----
- lib/erl_interface/src/Makefile.in | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
-index 9aeba86..708d0a1 100644
---- a/lib/erl_interface/src/Makefile.in
-+++ b/lib/erl_interface/src/Makefile.in
-@@ -846,11 +846,29 @@ release: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/include"
- $(INSTALL_DIR) "$(RELSYSDIR)/lib"
- $(INSTALL_DIR) "$(RELSYSDIR)/bin"
-+ $(INSTALL_DIR) "$(RELSYSDIR)/src/auxdir"
-+ $(INSTALL_DIR) "$(RELSYSDIR)/src/connect"
-+ $(INSTALL_DIR) "$(RELSYSDIR)/src/decode"
-+ $(INSTALL_DIR) "$(RELSYSDIR)/src/encode"
-+ $(INSTALL_DIR) "$(RELSYSDIR)/src/epmd"
-+ $(INSTALL_DIR) "$(RELSYSDIR)/src/legacy"
-+ $(INSTALL_DIR) "$(RELSYSDIR)/src/misc"
-+ $(INSTALL_DIR) "$(RELSYSDIR)/src/prog"
-+ $(INSTALL_DIR) "$(RELSYSDIR)/src/registry"
- $(INSTALL_DATA) $(HEADERS) "$(RELSYSDIR)/include"
- $(INSTALL_DATA) $(OBJ_TARGETS) "$(RELSYSDIR)/lib"
- ifneq ($(EXE_TARGETS),)
- $(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin"
- endif
-+ $(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src"
-+ $(INSTALL_DATA) connect/*.h "$(RELSYSDIR)/src/connect"
-+ $(INSTALL_DATA) decode/*.h "$(RELSYSDIR)/src/decode"
-+ $(INSTALL_DATA) encode/*.h "$(RELSYSDIR)/src/encode"
-+ $(INSTALL_DATA) epmd/*.h "$(RELSYSDIR)/src/epmd"
-+ $(INSTALL_DATA) misc/*.h "$(RELSYSDIR)/src/misc"
-+ $(INSTALL_DATA) registry/*.h "$(RELSYSDIR)/src/registry"
-+ $(INSTALL_DATA) legacy/*.h "$(RELSYSDIR)/src/legacy"
-+ $(INSTALL_DATA) prog/*.h "$(RELSYSDIR)/src/prog"
-
- release_docs:
-
diff --git a/otp-get-patches.sh b/otp-get-patches.sh
deleted file mode 100755
index 5033e60..0000000
--- a/otp-get-patches.sh
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/bin/bash
-# Usage:
-# ./otp-get-patches.sh /path/to/otp OTP_R14B02 fedora-R14B02
-#
-# otp-get-patches.sh - update erlang.spec and otp-00*.patch files
-#
-# otp-get-patches.sh updates the erlang.spec and otp-00*.patch
-# files in the git index. After an otp-get-patches.sh run, you
-# will need to review the stage git changes, possibly adapt the
-# Release: and %changelog parts of erlang spec, and can then
-# "git commit" everything.
-#
-# Caution: Leave the four special comment lines untouched in the
-# spec file, as otp-get-patches.sh requires them and will only
-# touch erlang.spec between the respective start/end pair:
-#
-# # start of autogenerated patch tag list
-# # end of autogenerated patch tag list
-# # start of autogenerated prep patch list
-# # end of autogenerated prep patch list
-#
-# The following special comment lines in the git commit messages
-# will be interpreted:
-#
-# Fedora-Spec-Comment: This patch only applies to EL6 builds
-# Fedora-Spec-Before: %if 0%?el6}
-# Fedora-Spec-After: %endif
-#
-# If there is no "Fedora-Spec-Comment:" line, we will use
-# "Fedora specific patch".
-
-# Command line parsing
-otp_dir="${1:?'Fatal: otp git repo dir required'}"
-otp_upstream="${2:?'Fatal: git ref to upstream release required'}"
-otp_fedora="${3:?'Fatal: git ref to branch with fedora patches required'}"
-
-# Setup
-set -e
-# set -x
-tmpdir="$(mktemp -d --tmpdir="$PWD")"
-
-# Generate patch files
-pushd "$otp_dir"
-git format-patch -N -o "$tmpdir" "${otp_upstream}..${otp_fedora}" > "$tmpdir/patch-list.txt"
-popd
-
-test -s "$tmpdir/patch-list.txt"
-
-# Process patch files
-echo "# start of autogenerated patch tag list" > "$tmpdir/patch-list-tags.txt"
-echo "# start of autogenerated prep patch list" > "$tmpdir/patch-list-prep.txt"
-n=1
-while read patch
-do
- otppatch="$(dirname "$patch")/otp-$(basename "$patch")"
- ${SED-sed} -e '1d' -e '/^-- $/,$d' "$patch" > "$otppatch"
- rm -f "$patch"
- comment="$(sed -n 's/^Fedora-Spec-Comment:\s*//p' "$otppatch")"
- if test "x$comment" = "x"; then comment="Fedora specific patch"; fi
- echo "# ${comment}" >> "$tmpdir/patch-list-tags.txt"
- echo "# $(sed -n 's/^Subject: \[PATCH\] //p' "$otppatch")" >> "$tmpdir/patch-list-tags.txt"
- echo "Patch$n: $(basename "$otppatch")" >> "$tmpdir/patch-list-tags.txt"
- base="$(basename "$patch" ".patch" | sed 's/^00[0-9][0-9]-//')"
- backupext=".$(echo -n "$base" | tr -c -s '[:alnum:]' '_')"
- sed -n 's/^Fedora-Spec-Before:\s*//p' "$otppatch" >> "$tmpdir/patch-list-prep.txt"
- echo "%patch$n -p1 -b ${backupext}" >> "$tmpdir/patch-list-prep.txt"
- sed -n 's/^Fedora-Spec-After:\s*//p' "$otppatch" >> "$tmpdir/patch-list-prep.txt"
- n=$(($n + 1))
-done < "$tmpdir/patch-list.txt"
-echo "# end of autogenerated patch tag list" >> "$tmpdir/patch-list-tags.txt"
-echo "# end of autogenerated prep patch list" >> "$tmpdir/patch-list-prep.txt"
-
-# Create updated spec file
-specfile="erlang.spec"
-newspec1="${tmpdir}/${specfile}.new1"
-newspec2="${tmpdir}/${specfile}.new2"
-sed '/^# start of autogenerated patch tag list$/,$d' "$specfile" > "$newspec1"
-cat "$tmpdir/patch-list-tags.txt" >> "$newspec1"
-sed '1,/^# end of autogenerated patch tag list/d' "$specfile" >> "$newspec1"
-sed '/^# start of autogenerated prep patch list$/,$d' "$newspec1" > "$newspec2"
-cat "$tmpdir/patch-list-prep.txt" >> "$newspec2"
-sed '1,/^# end of autogenerated prep patch list/d' "$newspec1" >> "$newspec2"
-
-# Actually put all changes into git index
-git rm -f otp-00*.patch
-mv "$tmpdir/otp-00"*.patch .
-git add otp-00*.patch
-mv -f "$newspec2" "$specfile"
-git add "$specfile"
-
-rm -rf "$tmpdir"
-# End of file.
diff --git a/otp_src_R16A_RELEASE_CANDIDATE.readme b/otp_src_R16A_RELEASE_CANDIDATE.readme
new file mode 100644
index 0000000..53c3db5
--- /dev/null
+++ b/otp_src_R16A_RELEASE_CANDIDATE.readme
@@ -0,0 +1,2250 @@
+Major release : otp_src_R16A
+Build date : 2013-01-29
+
+R16A is a major new release of Erlang/OTP.
+You can download the full source distribution from
+
+ http://www.erlang.org/download/otp_src_R16A.tar.gz
+ http://www.erlang.org/download/otp_src_R16A.readme (this file)
+
+Note: To unpack the TAR archive you need a GNU TAR compatible program.
+
+For installation instructions please read the README that is part of
+the distribution.
+
+The Windows binary distribution can be downloaded from
+
+ http://www.erlang.org/download/otp_win32_R16A.exe
+ http://www.erlang.org/download/otp_win64_R16A.exe
+
+
+On-line documentation can be found at http://www.erlang.org/doc/.
+You can also download the complete HTML documentation or the Unix manual files
+
+ http://www.erlang.org/download/otp_doc_html_R16A.tar.gz
+ http://www.erlang.org/download/otp_doc_man_R16A.tar.gz
+
+We also want to thank those that sent us patches, suggestions and bug reports,
+
+The OTP Team
+
+
+--- HIGHLIGHTS ----------------------------------------------------------
+
+ OTP-7786 == ssh ==
+
+ Added User Guide for the SSH application
+
+ OTP-9892 == erts ==
+
+ Process optimizations. The most notable:
+
+ -- New internal process table implementation allowing for
+ both parallel reads as well as writes. Especially read
+ operations have become really cheap. This reduce contention
+ in various situations. For example when, spawning processes,
+ terminating processes, sending messages, etc.
+
+ -- Optimizations of run queue management reducing contention.
+
+ -- Optimizations of process state changes reducing
+ contention.
+
+ These changes imply changes of the characteristics the
+ system. Most notable: changed timing in the system.
+
+ OTP-9974 == erts ==
+
+ Non-blocking code loading. Earlier when an Erlang module was
+ loaded, all other execution in the VM were halted while the
+ load operation was carried out in single threaded mode. Now
+ modules are loaded without blocking the VM. Processes may
+ continue executing undisturbed in parallel during the entire
+ load operation. The load operation is completed by making the
+ loaded code visible to all processes in a consistent way with
+ one single atomic instruction. Non-blocking code loading will
+ improve realtime characteristics when modules are
+ loaded/upgraded on a running SMP system.
+
+ OTP-10256 == inets ==
+
+ httpc: The HTTP client now supports HTTPS through proxies
+
+ OTP-10336 == erts ==
+
+ Major port improvements. The most notable:
+
+ -- New internal port table implementation allowing for both
+ parallel reads as well as writes. Especially read operations
+ have become really cheap.This reduce contention in various
+ situations. For example when, creating ports, terminating
+ ports, etc.
+
+ -- Dynamic allocation of port structures. This allow for a
+ much larger maximum amount of ports allowed as a default. The
+ previous default of 1024 has been raised to 65536. Maximum
+ amount of ports can be set using the +Q command line flag of
+ erl(1). The previously used environment variable
+ ERL_MAX_PORTS has been deprecated and scheduled for removal
+ in OTP-R17.
+
+ -- Major rewrite of scheduling of port tasks. Major benefits
+ of the rewrite are reduced contention on run queue locks, and
+ reduced amount of memory allocation operations needed. The
+ rewrite was also necessary in order to make it possible to
+ schedule signals from processes to ports.
+
+ -- Improved internal thread progress functionality for easy
+ management of unmanaged threads. This improvement was
+ necessary for the rewrite of the port task scheduling.
+
+ -- Rewrite of all process to port signal implementations in
+ order to make it possible to schedule those operations. All
+ port operations can now be scheduled which allows for reduced
+ lock contention on the port lock as well as truly
+ asynchronous communication with ports.
+
+ -- Optimized lookup of port handles from drivers.
+
+ -- Optimized driver lookup when creating ports.
+
+ -- Preemptable erlang:ports/0 BIF.
+
+ -- Improving responsiveness by bumping reductions for a
+ process calling a driver callback directly.
+
+ These changes imply changes of the characteristics of the
+ system. The most notable:
+
+ -- Order of signal delivery -- The previous implementation of
+ the VM has delivered signals from processes to ports in a
+ synchronous stricter fashion than required by the language.
+ As of ERTS version 5.10, signals are truly asynchronously
+ delivered. The order of signal delivery still adheres to the
+ requirements of the language, but only to the requirements.
+ That is, some signal sequences that previously always were
+ delivered in one specific order may now from time to time be
+ delivered in different orders. This may cause Erlang programs
+ that have made false assumptions about signal delivery order
+ to fail even though they previously succeeded. For more
+ information about signal ordering guarantees, see the chapter
+ on communication in the ERTS user's guide. The +n command
+ line flag of erl(1) can be helpful when trying to find
+ signaling order bugs in Erlang code that have been exposed by
+ these changes.
+
+ -- Latency of signals sent from processes to ports -- Signals
+ from processes to ports where previously always delivered
+ immediately. This kept latency for such communication to a
+ minimum, but it could cause lock contention which was very
+ expensive for the system as a whole. In order to keep this
+ latency low also in the future, most signals from processes
+ to ports are by default still delivered immediately as long
+ as no conflicts occur. Such conflicts include not being able
+ to acquire the port lock, but also include other conflicts.
+ When a conflict occur, the signal will be scheduled for
+ delivery at a later time. A scheduled signal delivery may
+ cause a higher latency for this specific communication, but
+ improves the overall performance of the system since it
+ reduce lock contention between schedulers. The default
+ behavior of only scheduling delivery of these signals on
+ conflict can be changed by passing the +spp command line flag
+ to erl(1). The behavior can also be changed on port basis
+ using the parallelism option of the open_port/2 BIF.
+
+ -- Execution time of the erlang:ports/0 BIF -- Since
+ erlang:ports/0 now can be preempted, the responsiveness of
+ the system as a whole has been improved. A call to
+ erlang:ports/0 may, however, take a much longer time to
+ complete than before. How much longer time heavily depends on
+ the system load.
+
+ -- Reduction cost of calling driver callbacks -- Calling a
+ driver callback is quite costly. This was previously not
+ reflected in reduction cost at all. Since the reduction cost
+ now has increased, a process performing lots of direct driver
+ calls will be scheduled out more frequently than before.
+
+ Potential incompatibilities:
+
+ -- driver_send_term() has been deprecated and has been
+ scheduled for removal in OTP-R17. Replace usage of
+ driver_send_term() with usage of erl_drv_send_term().
+
+ -- driver_output_term() has been deprecated and has been
+ scheduled for removal in OTP-R17. Replace usage of
+ driver_output_term() with usage of erl_drv_output_term().
+
+ -- The new function erl_drv_busy_msgq_limits() has been added
+ in order to able to control management of port queues.
+
+ The driver API version has been bumped to 2.1 from 2.0 due to
+ the above changes in the driver API.
+
+ OTP-10410 == asn1 ==
+
+ The options for the ASN.1 compiler has been drastically
+ simplified. The backend is chosen by using ber, per, or uper.
+ The options optimize, nif, and driver are no longer needed.
+ The old options will still work, but will issue a warning.
+
+ Another change is that generated encode/2 function will
+ always return a binary (some backends used to return an
+ iolist).
+
+ OTP-10588 == asn1 ==
+
+ The ASN.1 compiler will now always include necessary run-time
+ functions in the generated Erlang modules (except for
+ asn1rt_nif which is still neeeded). If the option 'inline' is
+ used the ASN.1 compiler will generate a warning. But if
+ '{inline,OutputFile}' is use, the ASN.1 compiler will refuse
+ to compile the file. (Use a .set.asn file if you need to
+ remove the output file.)
+
+ The 'BIT STRING' type will now be decoded as Erlang
+ bitstrings by default. Use the new legacy_bit_string option
+ to encode as lists of ones and zeroes. (The
+ compact_bit_string option still works as before.)
+
+ Open types are now always returned as binaries (when there is
+ no information allowing them to be decoded).
+
+
+--- POTENTIAL INCOMPATIBILITIES -----------------------------------------
+
+ OTP-9881 == common_test ==
+
+ It is now possible to let a test specification include other
+ test specifications. Included specs can either be joined with
+ the source spec (and all other joined specs), resulting in
+ one single test run, or they can be executed in separate test
+ runs. Also, a start flag/option, join_specs, has been
+ introduced, to be used in combination with the spec option.
+ With join_specs, Common Test can be told to either join
+ multiple test specifications, or run them separately. Without
+ join_specs, the latter behaviour is default. Note that this
+ is a change compared to earlier versions of Common Test,
+ where specifications could only be joined. More information
+ can be found in the Running Tests chapter in the User's Guide
+ (see the Test Specifications section).
+
+ OTP-10117 == inviso ==
+
+ The inviso application has been removed.
+
+ OTP-10170 == erts ==
+
+ Tuple funs (deprecated in R15B) are no longer supported.
+
+ OTP-10195 == edoc ==
+
+ Since EDoc 0.7.7 (R14B02) separate values of union types can
+ be annotated. However, the parser has hitherto chosen not to
+ add the necessary parentheses due to backwards compatibility.
+
+ From this release on code traversing the output of
+ edoc_parser needs to take care of parentheses around separate
+ values of union types. Examples of such code are layout
+ modules and doclet modules.
+
+ OTP-10336 == erts ==
+
+ Major port improvements. The most notable:
+
+ -- New internal port table implementation allowing for both
+ parallel reads as well as writes. Especially read operations
+ have become really cheap.This reduce contention in various
+ situations. For example when, creating ports, terminating
+ ports, etc.
+
+ -- Dynamic allocation of port structures. This allow for a
+ much larger maximum amount of ports allowed as a default. The
+ previous default of 1024 has been raised to 65536. Maximum
+ amount of ports can be set using the +Q command line flag of
+ erl(1). The previously used environment variable
+ ERL_MAX_PORTS has been deprecated and scheduled for removal
+ in OTP-R17.
+
+ -- Major rewrite of scheduling of port tasks. Major benefits
+ of the rewrite are reduced contention on run queue locks, and
+ reduced amount of memory allocation operations needed. The
+ rewrite was also necessary in order to make it possible to
+ schedule signals from processes to ports.
+
+ -- Improved internal thread progress functionality for easy
+ management of unmanaged threads. This improvement was
+ necessary for the rewrite of the port task scheduling.
+
+ -- Rewrite of all process to port signal implementations in
+ order to make it possible to schedule those operations. All
+ port operations can now be scheduled which allows for reduced
+ lock contention on the port lock as well as truly
+ asynchronous communication with ports.
+
+ -- Optimized lookup of port handles from drivers.
+
+ -- Optimized driver lookup when creating ports.
+
+ -- Preemptable erlang:ports/0 BIF.
+
+ -- Improving responsiveness by bumping reductions for a
+ process calling a driver callback directly.
+
+ These changes imply changes of the characteristics of the
+ system. The most notable:
+
+ -- Order of signal delivery -- The previous implementation of
+ the VM has delivered signals from processes to ports in a
+ synchronous stricter fashion than required by the language.
+ As of ERTS version 5.10, signals are truly asynchronously
+ delivered. The order of signal delivery still adheres to the
+ requirements of the language, but only to the requirements.
+ That is, some signal sequences that previously always were
+ delivered in one specific order may now from time to time be
+ delivered in different orders. This may cause Erlang programs
+ that have made false assumptions about signal delivery order
+ to fail even though they previously succeeded. For more
+ information about signal ordering guarantees, see the chapter
+ on communication in the ERTS user's guide. The +n command
+ line flag of erl(1) can be helpful when trying to find
+ signaling order bugs in Erlang code that have been exposed by
+ these changes.
+
+ -- Latency of signals sent from processes to ports -- Signals
+ from processes to ports where previously always delivered
+ immediately. This kept latency for such communication to a
+ minimum, but it could cause lock contention which was very
+ expensive for the system as a whole. In order to keep this
+ latency low also in the future, most signals from processes
+ to ports are by default still delivered immediately as long
+ as no conflicts occur. Such conflicts include not being able
+ to acquire the port lock, but also include other conflicts.
+ When a conflict occur, the signal will be scheduled for
+ delivery at a later time. A scheduled signal delivery may
+ cause a higher latency for this specific communication, but
+ improves the overall performance of the system since it
+ reduce lock contention between schedulers. The default
+ behavior of only scheduling delivery of these signals on
+ conflict can be changed by passing the +spp command line flag
+ to erl(1). The behavior can also be changed on port basis
+ using the parallelism option of the open_port/2 BIF.
+
+ -- Execution time of the erlang:ports/0 BIF -- Since
+ erlang:ports/0 now can be preempted, the responsiveness of
+ the system as a whole has been improved. A call to
+ erlang:ports/0 may, however, take a much longer time to
+ complete than before. How much longer time heavily depends on
+ the system load.
+
+ -- Reduction cost of calling driver callbacks -- Calling a
+ driver callback is quite costly. This was previously not
+ reflected in reduction cost at all. Since the reduction cost
+ now has increased, a process performing lots of direct driver
+ calls will be scheduled out more frequently than before.
+
+ Potential incompatibilities:
+
+ -- driver_send_term() has been deprecated and has been
+ scheduled for removal in OTP-R17. Replace usage of
+ driver_send_term() with usage of erl_drv_send_term().
+
+ -- driver_output_term() has been deprecated and has been
+ scheduled for removal in OTP-R17. Replace usage of
+ driver_output_term() with usage of erl_drv_output_term().
+
+ -- The new function erl_drv_busy_msgq_limits() has been added
+ in order to able to control management of port queues.
+
+ The driver API version has been bumped to 2.1 from 2.0 due to
+ the above changes in the driver API.
+
+ OTP-10410 == asn1 ==
+
+ The options for the ASN.1 compiler has been drastically
+ simplified. The backend is chosen by using ber, per, or uper.
+ The options optimize, nif, and driver are no longer needed.
+ The old options will still work, but will issue a warning.
+
+ Another change is that generated encode/2 function will
+ always return a binary (some backends used to return an
+ iolist).
+
+ OTP-10417 == kernel sasl ==
+
+ It is no longer possible to have {Mod,Vsn} in the 'modules'
+ list in a .app file.
+
+ This was earlier possible, although never documented in the
+ .app file reference manual. It was however visible in the
+ documentation of application:load/[1,2], where the same term
+ as in a .app file can be used as the first argument.
+
+ The possibility has been removed since the Vsn part was never
+ used.
+
+ OTP-10451 == ssl ==
+
+ Remove filter mechanisms that made error messages backwards
+ compatible with old ssl but hid information about what
+ actually happened.
+
+ This does not break the documented API however other reason
+ terms may be returned, so code that matches on the reason
+ part of {error, Reason} may fail.
+
+ OTP-10490 == stdlib ==
+
+ If a child process fails in its start function, then the
+ error reason was earlier only reported as an error report
+ from the error_handler, and supervisor:start_link would only
+ return {error,shutdown}. This has been changed so the
+ supervisor will now return {error,{shutdown,Reason}}, where
+ Reason identifies the failing child and its error reason.
+ (Thanks to Tomas Pihl)
+
+ OTP-10523 == tools ==
+
+ A new function, cover:flush(Nodes), is added which will fetch
+ data from remote nodes without stopping cover on those nodes.
+ This is used by test_server and common_test when it is safe
+ to assume that the node will be terminated after the test
+ anyway. The purpose is to avoid processes crashing when
+ re-loading the original beam if the processes is still
+ running old code.
+
+ Remote nodes will now continue to count code coverage if the
+ connection to the main node is broken. Earlier, a broken
+ connection would cause the cover_server on the remote node to
+ die and thus any still cover compiled modules would cause
+ process crash when trying to insert cover data in ets tables
+ that used to exist on the cover_server. The new functionality
+ also involves synchronization with the main node if the nodes
+ are reconnected.
+
+ OTP-10588 == asn1 ==
+
+ The ASN.1 compiler will now always include necessary run-time
+ functions in the generated Erlang modules (except for
+ asn1rt_nif which is still neeeded). If the option 'inline' is
+ used the ASN.1 compiler will generate a warning. But if
+ '{inline,OutputFile}' is use, the ASN.1 compiler will refuse
+ to compile the file. (Use a .set.asn file if you need to
+ remove the output file.)
+
+ The 'BIT STRING' type will now be decoded as Erlang
+ bitstrings by default. Use the new legacy_bit_string option
+ to encode as lists of ones and zeroes. (The
+ compact_bit_string option still works as before.)
+
+ Open types are now always returned as binaries (when there is
+ no information allowing them to be decoded).
+
+ OTP-10613 == ssl ==
+
+ Removed deprecated function ssl:pid/0, it has been pointless
+ since R14 but has been keep for backwards compatibility.
+
+ OTP-10633 == erts ==
+
+ Erlang specification 4.7.3 defines max tuple size to 65535
+ elements It is now enforced to no more than 16777215 elements
+ (arity 24 bits)
+
+ Previous edge cases (28 bits) were not validated and could
+ cause undefined behaviour.
+
+ OTP-10647 == erts ==
+
+ The previous default of a maximum of 32768 simultaneous
+ processes has been raised to 262144. This value can be
+ changed using the the +P command line flag of erl(1). Note
+ that the value passed now is considered as a hint, and that
+ actual value chosen in most cases will be a power of two.
+
+--- CHARACTERISTICS IMPACT -----------------------------------------------
+
+ OTP-9892 == erts ==
+
+ Process optimizations. The most notable:
+
+ -- New internal process table implementation allowing for
+ both parallel reads as well as writes. Especially read
+ operations have become really cheap. This reduce contention
+ in various situations. For example when, spawning processes,
+ terminating processes, sending messages, etc.
+
+ -- Optimizations of run queue management reducing contention.
+
+ -- Optimizations of process state changes reducing
+ contention.
+
+ These changes imply changes of the characteristics the
+ system. Most notable: changed timing in the system.
+
+
+ OTP-9974 == erts ==
+
+ Non-blocking code loading. Earlier when an Erlang module was
+ loaded, all other execution in the VM were halted while the
+ load operation was carried out in single threaded mode. Now
+ modules are loaded without blocking the VM. Processes may
+ continue executing undisturbed in parallel during the entire
+ load operation. The load operation is completed by making the
+ loaded code visible to all processes in a consistent way with
+ one single atomic instruction. Non-blocking code loading will
+ improve realtime characteristics when modules are
+ loaded/upgraded on a running SMP system.
+
+ OTP-10122 == erts ==
+
+ In the SMP emulator, turning on and off tracing will no
+ longer take down the system to single-scheduling.
+
+ OTP-10167 == erts ==
+
+ Optimized deletion of ETS-tables which significantly improves
+ performance when large amounts of temporary tables are used.
+
+ This change imply changes of the characteristics the system.
+ Most notable: changed timing in the system.
+
+ OTP-10273 == erts ==
+
+ New internal header scheme for allocators
+
+ Impact: Reduces size on object allocated in multiblock
+ carriers by one word
+
+ OTP-10336 == erts ==
+
+ Major port improvements.
+
+ These changes imply changes of the characteristics of the
+ system. The most notable:
+
+ -- Order of signal delivery -- The previous implementation of
+ the VM has delivered signals from processes to ports in a
+ synchronous stricter fashion than required by the language.
+ As of ERTS version 5.10, signals are truly asynchronously
+ delivered. The order of signal delivery still adheres to the
+ requirements of the language, but only to the requirements.
+ That is, some signal sequences that previously always were
+ delivered in one specific order may now from time to time be
+ delivered in different orders. This may cause Erlang programs
+ that have made false assumptions about signal delivery order
+ to fail even though they previously succeeded. For more
+ information about signal ordering guarantees, see the chapter
+ on communication in the ERTS user's guide. The +n command
+ line flag of erl(1) can be helpful when trying to find
+ signaling order bugs in Erlang code that have been exposed by
+ these changes.
+
+ -- Latency of signals sent from processes to ports -- Signals
+ from processes to ports where previously always delivered
+ immediately. This kept latency for such communication to a
+ minimum, but it could cause lock contention which was very
+ expensive for the system as a whole. In order to keep this
+ latency low also in the future, most signals from processes
+ to ports are by default still delivered immediately as long
+ as no conflicts occur. Such conflicts include not being able
+ to acquire the port lock, but also include other conflicts.
+ When a conflict occur, the signal will be scheduled for
+ delivery at a later time. A scheduled signal delivery may
+ cause a higher latency for this specific communication, but
+ improves the overall performance of the system since it
+ reduce lock contention between schedulers. The default
+ behavior of only scheduling delivery of these signals on
+ conflict can be changed by passing the +spp command line flag
+ to erl(1). The behavior can also be changed on port basis
+ using the parallelism option of the open_port/2 BIF.
+
+ -- Execution time of the erlang:ports/0 BIF -- Since
+ erlang:ports/0 now can be preempted, the responsiveness of
+ the system as a whole has been improved. A call to
+ erlang:ports/0 may, however, take a much longer time to
+ complete than before. How much longer time heavily depends on
+ the system load.
+
+ -- Reduction cost of calling driver callbacks -- Calling a
+ driver callback is quite costly. This was previously not
+ reflected in reduction cost at all. Since the reduction cost
+ now has increased, a process performing lots of direct driver
+ calls will be scheduled out more frequently than before.
+
+ OTP-10661 == erts ==
+
+ The previously (in R15) proposed scheduler wakeup strategy is
+ now used by default. This strategy is not as quick to forget
+ about previous overload as the previous strategy.
+
+ This change imply changes of the characteristics the system.
+ Most notable: When a small overload comes and then disappears
+ repeatedly, the system will for a bit longer time be willing
+ to wake up schedulers than before. Timing in the system will
+ due to this also change.
+
+ The previous strategy can still be enabled by passing the
+ +sws legacy command line flag to erl.
+
+ OTP-10736 == erts ==
+
+ The runtime system will now by default use 10 async threads
+ if thread support has been enabled when building the runtime
+ system.
+
+ This will prevent long blocking file-operations from blocking
+ scheduler threads for long periods of time, which can be
+ harmful. Apart from file-operations, it also effects other
+ operations scheduled on the async thread pool by user
+ implemented drivers.
+
+ The amount of async threads can be controlled by using the +A
+ command line argument of erl(1). When running some offline
+ tools you might want to disable async threads, but you are
+ advised not to in the general case. Instead, you might want
+ to increase the amount of async threads used.
+
+ This change imply changes of the characteristics the system
+ compared to the previous default. The responsiveness of the
+ system as a whole will be improved. Operations scheduled on
+ the async thread pool will get an increased latency. The
+ throughput of these operations may increase, or decrease
+ depending on the type of the operations and how they get
+ scheduled. In the case of file operations, the throughput
+ very much depends on how the Erlang application access files.
+ Multiple concurrent accesses to different files have the
+ potential of an increased throughput.
+
+ OTP-10737 == erts ==
+
+ The default reader group limit has been increased to 64 from
+ 8. This limit can be set using the +rg command line argument
+ of erl(1).
+
+ This change of default value will reduce lock contention on
+ ETS tables using the read_concurrency option at the expense
+ of memory consumption when the amount of schedulers and
+ logical processors are beween 8 and 64. For more information,
+ see documentation of the +rg command line argument of erl(1).
+
+ OTP-10787 == erts ==
+
+ Increased potential concurrency in ETS for write_concurrency
+ option. The number of internal table locks has increased from
+ 16 to 64. This makes it four times less likely that two
+ concurrent processes writing to the same table would collide
+ and thereby serialized. The cost is an increased constant
+ memory footprint for tables using write_concurrency. The
+ memory consumption per inserted record is not affected. The
+ increased footprint can be particularly large if
+ write_concurrency is combined with read_concurrency.
+
+ OTP-10519 == asn1 ==
+
+ The ASN.1 compiler generates faster decode functions for PER
+ and UPER. Some minor improvements have also been made for
+ PER/UPER encoding, and to the BER backend.
+
+ OTP-10506 == odbc ==
+
+ Under Unix enable TCP_NODELAY to disable Nagel's socket
+ algorithm. Thanks to Andy Richards
+
+ Impact: Performance gain on Unix systems
+
+ OTP-10361 == ssl ==
+
+ Support Next Protocol Negotiation in TLS, thanks to Ben
+ Murphy for the contribution.
+
+ Impact: Could give performance benefit if used as it saves a
+ round trip.
+
+ OTP-10425 == ssl ==
+
+ TLS 1.2 will now be the default TLS version if sufficient
+ crypto support is available otherwise TLS 1.1 will be
+ default.
+
+ Impact: A default TLS connection will have higher security
+ and hence it may be perceived as slower then before.
+
+ OTP-10710 == ssl ==
+
+ Now handles cleaning of CA-certificate database correctly so
+ that there will be no memory leek, bug was introduced in ssl-
+ 5.1 when changing implementation to increase parallel
+ execution.
+
+ Impact: Improved memory usage, especially if you have many
+ different certificates and upgrade tcp-connections to
+ TLS-connections.
+
+
+
+--- inviso --------------------------------------------------------------
+
+ OTP-10117 The inviso application has been removed.
+
+
+--- otp -----------------------------------------------------------------
+
+ OTP-9684 Most specs for built in functions now reside in their
+ respective module instead of being coded in the erl_bif_types
+ module of the Hipe application. This creatyes a single source
+ for specifications and documentation, which should radically
+ lessen the risk for differences between the docs and the
+ actual spec seen by dialyzer.
+
+ OTP-9862 Many types and specifications that used to reside in
+ erl_bif_types have been moved into respective module.
+
+ OTP-10616 The experimental feature "parameterized modules" (also called
+ "abstract modules") has been removed. For applications that
+ depends on parameterized modules, there is a parse transform
+ that can be used to still use parameterized modules. The
+ parse transform can be found at:
+ github.com/erlang/pmod_transform
+
+ OTP-10726 Implement ./otp_build configure --enable-silent-rules
+
+ With silent rules, the output of make is less verbose and
+ compilation warnings are easier to spot. Silent rules are
+ disabled by default and can be disabled or enabled at will by
+ make V=0 and make V=1. (Thanks to Anthony Ramine)
+
+
+--- appmon-2.1.14.2 -----------------------------------------------------
+
+ OTP-10784 Misc build updates
+
+ OTP-10786 The backend module appmon_info.erl is moved from appmon
+ application to runtime_tools. This allows appmon to be run
+ from a remote erlang node towards a target node which does
+ not have appmon (and its dependencies) installed, as long as
+ runtime_tools is installed there.
+
+
+--- asn1-2.0 ------------------------------------------------------------
+
+ OTP-10410 The options for the ASN.1 compiler has been drastically
+ simplified. The backend is chosen by using ber, per, or uper.
+ The options optimize, nif, and driver are no longer needed.
+ The old options will still work, but will issue a warning.
+
+ Another change is that generated encode/2 function will
+ always return a binary (some backends used to return an
+ iolist).
+
+ OTP-10519 The ASN.1 compiler generates faster decode functions for PER
+ and UPER. Some minor improvements have also been made for
+ PER/UPER encoding, and to the BER backend.
+
+ OTP-10588 The ASN.1 compiler will now always include necessary run-time
+ functions in the generated Erlang modules (except for
+ asn1rt_nif which is still needed). If the option 'inline' is
+ used the ASN.1 compiler will generate a warning. But if
+ '{inline,OutputFile}' is use, the ASN.1 compiler will refuse
+ to compile the file. (Use a .set.asn file if you need to
+ remove the output file.)
+
+ The 'BIT STRING' type will now be decoded as Erlang
+ bitstrings by default. Use the new legacy_bit_string option
+ to encode as lists of ones and zeroes. (The
+ compact_bit_string option still works as before.)
+
+ Open types are now always returned as binaries (when there is
+ no information allowing them to be decoded).
+
+ OTP-10664 Encoding SEQUENCEs with multiple extension addition groups
+ with optional values could fail (depending both on the
+ specification and whether all values were provided).
+
+
+--- common_test-1.6.3.1 -------------------------------------------------
+
+ OTP-10589 The following corrections/changes are done in the cth_surefire
+ hook: Earlier there would always be a 'properties' element
+ under the 'testsuites' element. This would exist even if
+ there were no 'property' element inside it. This has been
+ changed so if there are no 'property' elements to display,
+ then there will not be a 'properties' element either. The
+ XML file will now (unless other is specified) be stored
+ in the top log directory. Earlier, the default directory
+ would be the current working directory for the erlang node,
+ which would mostly, but not always, be the top log directory.
+ The 'hostname' attribute in the 'testsuite' element would
+ earlier never have the correct value. This has been corrected.
+ The 'errors' attribute in the 'testsuite' element would
+ earlier display the number of failed testcases. This has
+ been changed and will now always have the value 0, while
+ the 'failures' attribute will show the number of failed
+ testcases. A new attribute 'skipped' is added to the 'testsuite'
+ element. This will display the number of skipped testcases.
+ These would earlier be included in the number of failed
+ test cases. The total number of tests displayed by the 'tests'
+ attribute in the 'testsuite' element would earlier include
+ init/end_per_suite and init/end_per_group. This is no longer
+ the case. The 'tests' attribute will now only count "real"
+ test cases. Earlier, auto skipped test cases would have
+ no value in the 'log' attribute. This is now corrected.
+ A new attributes 'log' is added to the 'testsuite' element.
+ A new option named 'url_base' is added for this hook. If
+ this option is used, a new attribute named 'url' will be
+ added to the 'testcase' and 'testsuite' elements.
+
+
+--- common_test-1.7 -----------------------------------------------------
+
+ OTP-9769 Severe errors detected by test_server (e.g. if log files
+ directories cannot be created) will now be reported to
+ common_test and noted in the common_test logs.
+
+ OTP-9870 The earlier undocumented cross cover feature for accumulating
+ cover data over multiple tests has now been fixed and
+ documented.
+
+ OTP-9881 It is now possible to let a test specification include other
+ test specifications. Included specs can either be joined with
+ the source spec (and all other joined specs), resulting in
+ one single test run, or they can be executed in separate test
+ runs. Also, a start flag/option, join_specs, has been
+ introduced, to be used in combination with the spec option.
+ With join_specs, Common Test can be told to either join
+ multiple test specifications, or run them separately. Without
+ join_specs, the latter behaviour is default. Note that this
+ is a change compared to earlier versions of Common Test,
+ where specifications could only be joined. More information
+ can be found in the Running Tests chapter in the User's Guide
+ (see the Test Specifications section).
+
+ OTP-10040 If a busy test case generated lots of error messages,
+ cth_log_redirect:post_end_per_testcase would crash with a
+ timeout while waiting for the error logger to finish handling
+ all error reports. The default timer was 5 seconds. This has
+ now been extended to 5 minutes.
+
+ OTP-10070 When a test case failed because of a timetrap time out, the
+ Config data for the case was lost in the following call to
+ end_per_testcase/2, and also in calls to the CT Hook function
+ post_end_per_testcase/4. This problem has been solved and the
+ Config data is now correctly passed to the above functions
+ after a timetrap timeout failure.
+
+ OTP-10088 Some calls to deprecated and removed functions in snmp are
+ removed from ct_snmp.
+
+ OTP-10101 In test_server, the same process would supervise the
+ currently running test case and be group leader (and IO
+ server) for the test case. Furthermore, when running parallel
+ test cases, new temporary supervisor/group leader processes
+ were spawned and the process that was group leader for
+ sequential test cases would not be active. That would lead to
+ several problems:
+
+ * Processes started by init_per_suite will inherit the group
+ leader of the init_per_suite process (and that group leader
+ would not process IO requests when parallel test cases was
+ running). If later a parallel test case caused such a
+ processto print using (for example) io:format/2, the calling
+ would hang.
+
+ * Similarly, if a process was spawned from a parallel test
+ case, it would inherit the temporary group leader for that
+ parallel test case. If that spawned process later - when the
+ group of parallel tests have finished - attempted to print
+ something, its group leader would be dead and there would be
+ badarg exception.
+
+ Those problems have been solved by having group leaders
+ separate from the processes that supervises the test cases,
+ and keeping temporary group leader process for parallel test
+ cases alive until no more process in the system use them as
+ group leaders.
+
+ Also, a new unexpected_io.log log file (reachable from the
+ summary page of each test suite) has been introduced. All
+ unexpected IO will be printed into it(for example, IO to a
+ group leader for a parallel test case that has finished).
+
+ OTP-10432 Some bugfixes in ct_snmp:
+
+ -- ct_snmp will now use the value of the 'agent_vsns' config
+ variable when setting the 'variables' parameter to snmp
+ application agent configuration. Earlier this had to be done
+ separately - i.e. the supported versions had to be specified
+ twice.
+
+ -- Snmp application failed to write notify.conf since ct_snmp
+ gave the notify type as a string instead of an atom. This has
+ been corrected.
+
+ OTP-10434 Some bugfixes in ct_snmp:
+
+ -- Functions register_users/2, register_agents/2 and
+ register_usm_users/2, and the corresponding unregister_*/1
+ functions were not executable. These are corrected/rewritten.
+
+ -- Function update_usm_users/2 is removed, and an unregister
+ function is added instead. Update can now be done with
+ unregister_usm_users and then register_usm_users.
+
+ -- Functions unregister_*/2 are added, so specific
+ users/agents/usm users can be unregistered.
+
+ -- Function unload_mibs/1 is added for completeness.
+
+ -- Overriding configuration files did not work, since the
+ files were written in priv_dir instead of in the
+ configuration dir (priv_dir/conf). This has been corrected.
+
+ -- Arguments to register_usm_users/2 were faulty documented.
+ This has been corrected.
+
+ OTP-10469 The ct_slave:start/3 function now supports an
+ {env,[{Var,Value}]} option to extend environment for the
+ slave node.
+
+ OTP-10601 Faulty exported specs in common test has been corrected to
+ ct_netconfc:hook_options/0 and inet:hostname/0
+
+ OTP-10646 The netconf client in common_test did not adjust the window
+ after receiving data. Due to this, the client stopped
+ receiving data after a while. This has been corrected.
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
+ OTP-10783 Update common test modules to handle unicode
+
+ -- Use UTF-8 encoding for all HTML files, except the HTML
+ version of the test suite generated with erl2html2:convert,
+ which will have the same encoding as the original test suite
+ (.erl) file.
+
+ -- Encode link targets in HTML files with
+ test_server_ctrl:uri_encode/1.
+
+ -- Use unicode modifier 't' with ~s when appropriate.
+
+ -- Use unicode:characters_to_list and
+ unicode:characters_to_binary for conversion between binaries
+ and strings instead of binary_to_list and list_to_binary.
+
+
+--- compiler-4.9 --------------------------------------------------------
+
+ OTP-10193 The compiler optimizations have been polished, so that the
+ code quality will be slightly better in some cases.
+
+ OTP-10302 Support for Unicode has been implemented.
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10690 Fix some wrong warnings triggered by the option
+ inline_list_funcs. Thanks to Anthony Ramine.
+
+ OTP-10706 Forbid local fun variables in Core Erlang guards. Thanks to
+ Anthony Ramine.
+
+ OTP-10724 Binary syntax matches could cause an internal consistency
+ error in in the compiler. (Thanks to Viktor Sovietov for
+ reporting this bug.)
+
+
+--- cosEvent-2.1.13 -----------------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- cosEventDomain-1.1.13 -----------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- cosFileTransfer-1.1.14 ----------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- cosNotification-1.1.19 ----------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- cosProperty-1.1.16 --------------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- cosTime-1.1.13 ------------------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- cosTransactions-1.2.13 ----------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- crypto-2.3 ----------------------------------------------------------
+
+ OTP-10596 Enable runtime upgrade of crypto including the OpenSSL
+ library used by crypto.
+
+ OTP-10640 Improve documentation and tests for hmac functions in crypto.
+ Thanks to Daniel White
+
+ OTP-10667 Added ripemd160 support to crypto. Thanks to Michael Loftis
+
+
+--- debugger-3.2.9 ------------------------------------------------------
+
+ OTP-10302 Support for Unicode has been implemented.
+
+ OTP-10621 Fix Debugger settings dialog due to changed behavior in
+ wxFileDialog (Thanks to Håkan Mattsson)
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10679 Integer lists and utf-8 binaries in variables are now
+ displayed as strings.
+
+
+--- dialyzer-2.5.4 ------------------------------------------------------
+
+ OTP-10302 Support for Unicode has been implemented.
+
+ OTP-10433 Dialyzer no longer outputs warnings for unused anonymous
+ functions ("funs"). Warnings are still output for unused
+ functions.
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
+ OTP-10681 Fix precision of record creation violation warnings. Thanks
+ to Stavros Aronis
+
+ OTP-10740 Report spec discrepancy on mismatching lists. Thanks to
+ Stavros Aronis.
+
+ OTP-10772 Properly support functions with arbitrary arity in type
+ specs. Thanks to Stavros Aronis.
+
+
+--- diameter-1.4 --------------------------------------------------------
+
+ OTP-10442 Add registered server names to the app file.
+
+ OTP-10609 Fix #diameter_header{} handling broken by OTP-10445.
+
+ The fault caused the the header of a [Header | Avps] request
+ to be ignored if both end_to_end_id and hop_by_hop_id were
+ undefined.
+
+ OTP-10614 Fix error handling for handle_request callback.
+
+ A callback that returned a #diameter_packet{} would fail if
+ the incoming request had decode errors.
+
+ OTP-10618 Fix timing of service start event.
+
+ The event did not necessarily precede other events as
+ documented.
+
+ OTP-10619 Fix setting of header T flag at peer failover.
+
+ The flag is now set in the diameter_header record passed to a
+ prepare_retransmit callback.
+
+ OTP-10628 Fix sending of CER/CEA timeout event at capx_timeout.
+
+ The event was not sent as documented.
+
+ OTP-10655 Fix improper setting of Application-ID in the Diameter header
+ of an answer message whose E flag is set.
+
+ The value should be that of the request in question. The
+ fault caused it always to be 0.
+
+ OTP-10693 Fix faulty handling of AVP length errors.
+
+ An incorrect AVP length but no other errors caused an
+ incoming request to fail.
+
+
+--- edoc-0.7.11 ---------------------------------------------------------
+
+ OTP-10195 Since EDoc 0.7.7 (R14B02) separate values of union types can
+ be annotated. However, the parser has hitherto chosen not to
+ add the necessary parentheses due to backwards compatibility.
+
+ From this release on code traversing the output of
+ edoc_parser needs to take care of parentheses around separate
+ values of union types. Examples of such code are layout
+ modules and doclet modules.
+
+ OTP-10302 Support for Unicode has been implemented.
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+
+--- eldap-1.0.1 ---------------------------------------------------------
+
+ OTP-10403 Fixed various dialyzer warnings
+
+ OTP-10728 Configure the SSL options fully in eldap.
+
+
+--- erl_docgen-0.3.4 ----------------------------------------------------
+
+ OTP-10302 Support for Unicode has been implemented.
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
+ OTP-10725 Correct a PDF indentation bug for tagged lists in tagged
+ lists and added some missing tags to the DTD.
+
+
+--- erl_interface-3.7.10 ------------------------------------------------
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10753 Limited support for unicode atoms in the external format and
+ in the internal representation of the vm. This is a
+ preparative feature in order to support communication with
+ future releases of Erlang/OTP that may create unicode atoms.
+
+
+--- erts-5.9.3.1 --------------------------------------------------------
+
+ OTP-10602 Create an erl_crash.dump if no heart exists and no ERL_CRASH_DUMP_SECONDS
+ is set (behaviour changed). Don't create an erl_crash.dump
+ if heart do exists and no ERL_CRASH_DUMP_SECONDS is set
+ (behaviour not changed). This changes the behaviour back
+ to the R15B02 default considering if a beam was running
+ with no heart.
+
+
+--- erts-5.10 -----------------------------------------------------------
+
+ OTP-8928 A boolean socket option 'ipv6_v6only' for IPv6 sockets has
+ been added. The default value of the option is OS dependent,
+ so applications aiming to be portable should consider using
+ {ipv6_v6only,true} when creating an inet6
+ listening/destination socket, and if neccesary also create an
+ inet socket on the same port for IPv4 traffic. See the
+ documentation.
+
+ OTP-9861 It is now allowed to define stubs for BIFs, to allow type
+ specs to be written for BIFs. For example, if there is BIF
+ called lists:member/2, a dummy definition of lists:member/2
+ is now allowed.
+
+ OTP-9892 Process optimizations. The most notable:
+
+ -- New internal process table implementation allowing for
+ both parallel reads as well as writes. Especially read
+ operations have become really cheap. This reduce contention
+ in various situations. For example when, spawning processes,
+ terminating processes, sending messages, etc.
+
+ -- Optimizations of run queue management reducing contention.
+
+ -- Optimizations of process state changes reducing
+ contention.
+
+ These changes imply changes of the characteristics the
+ system. Most notable: changed timing in the system.
+
+ OTP-9974 Non-blocking code loading. Earlier when an Erlang module was
+ loaded, all other execution in the VM were halted while the
+ load operation was carried out in single threaded mode. Now
+ modules are loaded without blocking the VM. Processes may
+ continue executing undisturbed in parallel during the entire
+ load operation. The load operation is completed by making the
+ loaded code visible to all processes in a consistent way with
+ one single atomic instruction. Non-blocking code loading will
+ improve realtime characteristics when modules are
+ loaded/upgraded on a running SMP system.
+
+ OTP-10122 In the SMP emulator, turning on and off tracing will no
+ longer take down the system to single-scheduling.
+
+ OTP-10146 Remove VxWorks support
+
+ OTP-10156 Added a general framework for executing benchmarks of
+ Erlang/OTP. Benchmarks for the Erlang VM and mnesia have been
+ incorporated in the framework.
+
+ For details about how to add more benchmarks see
+ $ERL_TOP/HOWTO/BENCHMARKS.md in the source distribution.
+
+ OTP-10167 Optimized deletion of ETS-tables which significantly improves
+ performance when large amounts of temporary tables are used.
+
+ This change imply changes of the characteristics the system.
+ Most notable: changed timing in the system.
+
+ OTP-10170 Tuple funs (deprecated in R15B) are no longer supported.
+
+ OTP-10273 New internal header scheme for allocators
+
+ Impact: Reduces size on object allocated in multiblock
+ carriers by one word
+
+ OTP-10336 Major port improvements. The most notable:
+
+ -- New internal port table implementation allowing for both
+ parallel reads as well as writes. Especially read operations
+ have become really cheap.This reduce contention in various
+ situations. For example when, creating ports, terminating
+ ports, etc.
+
+ -- Dynamic allocation of port structures. This allow for a
+ much larger maximum amount of ports allowed as a default. The
+ previous default of 1024 has been raised to 65536. Maximum
+ amount of ports can be set using the +Q command line flag of
+ erl(1). The previously used environment variable
+ ERL_MAX_PORTS has been deprecated and scheduled for removal
+ in OTP-R17.
+
+ -- Major rewrite of scheduling of port tasks. Major benefits
+ of the rewrite are reduced contention on run queue locks, and
+ reduced amount of memory allocation operations needed. The
+ rewrite was also necessary in order to make it possible to
+ schedule signals from processes to ports.
+
+ -- Improved internal thread progress functionality for easy
+ management of unmanaged threads. This improvement was
+ necessary for the rewrite of the port task scheduling.
+
+ -- Rewrite of all process to port signal implementations in
+ order to make it possible to schedule those operations. All
+ port operations can now be scheduled which allows for reduced
+ lock contention on the port lock as well as truly
+ asynchronous communication with ports.
+
+ -- Optimized lookup of port handles from drivers.
+
+ -- Optimized driver lookup when creating ports.
+
+ -- Preemptable erlang:ports/0 BIF.
+
+ -- Improving responsiveness by bumping reductions for a
+ process calling a driver callback directly.
+
+ These changes imply changes of the characteristics of the
+ system. The most notable:
+
+ -- Order of signal delivery -- The previous implementation of
+ the VM has delivered signals from processes to ports in a
+ synchronous stricter fashion than required by the language.
+ As of ERTS version 5.10, signals are truly asynchronously
+ delivered. The order of signal delivery still adheres to the
+ requirements of the language, but only to the requirements.
+ That is, some signal sequences that previously always were
+ delivered in one specific order may now from time to time be
+ delivered in different orders. This may cause Erlang programs
+ that have made false assumptions about signal delivery order
+ to fail even though they previously succeeded. For more
+ information about signal ordering guarantees, see the chapter
+ on communication in the ERTS user's guide. The +n command
+ line flag of erl(1) can be helpful when trying to find
+ signaling order bugs in Erlang code that have been exposed by
+ these changes.
+
+ -- Latency of signals sent from processes to ports -- Signals
+ from processes to ports where previously always delivered
+ immediately. This kept latency for such communication to a
+ minimum, but it could cause lock contention which was very
+ expensive for the system as a whole. In order to keep this
+ latency low also in the future, most signals from processes
+ to ports are by default still delivered immediately as long
+ as no conflicts occur. Such conflicts include not being able
+ to acquire the port lock, but also include other conflicts.
+ When a conflict occur, the signal will be scheduled for
+ delivery at a later time. A scheduled signal delivery may
+ cause a higher latency for this specific communication, but
+ improves the overall performance of the system since it
+ reduce lock contention between schedulers. The default
+ behavior of only scheduling delivery of these signals on
+ conflict can be changed by passing the +spp command line flag
+ to erl(1). The behavior can also be changed on port basis
+ using the parallelism option of the open_port/2 BIF.
+
+ -- Execution time of the erlang:ports/0 BIF -- Since
+ erlang:ports/0 now can be preempted, the responsiveness of
+ the system as a whole has been improved. A call to
+ erlang:ports/0 may, however, take a much longer time to
+ complete than before. How much longer time heavily depends on
+ the system load.
+
+ -- Reduction cost of calling driver callbacks -- Calling a
+ driver callback is quite costly. This was previously not
+ reflected in reduction cost at all. Since the reduction cost
+ now has increased, a process performing lots of direct driver
+ calls will be scheduled out more frequently than before.
+
+ Potential incompatibilities:
+
+ -- driver_send_term() has been deprecated and has been
+ scheduled for removal in OTP-R17. Replace usage of
+ driver_send_term() with usage of erl_drv_send_term().
+
+ -- driver_output_term() has been deprecated and has been
+ scheduled for removal in OTP-R17. Replace usage of
+ driver_output_term() with usage of erl_drv_output_term().
+
+ -- The new function erl_drv_busy_msgq_limits() has been added
+ in order to able to control management of port queues.
+
+ The driver API version has been bumped to 2.1 from 2.0 due to
+ the above changes in the driver API.
+
+ OTP-10348 The experimental support for packages has been removed.
+
+ OTP-10491 Set new peeled off SCTP socket to nonblocking socket (Thanks
+ to Jonas Falkevik)
+
+ OTP-10522 Wrong parameters when setting seq_trace-tokens from within a
+ trace-pattern could crash the VM. This is now corrected.
+
+ OTP-10611 Fix various typos (thanks to Tuncer Ayaz)
+
+ OTP-10633 Erlang specification 4.7.3 defines max tuple size to 65535
+ elements It is now enforced to no more than 16777215 elements
+ (arity 24 bits)
+
+ Previous edge cases (28 bits) were not validated and could
+ cause undefined behaviour.
+
+ OTP-10643 Add insert_element/3 and delete_element/2
+
+ OTP-10647 The previous default of a maximum of 32768 simultaneous
+ processes has been raised to 262144. This value can be
+ changed using the the +P command line flag of erl(1). Note
+ that the value passed now is considered as a hint, and that
+ actual value chosen in most cases will be a power of two.
+
+ OTP-10661 The previously (in R15) proposed scheduler wakeup strategy is
+ now used by default. This strategy is not as quick to forget
+ about previous overload as the previous strategy.
+
+ This change imply changes of the characteristics the system.
+ Most notable: When a small overload comes and then disappears
+ repeatedly, the system will for a bit longer time be willing
+ to wake up schedulers than before. Timing in the system will
+ due to this also change.
+
+ The previous strategy can still be enabled by passing the
+ +sws legacy command line flag to erl.
+
+ OTP-10668 The +stbt command line argument of erl was added. This
+ argument can be used for trying to set scheduler bind type.
+ Upon failure unbound schedulers will be used.
+
+ OTP-10677 Fix fd leak when using async thread pool
+
+ When using the async thread pool, if an erlang process asks
+ to open a file and it gets shutdown/killed while the
+ file:open/2 call hasn't returned, it's possible to leak a
+ file descriptor against the target file. This has now been
+ fixed. (Thanks to Filipe David Manana)
+
+ OTP-10678 Support ANSI in console
+
+ Unix platforms will no longer filter control sequences to the
+ ttsl driver thus enabling ANSI and colors in console. (Thanks
+ to Pedram Nimreezi)
+
+ OTP-10680 Add file:allocate/3 operation
+
+ This operation allows pre-allocation of space for files. It
+ succeeds only on systems that support such operation. (Thanks
+ to Filipe David Manana)
+
+ OTP-10683 Treat -Wreturn-type warnings as error when using GCC (Thanks
+ to Tuncer Ayaz)
+
+ OTP-10699 Use sys/types.h instead of string.h to pull ssize_t
+ definition to erl_driver.h. This fixes build issue on NetBSD.
+ (Thanks to Yamamoto Takashi).
+
+ OTP-10702 Arguments given with the -run or -s flags to erl are now
+ translated according to the file name encoding mode of the
+ runtime system.
+
+ OTP-10726 Implement ./otp_build configure --enable-silent-rules
+
+ With silent rules, the output of make is less verbose and
+ compilation warnings are easier to spot. Silent rules are
+ disabled by default and can be disabled or enabled at will by
+ make V=0 and make V=1. (Thanks to Anthony Ramine)
+
+ OTP-10727 Use share flags for all file operations on Windows. Thanks to
+ Filipe David Borba Manana.
+
+ OTP-10733 Make/fakefop adjustments. Thanks to Tuncer Ayaz and Sebastian
+ Rasmussen.
+
+ OTP-10736 The runtime system will now by default use 10 async threads
+ if thread support has been enabled when building the runtime
+ system.
+
+ This will prevent long blocking file-operations from blocking
+ scheduler threads for long periods of time, which can be
+ harmful. Apart from file-operations, it also effects other
+ operations scheduled on the async thread pool by user
+ implemented drivers.
+
+ The amount of async threads can be controlled by using the +A
+ command line argument of erl(1). When running some offline
+ tools you might want to disable async threads, but you are
+ advised not to in the general case. Instead, you might want
+ to increase the amount of async threads used.
+
+ This change imply changes of the characteristics the system
+ compared to the previous default. The responsiveness of the
+ system as a whole will be improved. Operations scheduled on
+ the async thread pool will get an increased latency. The
+ throughput of these operations may increase, or decrease
+ depending on the type of the operations and how they get
+ scheduled. In the case of file operations, the throughput
+ very much depends on how the Erlang application access files.
+ Multiple concurrent accesses to different files have the
+ potential of an increased throughput.
+
+ OTP-10737 The default reader group limit has been increased to 64 from
+ 8. This limit can be set using the +rg command line argument
+ of erl(1).
+
+ This change of default value will reduce lock contention on
+ ETS tables using the read_concurrency option at the expense
+ of memory consumption when the amount of schedulers and
+ logical processors are beween 8 and 64. For more information,
+ see documentation of the +rg command line argument of erl(1).
+
+ OTP-10746 The octet counters in the gen_tcp/inet interface could behave
+ in unexpected ways on 64bit platforms. The behaviour is now
+ as expected.
+
+ OTP-10747 Certain linux kernels, most notably in redhat and CentOS
+ distribution, had a bug in writev which generated an infinite
+ loop in the tcp code of the VM. The bug is now worked around.
+
+ OTP-10748 A process that got killed (got an exit signal) while
+ operating on a compresseed file, could cause a segmentation
+ fault in the VM. This is now corrected. Thanks to Filipe
+ David Manana for identifying the problem and submitting a
+ solution.
+
+ OTP-10751 Windows previously used three digit exponent in formatting
+ which caused difference between platforms, as can be seen by
+ float_to_list/1. This has now been fixed.
+
+ OTP-10752 New BIF float_to_list/2 which solves a problem of
+ float_to_list/1 that doesn't allow specifying the number of
+ digits after the decimal point when formatting floats (Thanks
+ to Serge Aleynikov).
+
+ OTP-10753 Limited support for unicode atoms in the external format and
+ in the internal representation of the vm. This is a
+ preparative feature in order to support communication with
+ future releases of Erlang/OTP that may create unicode atoms.
+
+ OTP-10787 Increased potential concurrency in ETS for write_concurrency
+ option. The number of internal table locks has increased from
+ 16 to 64. This makes it four times less likely that two
+ concurrent processes writing to the same table would collide
+ and thereby serialized. The cost is an increased constant
+ memory footprint for tables using write_concurrency. The
+ memory consumption per inserted record is not affected. The
+ increased footprint can be particularly large if
+ write_concurrency is combined with read_concurrency.
+
+
+--- et-1.4.4.3 ----------------------------------------------------------
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+
+--- eunit-2.2.4 ---------------------------------------------------------
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+
+--- gs-1.5.15.2 ---------------------------------------------------------
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+
+--- hipe-3.10 -----------------------------------------------------------
+
+ OTP-10302 Support for Unicode has been implemented.
+
+ OTP-10624 The type ascii_string() in the base64 module has been
+ corrected. The type file:file_info() has been cleaned up. The
+ type file:fd() has been made opaque in the documentation.
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10705 Update .gitignore (lib/hipe/boot_ebin). Thanks to Tuncer
+ Ayaz.
+
+
+--- ic-4.3 --------------------------------------------------------------
+
+ OTP-10784 Misc build updates
+
+ OTP-10785 Adapt ic for changes in erl_interface and jinterface due to
+ utf8 atom support. This change makes ic dependent on
+ erl_interface-3.7.10 (R16) or later in order to build.
+
+
+--- inets-5.9.3 ---------------------------------------------------------
+
+ OTP-10256 httpc: The HTTP client now supports HTTPS through proxies
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
+ OTP-10765 Fix autoredirect for POST requests responding 303. Thanks to
+ Hans Svensson.
+
+
+--- jinterface-1.5.7 ----------------------------------------------------
+
+ OTP-10505 fix reading compressed binary terms from Java (Thanks to Nico
+ Kruber)
+
+ OTP-10579 OtpEpmd.lokupNames() no longer hangs when badly configured
+ (Thanks to Vlad Dumitrescu)
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10753 Limited support for unicode atoms in the external format and
+ in the internal representation of the vm. This is a
+ preparative feature in order to support communication with
+ future releases of Erlang/OTP that may create unicode atoms.
+
+
+--- kernel-2.16 ---------------------------------------------------------
+
+ OTP-8067 Inet exported functionality
+
+ inet:parse_ipv4_address/1, inet:parse_ipv4strict_address/1,
+ inet:parse_ipv6_address/1, inet:parse_ipv6strict_address/1,
+ inet:parse_address/1 and inet:parse_strict_address is now
+ exported from the inet module.
+
+ OTP-8928 A boolean socket option 'ipv6_v6only' for IPv6 sockets has
+ been added. The default value of the option is OS dependent,
+ so applications aiming to be portable should consider using
+ {ipv6_v6only,true} when creating an inet6
+ listening/destination socket, and if neccesary also create an
+ inet socket on the same port for IPv4 traffic. See the
+ documentation.
+
+ OTP-10302 Support for Unicode has been implemented.
+
+ OTP-10417 It is no longer possible to have {Mod,Vsn} in the 'modules'
+ list in a .app file.
+
+ This was earlier possible, although never documented in the
+ .app file reference manual. It was however visible in the
+ documentation of application:load/[1,2], where the same term
+ as in a .app file can be used as the first argument.
+
+ The possibility has been removed since the Vsn part was never
+ used.
+
+ OTP-10419 The documentation for global:register_name/3 has been updated
+ to mention that the use of {Module,Function} as the method
+ argument (resolve function) is deprecated.
+
+ OTP-10473 The contract of erl_ddll:format_error/1 has been corrected.
+ (Thanks to Joseph Wayne Norton.)
+
+ OTP-10549 Fixed bug where sendfile on oracle solaris would return an
+ error when a partial send was done.
+
+ OTP-10617 The error_handler module will now call
+ '$handle_undefined_function'/2 if an attempt is made to call
+ a non-existing function in a module that exists. See the
+ documentation for error_handler module for details.
+
+ OTP-10620 Change printout of application crash message on startup to
+ formated strings (Thanks to Serge Aleynikov)
+
+ OTP-10624 The type ascii_string() in the base64 module has been
+ corrected. The type file:file_info() has been cleaned up. The
+ type file:fd() has been made opaque in the documentation.
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10662 Do not return wrong terms unnecessarily. (Thanks to Kostis
+ Sagonas.)
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
+ OTP-10680 Add file:allocate/3 operation
+
+ This operation allows pre-allocation of space for files. It
+ succeeds only on systems that support such operation. (Thanks
+ to Filipe David Manana)
+
+ OTP-10694 Add application:get_key/3. The new function provides a
+ default value for a configuration parameter. Thanks to Serge
+ Aleynikov.
+
+ OTP-10739 Add search to Erlang shell's history. Thanks to Fred Herbert.
+
+
+--- megaco-3.16.0.3 -----------------------------------------------------
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+
+--- mnesia-4.8 ----------------------------------------------------------
+
+ OTP-10156 Added a general framework for executing benchmarks of
+ Erlang/OTP. Benchmarks for the Erlang VM and mnesia have been
+ incorporated in the framework.
+
+ For details about how to add more benchmarks see
+ $ERL_TOP/HOWTO/BENCHMARKS.md in the source distribution.
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10636 Use chained send_after instead of send_interval, to make
+ decrease the number of messages sent after a sleep (Thanks to
+ James Wheare)
+
+ OTP-10639 Fix format of mnesia overload message (Thanks to Ahmed Omar)
+
+ OTP-10729 Remove support for the query keyword and query expressions.
+ Thanks to Loïc Hoguin.
+
+
+--- observer-1.3 --------------------------------------------------------
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+
+--- odbc-2.10.14 --------------------------------------------------------
+
+ OTP-10506 Under Unix enable TCP_NODELAY to disable Nagel's socket
+ algorithm. Thanks to Andy Richards
+
+ Impact: Performance gain on Unix systems
+
+ OTP-10603 Added extended_errors option to ODBC
+
+ When enabled, this option alters the return code of ODBC
+ operations that produce errors to include the ODBC error code
+ as well as the native error code, in addition to the ODBC
+ reason field which is returned by default. Thanks to Bernard
+ Duggan.
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
+ OTP-10735 Fix aotocommit for Oracle ODBC driver in Linux. Thanks to
+ Danil Onishchenko.
+
+
+--- orber-3.6.25 --------------------------------------------------------
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
+
+--- os_mon-2.2.11 -------------------------------------------------------
+
+ OTP-10448 Removed deprecated function calls to snmp
+
+
+--- otp_mibs-1.0.8 ------------------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- parsetools-2.0.8 ----------------------------------------------------
+
+ OTP-10302 Support for Unicode has been implemented.
+
+ OTP-10660 The file esyntax.yrl has been removed.
+
+
+--- percept-0.8.8 -------------------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- pman-2.7.1.3 --------------------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- public_key-0.18 -----------------------------------------------------
+
+ OTP-7045 public_key now supports CRL validation and documents the
+ function public_key:pkix_path_validation/3
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
+ OTP-10670 Fix subjectPublicKeyInfo type comment in public_key. Thanks
+ to Ryosuke Nakai.
+
+ OTP-10723 Fixed typo's in public_key spec.
+
+ OTP-10767 Corrected PKCS-10 documentation and added some PKCS-9 support
+ that is fairly commonly used by PKCS-10. Full support for
+ PKCS-9 will be added later.
+
+
+--- reltool-0.6.2 -------------------------------------------------------
+
+ OTP-10012 -- If incl_cond was set to derived on module level, then
+ reltool_server would crash with a case_clause. This has been
+ corrected. incl_cond on module level now overwrites mod_cond
+ on app or sys level as described in the documentation.
+
+ -- If a rel spec in the reltool config does not contain all
+ applications that are listed as {applications,Applications}
+ in a .app file, then these applications are autmatically
+ added when creating the .rel file. For
+ 'included_applications', the behaviour was not the same. I.e.
+ if a rel spec in the reltool config did not contain all
+ applications that are listed as
+ {included_applications,InclApplications} in a .app file, then
+ reltool would fail with reason "Undefined applications" when
+ creating the .rel file. This has been corrected, so both
+ applications and included_applications are now automatically
+ added if not already in the rel spec.
+
+ -- The rel specification now dictates the order in which
+ included and used applications (specified in the .app file as
+ included_applications and applications respectively) are
+ loaded/started by the boot file. If the applications are not
+ specified in the rel spec, then the order from the .app file
+ is used. This was a bug earlier reported on systools, and is
+ now also implemented in reltool.
+
+ -- Instead of only looking at the directory name, reltool now
+ first looks for a .app file in order to figure out the name
+ of an application.
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
+
+--- runtime_tools-1.8.10 ------------------------------------------------
+
+ OTP-10155 User Guides for the dynamic tracing tools dtrace and
+ systemtap have been added to the documentation.
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10635 Fix Table Viewer refresh crash on no more existing ets tables
+ (Thanks to Peti Gömori)
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
+ OTP-10786 The backend module appmon_info.erl is moved from appmon
+ application to runtime_tools. This allows appmon to be run
+ from a remote erlang node towards a target node which does
+ not have appmon (and its dependencies) installed, as long as
+ runtime_tools is installed there.
+
+
+--- sasl-2.3 ------------------------------------------------------------
+
+ OTP-10394 release_handler_SUITE:otp_9864 deleted parts of the
+ release_handler_SUITE_data directory so the test suite could
+ not be executed twice without re-installation. This has been
+ corrected.
+
+ OTP-10417 It is no longer possible to have {Mod,Vsn} in the 'modules'
+ list in a .app file.
+
+ This was earlier possible, although never documented in the
+ .app file reference manual. It was however visible in the
+ documentation of application:load/[1,2], where the same term
+ as in a .app file can be used as the first argument.
+
+ The possibility has been removed since the Vsn part was never
+ used.
+
+ OTP-10463 release_handler:upgrade_script and
+ release_handler:downgrade_script could not read appup files
+ with regexps. This has been corrected. (Thanks to Ulf Wiger)
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+
+--- snmp-4.23 -----------------------------------------------------------
+
+ OTP-10027 [manager] Remove deprecated functions.
+
+ OTP-10610 Fix typo in snmpm doc (Thanks to Luca Favatella)
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10671 Polish return values of snmpm_user_default according to
+ snmpm_user doc.
+
+ OTP-10672 Remove runtime warning in snmpa_agent because of tuple fun
+ usage.
+
+ OTP-10673 SNMP manager performance optimization
+
+
+--- ssh-2.1.2 -----------------------------------------------------------
+
+ OTP-10657 Fixed various syntax errors in SSH appup file
+
+
+--- ssh-2.1.3 -----------------------------------------------------------
+
+ OTP-6406 SSH_FX_FILE_IS_A_DIRECTORY message for sftp implemented
+
+ OTP-7785 SSH Rekeying fixed
+
+ OTP-7786 Added User Guide for the SSH application
+
+ OTP-7792 Documentation regarding failfun, connectfun and disconnectfun
+ provided
+
+ OTP-9478 It is now possible to send an empty binary using
+ ssh_connection:send/3, this corner case previously caused
+ ssh_connection:send to hang.
+
+ OTP-10456 Fix typo in keyboard-interactive string. Thanks to Daniel
+ Goertzen
+
+ OTP-10467 ssh_connectino:send/3 will not return until all data has been
+ sent. Previously it could return too early, resulting in
+ things such premature close of the connection. Also improved
+ error handling of closed SSH channels.
+
+ OTP-10475 Fixed ssh_cli.erl crashes because #state.buf is yet
+ 'undefined'.
+
+ Fixed Client terminateing connections due to channel_request
+ message response is sent to the wrong id.
+
+ Affected SSH clients: - all clients based on
+ SSH-2.0-TrileadSSH2Java_213 (problem #1) - SSH Term Pro
+ (problem #2)
+
+ Thanks to Stefan Zegenhagen
+
+ OTP-10514 SSH connection timer implementation
+
+ New option, {idle_time, integer()}, sets a timeout on
+ connection when no channels are active, defaults to infinity
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
+ OTP-10731 Fixed internal error on when client and server can not agree
+ o which authmethod to use.
+
+
+--- ssl-5.1.2 -----------------------------------------------------------
+
+ OTP-10600 ssl:ssl_accept/2 timeout is no longer ignored
+
+
+--- ssl-5.2 -------------------------------------------------------------
+
+ OTP-10361 Support Next Protocol Negotiation in TLS, thanks to Ben
+ Murphy for the contribution.
+
+ Impact: Could give performance benefit if used as it saves a
+ round trip.
+
+ OTP-10425 TLS 1.2 will now be the default TLS version if sufficient
+ crypto support is available otherwise TLS 1.1 will be
+ default.
+
+ Impact: A default TLS connection will have higher security
+ and hence it may be perceived as slower then before.
+
+ OTP-10447 It is now possible to call controlling_process on a listen
+ socket, same as in gen_tcp.
+
+ OTP-10451 Remove filter mechanisms that made error messages backwards
+ compatible with old ssl but hid information about what
+ actually happened.
+
+ This does not break the documented API however other reason
+ terms may be returned, so code that matches on the reason
+ part of {error, Reason} may fail.
+
+ OTP-10586 SSL: TLS 1.2, advertise sha224 support, thanks to Andreas
+ Schultz.
+
+ OTP-10594 Added missing dependencies to Makefile
+
+ OTP-10595 If an ssl server is restarted with new options and a client
+ tries to reuse a session the server must make sure that it
+ complies to the new options before agreeing to reuse it.
+
+ OTP-10613 Removed deprecated function ssl:pid/0, it has been pointless
+ since R14 but has been keep for backwards compatibility.
+
+ OTP-10709 Refactor to simplify addition of key exchange methods, thanks
+ to Andreas Schultz.
+
+ OTP-10710 Now handles cleaning of CA-certificate database correctly so
+ that there will be no memory leek, bug was introduced in ssl-
+ 5.1 when changing implementation to increase parallel
+ execution.
+
+ Impact: Improved memory usage, especially if you have many
+ different certificates and upgrade tcp-connections to
+ TLS-connections.
+
+
+--- stdlib-1.19 ---------------------------------------------------------
+
+ OTP-6874 Wildcards such as "some/path/*" passed to filelib:wildcard/2
+ would fail to match any file. (Thanks to Samuel Rivas for
+ reporting this bug.)
+
+ OTP-9803 Fixed error handling in proc_lib:start which could hang if
+ the spawned process died in init.
+
+ OTP-10097 Dets tables are no longer fixed while traversing with a bound
+ key (when only the objects with the right key are matched).
+ This optimization affects the functions match/2,
+ match_object/2, select/2, match_delete/2, and
+ select_delete/2.
+
+ OTP-10302 Support for Unicode has been implemented.
+
+ OTP-10431 Allow ** in filelib:wildcard
+
+ Two adjacent * used as a single pattern will match all files
+ and zero or more directories and subdirectories. (Thanks to
+ José Valim)
+
+ OTP-10436 The linter now warns for opaque types that are not exported,
+ as well as for under-specified opaque types.
+
+ OTP-10455 Add the \gN and \g{N} syntax for back references in
+ re:replace/3,4 to allow use with numeric replacement strings.
+ (Thanks to Vance Shipley)
+
+ OTP-10472 Export ets:match_pattern/0 type (Thanks to Joseph Wayne
+ Norton)
+
+ OTP-10474 The type file:name() has been substituted for the type
+ file:filename() in the following functions in the filename
+ module: absname/2, absname_join/2, join/1,2, and split/1.
+
+ OTP-10490 If a child process fails in its start function, then the
+ error reason was earlier only reported as an error report
+ from the error_handler, and supervisor:start_link would only
+ return {error,shutdown}. This has been changed so the
+ supervisor will now return {error,{shutdown,Reason}}, where
+ Reason identifies the failing child and its error reason.
+ (Thanks to Tomas Pihl)
+
+ OTP-10504 Fix printing the empty binary at depth 1 with ~W (Thanks to
+ Andrew Thompson)
+
+ OTP-10624 The type ascii_string() in the base64 module has been
+ corrected. The type file:file_info() has been cleaned up. The
+ type file:fd() has been made opaque in the documentation.
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10658 The contracts and types of the modules erl_scan and sys have
+ been corrected and improved. (Thanks to Kostis Sagonas.)
+
+ OTP-10659 The Erlang shell now skips the rest of the line when it
+ encounters an Erlang scanner error.
+
+ OTP-10663 Clean up some specs in the proplists module. (Thanks to
+ Kostis Sagonas.)
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
+ OTP-10691 Enable escript to accept emulator arguments when script file
+ has no shebang. Thanks to Magnus Henoch
+
+ OTP-10722 Fix bug in queue:out/1, queue:out_r/1 that makes it O(N^2) in
+ worst case. Thanks to Aleksandr Erofeev.
+
+ OTP-10742 There are new functions in the epp module which read the
+ character encoding from files. See epp(3) for more
+ information.
+
+ OTP-10745 The functions in io_lib have been adjusted for Unicode. The
+ existing functions write_string() and so on now take Unicode
+ strings, while the old behavior has been taken over by new
+ functions write_latin1_string() and so on. There are also new
+ functions to write Unicode strings as Latin-1 strings, mainly
+ targetted towards the Erlang pretty printer (erl_pp).
+
+ OTP-10749 The new functions proc_lib:format/2 and erl_parse:abstract/2
+ accept an encoding as second argument.
+
+ OTP-10787 Increased potential concurrency in ETS for write_concurrency
+ option. The number of internal table locks has increased from
+ 16 to 64. This makes it four times less likely that two
+ concurrent processes writing to the same table would collide
+ and thereby serialized. The cost is an increased constant
+ memory footprint for tables using write_concurrency. The
+ memory consumption per inserted record is not affected. The
+ increased footprint can be particularly large if
+ write_concurrency is combined with read_concurrency.
+
+
+--- syntax_tools-1.6.10 -------------------------------------------------
+
+ OTP-10302 Support for Unicode has been implemented.
+
+
+--- test_server-3.6 -----------------------------------------------------
+
+ OTP-9710 Line numbering of erlang files that were not correctly
+ indented could be wrong after coverting to html with
+ erl2html2:convert/[2,3] (the source code pointed to from the
+ test case). This has been corrected.
+
+ Also, there are now link targets for each line and not only
+ for each 10th line, and link targets for functions now
+ include the arity and not only the function name (e.g. func/1
+ has a link target "func-1").
+
+ OTP-9769 Severe errors detected by test_server (e.g. if log files
+ directories cannot be created) will now be reported to
+ common_test and noted in the common_test logs.
+
+ OTP-9870 The earlier undocumented cross cover feature for accumulating
+ cover data over multiple tests has now been fixed and
+ documented.
+
+ OTP-9956 If the test suite itself was included in code coverage
+ analysis, then the test_server would not manage to set
+ data_dir correctly for the test. This has been corrected.
+
+ OTP-10046 Any call to test_server:break/1 should cancel all active
+ timetramps. However, in some cases Suite:end_per_testcase/2
+ is executed on a different process than the test case itself,
+ and if test_server:break/1 was called from there, the
+ timetraps were not cancelled. This has been corrected.
+
+ OTP-10070 When a test case failed because of a timetrap time out, the
+ Config data for the case was lost in the following call to
+ end_per_testcase/2, and also in calls to the CT Hook function
+ post_end_per_testcase/4. This problem has been solved and the
+ Config data is now correctly passed to the above functions
+ after a timetrap timeout failure.
+
+ OTP-10101 In test_server, the same process would supervise the
+ currently running test case and be group leader (and IO
+ server) for the test case. Furthermore, when running parallel
+ test cases, new temporary supervisor/group leader processes
+ were spawned and the process that was group leader for
+ sequential test cases would not be active. That would lead to
+ several problems:
+
+ * Processes started by init_per_suite will inherit the group
+ leader of the init_per_suite process (and that group leader
+ would not process IO requests when parallel test cases was
+ running). If later a parallel test case caused such a
+ processto print using (for example) io:format/2, the calling
+ would hang.
+
+ * Similarly, if a process was spawned from a parallel test
+ case, it would inherit the temporary group leader for that
+ parallel test case. If that spawned process later - when the
+ group of parallel tests have finished - attempted to print
+ something, its group leader would be dead and there would be
+ badarg exception.
+
+ Those problems have been solved by having group leaders
+ separate from the processes that supervises the test cases,
+ and keeping temporary group leader process for parallel test
+ cases alive until no more process in the system use them as
+ group leaders.
+
+ Also, a new unexpected_io.log log file (reachable from the
+ summary page of each test suite) has been introduced. All
+ unexpected IO will be printed into it(for example, IO to a
+ group leader for a parallel test case that has finished).
+
+ OTP-10156 Added a general framework for executing benchmarks of
+ Erlang/OTP. Benchmarks for the Erlang VM and mnesia have been
+ incorporated in the framework.
+
+ For details about how to add more benchmarks see
+ $ERL_TOP/HOWTO/BENCHMARKS.md in the source distribution.
+
+ OTP-10480 The stability of common_test and test_server when running
+ test cases in parallel has been improved.
+
+ OTP-10783 Update common test modules to handle unicode
+
+ -- Use UTF-8 encoding for all HTML files, except the HTML
+ version of the test suite generated with erl2html2:convert,
+ which will have the same encoding as the original test suite
+ (.erl) file.
+
+ -- Encode link targets in HTML files with
+ test_server_ctrl:uri_encode/1.
+
+ -- Use unicode modifier 't' with ~s when appropriate.
+
+ -- Use unicode:characters_to_list and
+ unicode:characters_to_binary for conversion between binaries
+ and strings instead of binary_to_list and list_to_binary.
+
+
+--- toolbar-1.4.2.3 -----------------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- tools-2.6.9 ---------------------------------------------------------
+
+ OTP-10302 Support for Unicode has been implemented.
+
+ OTP-10465 Make erlang-mode more compatible with package.el (Thanks to
+ Gleb Peregud)
+
+ OTP-10523 A new function, cover:flush(Nodes), is added which will fetch
+ data from remote nodes without stopping cover on those nodes.
+ This is used by test_server and common_test when it is safe
+ to assume that the node will be terminated after the test
+ anyway. The purpose is to avoid processes crashing when
+ re-loading the original beam if the processes is still
+ running old code.
+
+ Remote nodes will now continue to count code coverage if the
+ connection to the main node is broken. Earlier, a broken
+ connection would cause the cover_server on the remote node to
+ die and thus any still cover compiled modules would cause
+ process crash when trying to insert cover data in ets tables
+ that used to exist on the cover_server. The new functionality
+ also involves synchronization with the main node if the nodes
+ are reconnected.
+
+ OTP-10611 Fix various typos (thanks to Tuncer Ayaz)
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10637 Add separate face for exported functions (Thanks to Thomas
+ Järvstrand)
+
+ OTP-10766 Fix syntax highlighting of $\' in Emacs mode. Thanks to
+ Magnus Henoch.
+
+ OTP-10774 The BIF highlighting in the emacs mode has been updated to
+ correspond with the correct BIFs.
+
+
+--- tv-2.1.4.10 ---------------------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- typer-0.9.5 ---------------------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- webtool-0.8.9.2 -----------------------------------------------------
+
+ OTP-10784 Misc build updates
+
+
+--- wx-1.0 --------------------------------------------------------------
+
+ OTP-10407 The wx application now compiles and is usable with the
+ unstable development branch of wxWidgets-2.9. Some functions
+ are currently not available in wxWidgets-2.9 and their erlang
+ counterparts are marked as deprecated. They will generate an
+ error if called when linked against wxWidgets-2.9 libraries.
+ This means that wx can now be built on 64bit MacOsX, but keep
+ in mind that wxWidgets-2.9 is still a development branch and
+ needs (a lot) more work before it becomes stable.
+
+ OTP-10585 Add {silent_start, boolean()} option to wx:new/1 in order to
+ be able to suppress error messages during startup of wx.
+ (Thanks to Håkan Mattsson)
+
+ OTP-10743 Fix wxTreeCtrl:getBoundingRect/2 and wxTreeCtrl:hitTest/1.
+ wxTreeCtrl:hitTest now returns a tuple not bug compatible
+ with previous releases but needed.
+
+
+--- xmerl-1.3.3 ---------------------------------------------------------
+
+ OTP-10630 Where necessary a comment stating encoding has been added to
+ Erlang files. The comment is meant to be removed in
+ Erlang/OTP R17B when UTF-8 becomes the default encoding.
+
+ OTP-10665 Some examples overflowing the width of PDF pages have been
+ corrected.
+
diff --git a/sources b/sources
index e64519f..4a1b064 100644
--- a/sources
+++ b/sources
@@ -1,4 +1 @@
-18ba57d24085a77c01bf05f5bc0e6fb5 otp_doc_html_R15B03-1.tar.gz
-1d7ace92e8cf41abbee1dba8192b7d5f otp_doc_man_R15B03-1.tar.gz
-f299c8af6f54e4b767fbba100b18acf2 otp_src_R15B03-1.readme
-eccd1e6dda6132993555e088005019f2 otp_src_R15B03-1.tar.gz
+39e2c511f8afeaacc02a16424f2cb103 otp_src_R16A_RELEASE_CANDIDATE.tar.gz
From 08b6f7f0f614b804f3ab2d50cb2c1840fafa9957 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 4 Feb 2013 12:40:22 +0400
Subject: [PATCH 002/322] Leftover
Signed-off-by: Peter Lemenkov
---
erlang.spec | 1 -
1 file changed, 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index 8413b3a..58f1284 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -582,7 +582,6 @@ from media conversion.
%package mnesia
Summary: A heavy duty real-time distributed database
Group: Development/Languages
-#Error:erlang(megaco_flex_scanner:scan/2)
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
From a0fe45fc3bd4c6d6bd094aaf4581f7331134dc6b Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 4 Feb 2013 12:43:56 +0400
Subject: [PATCH 003/322] Restore accidentally removed script
Signed-off-by: Peter Lemenkov
---
otp-get-patches.sh | 92 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
create mode 100755 otp-get-patches.sh
diff --git a/otp-get-patches.sh b/otp-get-patches.sh
new file mode 100755
index 0000000..5033e60
--- /dev/null
+++ b/otp-get-patches.sh
@@ -0,0 +1,92 @@
+#!/bin/bash
+# Usage:
+# ./otp-get-patches.sh /path/to/otp OTP_R14B02 fedora-R14B02
+#
+# otp-get-patches.sh - update erlang.spec and otp-00*.patch files
+#
+# otp-get-patches.sh updates the erlang.spec and otp-00*.patch
+# files in the git index. After an otp-get-patches.sh run, you
+# will need to review the stage git changes, possibly adapt the
+# Release: and %changelog parts of erlang spec, and can then
+# "git commit" everything.
+#
+# Caution: Leave the four special comment lines untouched in the
+# spec file, as otp-get-patches.sh requires them and will only
+# touch erlang.spec between the respective start/end pair:
+#
+# # start of autogenerated patch tag list
+# # end of autogenerated patch tag list
+# # start of autogenerated prep patch list
+# # end of autogenerated prep patch list
+#
+# The following special comment lines in the git commit messages
+# will be interpreted:
+#
+# Fedora-Spec-Comment: This patch only applies to EL6 builds
+# Fedora-Spec-Before: %if 0%?el6}
+# Fedora-Spec-After: %endif
+#
+# If there is no "Fedora-Spec-Comment:" line, we will use
+# "Fedora specific patch".
+
+# Command line parsing
+otp_dir="${1:?'Fatal: otp git repo dir required'}"
+otp_upstream="${2:?'Fatal: git ref to upstream release required'}"
+otp_fedora="${3:?'Fatal: git ref to branch with fedora patches required'}"
+
+# Setup
+set -e
+# set -x
+tmpdir="$(mktemp -d --tmpdir="$PWD")"
+
+# Generate patch files
+pushd "$otp_dir"
+git format-patch -N -o "$tmpdir" "${otp_upstream}..${otp_fedora}" > "$tmpdir/patch-list.txt"
+popd
+
+test -s "$tmpdir/patch-list.txt"
+
+# Process patch files
+echo "# start of autogenerated patch tag list" > "$tmpdir/patch-list-tags.txt"
+echo "# start of autogenerated prep patch list" > "$tmpdir/patch-list-prep.txt"
+n=1
+while read patch
+do
+ otppatch="$(dirname "$patch")/otp-$(basename "$patch")"
+ ${SED-sed} -e '1d' -e '/^-- $/,$d' "$patch" > "$otppatch"
+ rm -f "$patch"
+ comment="$(sed -n 's/^Fedora-Spec-Comment:\s*//p' "$otppatch")"
+ if test "x$comment" = "x"; then comment="Fedora specific patch"; fi
+ echo "# ${comment}" >> "$tmpdir/patch-list-tags.txt"
+ echo "# $(sed -n 's/^Subject: \[PATCH\] //p' "$otppatch")" >> "$tmpdir/patch-list-tags.txt"
+ echo "Patch$n: $(basename "$otppatch")" >> "$tmpdir/patch-list-tags.txt"
+ base="$(basename "$patch" ".patch" | sed 's/^00[0-9][0-9]-//')"
+ backupext=".$(echo -n "$base" | tr -c -s '[:alnum:]' '_')"
+ sed -n 's/^Fedora-Spec-Before:\s*//p' "$otppatch" >> "$tmpdir/patch-list-prep.txt"
+ echo "%patch$n -p1 -b ${backupext}" >> "$tmpdir/patch-list-prep.txt"
+ sed -n 's/^Fedora-Spec-After:\s*//p' "$otppatch" >> "$tmpdir/patch-list-prep.txt"
+ n=$(($n + 1))
+done < "$tmpdir/patch-list.txt"
+echo "# end of autogenerated patch tag list" >> "$tmpdir/patch-list-tags.txt"
+echo "# end of autogenerated prep patch list" >> "$tmpdir/patch-list-prep.txt"
+
+# Create updated spec file
+specfile="erlang.spec"
+newspec1="${tmpdir}/${specfile}.new1"
+newspec2="${tmpdir}/${specfile}.new2"
+sed '/^# start of autogenerated patch tag list$/,$d' "$specfile" > "$newspec1"
+cat "$tmpdir/patch-list-tags.txt" >> "$newspec1"
+sed '1,/^# end of autogenerated patch tag list/d' "$specfile" >> "$newspec1"
+sed '/^# start of autogenerated prep patch list$/,$d' "$newspec1" > "$newspec2"
+cat "$tmpdir/patch-list-prep.txt" >> "$newspec2"
+sed '1,/^# end of autogenerated prep patch list/d' "$newspec1" >> "$newspec2"
+
+# Actually put all changes into git index
+git rm -f otp-00*.patch
+mv "$tmpdir/otp-00"*.patch .
+git add otp-00*.patch
+mv -f "$newspec2" "$specfile"
+git add "$specfile"
+
+rm -rf "$tmpdir"
+# End of file.
From 042c33880e54b974fd92b3deae77b315df4ce0c7 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 1 Mar 2013 23:34:46 +0400
Subject: [PATCH 004/322] Ver. R16B
Signed-off-by: Peter Lemenkov
---
.gitignore | 3 +
erlang.spec | 34 +-
...n-pages-and-do-not-install-miscellan.patch | 4 +-
otp-0006-Do-not-install-erlang-sources.patch | 8 +-
...SE_CANDIDATE.readme => otp_src_R16B.readme | 626 ++++++++++++++++--
sources | 4 +-
6 files changed, 599 insertions(+), 80 deletions(-)
rename otp_src_R16A_RELEASE_CANDIDATE.readme => otp_src_R16B.readme (79%)
diff --git a/.gitignore b/.gitignore
index 13eb3d8..e60b66a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,3 +31,6 @@ otp_src_R14A.tar.gz
/otp_doc_man_R16A_RELEASE_CANDIDATE.tar.gz
/otp_src_R16A_RELEASE_CANDIDATE.tar.gz
/otp_src_R16A_RELEASE_CANDIDATE.readme
+/otp_src_R16B.tar.gz
+/otp_doc_html_R16B.tar.gz
+/otp_doc_man_R16B.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 58f1284..03171d6 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -1,4 +1,4 @@
-%global upstream_ver R16A
+%global upstream_ver R16B
# Do NOT change %%{upstream_rel} unless UPSTREAM has actually changed it!
#%global upstream_rel 03
%global upstream_rel %{nil}
@@ -31,12 +31,13 @@ Summary: General-purpose programming language and runtime environment
Group: Development/Languages
License: ERPL
URL: http://www.erlang.org
-Source0: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}_RELEASE_CANDIDATE.tar.gz
+Source0: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}.tar.gz
%if %{use_prebuilt_docs}
-Source1: http://erlang.org/download/otp_doc_html_%{upstream_ver}%{upstream_rel}_RELEASE_CANDIDATE.tar.gz
-Source2: http://erlang.org/download/otp_doc_man_%{upstream_ver}%{upstream_rel}_RELEASE_CANDIDATE.tar.gz
+Source1: http://erlang.org/download/otp_doc_html_%{upstream_ver}%{upstream_rel}.tar.gz
+Source2: http://erlang.org/download/otp_doc_man_%{upstream_ver}%{upstream_rel}.tar.gz
%endif
-Source4: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}_RELEASE_CANDIDATE.readme
+Source4: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}.readme
+Source999: otp-get-patches.sh
# For the source of the Fedora specific patches, see the respective
@@ -175,8 +176,8 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-gs%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
+Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Obsoletes: %{name} < R13B-04.5
%description appmon
@@ -420,10 +421,10 @@ Erlang LDAP library.
%package erl_docgen
Summary: A utility used to generate erlang HTML documentation
Group: Development/Languages
-Requires: %{name}-edoc%{?_isa} = %{version}-%{release}
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
+Requires: %{name}-edoc%{?_isa} = %{version}-%{release}
+Requires: %{name}-erts%{?_isa} = %{version}-%{release}
+Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
+Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
Obsoletes: %{name} < R13B-04.5
%description erl_docgen
@@ -457,6 +458,8 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
+Provides: erlang(erl_drv_version) = 2.1
+Provides: erlang(erl_nif_version) = 2.4
Obsoletes: %{name} < R13B-04.5
%description et
@@ -718,7 +721,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
Obsoletes: %{name} < R13B-04.5
@@ -1004,9 +1006,9 @@ rm -f lib/ssl/examples/certs/etc/erlangCA/index.txt.old
%build
%ifarch sparcv9 sparc64
-CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib
+CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp
%else
-CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib
+CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp
%endif
# Remove pre-built BEAM files
@@ -1458,7 +1460,6 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/erlc
%{_bindir}/escript
%{_bindir}/run_erl
-%{_bindir}/run_test
%{_bindir}/to_erl
%{_libdir}/erlang/bin/ct_run
%{_libdir}/erlang/bin/epmd
@@ -1466,7 +1467,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/bin/erlc
%{_libdir}/erlang/bin/escript
%{_libdir}/erlang/bin/run_erl
-%{_libdir}/erlang/bin/run_test
%{_libdir}/erlang/bin/start
%{_libdir}/erlang/bin/start.boot
%{_libdir}/erlang/bin/start.script
@@ -2307,6 +2307,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Feb 28 2013 Peter Lemenkov - R16B-0.1
+- Ver. R16B
+- Enabled SCTP (see rhbz #908530)
+
* Sun Feb 03 2013 Peter Lemenkov - R16A-0.1
- Ver. R16A
diff --git a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
index 5952bab..4fba9a0 100644
--- a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
+++ b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
@@ -25,10 +25,10 @@ index 5c1ce51..5a07855 100644
$(INSTALL_DIR) "$(RELEASE_PATH)/build_erl_ose"
cd $(OSEETC) && $(TAR) erl_ose_$(SYSTEM_VSN).tar $(INSTALL_ERL_OSE)
diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src
-index 2dcd070..0bf82f1 100644
+index 0f33258..01fde22 100644
--- a/erts/etc/unix/Install.src
+++ b/erts/etc/unix/Install.src
-@@ -143,14 +143,4 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot .
+@@ -140,14 +140,4 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot .
cp -p $Name.boot start.boot
cp -p ../releases/%I_SYSTEM_VSN%/$Name.script start.script
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index c3229c9..00cf566 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -288,10 +288,10 @@ index bb2edd4..6b20995 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile
-index a08c204..3f5483a 100644
+index df10c33..5c54e70 100644
--- a/lib/diameter/src/Makefile
+++ b/lib/diameter/src/Makefile
-@@ -230,11 +230,8 @@ release_spec: opt
+@@ -242,11 +242,8 @@ release_spec: opt
$(MAKE) $(EXAMPLE_DIRS:%/=release_examples_%)
$(TARGET_DIRS:%/=release_src_%): release_src_%:
@@ -963,10 +963,10 @@ index 93d0b54..5904bc2 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index 043645b..ef98c3b 100644
+index e61f415..74661e3 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
-@@ -123,7 +123,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -122,7 +122,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
diff --git a/otp_src_R16A_RELEASE_CANDIDATE.readme b/otp_src_R16B.readme
similarity index 79%
rename from otp_src_R16A_RELEASE_CANDIDATE.readme
rename to otp_src_R16B.readme
index 53c3db5..861ab56 100644
--- a/otp_src_R16A_RELEASE_CANDIDATE.readme
+++ b/otp_src_R16B.readme
@@ -1,11 +1,11 @@
-Major release : otp_src_R16A
-Build date : 2013-01-29
+Major release : otp_src_R16B
+Build date : 2013-02-25
-R16A is a major new release of Erlang/OTP.
+R16B is a major new release of Erlang/OTP.
You can download the full source distribution from
- http://www.erlang.org/download/otp_src_R16A.tar.gz
- http://www.erlang.org/download/otp_src_R16A.readme (this file)
+ http://www.erlang.org/download/otp_src_R16B.tar.gz
+ http://www.erlang.org/download/otp_src_R16B.readme (this file)
Note: To unpack the TAR archive you need a GNU TAR compatible program.
@@ -14,15 +14,15 @@ the distribution.
The Windows binary distribution can be downloaded from
- http://www.erlang.org/download/otp_win32_R16A.exe
- http://www.erlang.org/download/otp_win64_R16A.exe
+ http://www.erlang.org/download/otp_win32_R16B.exe
+ http://www.erlang.org/download/otp_win64_R16B.exe
On-line documentation can be found at http://www.erlang.org/doc/.
You can also download the complete HTML documentation or the Unix manual files
- http://www.erlang.org/download/otp_doc_html_R16A.tar.gz
- http://www.erlang.org/download/otp_doc_man_R16A.tar.gz
+ http://www.erlang.org/download/otp_doc_html_R16B.tar.gz
+ http://www.erlang.org/download/otp_doc_man_R16B.tar.gz
We also want to thank those that sent us patches, suggestions and bug reports,
@@ -210,9 +210,12 @@ The OTP Team
Open types are now always returned as binaries (when there is
no information allowing them to be decoded).
-
--- POTENTIAL INCOMPATIBILITIES -----------------------------------------
+ OTP-9052 == common_test ==
+
+ Removed depricated run_test program, use ct_run instead.
+
OTP-9881 == common_test ==
It is now possible to let a test specification include other
@@ -233,7 +236,7 @@ The OTP Team
The inviso application has been removed.
- OTP-10170 == erts ==
+ OTP-10170 == erts pman ==
Tuple funs (deprecated in R15B) are no longer supported.
@@ -462,6 +465,30 @@ The OTP Team
that the value passed now is considered as a hint, and that
actual value chosen in most cases will be a power of two.
+ OTP-10812 == stdlib ==
+
+ filelib:wildcard("some/relative/path/*.beam", Path) would
+ fail to match any file. That is, filelib:wildcard/2 would not
+ work if the first component of the pattern did not contain
+ any wildcard characters. (A previous attempt to fix the
+ problem in R15B02 seems to have made matters worse.)
+
+ (Thanks to Samuel Rivas and Tuncer Ayaz.)
+
+ There is also an incompatible change to the Path argument. It
+ is no longer allowed to be a binary.
+
+ OTP-10872 == erts ==
+
+ As of ERTS-5.10/OTP-R16A node names passed in the EPMD
+ protocol are required to be encoded in UTF-8. Since EPMD
+ previously accepted latin1 encoded node names this is an
+ incompatibility. However, since Erlang nodes always have
+ required characters in node names to be 7-bit ASCII
+ characters (and still do require this), this incompatibility
+ should not effect anyone using EPMD as an Erlang Port Mapper
+ Daemon.
+
--- CHARACTERISTICS IMPACT -----------------------------------------------
OTP-9892 == erts ==
@@ -681,8 +708,6 @@ The OTP Team
different certificates and upgrade tcp-connections to
TLS-connections.
-
-
--- inviso --------------------------------------------------------------
OTP-10117 The inviso application has been removed.
@@ -743,7 +768,7 @@ The OTP Team
OTP-10588 The ASN.1 compiler will now always include necessary run-time
functions in the generated Erlang modules (except for
- asn1rt_nif which is still needed). If the option 'inline' is
+ asn1rt_nif which is still neeeded). If the option 'inline' is
used the ASN.1 compiler will generate a warning. But if
'{inline,OutputFile}' is use, the ASN.1 compiler will refuse
to compile the file. (Use a .set.asn file if you need to
@@ -762,37 +787,10 @@ The OTP Team
specification and whether all values were provided).
---- common_test-1.6.3.1 -------------------------------------------------
+--- asn1-2.0.1 ----------------------------------------------------------
- OTP-10589 The following corrections/changes are done in the cth_surefire
- hook: Earlier there would always be a 'properties' element
- under the 'testsuites' element. This would exist even if
- there were no 'property' element inside it. This has been
- changed so if there are no 'property' elements to display,
- then there will not be a 'properties' element either. The
- XML file will now (unless other is specified) be stored
- in the top log directory. Earlier, the default directory
- would be the current working directory for the erlang node,
- which would mostly, but not always, be the top log directory.
- The 'hostname' attribute in the 'testsuite' element would
- earlier never have the correct value. This has been corrected.
- The 'errors' attribute in the 'testsuite' element would
- earlier display the number of failed testcases. This has
- been changed and will now always have the value 0, while
- the 'failures' attribute will show the number of failed
- testcases. A new attribute 'skipped' is added to the 'testsuite'
- element. This will display the number of skipped testcases.
- These would earlier be included in the number of failed
- test cases. The total number of tests displayed by the 'tests'
- attribute in the 'testsuite' element would earlier include
- init/end_per_suite and init/end_per_group. This is no longer
- the case. The 'tests' attribute will now only count "real"
- test cases. Earlier, auto skipped test cases would have
- no value in the 'log' attribute. This is now corrected.
- A new attributes 'log' is added to the 'testsuite' element.
- A new option named 'url_base' is added for this hook. If
- this option is used, a new attribute named 'url' will be
- added to the 'testcase' and 'testsuite' elements.
+ OTP-10853 Fixed broken table constraints within a SET OF or SEQUENCE OF
+ for the BER backend.
--- common_test-1.7 -----------------------------------------------------
@@ -933,6 +931,26 @@ The OTP Team
and strings instead of binary_to_list and list_to_binary.
+--- common_test-1.7.1 ---------------------------------------------------
+
+ OTP-9052 Removed depricated run_test program, use ct_run instead.
+
+ OTP-10634 If an event handler installed in the CT Master event manager
+ took too long to respond during the termination phase, CT
+ Master crashed because of a timeout after 5 secs. This would
+ leave the system in a bad state. The problem has been solved
+ by means of a 30 min timeout value and if CT Master gets a
+ timeout after that time, it now kills the event manager and
+ shuts down properly.
+
+ OTP-10826 Printing with any of the ct printout functions from an event
+ handler installed by Common Test, would cause a deadlock.
+ This problem has been solved.
+
+ OTP-10832 Using the force_stop flag/option to interrupt a test run
+ caused a crash in Common Test. This problem has been solved.
+
+
--- compiler-4.9 --------------------------------------------------------
OTP-10193 The compiler optimizations have been polished, so that the
@@ -955,6 +973,25 @@ The OTP Team
reporting this bug.)
+--- compiler-4.9.1 ------------------------------------------------------
+
+ OTP-10788 Integers in expression that will give a floating point result
+ (such as "X / 2" will now be converted to floating point at
+ compile-time. (Suggested by Richard O'Keefe.)
+
+ Identical floating points constans in a module will now be
+ coalesced to one entry in the constant pool.
+
+ OTP-10794 The compiler would crash attempting to compile expressions
+ such as "element(2, not_tuple)".
+
+ OTP-10818 Forbid multiple values in Core Erlang sequence arguments.
+ Thanks to José Valim and Anthony Ramine.
+
+ OTP-10825 An unsafe optimization would cause the compiler to crash with
+ an internal error for certain complex code sequences.
+
+
--- cosEvent-2.1.13 -----------------------------------------------------
OTP-10784 Misc build updates
@@ -1016,6 +1053,14 @@ The OTP Team
displayed as strings.
+--- debugger-3.2.10 -----------------------------------------------------
+
+ OTP-10884 The +pc flag to erl can be used to set the range of
+ characters considered printable. This affects how the shell
+ and io:format("~tp",...) functionality does heuristic string
+ detection. More can be read in STDLIB users guide.
+
+
--- dialyzer-2.5.4 ------------------------------------------------------
OTP-10302 Support for Unicode has been implemented.
@@ -1041,6 +1086,16 @@ The OTP Team
specs. Thanks to Stavros Aronis.
+--- dialyzer-2.6 --------------------------------------------------------
+
+ OTP-10820 Miscellaneous updates due to Unicode support.
+
+ OTP-10861 User defined types with same name and different arity and
+ documentation inconsistencies. Thanks Stavros Aronis.
+
+ OTP-10865 Native code compilation changes. Thanks to Kostis Sagonas.
+
+
--- diameter-1.4 --------------------------------------------------------
OTP-10442 Add registered server names to the app file.
@@ -1082,6 +1137,51 @@ The OTP Team
incoming request to fail.
+--- diameter-1.4.1 ------------------------------------------------------
+
+ OTP-10686 Add application_opt() request_errors to make the handling of
+ incoming requests containing decode errors configurable.
+
+ The value 'callback' ensures that a handle_request callback
+ takes place for all such requests, the default being for
+ diameter to answer 3xxx series errors itself.
+
+ OTP-10687 Add transport_opt() length_errors.
+
+ The value determines how messages received over the transport
+ interface with an incorrect Message Length are dealt with.
+
+ OTP-10688 Add commentary on RFC 6733 to Standards Compliance chapter of
+ the User's Guide.
+
+ OTP-10692 Fix erroneous watchdog transition from DOWN to INITIAL.
+
+ This transition took place when a peer connection was
+ reestablished following a failed capabilities exchange. RFC
+ 3539 requires DOWN to transition into REOPEN.
+
+ OTP-10759 Allow a 5xxx result code in an answer-message on peer
+ connections using the RFC 6733 common dictionary.
+
+ RFC 6733 allows this while RFC 3588 does not. A
+ handle_request callback can return {answer_message,
+ 3000..3999|5000..5999} in the simplest case.
+
+ OTP-10760 Add dictionaries for RFC 6733.
+
+ Both the common and accounting dictionaries differ from their
+ RFC 3588 counterparts, which is reflected in generated record
+ definitions. Application configuration on a service or
+ transport determines the dictionary that will be used on a
+ given peer connection.
+
+ OTP-10761 Allow a handle_request callback to control diameter's setting
+ of Result-Code and Failed-AVP.
+
+ Setting errors = false in a returned #diameter_packet{}
+ disables the setting.
+
+
--- edoc-0.7.11 ---------------------------------------------------------
OTP-10195 Since EDoc 0.7.7 (R14B02) separate values of union types can
@@ -1100,6 +1200,15 @@ The OTP Team
Erlang/OTP R17B when UTF-8 becomes the default encoding.
+--- edoc-0.7.12 ---------------------------------------------------------
+
+ OTP-10820 Miscellaneous updates due to Unicode support.
+
+ OTP-10866 EDoc sometimes failed to associate a comment with the
+ preceding type declaration. This bug has been fixed. (Thanks
+ to Serge Aleynikov for reporting the bug.)
+
+
--- eldap-1.0.1 ---------------------------------------------------------
OTP-10403 Fixed various dialyzer warnings
@@ -1134,14 +1243,12 @@ The OTP Team
future releases of Erlang/OTP that may create unicode atoms.
---- erts-5.9.3.1 --------------------------------------------------------
+--- erl_interface-3.7.11 ------------------------------------------------
- OTP-10602 Create an erl_crash.dump if no heart exists and no ERL_CRASH_DUMP_SECONDS
- is set (behaviour changed). Don't create an erl_crash.dump
- if heart do exists and no ERL_CRASH_DUMP_SECONDS is set
- (behaviour not changed). This changes the behaviour back
- to the R15B02 default considering if a beam was running
- with no heart.
+ OTP-10885 Revert the structs erlang_pid, erlang_port and erlang_ref as
+ they were before R16A (without node_org_enc) in order to be
+ backward compatible with user code that accesses the fields
+ of these structs.
--- erts-5.10 -----------------------------------------------------------
@@ -1482,6 +1589,198 @@ The OTP Team
write_concurrency is combined with read_concurrency.
+--- erts-5.10.1 ---------------------------------------------------------
+
+ OTP-10170 Tuple funs (deprecated in R15B) are no longer supported.
+
+ OTP-10300 Added four new bifs, erlang:binary_to_integer/1,2,
+ erlang:integer_to_binary/1, erlang:binary_to_float/1 and
+ erlang:float_to_binary/1,2. These bifs work similarly to how
+ their list counterparts work, except they operate on
+ binaries. In most cases converting from and to binaries is
+ faster than converting from and to lists.
+
+ These bifs are auto-imported into erlang source files and can
+ therefore be used without the erlang prefix.
+
+ OTP-10348 The experimental support for packages has been removed.
+
+ OTP-10802 Threads created internally in the runtime system by vanilla,
+ fd, and spawn drivers on Windows systems could make thread
+ unsafe calls to driver_select().
+
+ OTP-10803 Threads created internally in the runtime system by the
+ vanilla, fd, and spawn drivers on Windows systems could make
+ unsafe memory accesses to driver data after port had
+ terminated.
+
+ OTP-10807 The runtime system could crash when flushing data to standard
+ out or standard error on Windows.
+
+ OTP-10809 Bugs due to the port optimizations introduced in
+ erts-5.10/OTP-R16A have been fixed:
+
+ -- Memory leak when terminating ports
+
+ -- Memory leak when reaching the system limit of maximum
+ amount of concurrently existing ports
+
+ -- Crashs due to missing, or late test of bad port handle
+
+ -- The newly introduced driver API function
+ erl_drv_busy_msgq_limits() could not be used by dynamically
+ linked in drivers on Windows
+
+ OTP-10810 The driver API function erl_drv_consume_timeslice(), and the
+ NIF API function enif_consume_timeslice() have been
+ introduced.
+
+ These functions are provided in order to better support
+ co-operative scheduling, improve system responsiveness, and
+ to make it easier to prevent misbehaviors of the VM due to a
+ process or port monopolizing a scheduler thread. They can be
+ used when dividing lengthy work into a number of repeated
+ calls without the need to use threads.
+
+ OTP-10824 Fix {packet,httph} header capitalization for unrecognized
+ header fields longer than 20 charachters such as
+ Sec-Websocket-Version. The limit is simply raised from 20 to
+ 50 characters with the hope that valid headers longer than 50
+ are not used.
+
+ OTP-10834 The list_to_integer/2 bif has been optimized when used with
+ bases other than 10.
+
+ OTP-10837 Fix rounding issues in float_to_list/1,2. Thanks to Serge
+ Aleynikov
+
+ OTP-10838 The git commit sha of the HEAD commit is now added to the
+ Erlang shell when compiling a non-released Erlang version.
+
+ OTP-10840 Change caching policy for memory segment allocator. For
+ instance, prefer sbc segments over mbc segments, caching
+ policy is time-arrow aware, evicting older cached segments to
+ store newer segments.
+
+ The default number of cachable segment has been increased
+ from five to ten segments. This can be modified, same as
+ before, with the command line option +MMmcs 5
+
+ Impact: Increased speed for processing on larger objects,
+ e.g. binaries. Slight increase of mapped and resident memory.
+ Tune your system with memory options to erl for best
+ performance.
+
+ OTP-10841 Fix memory leak in file driver introduced in R16A.
+
+ OTP-10848 Updated config.sub and config.guess to latest version from
+ gnu.org
+
+ OTP-10849 Add an xcomp file for Blue Gene/Q. Thanks to Kostis Sagonas.
+
+ OTP-10850 Cleanup of documentation of the type language. Thanks to
+ Kostis Sagonas.
+
+ OTP-10851 Change the return value of hipe_bifs:remove_refs_from/1.
+ Thanks to Kostis Sagonas.
+
+ OTP-10854 A bug in an ERTS internal queue implementation could cause
+ the loss of a wake up signal to a consumer thread. This has
+ now been fixed.
+
+ The effect of this bug, when triggered, was often only a
+ small or even no delay of certain operations. This since,
+ threads often are woken due to other unrelated reasons.
+ However, if the consumer thread was not woken due to other
+ reasons when the bug was triggered, these operations could be
+ left hanging, potentially for ever. Such effects seems to
+ have been very rare, but we have on at least one occasion
+ gotten a report about such an issue.
+
+ Operations potentially effected by this bug:
+
+ -- Inspection of memory allocation status -- The Erlang
+ process calling erlang:memory/[0,1], or
+ erlang:system_info({allocator|allocator_sizes, _}) could
+ potentially hang waiting for responses from involved threads.
+
+ -- Async thread pool jobs -- An async thread pool job request
+ and/or reply could potentially be left hanging. In OTP this
+ only effected file operations, but user implemented drivers
+ using the async thread pool were also effected. In the file
+ operation case, this would typically translate into an Erlang
+ process potentially hanging on the file operation.
+
+ -- Shutting down the runtime system -- Due to the issue with
+ the async thread pool mentioned above, flushing of I/O while
+ terminating the runtime system could also potentially hang.
+
+ -- ETS memory deallocation -- Scheduled jobs handling
+ deallocation of the main structure of an ETS table could
+ potentially hang. This more or less only translates into
+ minor memory leaks.
+
+ -- Shutting down distribution -- The distribution shutdown
+ phase used when manually shutting down the distribution,
+ i.e., when calling net_kernel:stop(), could potentially hang.
+
+ OTP-10858 OS X Snow Leopard now only uses write, as writev does not
+ work properly on very large files.
+
+ OTP-10859 Fixed a bug where line oriented file I/O using read_ahead was
+ very slow for files with very large difference in line
+ length.
+
+ OTP-10860 In erts-5.10 (R16A) faulty hashvalues were produced for
+ non-ASCII atoms (characters in byte-range 128..255). This has
+ now been fixed and hashvalues conforms to previous OTP
+ releases.
+
+ OTP-10872 As of ERTS-5.10/OTP-R16A node names passed in the EPMD
+ protocol are required to be encoded in UTF-8. Since EPMD
+ previously accepted latin1 encoded node names this is an
+ incompatibility. However, since Erlang nodes always have
+ required characters in node names to be 7-bit ASCII
+ characters (and still do require this), this incompatibility
+ should not effect anyone using EPMD as an Erlang Port Mapper
+ Daemon.
+
+ OTP-10875 Fixes of memory accesses that might be thread unsafe when the
+ runtime system has been linked against third-party libraries
+ for atomic memory operations during the build. Most builds
+ are uneffected by this bug. If triggered, the runtime system
+ will most likely crash more or less immediately.
+
+ OTP-10881 Fixed a bug where it was longer possible to give the +sws
+ proposal flag to non-smp emulators.
+
+ OTP-10884 The +pc flag to erl can be used to set the range of
+ characters considered printable. This affects how the shell
+ and io:format("~tp",...) functionality does heuristic string
+ detection. More can be read in STDLIB users guide.
+
+ OTP-10887 Fix a number of type cast errors related to formatted
+ printing on Win64 that can potentially cause problem when the
+ Erlang VM exceeds 4 GB of ram. (Thanks to Blaine Whittle for
+ the original patch)
+
+ OTP-10890 Faulty type to bytes read for ReadFile on Windows. This could
+ cause windows systems to misbehave. The correct type is now
+ used.
+
+ OTP-10892 Change default max ports for Windows to 8192. Having a too
+ large value caused Windows to not be able to recover
+ properly. If you want to use another value, pass +Q Value to
+ erl or werl.
+
+ OTP-10895 The effect of the deprecated environment variable
+ ERL_MAX_PORTS had been removed premeturely. It has now been
+ readded. Note that this is still scheduled to be released in
+ R17B.
+
+ OTP-10896 Fix rare crash on halfword vm during code loading.
+
+
--- et-1.4.4.3 ----------------------------------------------------------
OTP-10630 Where necessary a comment stating encoding has been added to
@@ -1519,6 +1818,17 @@ The OTP Team
Ayaz.
+--- hipe-3.10.1 ---------------------------------------------------------
+
+ OTP-10867 Bug fixed in hipe to where it did not allow unicode code
+ points 16#FFFE and 16#FFFF in bit syntax in natively compiled
+ modules.
+
+ OTP-10897 Fix bug in hipe compiled code related to the handling of
+ is_number/1. (Thanks to Sebastian Egner and Johannes Weißl
+ for minimal test code and Kostis for quick patch)
+
+
--- ic-4.3 --------------------------------------------------------------
OTP-10784 Misc build updates
@@ -1528,6 +1838,14 @@ The OTP Team
erl_interface-3.7.10 (R16) or later in order to build.
+--- ic-4.3.1 ------------------------------------------------------------
+
+ OTP-10885 Revert the structs erlang_pid, erlang_port and erlang_ref as
+ they were before R16A (without node_org_enc) in order to be
+ backward compatible with user code that accesses the fields
+ of these structs.
+
+
--- inets-5.9.3 ---------------------------------------------------------
OTP-10256 httpc: The HTTP client now supports HTTPS through proxies
@@ -1539,6 +1857,24 @@ The OTP Team
Hans Svensson.
+--- inets-5.9.4 ---------------------------------------------------------
+
+ OTP-10844 httpd: The modules option now defaults to the documented
+ value.
+
+ OTP-10845 httpc: Fixed persistent connection implementation that was
+ broken by a patch to R13. The patch made persisten
+ connections behaved the same way as pipelining.
+
+ OTP-10846 httpd: Simplified configuration of ssl in httpd, this also
+ enables all ssl options to be configured. The old and limited
+ way is no longer documented but will be supported for
+ backwards comatibility for some time.
+
+ OTP-10886 Handle correctly the "No files found or file unavailable"
+ error code. Thanks to Serge Aleynikov
+
+
--- jinterface-1.5.7 ----------------------------------------------------
OTP-10505 fix reading compressed binary terms from Java (Thanks to Nico
@@ -1557,6 +1893,18 @@ The OTP Team
future releases of Erlang/OTP that may create unicode atoms.
+--- jinterface-1.5.8 ----------------------------------------------------
+
+ OTP-10819 Fixed a bug in OtpErlangTuple constructor. Thanks to Vlad
+ Dumitrescu.
+
+ OTP-10821 Fixed finding cookie file on windows. Thanks to Vlad
+ Dumitrescu
+
+ OTP-10822 Don't compress external binary format if this increases the
+ size. Thanks to Nico Kruber.
+
+
--- kernel-2.16 ---------------------------------------------------------
OTP-8067 Inet exported functionality
@@ -1632,6 +1980,37 @@ The OTP Team
OTP-10739 Add search to Erlang shell's history. Thanks to Fred Herbert.
+--- kernel-2.16.1 -------------------------------------------------------
+
+ OTP-10754 A bug that could cause a crash with wrong reason has been
+ corrected in the application_controller module.
+
+ OTP-10797 Slightly nicer error message when node start fails due to
+ duplicate name. Thanks to Magnus Henoch.
+
+ OTP-10820 Miscellaneous updates due to Unicode support.
+
+ OTP-10823 Add a new function code:get_mode() can be used to detect how
+ the code servers behaves. Thanks to Vlad Dumitrescu
+
+ OTP-10839 Fix type of error Reason on gen_tcp:send/2. Thanks to Sean
+ Cribbs.
+
+ OTP-10852 file:list_dir_all/1 and file:read_link_all/1 that can handle
+ raw file names have been added. See the User Guide for STDLIB
+ for information about raw file names.
+
+ OTP-10870 Fix code:is_module_native/1 that sometimes in R16A returned
+ false for hipe compiled modules containing BIFs such as
+ lists.
+
+ OTP-10879 Respect {exit_on_close,false} option on tcp socket in
+ non-passive mode when receiving fails (due to an ill-formed
+ packet for example) by only doing a half close and still
+ allow sending on the socket. (Thanks to Anthony Molinaro and
+ Steve Vinoski for reporting the problem)
+
+
--- megaco-3.16.0.3 -----------------------------------------------------
OTP-10630 Where necessary a comment stating encoding has been added to
@@ -1695,6 +2074,13 @@ The OTP Team
Danil Onishchenko.
+--- odbc-2.10.15 --------------------------------------------------------
+
+ OTP-10798 Fixed calling odbc:param_query/3 and odbc:param_query/4 with
+ unparameterized query string and empty parameters list.
+ Thanks to Danil Onishchenko.
+
+
--- orber-3.6.25 --------------------------------------------------------
OTP-10665 Some examples overflowing the width of PDF pages have been
@@ -1718,6 +2104,11 @@ The OTP Team
OTP-10660 The file esyntax.yrl has been removed.
+--- parsetools-2.0.9 ----------------------------------------------------
+
+ OTP-10820 Miscellaneous updates due to Unicode support.
+
+
--- percept-0.8.8 -------------------------------------------------------
OTP-10784 Misc build updates
@@ -1728,6 +2119,11 @@ The OTP Team
OTP-10784 Misc build updates
+--- pman-2.7.1.4 --------------------------------------------------------
+
+ OTP-10170 Tuple funs (deprecated in R15B) are no longer supported.
+
+
--- public_key-0.18 -----------------------------------------------------
OTP-7045 public_key now supports CRL validation and documents the
@@ -1782,6 +2178,11 @@ The OTP Team
corrected.
+--- reltool-0.6.3 -------------------------------------------------------
+
+ OTP-10781 Some updates are made to reltool for handling unicode.
+
+
--- runtime_tools-1.8.10 ------------------------------------------------
OTP-10155 User Guides for the dynamic tracing tools dtrace and
@@ -1831,6 +2232,12 @@ The OTP Team
Erlang/OTP R17B when UTF-8 becomes the default encoding.
+--- sasl-2.3.1 ----------------------------------------------------------
+
+ OTP-10782 Some updates are made to systools and release_handler for
+ handling of unicode.
+
+
--- snmp-4.23 -----------------------------------------------------------
OTP-10027 [manager] Remove deprecated functions.
@@ -1850,11 +2257,6 @@ The OTP Team
OTP-10673 SNMP manager performance optimization
---- ssh-2.1.2 -----------------------------------------------------------
-
- OTP-10657 Fixed various syntax errors in SSH appup file
-
-
--- ssh-2.1.3 -----------------------------------------------------------
OTP-6406 SSH_FX_FILE_IS_A_DIRECTORY message for sftp implemented
@@ -1902,9 +2304,13 @@ The OTP Team
o which authmethod to use.
---- ssl-5.1.2 -----------------------------------------------------------
+--- ssh-2.1.4 -----------------------------------------------------------
- OTP-10600 ssl:ssl_accept/2 timeout is no longer ignored
+ OTP-10553 Better quality on the error messages for when key exchange
+ failed.
+
+ OTP-10862 Fix link to documentation for ssh:connect/3,4. Thanks to
+ Martin Hässler.
--- ssl-5.2 -------------------------------------------------------------
@@ -1958,6 +2364,19 @@ The OTP Team
TLS-connections.
+--- ssl-5.2.1 -----------------------------------------------------------
+
+ OTP-10847 Transport callback handling is changed so that gen_tcp is
+ treated as a special case where inet will be called directly
+ for functions such as setopts, as gen_tcp does not have its
+ own setopts. This will enable users to use the transport
+ callback for other customizations such as websockets.
+
+ OTP-10864 Follow up to OTP-10451 solved in ssl-5.2 R16A. Make sure
+ format_error return good strings. Replace confusing legacy
+ atoms with more descriptive atoms.
+
+
--- stdlib-1.19 ---------------------------------------------------------
OTP-6874 Wildcards such as "some/path/*" passed to filelib:wildcard/2
@@ -2057,11 +2476,51 @@ The OTP Team
write_concurrency is combined with read_concurrency.
+--- stdlib-1.19.1 -------------------------------------------------------
+
+ OTP-10622 Bugs related to Unicode have been fixed in the erl_eval
+ module.
+
+ OTP-10755 The new STDLIB application variable shell_strings can be used
+ for determining how the Erlang shell outputs lists of
+ integers. The new function shell:strings/1 toggles the value
+ of the variable.
+
+ The control sequence modifier l can be used for turning off
+ the string recognition of ~p and ~P.
+
+ OTP-10812 filelib:wildcard("some/relative/path/*.beam", Path) would
+ fail to match any file. That is, filelib:wildcard/2 would not
+ work if the first component of the pattern did not contain
+ any wildcard characters. (A previous attempt to fix the
+ problem in R15B02 seems to have made matters worse.)
+
+ (Thanks to Samuel Rivas and Tuncer Ayaz.)
+
+ There is also an incompatible change to the Path argument. It
+ is no longer allowed to be a binary.
+
+ OTP-10820 Miscellaneous updates due to Unicode support.
+
+ OTP-10836 Extend ~ts to handle binaries with characters coded in
+ ISO-latin-1
+
+ OTP-10884 The +pc flag to erl can be used to set the range of
+ characters considered printable. This affects how the shell
+ and io:format("~tp",...) functionality does heuristic string
+ detection. More can be read in STDLIB users guide.
+
+
--- syntax_tools-1.6.10 -------------------------------------------------
OTP-10302 Support for Unicode has been implemented.
+--- syntax_tools-1.6.11 -------------------------------------------------
+
+ OTP-10820 Miscellaneous updates due to Unicode support.
+
+
--- test_server-3.6 -----------------------------------------------------
OTP-9710 Line numbering of erlang files that were not correctly
@@ -2159,6 +2618,50 @@ The OTP Team
and strings instead of binary_to_list and list_to_binary.
+--- test_server-3.6.1 ---------------------------------------------------
+
+ OTP-10780 The unicode update of test_server for R16A introduced a few
+ potential errors when logging to files. Sometimes ~tp or ~ts
+ was used for formatting also when writing to files that were
+ not opened with the {encoding,utf8} option. If then the
+ argument contained unicode characters above 255, the file
+ descriptor would crash. This has been corrected by the
+ following modifications:
+
+ -- Since the 'unexpected_io' log file is used only when the
+ test case HTML file is not available (e.g. between test
+ cases), this file is now also a HTML file and as other
+ test_server HTML logs it is always UTF-8 encoded
+
+ -- Since it is possible to change which information is going
+ to which log file (with test_server_ctrl:set_levels/3), we do
+ not have full control over which information is written to
+ which file. This means that any printout could be written to
+ the 'major' log file (suite.log), which was earlier encoded
+ as latin1. To avoid crashing this file descriptor due to
+ unicode strings, the 'major' log file is now also encoded in
+ UTF-8 (possible incopatibility).
+
+ -- The cross_cover.info file is no longer a text file which
+ can be read with file:consult/1, instead it is written as a
+ pure binary file using term_to_binary when writing and
+ binary_to_term when reading.
+
+ -- The encoding of the file named 'last_name', which only
+ content is the path to the last run. directory, is
+ now dependent on the file name mode of the VM. If file names
+ are expected to be unicode, then the 'last_name' file is
+ UTF-8 encoded, else it is latin1 encoded.
+
+ Also, ~tp has been changed back to ~p unless it is somehow
+ likely that the argument includes strings. It is not obvious
+ that this is the correct thing to do, but some decission had
+ to be taken...
+
+ OTP-10832 Using the force_stop flag/option to interrupt a test run
+ caused a crash in Common Test. This problem has been solved.
+
+
--- toolbar-1.4.2.3 -----------------------------------------------------
OTP-10784 Misc build updates
@@ -2204,6 +2707,12 @@ The OTP Team
correspond with the correct BIFs.
+--- tools-2.6.10 --------------------------------------------------------
+
+ OTP-10778 Fix a bug in cover when used with no_auto_import. Thanks to
+ José Valim.
+
+
--- tv-2.1.4.10 ---------------------------------------------------------
OTP-10784 Misc build updates
@@ -2248,3 +2757,4 @@ The OTP Team
OTP-10665 Some examples overflowing the width of PDF pages have been
corrected.
+
diff --git a/sources b/sources
index 4a1b064..3fd68b9 100644
--- a/sources
+++ b/sources
@@ -1 +1,3 @@
-39e2c511f8afeaacc02a16424f2cb103 otp_src_R16A_RELEASE_CANDIDATE.tar.gz
+7ee131515bc496e7522e0dec2a4c26e3 otp_src_R16B.tar.gz
+66fd89992d828fe0886b3e9b68867e0c otp_doc_html_R16B.tar.gz
+f3a34cc45c8d0b44bec839824d5fca09 otp_doc_man_R16B.tar.gz
From 94f8e6ca1aaa1d36bdfa5110694b1a060e04e26e Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Sat, 2 Mar 2013 09:02:38 +0400
Subject: [PATCH 005/322] Fix erts deps
Signed-off-by: Peter Lemenkov
---
erlang.spec | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 03171d6..4cf45ae 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -25,7 +25,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.1%{?dist}
+Release: %{upstream_rel_for_rpm}.2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -444,6 +444,8 @@ Summary: Functionality necessary to run the Erlang System itself
Group: Development/Languages
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
+Provides: erlang(erl_drv_version) = 2.1
+Provides: erlang(erl_nif_version) = 2.4
Obsoletes: %{name} < R13B-04.5
%description erts
@@ -458,8 +460,6 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
-Provides: erlang(erl_drv_version) = 2.1
-Provides: erlang(erl_nif_version) = 2.4
Obsoletes: %{name} < R13B-04.5
%description et
@@ -2307,6 +2307,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Mar 02 2013 Peter Lemenkov - R16B-0.2
+- Fixed erts provides
+
* Thu Feb 28 2013 Peter Lemenkov - R16B-0.1
- Ver. R16B
- Enabled SCTP (see rhbz #908530)
From 33c26948eeb2547686307bd35c4eb38474ed115d Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Sat, 2 Mar 2013 09:23:26 +0400
Subject: [PATCH 006/322] Add neccessary BuildRequires for SCTP
Signed-off-by: Peter Lemenkov
---
erlang.spec | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index 4cf45ae..344264d 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -25,7 +25,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.2%{?dist}
+Release: %{upstream_rel_for_rpm}.3%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -82,6 +82,7 @@ Patch7: otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
# BuildRoot not strictly needed since F10, but keep it for spec file robustness
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+BuildRequires: lksctp-tools-devel
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
BuildRequires: zlib-devel
@@ -2307,6 +2308,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Mar 02 2013 Peter Lemenkov - R16B-0.3
+- Add neccessary BuildRequires for SCTP
+
* Sat Mar 02 2013 Peter Lemenkov - R16B-0.2
- Fixed erts provides
From 2e7458307589da5423a1f98dc10e36dc8d6d656d Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 28 May 2013 18:27:18 +0400
Subject: [PATCH 007/322] Add Requires for SCTP (dlopened library)
Signed-off-by: Peter Lemenkov
---
erlang.spec | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index 344264d..ac8d514 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -25,7 +25,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.3%{?dist}
+Release: %{upstream_rel_for_rpm}.4%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -445,6 +445,7 @@ Summary: Functionality necessary to run the Erlang System itself
Group: Development/Languages
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
+Requires: lksctp-tools
Provides: erlang(erl_drv_version) = 2.1
Provides: erlang(erl_nif_version) = 2.4
Obsoletes: %{name} < R13B-04.5
@@ -2308,6 +2309,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Mar 11 2013 Peter Lemenkov - R16B-0.4
+- Add Requires for SCTP (dlopened library)
+
* Sat Mar 02 2013 Peter Lemenkov - R16B-0.3
- Add neccessary BuildRequires for SCTP
From 00d9d21922224fa378f8aecb8c06f67d9f1579f4 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 20 Jun 2013 12:36:23 +0400
Subject: [PATCH 008/322] Ver. R16B01
Signed-off-by: Peter Lemenkov
---
.gitignore | 4 +
erlang.spec | 14 +-
otp-0006-Do-not-install-erlang-sources.patch | 18 +-
otp_src_R16B.readme | 2760 ------------------
otp_src_R16B01.readme | 1210 ++++++++
sources | 7 +-
6 files changed, 1238 insertions(+), 2775 deletions(-)
delete mode 100644 otp_src_R16B.readme
create mode 100644 otp_src_R16B01.readme
diff --git a/.gitignore b/.gitignore
index e60b66a..1b96e45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,3 +34,7 @@ otp_src_R14A.tar.gz
/otp_src_R16B.tar.gz
/otp_doc_html_R16B.tar.gz
/otp_doc_man_R16B.tar.gz
+/otp_src_R16B01.tar.gz
+/otp_doc_html_R16B01.tar.gz
+/otp_doc_man_R16B01.tar.gz
+/otp_src_R16B01.readme
diff --git a/erlang.spec b/erlang.spec
index ac8d514..a5cb668 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -1,7 +1,7 @@
%global upstream_ver R16B
# Do NOT change %%{upstream_rel} unless UPSTREAM has actually changed it!
-#%global upstream_rel 03
-%global upstream_rel %{nil}
+#%global upstream_rel %{nil}
+%global upstream_rel 01
# Use %%{nil} for %%{upstream_rel} for tracking source like otp_src_R14B.tar.gz,
# and 01 %%{upstream_rel} for tracking source like otp_src_R14B01.tar.gz.
@@ -25,7 +25,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.4%{?dist}
+Release: %{upstream_rel_for_rpm}.1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -360,6 +360,7 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
+Requires: graphviz
Obsoletes: %{name} < R13B-04.5
%description dialyzer
@@ -791,6 +792,7 @@ Secure Shell application with sftp and ssh support.
%package ssl
Summary: Secure Socket Layer support
Group: Development/Languages
+Requires: %{name}-asn1%{?_isa} = %{version}-%{release}
Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -1843,6 +1845,8 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/snmpa_error_logger.*
%{_libdir}/erlang/man/man3/snmpa_error_report.*
%{_libdir}/erlang/man/man3/snmpa_local_db.*
+%{_libdir}/erlang/man/man3/snmpa_mib_data.*
+%{_libdir}/erlang/man/man3/snmpa_mib_storage.*
%{_libdir}/erlang/man/man3/snmpa_mpd.*
%{_libdir}/erlang/man/man3/snmpa_network_interface.*
%{_libdir}/erlang/man/man3/snmpa_network_interface_filter.*
@@ -2309,6 +2313,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jun 19 2013 Peter Lemenkov - R16B-01.1
+- Ver. R16B01
+- Added graphviz as a requirement for dialyzer (thanks to Matwey V. Kornilov)
+
* Mon Mar 11 2013 Peter Lemenkov - R16B-0.4
- Add Requires for SCTP (dlopened library)
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index 00cf566..fbb06c0 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -86,15 +86,15 @@ Signed-off-by: Hans Ulrich Niedermann
76 files changed, 60 insertions(+), 113 deletions(-)
diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile
-index a224b6a..e88641b 100644
+index 7a7b7fb..fcdb699 100644
--- a/erts/preloaded/src/Makefile
+++ b/erts/preloaded/src/Makefile
-@@ -69,8 +69,6 @@ copy:
+@@ -76,8 +76,6 @@ copy:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec:
- $(INSTALL_DIR) "$(RELSYSDIR)/src"
-- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) $(BEAM_FILES) $(STUBS_FILES) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(STATIC_TARGET_FILES) "$(RELSYSDIR)/ebin"
@@ -112,7 +112,7 @@ index c1620bc..02c0984 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile
-index 9607799..dbfb40b 100644
+index 33cd3cc..72c7005 100644
--- a/lib/asn1/src/Makefile
+++ b/lib/asn1/src/Makefile
@@ -156,7 +156,7 @@ release_spec: opt
@@ -288,7 +288,7 @@ index bb2edd4..6b20995 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile
-index df10c33..5c54e70 100644
+index 578bbae..647cfde 100644
--- a/lib/diameter/src/Makefile
+++ b/lib/diameter/src/Makefile
@@ -242,11 +242,8 @@ release_spec: opt
@@ -413,7 +413,7 @@ index 75e156b..5e394ca 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/icode/Makefile b/lib/hipe/icode/Makefile
-index 0f2d6db..4e267f9 100644
+index 87015aa..84f870d 100644
--- a/lib/hipe/icode/Makefile
+++ b/lib/hipe/icode/Makefile
@@ -119,7 +119,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -452,7 +452,7 @@ index 16166f5..0ba5845 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile
-index 7852a21..917cdee 100644
+index 751e876..98b7911 100644
--- a/lib/hipe/rtl/Makefile
+++ b/lib/hipe/rtl/Makefile
@@ -104,7 +104,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -963,10 +963,10 @@ index 93d0b54..5904bc2 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index e61f415..74661e3 100644
+index cf9f7d5..0f80003 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
-@@ -122,7 +122,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -129,7 +129,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
diff --git a/otp_src_R16B.readme b/otp_src_R16B.readme
deleted file mode 100644
index 861ab56..0000000
--- a/otp_src_R16B.readme
+++ /dev/null
@@ -1,2760 +0,0 @@
-Major release : otp_src_R16B
-Build date : 2013-02-25
-
-R16B is a major new release of Erlang/OTP.
-You can download the full source distribution from
-
- http://www.erlang.org/download/otp_src_R16B.tar.gz
- http://www.erlang.org/download/otp_src_R16B.readme (this file)
-
-Note: To unpack the TAR archive you need a GNU TAR compatible program.
-
-For installation instructions please read the README that is part of
-the distribution.
-
-The Windows binary distribution can be downloaded from
-
- http://www.erlang.org/download/otp_win32_R16B.exe
- http://www.erlang.org/download/otp_win64_R16B.exe
-
-
-On-line documentation can be found at http://www.erlang.org/doc/.
-You can also download the complete HTML documentation or the Unix manual files
-
- http://www.erlang.org/download/otp_doc_html_R16B.tar.gz
- http://www.erlang.org/download/otp_doc_man_R16B.tar.gz
-
-We also want to thank those that sent us patches, suggestions and bug reports,
-
-The OTP Team
-
-
---- HIGHLIGHTS ----------------------------------------------------------
-
- OTP-7786 == ssh ==
-
- Added User Guide for the SSH application
-
- OTP-9892 == erts ==
-
- Process optimizations. The most notable:
-
- -- New internal process table implementation allowing for
- both parallel reads as well as writes. Especially read
- operations have become really cheap. This reduce contention
- in various situations. For example when, spawning processes,
- terminating processes, sending messages, etc.
-
- -- Optimizations of run queue management reducing contention.
-
- -- Optimizations of process state changes reducing
- contention.
-
- These changes imply changes of the characteristics the
- system. Most notable: changed timing in the system.
-
- OTP-9974 == erts ==
-
- Non-blocking code loading. Earlier when an Erlang module was
- loaded, all other execution in the VM were halted while the
- load operation was carried out in single threaded mode. Now
- modules are loaded without blocking the VM. Processes may
- continue executing undisturbed in parallel during the entire
- load operation. The load operation is completed by making the
- loaded code visible to all processes in a consistent way with
- one single atomic instruction. Non-blocking code loading will
- improve realtime characteristics when modules are
- loaded/upgraded on a running SMP system.
-
- OTP-10256 == inets ==
-
- httpc: The HTTP client now supports HTTPS through proxies
-
- OTP-10336 == erts ==
-
- Major port improvements. The most notable:
-
- -- New internal port table implementation allowing for both
- parallel reads as well as writes. Especially read operations
- have become really cheap.This reduce contention in various
- situations. For example when, creating ports, terminating
- ports, etc.
-
- -- Dynamic allocation of port structures. This allow for a
- much larger maximum amount of ports allowed as a default. The
- previous default of 1024 has been raised to 65536. Maximum
- amount of ports can be set using the +Q command line flag of
- erl(1). The previously used environment variable
- ERL_MAX_PORTS has been deprecated and scheduled for removal
- in OTP-R17.
-
- -- Major rewrite of scheduling of port tasks. Major benefits
- of the rewrite are reduced contention on run queue locks, and
- reduced amount of memory allocation operations needed. The
- rewrite was also necessary in order to make it possible to
- schedule signals from processes to ports.
-
- -- Improved internal thread progress functionality for easy
- management of unmanaged threads. This improvement was
- necessary for the rewrite of the port task scheduling.
-
- -- Rewrite of all process to port signal implementations in
- order to make it possible to schedule those operations. All
- port operations can now be scheduled which allows for reduced
- lock contention on the port lock as well as truly
- asynchronous communication with ports.
-
- -- Optimized lookup of port handles from drivers.
-
- -- Optimized driver lookup when creating ports.
-
- -- Preemptable erlang:ports/0 BIF.
-
- -- Improving responsiveness by bumping reductions for a
- process calling a driver callback directly.
-
- These changes imply changes of the characteristics of the
- system. The most notable:
-
- -- Order of signal delivery -- The previous implementation of
- the VM has delivered signals from processes to ports in a
- synchronous stricter fashion than required by the language.
- As of ERTS version 5.10, signals are truly asynchronously
- delivered. The order of signal delivery still adheres to the
- requirements of the language, but only to the requirements.
- That is, some signal sequences that previously always were
- delivered in one specific order may now from time to time be
- delivered in different orders. This may cause Erlang programs
- that have made false assumptions about signal delivery order
- to fail even though they previously succeeded. For more
- information about signal ordering guarantees, see the chapter
- on communication in the ERTS user's guide. The +n command
- line flag of erl(1) can be helpful when trying to find
- signaling order bugs in Erlang code that have been exposed by
- these changes.
-
- -- Latency of signals sent from processes to ports -- Signals
- from processes to ports where previously always delivered
- immediately. This kept latency for such communication to a
- minimum, but it could cause lock contention which was very
- expensive for the system as a whole. In order to keep this
- latency low also in the future, most signals from processes
- to ports are by default still delivered immediately as long
- as no conflicts occur. Such conflicts include not being able
- to acquire the port lock, but also include other conflicts.
- When a conflict occur, the signal will be scheduled for
- delivery at a later time. A scheduled signal delivery may
- cause a higher latency for this specific communication, but
- improves the overall performance of the system since it
- reduce lock contention between schedulers. The default
- behavior of only scheduling delivery of these signals on
- conflict can be changed by passing the +spp command line flag
- to erl(1). The behavior can also be changed on port basis
- using the parallelism option of the open_port/2 BIF.
-
- -- Execution time of the erlang:ports/0 BIF -- Since
- erlang:ports/0 now can be preempted, the responsiveness of
- the system as a whole has been improved. A call to
- erlang:ports/0 may, however, take a much longer time to
- complete than before. How much longer time heavily depends on
- the system load.
-
- -- Reduction cost of calling driver callbacks -- Calling a
- driver callback is quite costly. This was previously not
- reflected in reduction cost at all. Since the reduction cost
- now has increased, a process performing lots of direct driver
- calls will be scheduled out more frequently than before.
-
- Potential incompatibilities:
-
- -- driver_send_term() has been deprecated and has been
- scheduled for removal in OTP-R17. Replace usage of
- driver_send_term() with usage of erl_drv_send_term().
-
- -- driver_output_term() has been deprecated and has been
- scheduled for removal in OTP-R17. Replace usage of
- driver_output_term() with usage of erl_drv_output_term().
-
- -- The new function erl_drv_busy_msgq_limits() has been added
- in order to able to control management of port queues.
-
- The driver API version has been bumped to 2.1 from 2.0 due to
- the above changes in the driver API.
-
- OTP-10410 == asn1 ==
-
- The options for the ASN.1 compiler has been drastically
- simplified. The backend is chosen by using ber, per, or uper.
- The options optimize, nif, and driver are no longer needed.
- The old options will still work, but will issue a warning.
-
- Another change is that generated encode/2 function will
- always return a binary (some backends used to return an
- iolist).
-
- OTP-10588 == asn1 ==
-
- The ASN.1 compiler will now always include necessary run-time
- functions in the generated Erlang modules (except for
- asn1rt_nif which is still neeeded). If the option 'inline' is
- used the ASN.1 compiler will generate a warning. But if
- '{inline,OutputFile}' is use, the ASN.1 compiler will refuse
- to compile the file. (Use a .set.asn file if you need to
- remove the output file.)
-
- The 'BIT STRING' type will now be decoded as Erlang
- bitstrings by default. Use the new legacy_bit_string option
- to encode as lists of ones and zeroes. (The
- compact_bit_string option still works as before.)
-
- Open types are now always returned as binaries (when there is
- no information allowing them to be decoded).
-
---- POTENTIAL INCOMPATIBILITIES -----------------------------------------
-
- OTP-9052 == common_test ==
-
- Removed depricated run_test program, use ct_run instead.
-
- OTP-9881 == common_test ==
-
- It is now possible to let a test specification include other
- test specifications. Included specs can either be joined with
- the source spec (and all other joined specs), resulting in
- one single test run, or they can be executed in separate test
- runs. Also, a start flag/option, join_specs, has been
- introduced, to be used in combination with the spec option.
- With join_specs, Common Test can be told to either join
- multiple test specifications, or run them separately. Without
- join_specs, the latter behaviour is default. Note that this
- is a change compared to earlier versions of Common Test,
- where specifications could only be joined. More information
- can be found in the Running Tests chapter in the User's Guide
- (see the Test Specifications section).
-
- OTP-10117 == inviso ==
-
- The inviso application has been removed.
-
- OTP-10170 == erts pman ==
-
- Tuple funs (deprecated in R15B) are no longer supported.
-
- OTP-10195 == edoc ==
-
- Since EDoc 0.7.7 (R14B02) separate values of union types can
- be annotated. However, the parser has hitherto chosen not to
- add the necessary parentheses due to backwards compatibility.
-
- From this release on code traversing the output of
- edoc_parser needs to take care of parentheses around separate
- values of union types. Examples of such code are layout
- modules and doclet modules.
-
- OTP-10336 == erts ==
-
- Major port improvements. The most notable:
-
- -- New internal port table implementation allowing for both
- parallel reads as well as writes. Especially read operations
- have become really cheap.This reduce contention in various
- situations. For example when, creating ports, terminating
- ports, etc.
-
- -- Dynamic allocation of port structures. This allow for a
- much larger maximum amount of ports allowed as a default. The
- previous default of 1024 has been raised to 65536. Maximum
- amount of ports can be set using the +Q command line flag of
- erl(1). The previously used environment variable
- ERL_MAX_PORTS has been deprecated and scheduled for removal
- in OTP-R17.
-
- -- Major rewrite of scheduling of port tasks. Major benefits
- of the rewrite are reduced contention on run queue locks, and
- reduced amount of memory allocation operations needed. The
- rewrite was also necessary in order to make it possible to
- schedule signals from processes to ports.
-
- -- Improved internal thread progress functionality for easy
- management of unmanaged threads. This improvement was
- necessary for the rewrite of the port task scheduling.
-
- -- Rewrite of all process to port signal implementations in
- order to make it possible to schedule those operations. All
- port operations can now be scheduled which allows for reduced
- lock contention on the port lock as well as truly
- asynchronous communication with ports.
-
- -- Optimized lookup of port handles from drivers.
-
- -- Optimized driver lookup when creating ports.
-
- -- Preemptable erlang:ports/0 BIF.
-
- -- Improving responsiveness by bumping reductions for a
- process calling a driver callback directly.
-
- These changes imply changes of the characteristics of the
- system. The most notable:
-
- -- Order of signal delivery -- The previous implementation of
- the VM has delivered signals from processes to ports in a
- synchronous stricter fashion than required by the language.
- As of ERTS version 5.10, signals are truly asynchronously
- delivered. The order of signal delivery still adheres to the
- requirements of the language, but only to the requirements.
- That is, some signal sequences that previously always were
- delivered in one specific order may now from time to time be
- delivered in different orders. This may cause Erlang programs
- that have made false assumptions about signal delivery order
- to fail even though they previously succeeded. For more
- information about signal ordering guarantees, see the chapter
- on communication in the ERTS user's guide. The +n command
- line flag of erl(1) can be helpful when trying to find
- signaling order bugs in Erlang code that have been exposed by
- these changes.
-
- -- Latency of signals sent from processes to ports -- Signals
- from processes to ports where previously always delivered
- immediately. This kept latency for such communication to a
- minimum, but it could cause lock contention which was very
- expensive for the system as a whole. In order to keep this
- latency low also in the future, most signals from processes
- to ports are by default still delivered immediately as long
- as no conflicts occur. Such conflicts include not being able
- to acquire the port lock, but also include other conflicts.
- When a conflict occur, the signal will be scheduled for
- delivery at a later time. A scheduled signal delivery may
- cause a higher latency for this specific communication, but
- improves the overall performance of the system since it
- reduce lock contention between schedulers. The default
- behavior of only scheduling delivery of these signals on
- conflict can be changed by passing the +spp command line flag
- to erl(1). The behavior can also be changed on port basis
- using the parallelism option of the open_port/2 BIF.
-
- -- Execution time of the erlang:ports/0 BIF -- Since
- erlang:ports/0 now can be preempted, the responsiveness of
- the system as a whole has been improved. A call to
- erlang:ports/0 may, however, take a much longer time to
- complete than before. How much longer time heavily depends on
- the system load.
-
- -- Reduction cost of calling driver callbacks -- Calling a
- driver callback is quite costly. This was previously not
- reflected in reduction cost at all. Since the reduction cost
- now has increased, a process performing lots of direct driver
- calls will be scheduled out more frequently than before.
-
- Potential incompatibilities:
-
- -- driver_send_term() has been deprecated and has been
- scheduled for removal in OTP-R17. Replace usage of
- driver_send_term() with usage of erl_drv_send_term().
-
- -- driver_output_term() has been deprecated and has been
- scheduled for removal in OTP-R17. Replace usage of
- driver_output_term() with usage of erl_drv_output_term().
-
- -- The new function erl_drv_busy_msgq_limits() has been added
- in order to able to control management of port queues.
-
- The driver API version has been bumped to 2.1 from 2.0 due to
- the above changes in the driver API.
-
- OTP-10410 == asn1 ==
-
- The options for the ASN.1 compiler has been drastically
- simplified. The backend is chosen by using ber, per, or uper.
- The options optimize, nif, and driver are no longer needed.
- The old options will still work, but will issue a warning.
-
- Another change is that generated encode/2 function will
- always return a binary (some backends used to return an
- iolist).
-
- OTP-10417 == kernel sasl ==
-
- It is no longer possible to have {Mod,Vsn} in the 'modules'
- list in a .app file.
-
- This was earlier possible, although never documented in the
- .app file reference manual. It was however visible in the
- documentation of application:load/[1,2], where the same term
- as in a .app file can be used as the first argument.
-
- The possibility has been removed since the Vsn part was never
- used.
-
- OTP-10451 == ssl ==
-
- Remove filter mechanisms that made error messages backwards
- compatible with old ssl but hid information about what
- actually happened.
-
- This does not break the documented API however other reason
- terms may be returned, so code that matches on the reason
- part of {error, Reason} may fail.
-
- OTP-10490 == stdlib ==
-
- If a child process fails in its start function, then the
- error reason was earlier only reported as an error report
- from the error_handler, and supervisor:start_link would only
- return {error,shutdown}. This has been changed so the
- supervisor will now return {error,{shutdown,Reason}}, where
- Reason identifies the failing child and its error reason.
- (Thanks to Tomas Pihl)
-
- OTP-10523 == tools ==
-
- A new function, cover:flush(Nodes), is added which will fetch
- data from remote nodes without stopping cover on those nodes.
- This is used by test_server and common_test when it is safe
- to assume that the node will be terminated after the test
- anyway. The purpose is to avoid processes crashing when
- re-loading the original beam if the processes is still
- running old code.
-
- Remote nodes will now continue to count code coverage if the
- connection to the main node is broken. Earlier, a broken
- connection would cause the cover_server on the remote node to
- die and thus any still cover compiled modules would cause
- process crash when trying to insert cover data in ets tables
- that used to exist on the cover_server. The new functionality
- also involves synchronization with the main node if the nodes
- are reconnected.
-
- OTP-10588 == asn1 ==
-
- The ASN.1 compiler will now always include necessary run-time
- functions in the generated Erlang modules (except for
- asn1rt_nif which is still neeeded). If the option 'inline' is
- used the ASN.1 compiler will generate a warning. But if
- '{inline,OutputFile}' is use, the ASN.1 compiler will refuse
- to compile the file. (Use a .set.asn file if you need to
- remove the output file.)
-
- The 'BIT STRING' type will now be decoded as Erlang
- bitstrings by default. Use the new legacy_bit_string option
- to encode as lists of ones and zeroes. (The
- compact_bit_string option still works as before.)
-
- Open types are now always returned as binaries (when there is
- no information allowing them to be decoded).
-
- OTP-10613 == ssl ==
-
- Removed deprecated function ssl:pid/0, it has been pointless
- since R14 but has been keep for backwards compatibility.
-
- OTP-10633 == erts ==
-
- Erlang specification 4.7.3 defines max tuple size to 65535
- elements It is now enforced to no more than 16777215 elements
- (arity 24 bits)
-
- Previous edge cases (28 bits) were not validated and could
- cause undefined behaviour.
-
- OTP-10647 == erts ==
-
- The previous default of a maximum of 32768 simultaneous
- processes has been raised to 262144. This value can be
- changed using the the +P command line flag of erl(1). Note
- that the value passed now is considered as a hint, and that
- actual value chosen in most cases will be a power of two.
-
- OTP-10812 == stdlib ==
-
- filelib:wildcard("some/relative/path/*.beam", Path) would
- fail to match any file. That is, filelib:wildcard/2 would not
- work if the first component of the pattern did not contain
- any wildcard characters. (A previous attempt to fix the
- problem in R15B02 seems to have made matters worse.)
-
- (Thanks to Samuel Rivas and Tuncer Ayaz.)
-
- There is also an incompatible change to the Path argument. It
- is no longer allowed to be a binary.
-
- OTP-10872 == erts ==
-
- As of ERTS-5.10/OTP-R16A node names passed in the EPMD
- protocol are required to be encoded in UTF-8. Since EPMD
- previously accepted latin1 encoded node names this is an
- incompatibility. However, since Erlang nodes always have
- required characters in node names to be 7-bit ASCII
- characters (and still do require this), this incompatibility
- should not effect anyone using EPMD as an Erlang Port Mapper
- Daemon.
-
---- CHARACTERISTICS IMPACT -----------------------------------------------
-
- OTP-9892 == erts ==
-
- Process optimizations. The most notable:
-
- -- New internal process table implementation allowing for
- both parallel reads as well as writes. Especially read
- operations have become really cheap. This reduce contention
- in various situations. For example when, spawning processes,
- terminating processes, sending messages, etc.
-
- -- Optimizations of run queue management reducing contention.
-
- -- Optimizations of process state changes reducing
- contention.
-
- These changes imply changes of the characteristics the
- system. Most notable: changed timing in the system.
-
-
- OTP-9974 == erts ==
-
- Non-blocking code loading. Earlier when an Erlang module was
- loaded, all other execution in the VM were halted while the
- load operation was carried out in single threaded mode. Now
- modules are loaded without blocking the VM. Processes may
- continue executing undisturbed in parallel during the entire
- load operation. The load operation is completed by making the
- loaded code visible to all processes in a consistent way with
- one single atomic instruction. Non-blocking code loading will
- improve realtime characteristics when modules are
- loaded/upgraded on a running SMP system.
-
- OTP-10122 == erts ==
-
- In the SMP emulator, turning on and off tracing will no
- longer take down the system to single-scheduling.
-
- OTP-10167 == erts ==
-
- Optimized deletion of ETS-tables which significantly improves
- performance when large amounts of temporary tables are used.
-
- This change imply changes of the characteristics the system.
- Most notable: changed timing in the system.
-
- OTP-10273 == erts ==
-
- New internal header scheme for allocators
-
- Impact: Reduces size on object allocated in multiblock
- carriers by one word
-
- OTP-10336 == erts ==
-
- Major port improvements.
-
- These changes imply changes of the characteristics of the
- system. The most notable:
-
- -- Order of signal delivery -- The previous implementation of
- the VM has delivered signals from processes to ports in a
- synchronous stricter fashion than required by the language.
- As of ERTS version 5.10, signals are truly asynchronously
- delivered. The order of signal delivery still adheres to the
- requirements of the language, but only to the requirements.
- That is, some signal sequences that previously always were
- delivered in one specific order may now from time to time be
- delivered in different orders. This may cause Erlang programs
- that have made false assumptions about signal delivery order
- to fail even though they previously succeeded. For more
- information about signal ordering guarantees, see the chapter
- on communication in the ERTS user's guide. The +n command
- line flag of erl(1) can be helpful when trying to find
- signaling order bugs in Erlang code that have been exposed by
- these changes.
-
- -- Latency of signals sent from processes to ports -- Signals
- from processes to ports where previously always delivered
- immediately. This kept latency for such communication to a
- minimum, but it could cause lock contention which was very
- expensive for the system as a whole. In order to keep this
- latency low also in the future, most signals from processes
- to ports are by default still delivered immediately as long
- as no conflicts occur. Such conflicts include not being able
- to acquire the port lock, but also include other conflicts.
- When a conflict occur, the signal will be scheduled for
- delivery at a later time. A scheduled signal delivery may
- cause a higher latency for this specific communication, but
- improves the overall performance of the system since it
- reduce lock contention between schedulers. The default
- behavior of only scheduling delivery of these signals on
- conflict can be changed by passing the +spp command line flag
- to erl(1). The behavior can also be changed on port basis
- using the parallelism option of the open_port/2 BIF.
-
- -- Execution time of the erlang:ports/0 BIF -- Since
- erlang:ports/0 now can be preempted, the responsiveness of
- the system as a whole has been improved. A call to
- erlang:ports/0 may, however, take a much longer time to
- complete than before. How much longer time heavily depends on
- the system load.
-
- -- Reduction cost of calling driver callbacks -- Calling a
- driver callback is quite costly. This was previously not
- reflected in reduction cost at all. Since the reduction cost
- now has increased, a process performing lots of direct driver
- calls will be scheduled out more frequently than before.
-
- OTP-10661 == erts ==
-
- The previously (in R15) proposed scheduler wakeup strategy is
- now used by default. This strategy is not as quick to forget
- about previous overload as the previous strategy.
-
- This change imply changes of the characteristics the system.
- Most notable: When a small overload comes and then disappears
- repeatedly, the system will for a bit longer time be willing
- to wake up schedulers than before. Timing in the system will
- due to this also change.
-
- The previous strategy can still be enabled by passing the
- +sws legacy command line flag to erl.
-
- OTP-10736 == erts ==
-
- The runtime system will now by default use 10 async threads
- if thread support has been enabled when building the runtime
- system.
-
- This will prevent long blocking file-operations from blocking
- scheduler threads for long periods of time, which can be
- harmful. Apart from file-operations, it also effects other
- operations scheduled on the async thread pool by user
- implemented drivers.
-
- The amount of async threads can be controlled by using the +A
- command line argument of erl(1). When running some offline
- tools you might want to disable async threads, but you are
- advised not to in the general case. Instead, you might want
- to increase the amount of async threads used.
-
- This change imply changes of the characteristics the system
- compared to the previous default. The responsiveness of the
- system as a whole will be improved. Operations scheduled on
- the async thread pool will get an increased latency. The
- throughput of these operations may increase, or decrease
- depending on the type of the operations and how they get
- scheduled. In the case of file operations, the throughput
- very much depends on how the Erlang application access files.
- Multiple concurrent accesses to different files have the
- potential of an increased throughput.
-
- OTP-10737 == erts ==
-
- The default reader group limit has been increased to 64 from
- 8. This limit can be set using the +rg command line argument
- of erl(1).
-
- This change of default value will reduce lock contention on
- ETS tables using the read_concurrency option at the expense
- of memory consumption when the amount of schedulers and
- logical processors are beween 8 and 64. For more information,
- see documentation of the +rg command line argument of erl(1).
-
- OTP-10787 == erts ==
-
- Increased potential concurrency in ETS for write_concurrency
- option. The number of internal table locks has increased from
- 16 to 64. This makes it four times less likely that two
- concurrent processes writing to the same table would collide
- and thereby serialized. The cost is an increased constant
- memory footprint for tables using write_concurrency. The
- memory consumption per inserted record is not affected. The
- increased footprint can be particularly large if
- write_concurrency is combined with read_concurrency.
-
- OTP-10519 == asn1 ==
-
- The ASN.1 compiler generates faster decode functions for PER
- and UPER. Some minor improvements have also been made for
- PER/UPER encoding, and to the BER backend.
-
- OTP-10506 == odbc ==
-
- Under Unix enable TCP_NODELAY to disable Nagel's socket
- algorithm. Thanks to Andy Richards
-
- Impact: Performance gain on Unix systems
-
- OTP-10361 == ssl ==
-
- Support Next Protocol Negotiation in TLS, thanks to Ben
- Murphy for the contribution.
-
- Impact: Could give performance benefit if used as it saves a
- round trip.
-
- OTP-10425 == ssl ==
-
- TLS 1.2 will now be the default TLS version if sufficient
- crypto support is available otherwise TLS 1.1 will be
- default.
-
- Impact: A default TLS connection will have higher security
- and hence it may be perceived as slower then before.
-
- OTP-10710 == ssl ==
-
- Now handles cleaning of CA-certificate database correctly so
- that there will be no memory leek, bug was introduced in ssl-
- 5.1 when changing implementation to increase parallel
- execution.
-
- Impact: Improved memory usage, especially if you have many
- different certificates and upgrade tcp-connections to
- TLS-connections.
-
---- inviso --------------------------------------------------------------
-
- OTP-10117 The inviso application has been removed.
-
-
---- otp -----------------------------------------------------------------
-
- OTP-9684 Most specs for built in functions now reside in their
- respective module instead of being coded in the erl_bif_types
- module of the Hipe application. This creatyes a single source
- for specifications and documentation, which should radically
- lessen the risk for differences between the docs and the
- actual spec seen by dialyzer.
-
- OTP-9862 Many types and specifications that used to reside in
- erl_bif_types have been moved into respective module.
-
- OTP-10616 The experimental feature "parameterized modules" (also called
- "abstract modules") has been removed. For applications that
- depends on parameterized modules, there is a parse transform
- that can be used to still use parameterized modules. The
- parse transform can be found at:
- github.com/erlang/pmod_transform
-
- OTP-10726 Implement ./otp_build configure --enable-silent-rules
-
- With silent rules, the output of make is less verbose and
- compilation warnings are easier to spot. Silent rules are
- disabled by default and can be disabled or enabled at will by
- make V=0 and make V=1. (Thanks to Anthony Ramine)
-
-
---- appmon-2.1.14.2 -----------------------------------------------------
-
- OTP-10784 Misc build updates
-
- OTP-10786 The backend module appmon_info.erl is moved from appmon
- application to runtime_tools. This allows appmon to be run
- from a remote erlang node towards a target node which does
- not have appmon (and its dependencies) installed, as long as
- runtime_tools is installed there.
-
-
---- asn1-2.0 ------------------------------------------------------------
-
- OTP-10410 The options for the ASN.1 compiler has been drastically
- simplified. The backend is chosen by using ber, per, or uper.
- The options optimize, nif, and driver are no longer needed.
- The old options will still work, but will issue a warning.
-
- Another change is that generated encode/2 function will
- always return a binary (some backends used to return an
- iolist).
-
- OTP-10519 The ASN.1 compiler generates faster decode functions for PER
- and UPER. Some minor improvements have also been made for
- PER/UPER encoding, and to the BER backend.
-
- OTP-10588 The ASN.1 compiler will now always include necessary run-time
- functions in the generated Erlang modules (except for
- asn1rt_nif which is still neeeded). If the option 'inline' is
- used the ASN.1 compiler will generate a warning. But if
- '{inline,OutputFile}' is use, the ASN.1 compiler will refuse
- to compile the file. (Use a .set.asn file if you need to
- remove the output file.)
-
- The 'BIT STRING' type will now be decoded as Erlang
- bitstrings by default. Use the new legacy_bit_string option
- to encode as lists of ones and zeroes. (The
- compact_bit_string option still works as before.)
-
- Open types are now always returned as binaries (when there is
- no information allowing them to be decoded).
-
- OTP-10664 Encoding SEQUENCEs with multiple extension addition groups
- with optional values could fail (depending both on the
- specification and whether all values were provided).
-
-
---- asn1-2.0.1 ----------------------------------------------------------
-
- OTP-10853 Fixed broken table constraints within a SET OF or SEQUENCE OF
- for the BER backend.
-
-
---- common_test-1.7 -----------------------------------------------------
-
- OTP-9769 Severe errors detected by test_server (e.g. if log files
- directories cannot be created) will now be reported to
- common_test and noted in the common_test logs.
-
- OTP-9870 The earlier undocumented cross cover feature for accumulating
- cover data over multiple tests has now been fixed and
- documented.
-
- OTP-9881 It is now possible to let a test specification include other
- test specifications. Included specs can either be joined with
- the source spec (and all other joined specs), resulting in
- one single test run, or they can be executed in separate test
- runs. Also, a start flag/option, join_specs, has been
- introduced, to be used in combination with the spec option.
- With join_specs, Common Test can be told to either join
- multiple test specifications, or run them separately. Without
- join_specs, the latter behaviour is default. Note that this
- is a change compared to earlier versions of Common Test,
- where specifications could only be joined. More information
- can be found in the Running Tests chapter in the User's Guide
- (see the Test Specifications section).
-
- OTP-10040 If a busy test case generated lots of error messages,
- cth_log_redirect:post_end_per_testcase would crash with a
- timeout while waiting for the error logger to finish handling
- all error reports. The default timer was 5 seconds. This has
- now been extended to 5 minutes.
-
- OTP-10070 When a test case failed because of a timetrap time out, the
- Config data for the case was lost in the following call to
- end_per_testcase/2, and also in calls to the CT Hook function
- post_end_per_testcase/4. This problem has been solved and the
- Config data is now correctly passed to the above functions
- after a timetrap timeout failure.
-
- OTP-10088 Some calls to deprecated and removed functions in snmp are
- removed from ct_snmp.
-
- OTP-10101 In test_server, the same process would supervise the
- currently running test case and be group leader (and IO
- server) for the test case. Furthermore, when running parallel
- test cases, new temporary supervisor/group leader processes
- were spawned and the process that was group leader for
- sequential test cases would not be active. That would lead to
- several problems:
-
- * Processes started by init_per_suite will inherit the group
- leader of the init_per_suite process (and that group leader
- would not process IO requests when parallel test cases was
- running). If later a parallel test case caused such a
- processto print using (for example) io:format/2, the calling
- would hang.
-
- * Similarly, if a process was spawned from a parallel test
- case, it would inherit the temporary group leader for that
- parallel test case. If that spawned process later - when the
- group of parallel tests have finished - attempted to print
- something, its group leader would be dead and there would be
- badarg exception.
-
- Those problems have been solved by having group leaders
- separate from the processes that supervises the test cases,
- and keeping temporary group leader process for parallel test
- cases alive until no more process in the system use them as
- group leaders.
-
- Also, a new unexpected_io.log log file (reachable from the
- summary page of each test suite) has been introduced. All
- unexpected IO will be printed into it(for example, IO to a
- group leader for a parallel test case that has finished).
-
- OTP-10432 Some bugfixes in ct_snmp:
-
- -- ct_snmp will now use the value of the 'agent_vsns' config
- variable when setting the 'variables' parameter to snmp
- application agent configuration. Earlier this had to be done
- separately - i.e. the supported versions had to be specified
- twice.
-
- -- Snmp application failed to write notify.conf since ct_snmp
- gave the notify type as a string instead of an atom. This has
- been corrected.
-
- OTP-10434 Some bugfixes in ct_snmp:
-
- -- Functions register_users/2, register_agents/2 and
- register_usm_users/2, and the corresponding unregister_*/1
- functions were not executable. These are corrected/rewritten.
-
- -- Function update_usm_users/2 is removed, and an unregister
- function is added instead. Update can now be done with
- unregister_usm_users and then register_usm_users.
-
- -- Functions unregister_*/2 are added, so specific
- users/agents/usm users can be unregistered.
-
- -- Function unload_mibs/1 is added for completeness.
-
- -- Overriding configuration files did not work, since the
- files were written in priv_dir instead of in the
- configuration dir (priv_dir/conf). This has been corrected.
-
- -- Arguments to register_usm_users/2 were faulty documented.
- This has been corrected.
-
- OTP-10469 The ct_slave:start/3 function now supports an
- {env,[{Var,Value}]} option to extend environment for the
- slave node.
-
- OTP-10601 Faulty exported specs in common test has been corrected to
- ct_netconfc:hook_options/0 and inet:hostname/0
-
- OTP-10646 The netconf client in common_test did not adjust the window
- after receiving data. Due to this, the client stopped
- receiving data after a while. This has been corrected.
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
- OTP-10783 Update common test modules to handle unicode
-
- -- Use UTF-8 encoding for all HTML files, except the HTML
- version of the test suite generated with erl2html2:convert,
- which will have the same encoding as the original test suite
- (.erl) file.
-
- -- Encode link targets in HTML files with
- test_server_ctrl:uri_encode/1.
-
- -- Use unicode modifier 't' with ~s when appropriate.
-
- -- Use unicode:characters_to_list and
- unicode:characters_to_binary for conversion between binaries
- and strings instead of binary_to_list and list_to_binary.
-
-
---- common_test-1.7.1 ---------------------------------------------------
-
- OTP-9052 Removed depricated run_test program, use ct_run instead.
-
- OTP-10634 If an event handler installed in the CT Master event manager
- took too long to respond during the termination phase, CT
- Master crashed because of a timeout after 5 secs. This would
- leave the system in a bad state. The problem has been solved
- by means of a 30 min timeout value and if CT Master gets a
- timeout after that time, it now kills the event manager and
- shuts down properly.
-
- OTP-10826 Printing with any of the ct printout functions from an event
- handler installed by Common Test, would cause a deadlock.
- This problem has been solved.
-
- OTP-10832 Using the force_stop flag/option to interrupt a test run
- caused a crash in Common Test. This problem has been solved.
-
-
---- compiler-4.9 --------------------------------------------------------
-
- OTP-10193 The compiler optimizations have been polished, so that the
- code quality will be slightly better in some cases.
-
- OTP-10302 Support for Unicode has been implemented.
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10690 Fix some wrong warnings triggered by the option
- inline_list_funcs. Thanks to Anthony Ramine.
-
- OTP-10706 Forbid local fun variables in Core Erlang guards. Thanks to
- Anthony Ramine.
-
- OTP-10724 Binary syntax matches could cause an internal consistency
- error in in the compiler. (Thanks to Viktor Sovietov for
- reporting this bug.)
-
-
---- compiler-4.9.1 ------------------------------------------------------
-
- OTP-10788 Integers in expression that will give a floating point result
- (such as "X / 2" will now be converted to floating point at
- compile-time. (Suggested by Richard O'Keefe.)
-
- Identical floating points constans in a module will now be
- coalesced to one entry in the constant pool.
-
- OTP-10794 The compiler would crash attempting to compile expressions
- such as "element(2, not_tuple)".
-
- OTP-10818 Forbid multiple values in Core Erlang sequence arguments.
- Thanks to José Valim and Anthony Ramine.
-
- OTP-10825 An unsafe optimization would cause the compiler to crash with
- an internal error for certain complex code sequences.
-
-
---- cosEvent-2.1.13 -----------------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- cosEventDomain-1.1.13 -----------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- cosFileTransfer-1.1.14 ----------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- cosNotification-1.1.19 ----------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- cosProperty-1.1.16 --------------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- cosTime-1.1.13 ------------------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- cosTransactions-1.2.13 ----------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- crypto-2.3 ----------------------------------------------------------
-
- OTP-10596 Enable runtime upgrade of crypto including the OpenSSL
- library used by crypto.
-
- OTP-10640 Improve documentation and tests for hmac functions in crypto.
- Thanks to Daniel White
-
- OTP-10667 Added ripemd160 support to crypto. Thanks to Michael Loftis
-
-
---- debugger-3.2.9 ------------------------------------------------------
-
- OTP-10302 Support for Unicode has been implemented.
-
- OTP-10621 Fix Debugger settings dialog due to changed behavior in
- wxFileDialog (Thanks to Håkan Mattsson)
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10679 Integer lists and utf-8 binaries in variables are now
- displayed as strings.
-
-
---- debugger-3.2.10 -----------------------------------------------------
-
- OTP-10884 The +pc flag to erl can be used to set the range of
- characters considered printable. This affects how the shell
- and io:format("~tp",...) functionality does heuristic string
- detection. More can be read in STDLIB users guide.
-
-
---- dialyzer-2.5.4 ------------------------------------------------------
-
- OTP-10302 Support for Unicode has been implemented.
-
- OTP-10433 Dialyzer no longer outputs warnings for unused anonymous
- functions ("funs"). Warnings are still output for unused
- functions.
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
- OTP-10681 Fix precision of record creation violation warnings. Thanks
- to Stavros Aronis
-
- OTP-10740 Report spec discrepancy on mismatching lists. Thanks to
- Stavros Aronis.
-
- OTP-10772 Properly support functions with arbitrary arity in type
- specs. Thanks to Stavros Aronis.
-
-
---- dialyzer-2.6 --------------------------------------------------------
-
- OTP-10820 Miscellaneous updates due to Unicode support.
-
- OTP-10861 User defined types with same name and different arity and
- documentation inconsistencies. Thanks Stavros Aronis.
-
- OTP-10865 Native code compilation changes. Thanks to Kostis Sagonas.
-
-
---- diameter-1.4 --------------------------------------------------------
-
- OTP-10442 Add registered server names to the app file.
-
- OTP-10609 Fix #diameter_header{} handling broken by OTP-10445.
-
- The fault caused the the header of a [Header | Avps] request
- to be ignored if both end_to_end_id and hop_by_hop_id were
- undefined.
-
- OTP-10614 Fix error handling for handle_request callback.
-
- A callback that returned a #diameter_packet{} would fail if
- the incoming request had decode errors.
-
- OTP-10618 Fix timing of service start event.
-
- The event did not necessarily precede other events as
- documented.
-
- OTP-10619 Fix setting of header T flag at peer failover.
-
- The flag is now set in the diameter_header record passed to a
- prepare_retransmit callback.
-
- OTP-10628 Fix sending of CER/CEA timeout event at capx_timeout.
-
- The event was not sent as documented.
-
- OTP-10655 Fix improper setting of Application-ID in the Diameter header
- of an answer message whose E flag is set.
-
- The value should be that of the request in question. The
- fault caused it always to be 0.
-
- OTP-10693 Fix faulty handling of AVP length errors.
-
- An incorrect AVP length but no other errors caused an
- incoming request to fail.
-
-
---- diameter-1.4.1 ------------------------------------------------------
-
- OTP-10686 Add application_opt() request_errors to make the handling of
- incoming requests containing decode errors configurable.
-
- The value 'callback' ensures that a handle_request callback
- takes place for all such requests, the default being for
- diameter to answer 3xxx series errors itself.
-
- OTP-10687 Add transport_opt() length_errors.
-
- The value determines how messages received over the transport
- interface with an incorrect Message Length are dealt with.
-
- OTP-10688 Add commentary on RFC 6733 to Standards Compliance chapter of
- the User's Guide.
-
- OTP-10692 Fix erroneous watchdog transition from DOWN to INITIAL.
-
- This transition took place when a peer connection was
- reestablished following a failed capabilities exchange. RFC
- 3539 requires DOWN to transition into REOPEN.
-
- OTP-10759 Allow a 5xxx result code in an answer-message on peer
- connections using the RFC 6733 common dictionary.
-
- RFC 6733 allows this while RFC 3588 does not. A
- handle_request callback can return {answer_message,
- 3000..3999|5000..5999} in the simplest case.
-
- OTP-10760 Add dictionaries for RFC 6733.
-
- Both the common and accounting dictionaries differ from their
- RFC 3588 counterparts, which is reflected in generated record
- definitions. Application configuration on a service or
- transport determines the dictionary that will be used on a
- given peer connection.
-
- OTP-10761 Allow a handle_request callback to control diameter's setting
- of Result-Code and Failed-AVP.
-
- Setting errors = false in a returned #diameter_packet{}
- disables the setting.
-
-
---- edoc-0.7.11 ---------------------------------------------------------
-
- OTP-10195 Since EDoc 0.7.7 (R14B02) separate values of union types can
- be annotated. However, the parser has hitherto chosen not to
- add the necessary parentheses due to backwards compatibility.
-
- From this release on code traversing the output of
- edoc_parser needs to take care of parentheses around separate
- values of union types. Examples of such code are layout
- modules and doclet modules.
-
- OTP-10302 Support for Unicode has been implemented.
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
-
---- edoc-0.7.12 ---------------------------------------------------------
-
- OTP-10820 Miscellaneous updates due to Unicode support.
-
- OTP-10866 EDoc sometimes failed to associate a comment with the
- preceding type declaration. This bug has been fixed. (Thanks
- to Serge Aleynikov for reporting the bug.)
-
-
---- eldap-1.0.1 ---------------------------------------------------------
-
- OTP-10403 Fixed various dialyzer warnings
-
- OTP-10728 Configure the SSL options fully in eldap.
-
-
---- erl_docgen-0.3.4 ----------------------------------------------------
-
- OTP-10302 Support for Unicode has been implemented.
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
- OTP-10725 Correct a PDF indentation bug for tagged lists in tagged
- lists and added some missing tags to the DTD.
-
-
---- erl_interface-3.7.10 ------------------------------------------------
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10753 Limited support for unicode atoms in the external format and
- in the internal representation of the vm. This is a
- preparative feature in order to support communication with
- future releases of Erlang/OTP that may create unicode atoms.
-
-
---- erl_interface-3.7.11 ------------------------------------------------
-
- OTP-10885 Revert the structs erlang_pid, erlang_port and erlang_ref as
- they were before R16A (without node_org_enc) in order to be
- backward compatible with user code that accesses the fields
- of these structs.
-
-
---- erts-5.10 -----------------------------------------------------------
-
- OTP-8928 A boolean socket option 'ipv6_v6only' for IPv6 sockets has
- been added. The default value of the option is OS dependent,
- so applications aiming to be portable should consider using
- {ipv6_v6only,true} when creating an inet6
- listening/destination socket, and if neccesary also create an
- inet socket on the same port for IPv4 traffic. See the
- documentation.
-
- OTP-9861 It is now allowed to define stubs for BIFs, to allow type
- specs to be written for BIFs. For example, if there is BIF
- called lists:member/2, a dummy definition of lists:member/2
- is now allowed.
-
- OTP-9892 Process optimizations. The most notable:
-
- -- New internal process table implementation allowing for
- both parallel reads as well as writes. Especially read
- operations have become really cheap. This reduce contention
- in various situations. For example when, spawning processes,
- terminating processes, sending messages, etc.
-
- -- Optimizations of run queue management reducing contention.
-
- -- Optimizations of process state changes reducing
- contention.
-
- These changes imply changes of the characteristics the
- system. Most notable: changed timing in the system.
-
- OTP-9974 Non-blocking code loading. Earlier when an Erlang module was
- loaded, all other execution in the VM were halted while the
- load operation was carried out in single threaded mode. Now
- modules are loaded without blocking the VM. Processes may
- continue executing undisturbed in parallel during the entire
- load operation. The load operation is completed by making the
- loaded code visible to all processes in a consistent way with
- one single atomic instruction. Non-blocking code loading will
- improve realtime characteristics when modules are
- loaded/upgraded on a running SMP system.
-
- OTP-10122 In the SMP emulator, turning on and off tracing will no
- longer take down the system to single-scheduling.
-
- OTP-10146 Remove VxWorks support
-
- OTP-10156 Added a general framework for executing benchmarks of
- Erlang/OTP. Benchmarks for the Erlang VM and mnesia have been
- incorporated in the framework.
-
- For details about how to add more benchmarks see
- $ERL_TOP/HOWTO/BENCHMARKS.md in the source distribution.
-
- OTP-10167 Optimized deletion of ETS-tables which significantly improves
- performance when large amounts of temporary tables are used.
-
- This change imply changes of the characteristics the system.
- Most notable: changed timing in the system.
-
- OTP-10170 Tuple funs (deprecated in R15B) are no longer supported.
-
- OTP-10273 New internal header scheme for allocators
-
- Impact: Reduces size on object allocated in multiblock
- carriers by one word
-
- OTP-10336 Major port improvements. The most notable:
-
- -- New internal port table implementation allowing for both
- parallel reads as well as writes. Especially read operations
- have become really cheap.This reduce contention in various
- situations. For example when, creating ports, terminating
- ports, etc.
-
- -- Dynamic allocation of port structures. This allow for a
- much larger maximum amount of ports allowed as a default. The
- previous default of 1024 has been raised to 65536. Maximum
- amount of ports can be set using the +Q command line flag of
- erl(1). The previously used environment variable
- ERL_MAX_PORTS has been deprecated and scheduled for removal
- in OTP-R17.
-
- -- Major rewrite of scheduling of port tasks. Major benefits
- of the rewrite are reduced contention on run queue locks, and
- reduced amount of memory allocation operations needed. The
- rewrite was also necessary in order to make it possible to
- schedule signals from processes to ports.
-
- -- Improved internal thread progress functionality for easy
- management of unmanaged threads. This improvement was
- necessary for the rewrite of the port task scheduling.
-
- -- Rewrite of all process to port signal implementations in
- order to make it possible to schedule those operations. All
- port operations can now be scheduled which allows for reduced
- lock contention on the port lock as well as truly
- asynchronous communication with ports.
-
- -- Optimized lookup of port handles from drivers.
-
- -- Optimized driver lookup when creating ports.
-
- -- Preemptable erlang:ports/0 BIF.
-
- -- Improving responsiveness by bumping reductions for a
- process calling a driver callback directly.
-
- These changes imply changes of the characteristics of the
- system. The most notable:
-
- -- Order of signal delivery -- The previous implementation of
- the VM has delivered signals from processes to ports in a
- synchronous stricter fashion than required by the language.
- As of ERTS version 5.10, signals are truly asynchronously
- delivered. The order of signal delivery still adheres to the
- requirements of the language, but only to the requirements.
- That is, some signal sequences that previously always were
- delivered in one specific order may now from time to time be
- delivered in different orders. This may cause Erlang programs
- that have made false assumptions about signal delivery order
- to fail even though they previously succeeded. For more
- information about signal ordering guarantees, see the chapter
- on communication in the ERTS user's guide. The +n command
- line flag of erl(1) can be helpful when trying to find
- signaling order bugs in Erlang code that have been exposed by
- these changes.
-
- -- Latency of signals sent from processes to ports -- Signals
- from processes to ports where previously always delivered
- immediately. This kept latency for such communication to a
- minimum, but it could cause lock contention which was very
- expensive for the system as a whole. In order to keep this
- latency low also in the future, most signals from processes
- to ports are by default still delivered immediately as long
- as no conflicts occur. Such conflicts include not being able
- to acquire the port lock, but also include other conflicts.
- When a conflict occur, the signal will be scheduled for
- delivery at a later time. A scheduled signal delivery may
- cause a higher latency for this specific communication, but
- improves the overall performance of the system since it
- reduce lock contention between schedulers. The default
- behavior of only scheduling delivery of these signals on
- conflict can be changed by passing the +spp command line flag
- to erl(1). The behavior can also be changed on port basis
- using the parallelism option of the open_port/2 BIF.
-
- -- Execution time of the erlang:ports/0 BIF -- Since
- erlang:ports/0 now can be preempted, the responsiveness of
- the system as a whole has been improved. A call to
- erlang:ports/0 may, however, take a much longer time to
- complete than before. How much longer time heavily depends on
- the system load.
-
- -- Reduction cost of calling driver callbacks -- Calling a
- driver callback is quite costly. This was previously not
- reflected in reduction cost at all. Since the reduction cost
- now has increased, a process performing lots of direct driver
- calls will be scheduled out more frequently than before.
-
- Potential incompatibilities:
-
- -- driver_send_term() has been deprecated and has been
- scheduled for removal in OTP-R17. Replace usage of
- driver_send_term() with usage of erl_drv_send_term().
-
- -- driver_output_term() has been deprecated and has been
- scheduled for removal in OTP-R17. Replace usage of
- driver_output_term() with usage of erl_drv_output_term().
-
- -- The new function erl_drv_busy_msgq_limits() has been added
- in order to able to control management of port queues.
-
- The driver API version has been bumped to 2.1 from 2.0 due to
- the above changes in the driver API.
-
- OTP-10348 The experimental support for packages has been removed.
-
- OTP-10491 Set new peeled off SCTP socket to nonblocking socket (Thanks
- to Jonas Falkevik)
-
- OTP-10522 Wrong parameters when setting seq_trace-tokens from within a
- trace-pattern could crash the VM. This is now corrected.
-
- OTP-10611 Fix various typos (thanks to Tuncer Ayaz)
-
- OTP-10633 Erlang specification 4.7.3 defines max tuple size to 65535
- elements It is now enforced to no more than 16777215 elements
- (arity 24 bits)
-
- Previous edge cases (28 bits) were not validated and could
- cause undefined behaviour.
-
- OTP-10643 Add insert_element/3 and delete_element/2
-
- OTP-10647 The previous default of a maximum of 32768 simultaneous
- processes has been raised to 262144. This value can be
- changed using the the +P command line flag of erl(1). Note
- that the value passed now is considered as a hint, and that
- actual value chosen in most cases will be a power of two.
-
- OTP-10661 The previously (in R15) proposed scheduler wakeup strategy is
- now used by default. This strategy is not as quick to forget
- about previous overload as the previous strategy.
-
- This change imply changes of the characteristics the system.
- Most notable: When a small overload comes and then disappears
- repeatedly, the system will for a bit longer time be willing
- to wake up schedulers than before. Timing in the system will
- due to this also change.
-
- The previous strategy can still be enabled by passing the
- +sws legacy command line flag to erl.
-
- OTP-10668 The +stbt command line argument of erl was added. This
- argument can be used for trying to set scheduler bind type.
- Upon failure unbound schedulers will be used.
-
- OTP-10677 Fix fd leak when using async thread pool
-
- When using the async thread pool, if an erlang process asks
- to open a file and it gets shutdown/killed while the
- file:open/2 call hasn't returned, it's possible to leak a
- file descriptor against the target file. This has now been
- fixed. (Thanks to Filipe David Manana)
-
- OTP-10678 Support ANSI in console
-
- Unix platforms will no longer filter control sequences to the
- ttsl driver thus enabling ANSI and colors in console. (Thanks
- to Pedram Nimreezi)
-
- OTP-10680 Add file:allocate/3 operation
-
- This operation allows pre-allocation of space for files. It
- succeeds only on systems that support such operation. (Thanks
- to Filipe David Manana)
-
- OTP-10683 Treat -Wreturn-type warnings as error when using GCC (Thanks
- to Tuncer Ayaz)
-
- OTP-10699 Use sys/types.h instead of string.h to pull ssize_t
- definition to erl_driver.h. This fixes build issue on NetBSD.
- (Thanks to Yamamoto Takashi).
-
- OTP-10702 Arguments given with the -run or -s flags to erl are now
- translated according to the file name encoding mode of the
- runtime system.
-
- OTP-10726 Implement ./otp_build configure --enable-silent-rules
-
- With silent rules, the output of make is less verbose and
- compilation warnings are easier to spot. Silent rules are
- disabled by default and can be disabled or enabled at will by
- make V=0 and make V=1. (Thanks to Anthony Ramine)
-
- OTP-10727 Use share flags for all file operations on Windows. Thanks to
- Filipe David Borba Manana.
-
- OTP-10733 Make/fakefop adjustments. Thanks to Tuncer Ayaz and Sebastian
- Rasmussen.
-
- OTP-10736 The runtime system will now by default use 10 async threads
- if thread support has been enabled when building the runtime
- system.
-
- This will prevent long blocking file-operations from blocking
- scheduler threads for long periods of time, which can be
- harmful. Apart from file-operations, it also effects other
- operations scheduled on the async thread pool by user
- implemented drivers.
-
- The amount of async threads can be controlled by using the +A
- command line argument of erl(1). When running some offline
- tools you might want to disable async threads, but you are
- advised not to in the general case. Instead, you might want
- to increase the amount of async threads used.
-
- This change imply changes of the characteristics the system
- compared to the previous default. The responsiveness of the
- system as a whole will be improved. Operations scheduled on
- the async thread pool will get an increased latency. The
- throughput of these operations may increase, or decrease
- depending on the type of the operations and how they get
- scheduled. In the case of file operations, the throughput
- very much depends on how the Erlang application access files.
- Multiple concurrent accesses to different files have the
- potential of an increased throughput.
-
- OTP-10737 The default reader group limit has been increased to 64 from
- 8. This limit can be set using the +rg command line argument
- of erl(1).
-
- This change of default value will reduce lock contention on
- ETS tables using the read_concurrency option at the expense
- of memory consumption when the amount of schedulers and
- logical processors are beween 8 and 64. For more information,
- see documentation of the +rg command line argument of erl(1).
-
- OTP-10746 The octet counters in the gen_tcp/inet interface could behave
- in unexpected ways on 64bit platforms. The behaviour is now
- as expected.
-
- OTP-10747 Certain linux kernels, most notably in redhat and CentOS
- distribution, had a bug in writev which generated an infinite
- loop in the tcp code of the VM. The bug is now worked around.
-
- OTP-10748 A process that got killed (got an exit signal) while
- operating on a compresseed file, could cause a segmentation
- fault in the VM. This is now corrected. Thanks to Filipe
- David Manana for identifying the problem and submitting a
- solution.
-
- OTP-10751 Windows previously used three digit exponent in formatting
- which caused difference between platforms, as can be seen by
- float_to_list/1. This has now been fixed.
-
- OTP-10752 New BIF float_to_list/2 which solves a problem of
- float_to_list/1 that doesn't allow specifying the number of
- digits after the decimal point when formatting floats (Thanks
- to Serge Aleynikov).
-
- OTP-10753 Limited support for unicode atoms in the external format and
- in the internal representation of the vm. This is a
- preparative feature in order to support communication with
- future releases of Erlang/OTP that may create unicode atoms.
-
- OTP-10787 Increased potential concurrency in ETS for write_concurrency
- option. The number of internal table locks has increased from
- 16 to 64. This makes it four times less likely that two
- concurrent processes writing to the same table would collide
- and thereby serialized. The cost is an increased constant
- memory footprint for tables using write_concurrency. The
- memory consumption per inserted record is not affected. The
- increased footprint can be particularly large if
- write_concurrency is combined with read_concurrency.
-
-
---- erts-5.10.1 ---------------------------------------------------------
-
- OTP-10170 Tuple funs (deprecated in R15B) are no longer supported.
-
- OTP-10300 Added four new bifs, erlang:binary_to_integer/1,2,
- erlang:integer_to_binary/1, erlang:binary_to_float/1 and
- erlang:float_to_binary/1,2. These bifs work similarly to how
- their list counterparts work, except they operate on
- binaries. In most cases converting from and to binaries is
- faster than converting from and to lists.
-
- These bifs are auto-imported into erlang source files and can
- therefore be used without the erlang prefix.
-
- OTP-10348 The experimental support for packages has been removed.
-
- OTP-10802 Threads created internally in the runtime system by vanilla,
- fd, and spawn drivers on Windows systems could make thread
- unsafe calls to driver_select().
-
- OTP-10803 Threads created internally in the runtime system by the
- vanilla, fd, and spawn drivers on Windows systems could make
- unsafe memory accesses to driver data after port had
- terminated.
-
- OTP-10807 The runtime system could crash when flushing data to standard
- out or standard error on Windows.
-
- OTP-10809 Bugs due to the port optimizations introduced in
- erts-5.10/OTP-R16A have been fixed:
-
- -- Memory leak when terminating ports
-
- -- Memory leak when reaching the system limit of maximum
- amount of concurrently existing ports
-
- -- Crashs due to missing, or late test of bad port handle
-
- -- The newly introduced driver API function
- erl_drv_busy_msgq_limits() could not be used by dynamically
- linked in drivers on Windows
-
- OTP-10810 The driver API function erl_drv_consume_timeslice(), and the
- NIF API function enif_consume_timeslice() have been
- introduced.
-
- These functions are provided in order to better support
- co-operative scheduling, improve system responsiveness, and
- to make it easier to prevent misbehaviors of the VM due to a
- process or port monopolizing a scheduler thread. They can be
- used when dividing lengthy work into a number of repeated
- calls without the need to use threads.
-
- OTP-10824 Fix {packet,httph} header capitalization for unrecognized
- header fields longer than 20 charachters such as
- Sec-Websocket-Version. The limit is simply raised from 20 to
- 50 characters with the hope that valid headers longer than 50
- are not used.
-
- OTP-10834 The list_to_integer/2 bif has been optimized when used with
- bases other than 10.
-
- OTP-10837 Fix rounding issues in float_to_list/1,2. Thanks to Serge
- Aleynikov
-
- OTP-10838 The git commit sha of the HEAD commit is now added to the
- Erlang shell when compiling a non-released Erlang version.
-
- OTP-10840 Change caching policy for memory segment allocator. For
- instance, prefer sbc segments over mbc segments, caching
- policy is time-arrow aware, evicting older cached segments to
- store newer segments.
-
- The default number of cachable segment has been increased
- from five to ten segments. This can be modified, same as
- before, with the command line option +MMmcs 5
-
- Impact: Increased speed for processing on larger objects,
- e.g. binaries. Slight increase of mapped and resident memory.
- Tune your system with memory options to erl for best
- performance.
-
- OTP-10841 Fix memory leak in file driver introduced in R16A.
-
- OTP-10848 Updated config.sub and config.guess to latest version from
- gnu.org
-
- OTP-10849 Add an xcomp file for Blue Gene/Q. Thanks to Kostis Sagonas.
-
- OTP-10850 Cleanup of documentation of the type language. Thanks to
- Kostis Sagonas.
-
- OTP-10851 Change the return value of hipe_bifs:remove_refs_from/1.
- Thanks to Kostis Sagonas.
-
- OTP-10854 A bug in an ERTS internal queue implementation could cause
- the loss of a wake up signal to a consumer thread. This has
- now been fixed.
-
- The effect of this bug, when triggered, was often only a
- small or even no delay of certain operations. This since,
- threads often are woken due to other unrelated reasons.
- However, if the consumer thread was not woken due to other
- reasons when the bug was triggered, these operations could be
- left hanging, potentially for ever. Such effects seems to
- have been very rare, but we have on at least one occasion
- gotten a report about such an issue.
-
- Operations potentially effected by this bug:
-
- -- Inspection of memory allocation status -- The Erlang
- process calling erlang:memory/[0,1], or
- erlang:system_info({allocator|allocator_sizes, _}) could
- potentially hang waiting for responses from involved threads.
-
- -- Async thread pool jobs -- An async thread pool job request
- and/or reply could potentially be left hanging. In OTP this
- only effected file operations, but user implemented drivers
- using the async thread pool were also effected. In the file
- operation case, this would typically translate into an Erlang
- process potentially hanging on the file operation.
-
- -- Shutting down the runtime system -- Due to the issue with
- the async thread pool mentioned above, flushing of I/O while
- terminating the runtime system could also potentially hang.
-
- -- ETS memory deallocation -- Scheduled jobs handling
- deallocation of the main structure of an ETS table could
- potentially hang. This more or less only translates into
- minor memory leaks.
-
- -- Shutting down distribution -- The distribution shutdown
- phase used when manually shutting down the distribution,
- i.e., when calling net_kernel:stop(), could potentially hang.
-
- OTP-10858 OS X Snow Leopard now only uses write, as writev does not
- work properly on very large files.
-
- OTP-10859 Fixed a bug where line oriented file I/O using read_ahead was
- very slow for files with very large difference in line
- length.
-
- OTP-10860 In erts-5.10 (R16A) faulty hashvalues were produced for
- non-ASCII atoms (characters in byte-range 128..255). This has
- now been fixed and hashvalues conforms to previous OTP
- releases.
-
- OTP-10872 As of ERTS-5.10/OTP-R16A node names passed in the EPMD
- protocol are required to be encoded in UTF-8. Since EPMD
- previously accepted latin1 encoded node names this is an
- incompatibility. However, since Erlang nodes always have
- required characters in node names to be 7-bit ASCII
- characters (and still do require this), this incompatibility
- should not effect anyone using EPMD as an Erlang Port Mapper
- Daemon.
-
- OTP-10875 Fixes of memory accesses that might be thread unsafe when the
- runtime system has been linked against third-party libraries
- for atomic memory operations during the build. Most builds
- are uneffected by this bug. If triggered, the runtime system
- will most likely crash more or less immediately.
-
- OTP-10881 Fixed a bug where it was longer possible to give the +sws
- proposal flag to non-smp emulators.
-
- OTP-10884 The +pc flag to erl can be used to set the range of
- characters considered printable. This affects how the shell
- and io:format("~tp",...) functionality does heuristic string
- detection. More can be read in STDLIB users guide.
-
- OTP-10887 Fix a number of type cast errors related to formatted
- printing on Win64 that can potentially cause problem when the
- Erlang VM exceeds 4 GB of ram. (Thanks to Blaine Whittle for
- the original patch)
-
- OTP-10890 Faulty type to bytes read for ReadFile on Windows. This could
- cause windows systems to misbehave. The correct type is now
- used.
-
- OTP-10892 Change default max ports for Windows to 8192. Having a too
- large value caused Windows to not be able to recover
- properly. If you want to use another value, pass +Q Value to
- erl or werl.
-
- OTP-10895 The effect of the deprecated environment variable
- ERL_MAX_PORTS had been removed premeturely. It has now been
- readded. Note that this is still scheduled to be released in
- R17B.
-
- OTP-10896 Fix rare crash on halfword vm during code loading.
-
-
---- et-1.4.4.3 ----------------------------------------------------------
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
-
---- eunit-2.2.4 ---------------------------------------------------------
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
-
---- gs-1.5.15.2 ---------------------------------------------------------
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
-
---- hipe-3.10 -----------------------------------------------------------
-
- OTP-10302 Support for Unicode has been implemented.
-
- OTP-10624 The type ascii_string() in the base64 module has been
- corrected. The type file:file_info() has been cleaned up. The
- type file:fd() has been made opaque in the documentation.
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10705 Update .gitignore (lib/hipe/boot_ebin). Thanks to Tuncer
- Ayaz.
-
-
---- hipe-3.10.1 ---------------------------------------------------------
-
- OTP-10867 Bug fixed in hipe to where it did not allow unicode code
- points 16#FFFE and 16#FFFF in bit syntax in natively compiled
- modules.
-
- OTP-10897 Fix bug in hipe compiled code related to the handling of
- is_number/1. (Thanks to Sebastian Egner and Johannes Weißl
- for minimal test code and Kostis for quick patch)
-
-
---- ic-4.3 --------------------------------------------------------------
-
- OTP-10784 Misc build updates
-
- OTP-10785 Adapt ic for changes in erl_interface and jinterface due to
- utf8 atom support. This change makes ic dependent on
- erl_interface-3.7.10 (R16) or later in order to build.
-
-
---- ic-4.3.1 ------------------------------------------------------------
-
- OTP-10885 Revert the structs erlang_pid, erlang_port and erlang_ref as
- they were before R16A (without node_org_enc) in order to be
- backward compatible with user code that accesses the fields
- of these structs.
-
-
---- inets-5.9.3 ---------------------------------------------------------
-
- OTP-10256 httpc: The HTTP client now supports HTTPS through proxies
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
- OTP-10765 Fix autoredirect for POST requests responding 303. Thanks to
- Hans Svensson.
-
-
---- inets-5.9.4 ---------------------------------------------------------
-
- OTP-10844 httpd: The modules option now defaults to the documented
- value.
-
- OTP-10845 httpc: Fixed persistent connection implementation that was
- broken by a patch to R13. The patch made persisten
- connections behaved the same way as pipelining.
-
- OTP-10846 httpd: Simplified configuration of ssl in httpd, this also
- enables all ssl options to be configured. The old and limited
- way is no longer documented but will be supported for
- backwards comatibility for some time.
-
- OTP-10886 Handle correctly the "No files found or file unavailable"
- error code. Thanks to Serge Aleynikov
-
-
---- jinterface-1.5.7 ----------------------------------------------------
-
- OTP-10505 fix reading compressed binary terms from Java (Thanks to Nico
- Kruber)
-
- OTP-10579 OtpEpmd.lokupNames() no longer hangs when badly configured
- (Thanks to Vlad Dumitrescu)
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10753 Limited support for unicode atoms in the external format and
- in the internal representation of the vm. This is a
- preparative feature in order to support communication with
- future releases of Erlang/OTP that may create unicode atoms.
-
-
---- jinterface-1.5.8 ----------------------------------------------------
-
- OTP-10819 Fixed a bug in OtpErlangTuple constructor. Thanks to Vlad
- Dumitrescu.
-
- OTP-10821 Fixed finding cookie file on windows. Thanks to Vlad
- Dumitrescu
-
- OTP-10822 Don't compress external binary format if this increases the
- size. Thanks to Nico Kruber.
-
-
---- kernel-2.16 ---------------------------------------------------------
-
- OTP-8067 Inet exported functionality
-
- inet:parse_ipv4_address/1, inet:parse_ipv4strict_address/1,
- inet:parse_ipv6_address/1, inet:parse_ipv6strict_address/1,
- inet:parse_address/1 and inet:parse_strict_address is now
- exported from the inet module.
-
- OTP-8928 A boolean socket option 'ipv6_v6only' for IPv6 sockets has
- been added. The default value of the option is OS dependent,
- so applications aiming to be portable should consider using
- {ipv6_v6only,true} when creating an inet6
- listening/destination socket, and if neccesary also create an
- inet socket on the same port for IPv4 traffic. See the
- documentation.
-
- OTP-10302 Support for Unicode has been implemented.
-
- OTP-10417 It is no longer possible to have {Mod,Vsn} in the 'modules'
- list in a .app file.
-
- This was earlier possible, although never documented in the
- .app file reference manual. It was however visible in the
- documentation of application:load/[1,2], where the same term
- as in a .app file can be used as the first argument.
-
- The possibility has been removed since the Vsn part was never
- used.
-
- OTP-10419 The documentation for global:register_name/3 has been updated
- to mention that the use of {Module,Function} as the method
- argument (resolve function) is deprecated.
-
- OTP-10473 The contract of erl_ddll:format_error/1 has been corrected.
- (Thanks to Joseph Wayne Norton.)
-
- OTP-10549 Fixed bug where sendfile on oracle solaris would return an
- error when a partial send was done.
-
- OTP-10617 The error_handler module will now call
- '$handle_undefined_function'/2 if an attempt is made to call
- a non-existing function in a module that exists. See the
- documentation for error_handler module for details.
-
- OTP-10620 Change printout of application crash message on startup to
- formated strings (Thanks to Serge Aleynikov)
-
- OTP-10624 The type ascii_string() in the base64 module has been
- corrected. The type file:file_info() has been cleaned up. The
- type file:fd() has been made opaque in the documentation.
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10662 Do not return wrong terms unnecessarily. (Thanks to Kostis
- Sagonas.)
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
- OTP-10680 Add file:allocate/3 operation
-
- This operation allows pre-allocation of space for files. It
- succeeds only on systems that support such operation. (Thanks
- to Filipe David Manana)
-
- OTP-10694 Add application:get_key/3. The new function provides a
- default value for a configuration parameter. Thanks to Serge
- Aleynikov.
-
- OTP-10739 Add search to Erlang shell's history. Thanks to Fred Herbert.
-
-
---- kernel-2.16.1 -------------------------------------------------------
-
- OTP-10754 A bug that could cause a crash with wrong reason has been
- corrected in the application_controller module.
-
- OTP-10797 Slightly nicer error message when node start fails due to
- duplicate name. Thanks to Magnus Henoch.
-
- OTP-10820 Miscellaneous updates due to Unicode support.
-
- OTP-10823 Add a new function code:get_mode() can be used to detect how
- the code servers behaves. Thanks to Vlad Dumitrescu
-
- OTP-10839 Fix type of error Reason on gen_tcp:send/2. Thanks to Sean
- Cribbs.
-
- OTP-10852 file:list_dir_all/1 and file:read_link_all/1 that can handle
- raw file names have been added. See the User Guide for STDLIB
- for information about raw file names.
-
- OTP-10870 Fix code:is_module_native/1 that sometimes in R16A returned
- false for hipe compiled modules containing BIFs such as
- lists.
-
- OTP-10879 Respect {exit_on_close,false} option on tcp socket in
- non-passive mode when receiving fails (due to an ill-formed
- packet for example) by only doing a half close and still
- allow sending on the socket. (Thanks to Anthony Molinaro and
- Steve Vinoski for reporting the problem)
-
-
---- megaco-3.16.0.3 -----------------------------------------------------
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
-
---- mnesia-4.8 ----------------------------------------------------------
-
- OTP-10156 Added a general framework for executing benchmarks of
- Erlang/OTP. Benchmarks for the Erlang VM and mnesia have been
- incorporated in the framework.
-
- For details about how to add more benchmarks see
- $ERL_TOP/HOWTO/BENCHMARKS.md in the source distribution.
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10636 Use chained send_after instead of send_interval, to make
- decrease the number of messages sent after a sleep (Thanks to
- James Wheare)
-
- OTP-10639 Fix format of mnesia overload message (Thanks to Ahmed Omar)
-
- OTP-10729 Remove support for the query keyword and query expressions.
- Thanks to Loïc Hoguin.
-
-
---- observer-1.3 --------------------------------------------------------
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
-
---- odbc-2.10.14 --------------------------------------------------------
-
- OTP-10506 Under Unix enable TCP_NODELAY to disable Nagel's socket
- algorithm. Thanks to Andy Richards
-
- Impact: Performance gain on Unix systems
-
- OTP-10603 Added extended_errors option to ODBC
-
- When enabled, this option alters the return code of ODBC
- operations that produce errors to include the ODBC error code
- as well as the native error code, in addition to the ODBC
- reason field which is returned by default. Thanks to Bernard
- Duggan.
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
- OTP-10735 Fix aotocommit for Oracle ODBC driver in Linux. Thanks to
- Danil Onishchenko.
-
-
---- odbc-2.10.15 --------------------------------------------------------
-
- OTP-10798 Fixed calling odbc:param_query/3 and odbc:param_query/4 with
- unparameterized query string and empty parameters list.
- Thanks to Danil Onishchenko.
-
-
---- orber-3.6.25 --------------------------------------------------------
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
-
---- os_mon-2.2.11 -------------------------------------------------------
-
- OTP-10448 Removed deprecated function calls to snmp
-
-
---- otp_mibs-1.0.8 ------------------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- parsetools-2.0.8 ----------------------------------------------------
-
- OTP-10302 Support for Unicode has been implemented.
-
- OTP-10660 The file esyntax.yrl has been removed.
-
-
---- parsetools-2.0.9 ----------------------------------------------------
-
- OTP-10820 Miscellaneous updates due to Unicode support.
-
-
---- percept-0.8.8 -------------------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- pman-2.7.1.3 --------------------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- pman-2.7.1.4 --------------------------------------------------------
-
- OTP-10170 Tuple funs (deprecated in R15B) are no longer supported.
-
-
---- public_key-0.18 -----------------------------------------------------
-
- OTP-7045 public_key now supports CRL validation and documents the
- function public_key:pkix_path_validation/3
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
- OTP-10670 Fix subjectPublicKeyInfo type comment in public_key. Thanks
- to Ryosuke Nakai.
-
- OTP-10723 Fixed typo's in public_key spec.
-
- OTP-10767 Corrected PKCS-10 documentation and added some PKCS-9 support
- that is fairly commonly used by PKCS-10. Full support for
- PKCS-9 will be added later.
-
-
---- reltool-0.6.2 -------------------------------------------------------
-
- OTP-10012 -- If incl_cond was set to derived on module level, then
- reltool_server would crash with a case_clause. This has been
- corrected. incl_cond on module level now overwrites mod_cond
- on app or sys level as described in the documentation.
-
- -- If a rel spec in the reltool config does not contain all
- applications that are listed as {applications,Applications}
- in a .app file, then these applications are autmatically
- added when creating the .rel file. For
- 'included_applications', the behaviour was not the same. I.e.
- if a rel spec in the reltool config did not contain all
- applications that are listed as
- {included_applications,InclApplications} in a .app file, then
- reltool would fail with reason "Undefined applications" when
- creating the .rel file. This has been corrected, so both
- applications and included_applications are now automatically
- added if not already in the rel spec.
-
- -- The rel specification now dictates the order in which
- included and used applications (specified in the .app file as
- included_applications and applications respectively) are
- loaded/started by the boot file. If the applications are not
- specified in the rel spec, then the order from the .app file
- is used. This was a bug earlier reported on systools, and is
- now also implemented in reltool.
-
- -- Instead of only looking at the directory name, reltool now
- first looks for a .app file in order to figure out the name
- of an application.
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
-
---- reltool-0.6.3 -------------------------------------------------------
-
- OTP-10781 Some updates are made to reltool for handling unicode.
-
-
---- runtime_tools-1.8.10 ------------------------------------------------
-
- OTP-10155 User Guides for the dynamic tracing tools dtrace and
- systemtap have been added to the documentation.
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10635 Fix Table Viewer refresh crash on no more existing ets tables
- (Thanks to Peti Gömori)
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
- OTP-10786 The backend module appmon_info.erl is moved from appmon
- application to runtime_tools. This allows appmon to be run
- from a remote erlang node towards a target node which does
- not have appmon (and its dependencies) installed, as long as
- runtime_tools is installed there.
-
-
---- sasl-2.3 ------------------------------------------------------------
-
- OTP-10394 release_handler_SUITE:otp_9864 deleted parts of the
- release_handler_SUITE_data directory so the test suite could
- not be executed twice without re-installation. This has been
- corrected.
-
- OTP-10417 It is no longer possible to have {Mod,Vsn} in the 'modules'
- list in a .app file.
-
- This was earlier possible, although never documented in the
- .app file reference manual. It was however visible in the
- documentation of application:load/[1,2], where the same term
- as in a .app file can be used as the first argument.
-
- The possibility has been removed since the Vsn part was never
- used.
-
- OTP-10463 release_handler:upgrade_script and
- release_handler:downgrade_script could not read appup files
- with regexps. This has been corrected. (Thanks to Ulf Wiger)
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
-
---- sasl-2.3.1 ----------------------------------------------------------
-
- OTP-10782 Some updates are made to systools and release_handler for
- handling of unicode.
-
-
---- snmp-4.23 -----------------------------------------------------------
-
- OTP-10027 [manager] Remove deprecated functions.
-
- OTP-10610 Fix typo in snmpm doc (Thanks to Luca Favatella)
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10671 Polish return values of snmpm_user_default according to
- snmpm_user doc.
-
- OTP-10672 Remove runtime warning in snmpa_agent because of tuple fun
- usage.
-
- OTP-10673 SNMP manager performance optimization
-
-
---- ssh-2.1.3 -----------------------------------------------------------
-
- OTP-6406 SSH_FX_FILE_IS_A_DIRECTORY message for sftp implemented
-
- OTP-7785 SSH Rekeying fixed
-
- OTP-7786 Added User Guide for the SSH application
-
- OTP-7792 Documentation regarding failfun, connectfun and disconnectfun
- provided
-
- OTP-9478 It is now possible to send an empty binary using
- ssh_connection:send/3, this corner case previously caused
- ssh_connection:send to hang.
-
- OTP-10456 Fix typo in keyboard-interactive string. Thanks to Daniel
- Goertzen
-
- OTP-10467 ssh_connectino:send/3 will not return until all data has been
- sent. Previously it could return too early, resulting in
- things such premature close of the connection. Also improved
- error handling of closed SSH channels.
-
- OTP-10475 Fixed ssh_cli.erl crashes because #state.buf is yet
- 'undefined'.
-
- Fixed Client terminateing connections due to channel_request
- message response is sent to the wrong id.
-
- Affected SSH clients: - all clients based on
- SSH-2.0-TrileadSSH2Java_213 (problem #1) - SSH Term Pro
- (problem #2)
-
- Thanks to Stefan Zegenhagen
-
- OTP-10514 SSH connection timer implementation
-
- New option, {idle_time, integer()}, sets a timeout on
- connection when no channels are active, defaults to infinity
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
- OTP-10731 Fixed internal error on when client and server can not agree
- o which authmethod to use.
-
-
---- ssh-2.1.4 -----------------------------------------------------------
-
- OTP-10553 Better quality on the error messages for when key exchange
- failed.
-
- OTP-10862 Fix link to documentation for ssh:connect/3,4. Thanks to
- Martin Hässler.
-
-
---- ssl-5.2 -------------------------------------------------------------
-
- OTP-10361 Support Next Protocol Negotiation in TLS, thanks to Ben
- Murphy for the contribution.
-
- Impact: Could give performance benefit if used as it saves a
- round trip.
-
- OTP-10425 TLS 1.2 will now be the default TLS version if sufficient
- crypto support is available otherwise TLS 1.1 will be
- default.
-
- Impact: A default TLS connection will have higher security
- and hence it may be perceived as slower then before.
-
- OTP-10447 It is now possible to call controlling_process on a listen
- socket, same as in gen_tcp.
-
- OTP-10451 Remove filter mechanisms that made error messages backwards
- compatible with old ssl but hid information about what
- actually happened.
-
- This does not break the documented API however other reason
- terms may be returned, so code that matches on the reason
- part of {error, Reason} may fail.
-
- OTP-10586 SSL: TLS 1.2, advertise sha224 support, thanks to Andreas
- Schultz.
-
- OTP-10594 Added missing dependencies to Makefile
-
- OTP-10595 If an ssl server is restarted with new options and a client
- tries to reuse a session the server must make sure that it
- complies to the new options before agreeing to reuse it.
-
- OTP-10613 Removed deprecated function ssl:pid/0, it has been pointless
- since R14 but has been keep for backwards compatibility.
-
- OTP-10709 Refactor to simplify addition of key exchange methods, thanks
- to Andreas Schultz.
-
- OTP-10710 Now handles cleaning of CA-certificate database correctly so
- that there will be no memory leek, bug was introduced in ssl-
- 5.1 when changing implementation to increase parallel
- execution.
-
- Impact: Improved memory usage, especially if you have many
- different certificates and upgrade tcp-connections to
- TLS-connections.
-
-
---- ssl-5.2.1 -----------------------------------------------------------
-
- OTP-10847 Transport callback handling is changed so that gen_tcp is
- treated as a special case where inet will be called directly
- for functions such as setopts, as gen_tcp does not have its
- own setopts. This will enable users to use the transport
- callback for other customizations such as websockets.
-
- OTP-10864 Follow up to OTP-10451 solved in ssl-5.2 R16A. Make sure
- format_error return good strings. Replace confusing legacy
- atoms with more descriptive atoms.
-
-
---- stdlib-1.19 ---------------------------------------------------------
-
- OTP-6874 Wildcards such as "some/path/*" passed to filelib:wildcard/2
- would fail to match any file. (Thanks to Samuel Rivas for
- reporting this bug.)
-
- OTP-9803 Fixed error handling in proc_lib:start which could hang if
- the spawned process died in init.
-
- OTP-10097 Dets tables are no longer fixed while traversing with a bound
- key (when only the objects with the right key are matched).
- This optimization affects the functions match/2,
- match_object/2, select/2, match_delete/2, and
- select_delete/2.
-
- OTP-10302 Support for Unicode has been implemented.
-
- OTP-10431 Allow ** in filelib:wildcard
-
- Two adjacent * used as a single pattern will match all files
- and zero or more directories and subdirectories. (Thanks to
- José Valim)
-
- OTP-10436 The linter now warns for opaque types that are not exported,
- as well as for under-specified opaque types.
-
- OTP-10455 Add the \gN and \g{N} syntax for back references in
- re:replace/3,4 to allow use with numeric replacement strings.
- (Thanks to Vance Shipley)
-
- OTP-10472 Export ets:match_pattern/0 type (Thanks to Joseph Wayne
- Norton)
-
- OTP-10474 The type file:name() has been substituted for the type
- file:filename() in the following functions in the filename
- module: absname/2, absname_join/2, join/1,2, and split/1.
-
- OTP-10490 If a child process fails in its start function, then the
- error reason was earlier only reported as an error report
- from the error_handler, and supervisor:start_link would only
- return {error,shutdown}. This has been changed so the
- supervisor will now return {error,{shutdown,Reason}}, where
- Reason identifies the failing child and its error reason.
- (Thanks to Tomas Pihl)
-
- OTP-10504 Fix printing the empty binary at depth 1 with ~W (Thanks to
- Andrew Thompson)
-
- OTP-10624 The type ascii_string() in the base64 module has been
- corrected. The type file:file_info() has been cleaned up. The
- type file:fd() has been made opaque in the documentation.
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10658 The contracts and types of the modules erl_scan and sys have
- been corrected and improved. (Thanks to Kostis Sagonas.)
-
- OTP-10659 The Erlang shell now skips the rest of the line when it
- encounters an Erlang scanner error.
-
- OTP-10663 Clean up some specs in the proplists module. (Thanks to
- Kostis Sagonas.)
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
- OTP-10691 Enable escript to accept emulator arguments when script file
- has no shebang. Thanks to Magnus Henoch
-
- OTP-10722 Fix bug in queue:out/1, queue:out_r/1 that makes it O(N^2) in
- worst case. Thanks to Aleksandr Erofeev.
-
- OTP-10742 There are new functions in the epp module which read the
- character encoding from files. See epp(3) for more
- information.
-
- OTP-10745 The functions in io_lib have been adjusted for Unicode. The
- existing functions write_string() and so on now take Unicode
- strings, while the old behavior has been taken over by new
- functions write_latin1_string() and so on. There are also new
- functions to write Unicode strings as Latin-1 strings, mainly
- targetted towards the Erlang pretty printer (erl_pp).
-
- OTP-10749 The new functions proc_lib:format/2 and erl_parse:abstract/2
- accept an encoding as second argument.
-
- OTP-10787 Increased potential concurrency in ETS for write_concurrency
- option. The number of internal table locks has increased from
- 16 to 64. This makes it four times less likely that two
- concurrent processes writing to the same table would collide
- and thereby serialized. The cost is an increased constant
- memory footprint for tables using write_concurrency. The
- memory consumption per inserted record is not affected. The
- increased footprint can be particularly large if
- write_concurrency is combined with read_concurrency.
-
-
---- stdlib-1.19.1 -------------------------------------------------------
-
- OTP-10622 Bugs related to Unicode have been fixed in the erl_eval
- module.
-
- OTP-10755 The new STDLIB application variable shell_strings can be used
- for determining how the Erlang shell outputs lists of
- integers. The new function shell:strings/1 toggles the value
- of the variable.
-
- The control sequence modifier l can be used for turning off
- the string recognition of ~p and ~P.
-
- OTP-10812 filelib:wildcard("some/relative/path/*.beam", Path) would
- fail to match any file. That is, filelib:wildcard/2 would not
- work if the first component of the pattern did not contain
- any wildcard characters. (A previous attempt to fix the
- problem in R15B02 seems to have made matters worse.)
-
- (Thanks to Samuel Rivas and Tuncer Ayaz.)
-
- There is also an incompatible change to the Path argument. It
- is no longer allowed to be a binary.
-
- OTP-10820 Miscellaneous updates due to Unicode support.
-
- OTP-10836 Extend ~ts to handle binaries with characters coded in
- ISO-latin-1
-
- OTP-10884 The +pc flag to erl can be used to set the range of
- characters considered printable. This affects how the shell
- and io:format("~tp",...) functionality does heuristic string
- detection. More can be read in STDLIB users guide.
-
-
---- syntax_tools-1.6.10 -------------------------------------------------
-
- OTP-10302 Support for Unicode has been implemented.
-
-
---- syntax_tools-1.6.11 -------------------------------------------------
-
- OTP-10820 Miscellaneous updates due to Unicode support.
-
-
---- test_server-3.6 -----------------------------------------------------
-
- OTP-9710 Line numbering of erlang files that were not correctly
- indented could be wrong after coverting to html with
- erl2html2:convert/[2,3] (the source code pointed to from the
- test case). This has been corrected.
-
- Also, there are now link targets for each line and not only
- for each 10th line, and link targets for functions now
- include the arity and not only the function name (e.g. func/1
- has a link target "func-1").
-
- OTP-9769 Severe errors detected by test_server (e.g. if log files
- directories cannot be created) will now be reported to
- common_test and noted in the common_test logs.
-
- OTP-9870 The earlier undocumented cross cover feature for accumulating
- cover data over multiple tests has now been fixed and
- documented.
-
- OTP-9956 If the test suite itself was included in code coverage
- analysis, then the test_server would not manage to set
- data_dir correctly for the test. This has been corrected.
-
- OTP-10046 Any call to test_server:break/1 should cancel all active
- timetramps. However, in some cases Suite:end_per_testcase/2
- is executed on a different process than the test case itself,
- and if test_server:break/1 was called from there, the
- timetraps were not cancelled. This has been corrected.
-
- OTP-10070 When a test case failed because of a timetrap time out, the
- Config data for the case was lost in the following call to
- end_per_testcase/2, and also in calls to the CT Hook function
- post_end_per_testcase/4. This problem has been solved and the
- Config data is now correctly passed to the above functions
- after a timetrap timeout failure.
-
- OTP-10101 In test_server, the same process would supervise the
- currently running test case and be group leader (and IO
- server) for the test case. Furthermore, when running parallel
- test cases, new temporary supervisor/group leader processes
- were spawned and the process that was group leader for
- sequential test cases would not be active. That would lead to
- several problems:
-
- * Processes started by init_per_suite will inherit the group
- leader of the init_per_suite process (and that group leader
- would not process IO requests when parallel test cases was
- running). If later a parallel test case caused such a
- processto print using (for example) io:format/2, the calling
- would hang.
-
- * Similarly, if a process was spawned from a parallel test
- case, it would inherit the temporary group leader for that
- parallel test case. If that spawned process later - when the
- group of parallel tests have finished - attempted to print
- something, its group leader would be dead and there would be
- badarg exception.
-
- Those problems have been solved by having group leaders
- separate from the processes that supervises the test cases,
- and keeping temporary group leader process for parallel test
- cases alive until no more process in the system use them as
- group leaders.
-
- Also, a new unexpected_io.log log file (reachable from the
- summary page of each test suite) has been introduced. All
- unexpected IO will be printed into it(for example, IO to a
- group leader for a parallel test case that has finished).
-
- OTP-10156 Added a general framework for executing benchmarks of
- Erlang/OTP. Benchmarks for the Erlang VM and mnesia have been
- incorporated in the framework.
-
- For details about how to add more benchmarks see
- $ERL_TOP/HOWTO/BENCHMARKS.md in the source distribution.
-
- OTP-10480 The stability of common_test and test_server when running
- test cases in parallel has been improved.
-
- OTP-10783 Update common test modules to handle unicode
-
- -- Use UTF-8 encoding for all HTML files, except the HTML
- version of the test suite generated with erl2html2:convert,
- which will have the same encoding as the original test suite
- (.erl) file.
-
- -- Encode link targets in HTML files with
- test_server_ctrl:uri_encode/1.
-
- -- Use unicode modifier 't' with ~s when appropriate.
-
- -- Use unicode:characters_to_list and
- unicode:characters_to_binary for conversion between binaries
- and strings instead of binary_to_list and list_to_binary.
-
-
---- test_server-3.6.1 ---------------------------------------------------
-
- OTP-10780 The unicode update of test_server for R16A introduced a few
- potential errors when logging to files. Sometimes ~tp or ~ts
- was used for formatting also when writing to files that were
- not opened with the {encoding,utf8} option. If then the
- argument contained unicode characters above 255, the file
- descriptor would crash. This has been corrected by the
- following modifications:
-
- -- Since the 'unexpected_io' log file is used only when the
- test case HTML file is not available (e.g. between test
- cases), this file is now also a HTML file and as other
- test_server HTML logs it is always UTF-8 encoded
-
- -- Since it is possible to change which information is going
- to which log file (with test_server_ctrl:set_levels/3), we do
- not have full control over which information is written to
- which file. This means that any printout could be written to
- the 'major' log file (suite.log), which was earlier encoded
- as latin1. To avoid crashing this file descriptor due to
- unicode strings, the 'major' log file is now also encoded in
- UTF-8 (possible incopatibility).
-
- -- The cross_cover.info file is no longer a text file which
- can be read with file:consult/1, instead it is written as a
- pure binary file using term_to_binary when writing and
- binary_to_term when reading.
-
- -- The encoding of the file named 'last_name', which only
- content is the path to the last run. directory, is
- now dependent on the file name mode of the VM. If file names
- are expected to be unicode, then the 'last_name' file is
- UTF-8 encoded, else it is latin1 encoded.
-
- Also, ~tp has been changed back to ~p unless it is somehow
- likely that the argument includes strings. It is not obvious
- that this is the correct thing to do, but some decission had
- to be taken...
-
- OTP-10832 Using the force_stop flag/option to interrupt a test run
- caused a crash in Common Test. This problem has been solved.
-
-
---- toolbar-1.4.2.3 -----------------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- tools-2.6.9 ---------------------------------------------------------
-
- OTP-10302 Support for Unicode has been implemented.
-
- OTP-10465 Make erlang-mode more compatible with package.el (Thanks to
- Gleb Peregud)
-
- OTP-10523 A new function, cover:flush(Nodes), is added which will fetch
- data from remote nodes without stopping cover on those nodes.
- This is used by test_server and common_test when it is safe
- to assume that the node will be terminated after the test
- anyway. The purpose is to avoid processes crashing when
- re-loading the original beam if the processes is still
- running old code.
-
- Remote nodes will now continue to count code coverage if the
- connection to the main node is broken. Earlier, a broken
- connection would cause the cover_server on the remote node to
- die and thus any still cover compiled modules would cause
- process crash when trying to insert cover data in ets tables
- that used to exist on the cover_server. The new functionality
- also involves synchronization with the main node if the nodes
- are reconnected.
-
- OTP-10611 Fix various typos (thanks to Tuncer Ayaz)
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10637 Add separate face for exported functions (Thanks to Thomas
- Järvstrand)
-
- OTP-10766 Fix syntax highlighting of $\' in Emacs mode. Thanks to
- Magnus Henoch.
-
- OTP-10774 The BIF highlighting in the emacs mode has been updated to
- correspond with the correct BIFs.
-
-
---- tools-2.6.10 --------------------------------------------------------
-
- OTP-10778 Fix a bug in cover when used with no_auto_import. Thanks to
- José Valim.
-
-
---- tv-2.1.4.10 ---------------------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- typer-0.9.5 ---------------------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- webtool-0.8.9.2 -----------------------------------------------------
-
- OTP-10784 Misc build updates
-
-
---- wx-1.0 --------------------------------------------------------------
-
- OTP-10407 The wx application now compiles and is usable with the
- unstable development branch of wxWidgets-2.9. Some functions
- are currently not available in wxWidgets-2.9 and their erlang
- counterparts are marked as deprecated. They will generate an
- error if called when linked against wxWidgets-2.9 libraries.
- This means that wx can now be built on 64bit MacOsX, but keep
- in mind that wxWidgets-2.9 is still a development branch and
- needs (a lot) more work before it becomes stable.
-
- OTP-10585 Add {silent_start, boolean()} option to wx:new/1 in order to
- be able to suppress error messages during startup of wx.
- (Thanks to Håkan Mattsson)
-
- OTP-10743 Fix wxTreeCtrl:getBoundingRect/2 and wxTreeCtrl:hitTest/1.
- wxTreeCtrl:hitTest now returns a tuple not bug compatible
- with previous releases but needed.
-
-
---- xmerl-1.3.3 ---------------------------------------------------------
-
- OTP-10630 Where necessary a comment stating encoding has been added to
- Erlang files. The comment is meant to be removed in
- Erlang/OTP R17B when UTF-8 becomes the default encoding.
-
- OTP-10665 Some examples overflowing the width of PDF pages have been
- corrected.
-
-
diff --git a/otp_src_R16B01.readme b/otp_src_R16B01.readme
new file mode 100644
index 0000000..0f9fa30
--- /dev/null
+++ b/otp_src_R16B01.readme
@@ -0,0 +1,1210 @@
+Bug fix release : otp_src_R16B01
+Build date : 2013-06-18
+
+This is R16B01, the first maintenance release for the R16B major release.
+
+You can find the README file for the release at
+
+ http://www.erlang.org/download/otp_src_R16B01.readme (this file)
+
+The source distribution and binary distributions for Windows can be
+downloaded from
+
+ http://www.erlang.org/download/otp_src_R16B01.tar.gz
+ http://www.erlang.org/download/otp_win32_R16B01.exe
+ http://www.erlang.org/download/otp_win64_R16B01.exe
+
+Note: To unpack the TAR archive you need a GNU TAR compatible program.
+
+For installation instructions please read the README file that is part
+of the distribution.
+
+The on-line documentation can be found at: http://www.erlang.org/doc/
+You can also download the complete HTML documentation or the Unix manual files
+
+ http://www.erlang.org/download/otp_doc_html_R16B01.tar.gz
+ http://www.erlang.org/download/otp_doc_man_R16B01.tar.gz
+
+We also want to thank those that sent us patches, suggestions and bug reports,
+
+The OTP Team
+
+
+--- HIGHLIGHTS ----------------------------------------------------------
+
+ OTP-10279 == erts ==
+
+ Support for migration of memory carriers between memory
+ allocator instances has been introduced.
+
+ By default this feature is not enabled and do not effect the
+ characteristics of the system. When enabled it has the
+ following impact on the characteristics of the system:
+
+ -- Reduced memory footprint when the memory load is unevenly
+ distributed between scheduler specific allocator instances.
+
+ -- Depending on the default allocaton strategy used on a
+ specific allocator there might or might not be a slight
+ performance loss.
+
+ -- When enabled on the fix_alloc allocator, a different
+ strategy for management of fix blocks will be used.
+
+ -- The information returned from
+ erlang:system_info({allocator, A}), and
+ erlang:system_info({allocator_sizes, A}) will be slightly
+ different when this feature has been enabled. An mbcs_pool
+ tuple will be present giving information about abandoned
+ carriers, and in the fix_alloc case no fix_types tuple will
+ be present.
+
+ For more information, see the documentation of the +Macul
+ command line argument.
+
+ OTP-11009 == ssl public_key crypto common_test dialyzer ssh stdlib snmp
+ inets ==
+
+ Integrate elliptic curve contribution from Andreas Schultz
+
+ In order to be able to support elliptic curve cipher suites
+ in SSL/TLS, additions to handle elliptic curve infrastructure
+ has been added to public_key and crypto.
+
+ This also has resulted in a rewrite of the crypto API to gain
+ consistency and remove unnecessary overhead. All OTP
+ applications using crypto has been updated to use the new
+ API.
+
+ Impact: Elliptic curve cryptography (ECC) offers equivalent
+ security with smaller key sizes than other public key
+ algorithms. Smaller key sizes result in savings for power,
+ memory, bandwidth, and computational cost that make ECC
+ especially attractive for constrained environments.
+
+ OTP-11159 == erts ==
+
+ Lift static limitation (FD_SETSIZE) for file descriptors on
+ Mac OS X. (Thanks to Anthony Ramine)
+
+
+--- otp -----------------------------------------------------------------
+
+ OTP-11117 Properly ignore os_mon and otp_mibs generated includes
+
+
+--- asn1-2.0.1.1 --------------------------------------------------------
+
+ OTP-10916 The generated decoder for the 'per' and 'uper' backends
+ did not correctly decode ENUMERATEDs with a single value.
+ The generated encoder for the 'per' and 'uper' backends
+ generated an empty binary for a top-level type that did
+ not need to be encoded (such as an ENUMERATED with a single
+ value). The correct result should be a binary containing
+ a 0 byte.
+
+
+--- asn1-2.0.1.2 --------------------------------------------------------
+
+ OTP-10995 When an object set is an actual parameter, the extension
+ marker for the object set could get lost (which would cause
+ the decoding of unknown values to fail).
+
+
+--- asn1-2.0.2 ----------------------------------------------------------
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+ OTP-11111 Fix some Makefile rules that didn't support silent rules.
+ Thanks to Anthony Ramine.
+
+ OTP-11134 PER/UPER: A semi-constrained INTEGER with a non-zero lower
+ bound would be incorrectly decoded. This bug was introduced
+ in R16.
+
+ PER/UPER: Given INTEGER (10..MAX, ...), attempting to decode
+ any integer below 10 would cause the encoder to enter an
+ infinite loop.
+
+ PER/UPER: For a type with an extensible SIZE constraint,
+ sizes outside of the root range were incorrectly encoded.
+
+ Given a constraint such as (SIZE (5, ...)), encoding a size
+ less than 5 would fail (PER/UPER). Similarly, for BER
+ decoding would fail.
+
+ PER: The encoder did not align a known multiplier string
+ (such as IA5String) of length 16 bits (exactly) to an octet
+ boundary.
+
+ In rare circumstances, DEFAULT values for the UPER backend
+ could be wrongly encoded.
+
+ OTP-11153 UPER: The compiler would crash when compiling an ENUMERATED
+ having more than 63 extended values.
+
+ PER/UPER: A SEQUENCE with more 64 extended values could not
+ be decoded.
+
+ OTP-11154 When decoding a SEQUENCE defined inline inside a an extension
+ addition group, the record named generated by the decoding
+ code would not match the name in the generated .hrl file.
+
+
+--- common_test-1.7.2 ---------------------------------------------------
+
+ OTP-10126 A design flaw in the generic connection handling in Common
+ Test made it impossible to implement a connection handler
+ that could map multiple connection names (i.e. configuration
+ variable aliases) to single connection pids. This problem has
+ been solved.
+
+ OTP-10494 If it could not be decided which test case a certain log
+ printout belonged to, the common test framework log was
+ earlier used. Such printouts are now instead sent to
+ unexpected_io.log.html in test_server so that there is only
+ one place to look for "missing" printouts.
+
+ OTP-10648 If a telnet connection is hanging, then a call to
+ ct_telnet:close/1 will time out after 5 seconds and the
+ connection process is brutally killed. In some cases the
+ connection would not be unregistered and attempts at opening
+ a new connection with the same name would make common_test
+ try to reuse the same connection since it believed that it
+ was still alive. This has been corrected - a killed
+ connection is now always unregistered.
+
+ OTP-10855 Test performance has been improved by means of a cache for
+ the top level HTML index logs (all_runs.html and index.html,
+ in the logdir directory). This solves problems with slow
+ start up times and test execution times increasing with the
+ number of ct_run directories stored in logdir. The cached
+ index entries are stored in RAM during test execution and are
+ saved to file in logdir (for faster start up times) whenever
+ a test run finishes.
+
+ OTP-10856 The '-force_stop' flag to use with time-limited repeats of
+ test runs can now be used with a new 'skip_rest' option which
+ causes the rest of the test cases in the ongoing test job to
+ be skipped when the time limit is reached. E.g. 'ct_run -spec
+ xxx -duration 010000 -force_stop skip_rest'
+
+ OTP-10857 Testing of the test specification functionality has been
+ improved and a couple of minor bugs have been discovered and
+ corrected.
+
+ OTP-10902 Make cover smarter about finding source from beam.
+
+ In particular, search using the source path in module_info if
+ the current heuristic fails.
+
+ OTP-10920 Add a variant of ct_slave:start/2 that starts a node with
+ specified options on the local host.
+
+ OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
+
+ In order to be able to support elliptic curve cipher suites
+ in SSL/TLS, additions to handle elliptic curve infrastructure
+ has been added to public_key and crypto.
+
+ This also has resulted in a rewrite of the crypto API to gain
+ consistency and remove unnecessary overhead. All OTP
+ applications using crypto has been updated to use the new
+ API.
+
+ Impact: Elliptic curve cryptography (ECC) offers equivalent
+ security with smaller key sizes than other public key
+ algorithms. Smaller key sizes result in savings for power,
+ memory, bandwidth, and computational cost that make ECC
+ especially attractive for constrained environments.
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+ OTP-11044 A link is added from the red error printout in a test case
+ log (for a failed test case) to the full error description at
+ the end of the log. The reason for this is that the error
+ description in the red field is sometimes truncated at 50
+ characters in order to keep the log as short and easy to read
+ as possible.
+
+ OTP-11046 Links to the top level index files in some HTML footers had
+ disappeared. This error has been corrected. Also, a problem
+ with the suite overview log file not being closed properly
+ has been solved.
+
+ OTP-11052 Common Test would, in case of timetrap error, print a warning
+ in the log if end_per_testcase wasn't implemented in the
+ suite, even though it's an optional function. This printout
+ has been removed.
+
+ OTP-11095 A new option 'no_prompt_check' is added to
+ ct_telnet:expect/3. If this option is used, ct_telnet will
+ not wait for a prompt or a newline before attempting to match
+ the given pattern.
+
+
+--- compiler-4.9.2 ------------------------------------------------------
+
+ OTP-10939 Compiling functions with complex boolean operations in guards
+ could be very slow. (Thanks to Magnus Muller for reporting
+ this issue.)
+
+ OTP-11005 Fix optimization of some binary comprehensions. Thanks to
+ Anthony Ramine.
+
+ OTP-11069 Use a set to store ref registers in beam_receive. Thanks to
+ Anthony Ramine.
+
+ OTP-11119 Certain guard expressions used in a receive statement could
+ cause the compiler to crash.
+
+ OTP-11129 Fix renaming of bs_put_string instructions. Thanks to Anthony
+ Ramine.
+
+
+--- cosEvent-2.1.14 -----------------------------------------------------
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+
+--- cosFileTransfer-1.1.15 ----------------------------------------------
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+
+--- cosNotification-1.1.20 ----------------------------------------------
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+
+--- crypto-3.0 ----------------------------------------------------------
+
+ OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
+
+ In order to be able to support elliptic curve cipher suites
+ in SSL/TLS, additions to handle elliptic curve infrastructure
+ has been added to public_key and crypto.
+
+ This also has resulted in a rewrite of the crypto API to gain
+ consistency and remove unnecessary overhead. All OTP
+ applications using crypto has been updated to use the new
+ API.
+
+ Impact: Elliptic curve cryptography (ECC) offers equivalent
+ security with smaller key sizes than other public key
+ algorithms. Smaller key sizes result in savings for power,
+ memory, bandwidth, and computational cost that make ECC
+ especially attractive for constrained environments.
+
+ OTP-11058 Fixed a spelling mistake in crypto docs. Thanks to Klaus
+ Trainer
+
+
+--- debugger-3.2.11 -----------------------------------------------------
+
+ OTP-10899 A new checkbox has been added. When it is checked, the range
+ set by the erl flag +pc is used for determining when to print
+ lists of integers as strings. When it is unchecked, integer
+ lists are never printed as strings.
+
+ A minor incompatibility: settings saved by Erlang R16B01 or
+ later cannot be read by Erlang R16B or earlier.
+
+ OTP-11041 Erlang source files with non-ASCII characters are now encoded
+ in UTF-8 (instead of latin1).
+
+
+--- dialyzer-2.6.1 ------------------------------------------------------
+
+ OTP-10918 Include module, function and arity in Dialyzer's "overlapping
+ domain" warnings. Thanks to Magnus Henoch.
+
+ OTP-10996 Improve Dialyzer output for scan errors. Thanks to Magnus
+ Henoch.
+
+ OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
+
+ In order to be able to support elliptic curve cipher suites
+ in SSL/TLS, additions to handle elliptic curve infrastructure
+ has been added to public_key and crypto.
+
+ This also has resulted in a rewrite of the crypto API to gain
+ consistency and remove unnecessary overhead. All OTP
+ applications using crypto has been updated to use the new
+ API.
+
+ Impact: Elliptic curve cryptography (ECC) offers equivalent
+ security with smaller key sizes than other public key
+ algorithms. Smaller key sizes result in savings for power,
+ memory, bandwidth, and computational cost that make ECC
+ especially attractive for constrained environments.
+
+ OTP-11027 Bitstring type inference and duplicate module error message
+ fixes. Thanks to Stavros Aronis.
+
+ OTP-11041 Erlang source files with non-ASCII characters are now encoded
+ in UTF-8 (instead of latin1).
+
+ OTP-11057 A bug that made it impossible to do any analyses from the GUI
+ has been fixed.
+
+
+--- diameter-1.4.1.1 ----------------------------------------------------
+
+ OTP-10898 Add transport_opt() watchdog_config to allow non-standard
+ behaviour of the watchdog state machine. This can be useful
+ during test but should not be used on nodes that must conform
+ to RFC 3539.
+
+ OTP-10942 Fix broken Vendor-Specific-Application-Id configuration.
+ RFC 6733 changed the definition of this Grouped AVP, changing
+ the arity of Vendor-Id from 1* to 1. A component Vendor-Id
+ can now be either list- or integer-valued in service and
+ transport configuration, allowing it to be used with both
+ RFC 3588 and RFC 6733 dictionaries.
+
+
+--- diameter-1.4.2 ------------------------------------------------------
+
+ OTP-9610 Allow peer connections to be shared between Erlang nodes for
+ the purpose of sending outgoing requests.
+
+ A diameter_app(3) pick_peer/4 callback gets a list of remote
+ candidates as argument, allowing a callback on one node to
+ select a transport connection established on another node.
+ The service_opt() share_peers controls the extent to which
+ local connections are shared with remote nodes. The
+ service_opt() use_shared_peers controls the extent to which
+ connections shared from remote nodes are utilized on the
+ local node.
+
+ OTP-10893 Allow listening diameter_{tcp,sctp} transports to be
+ configured with remote addresses.
+
+ Option 'accept' allows remote addresses to be configured as
+ tuples or regular expressions. Remote addresses are matched
+ against the configured values at connection establishment,
+ any non-matching address causing the connection to be
+ aborted.
+
+ OTP-10972 Detect more transport_opt() configuration errors at
+ diameter:add_transport/2.
+
+ Many errors would previously not be detected until transport
+ start, diameter:add_transport/2 returning 'ok' but transport
+ connections failing to be established. An error tuple is now
+ returned.
+
+ OTP-10986 Make explicit local address configuration optional in
+ diameter_tcp:start/3.
+
+ The default address (as determined by gen_tcp) is now used
+ when a local address is not explicitly configured.
+
+ OTP-11007 Fix handling of 5014 (INVALID_AVP_LENGTH) errors.
+
+ This was in some cases reported as 3009 (INVALID_AVP_BITS).
+
+ Note that the correction is partially implemented in modules
+ generated by diameterc(1): a dictionary file must be
+ recompiled for the correction to apply to any messages it
+ defines.
+
+ OTP-11014 Fix faulty capitalization in release notes.
+
+ Diameter = the protocol. diameter = the Erlang
+ application.
+
+ OTP-11017 Improve handling of unrecognized service options.
+
+ Such options were silently ignored by
+ diameter:start_service/2. An error tuple is now returned.
+
+ OTP-11019 Fix watchdog memory leak.
+
+ Entries were not removed from a service-specific ets table,
+ causing them to be orphaned at connection reestablishment for
+ listening transports, and diameter:remove_transport/2 for
+ both listening and connecting transports.
+
+ The fault was introduced by OTP-10692 in diameter-1.4.1
+ (R16B).
+
+ OTP-11026 Fix decode failure on AVP Length < 8.
+
+ The failure caused the message in question to be discarded.
+
+ OTP-11045 Respect Host-IP-Address configuration.
+
+ Addresses returned from a transport module were always used
+ to populate Host-IP-Address AVP's in an outgoing CER/CEA,
+ which precluded the sending of a VIP address. Transport
+ addresses are now only used if Host-IP-Address is
+ unspecified.
+
+ OTP-11050 Don't send default Inband-Security-Id in CER/CEA.
+
+ RFC 6733 recommends against the use of Inband-Security-Id.
+ Only send a value that differs from the default,
+ NO_INBAND_SECURITY = 0.
+
+ OTP-11051 Fix mkdir race.
+
+ Install could fail if examples/code and examples/dict were
+ created in parallel. Noticed on FreeBSD.
+
+ OTP-11060 Make spawn options for request processes configurable.
+
+ OTP-11087 Fix recognition of 5001 on mandatory AVP's.
+
+ An AVP setting the M-bit was not regarded as erroneous if it
+ was defined in the dictionary in question and its container
+ (message or Grouped AVP) had an 'AVP' field. It's now
+ regarded as a 5001 error (AVP_UNSUPPORTED), as in the case
+ that the AVP is not defined.
+
+ Note that the correction is partially implemented in modules
+ generated by diameterc(1): a dictionary file must be
+ recompiled for the correction to apply to any messages it
+ defines.
+
+ OTP-11092 Fix setting of Failed-AVP on handle_request {answer_message,
+ 5xxx} return.
+
+ Failed-AVP was never in the outgoing answer-message. It is
+ now set with the AVP from the first entry with the specified
+ Result-Code in the errors field of the incoming
+ diameter_packet, if found.
+
+ OTP-11115 Fix watchdog function_clause
+
+ A listening transport on a service that allowed multiple
+ connections to the same peer could result in a
+ function_clause error in module diameter_watchdog. The
+ resulting crash was harmless but unseemly.
+
+ Thanks to Aleksander Nycz.
+
+ OTP-11127 Fix population of Failed-AVP.
+
+ In cases in which diameter populated this AVP, many values
+ were sent instead of one as suggested by RFC 6733. This was
+ partially corrected by OTP-11007.
+
+ OTP-11165 Fix list-valued Vendor-Specific-Application-Id config
+
+ R16B (specifically, OTP-10760) broke the handling of such
+ configuration, resulting in a function clause error if the
+ list was not of length 3, and faulty interpretation of the
+ list's contents otherwise. Only record-valued configuration
+ was properly interpreted.
+
+
+--- erl_interface-3.7.12 ------------------------------------------------
+
+ OTP-10913 Superfluous trailing comma in enum erlang_char_encoding
+ causing compile error for g++ with --pedantic option.
+
+
+--- erl_interface-3.7.13 ------------------------------------------------
+
+ OTP-11167 A guard was added to check if file descriptor is valid before
+ closing it.
+
+
+--- erts-5.10.1.1 -------------------------------------------------------
+
+ OTP-10926 The BIF is_process_alive/1 could prematurely return false
+ while the process being inspected was terminating. This
+ bug was introduced in ERTS-5.10.
+
+ OTP-10932 Fix a problem in erlang:delete_element/2 where the call
+ could corrupt one word of stack if the heap and stack met
+ during call.
+
+ OTP-10994 Scheduler threads will now by default be less eager requesting
+ wakeup due to certain cleanup operations. This can also
+ be controlled using the +swct command line argument of erl(1).
+
+ OTP-11000 The +sws<value> and +swt<value> system flags
+ failed if no white space were passed between the parameter
+ and value parts of the flags. Upon failure, the runtime
+ system refused to start.
+
+
+--- erts-5.10.1.2 -------------------------------------------------------
+
+ OTP-11022 A bug in the implementation of offline schedulers has been
+ fixed. The bug was introduced in OTP-R16A/ERTS-5.10, and
+ caused work-stealing between schedulers to fail. This in
+ turn, caused work to accumulate in some run-queues. The
+ bug was only triggered when there were offline schedulers
+ in the system, i.e., when the amount of online schedulers
+ was less than the total amount of schedulers. The effect
+ of the bug got more severe the larger amount of offline
+ schedulers the system had.
+
+
+--- erts-5.10.2 ---------------------------------------------------------
+
+ OTP-10271 Replaced the lock protecting gathering of garbage collection
+ statistics with a lock-free solution.
+
+ OTP-10279 Support for migration of memory carriers between memory
+ allocator instances has been introduced.
+
+ By default this feature is not enabled and do not effect the
+ characteristics of the system. When enabled it has the
+ following impact on the characteristics of the system:
+
+ -- Reduced memory footprint when the memory load is unevenly
+ distributed between scheduler specific allocator instances.
+
+ -- Depending on the default allocaton strategy used on a
+ specific allocator there might or might not be a slight
+ performance loss.
+
+ -- When enabled on the fix_alloc allocator, a different
+ strategy for management of fix blocks will be used.
+
+ -- The information returned from
+ erlang:system_info({allocator, A}), and
+ erlang:system_info({allocator_sizes, A}) will be slightly
+ different when this feature has been enabled. An mbcs_pool
+ tuple will be present giving information about abandoned
+ carriers, and in the fix_alloc case no fix_types tuple will
+ be present.
+
+ For more information, see the documentation of the +Macul
+ command line argument.
+
+ OTP-10497 A bug in prim_inet has been corrected. If the port owner was
+ killed at a bad time while closing the socket port the port
+ could become orphaned hence causing port and socket leaking.
+ Reported by Fred Herbert, Dmitry Belyaev and others.
+
+ OTP-10941 Compilation fixes for NetBSD. Thanks to YAMAMOTO Takashi.
+
+ OTP-10984 Fixed a race condition when using delayed_write when writing
+ to a file which would cause the same data to be written
+ multiple times.
+
+ OTP-10997 Fix small memory leak from tracing with option meta.
+
+ OTP-11002 Correct typo in erlsrv usage. Thanks to Bryan Hunter
+
+ OTP-11003 ct_run: delete unused function. Thanks to Tuncer Ayaz.
+
+ OTP-11008 Change specs for spawn_opt to use the process_level() type
+ declaration instead of re-defining it in various places.
+ Thanks to Kostis Sagonas.
+
+ OTP-11012 Corrections to run_erl/to_erl handshake behaviour.
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+ OTP-11024 Fix typo in type: erlang:process_info_item(). Thanks to
+ Andrew Tunnell-Jones.
+
+ OTP-11041 Erlang source files with non-ASCII characters are now encoded
+ in UTF-8 (instead of latin1).
+
+ OTP-11064 Fix src/dest overlap issue in ttsl driver. Thanks to Steve
+ Vinoski.
+
+ OTP-11074 Optimization of simultaneous inet_db operations on the same
+ socket by using a lock free implementation.
+
+ Impact on the characteristics of the system: Improved
+ performance.
+
+ OTP-11075 The high_msgq_watermark and low_msgq_watermark inet socket
+ options introduced in OTP-R16A could only be set on TCP
+ sockets. These options are now generic and can be set on all
+ types of sockets.
+
+ OTP-11076 When sending to a port using erlang:send(Port, Msg,
+ [nosuspend]), the send operation was performed synchronously.
+ This bug has now been fixed.
+
+ OTP-11077 A new better algorithm for management of the process, and
+ port tables has been introduced.
+
+ Impact on the characteristics of the system:
+
+ -- The new algorithm ensures that both insert and delete
+ operations can be made in O(1) time complexity. Previously
+ used algorithm either caused insert or delete to be O(N).
+
+ -- The new algorithm will also ensure that reuse of
+ identifiers will be less frequent than when the old algorithm
+ was used.
+
+ -- Previously used algorithm ensured that the latest created
+ identifier compared as the largest when comparing two
+ identifiers of the same type that had been created on the
+ same node as long as no identifiers had been reused. Since
+ identifiers can be reused quite fast, one has never been able
+ to rely on this property. Due to the introduction of this new
+ algorithm this property will not hold even if no identifiers
+ has been reused yet. This could be considered as an
+ incompatibility.
+
+ Due to the above mensioned potential incompatibility, it will
+ still be possible to enable the old algorithm for some time.
+ The command line argument +P legacy will enable the old
+ algorithm on the process table, and +Q legacy will do the
+ same for the port table. These command line arguments are
+ however deprecated as of their introduction and have been
+ scheduled for removal in OTP-R18.
+
+ OTP-11080 When converting a faulty binary to a list with
+ unicode:characters_to_list, the error return value could
+ contain a faulty "rest", i.e. the io_list of characters that
+ could not be converted was wrong. This happened only if input
+ was a sub binary and conversion was from utf8. This is now
+ corrected.
+
+ OTP-11084 Runtime system could crash when reporting stale
+ driver_select().
+
+ OTP-11085 Fix lock order violation for memory instrumentation (+Mim,
+ +Mis, +Mit).
+
+ OTP-11086 Fixed some compilation warnings on miscellaneous platforms.
+ Thanks to Anthony Ramine.
+
+ OTP-11088 Support wide characters in the shell through wcwidth().
+ Thanks to Anthony Ramine. Reported by Loïc Hoguin.
+
+ OTP-11096 Fixed issue when flushing i/o during shutdown on windows
+ where the Erlang VM would sometime hang due to a race
+ condition.
+
+ OTP-11097 Fixed issue where repeated calls to erlang:nodes() could
+ cause unnecessary contention in the dist_table lock.
+
+ OTP-11098 Added total used memory for each process in erlang crash
+ dumps.
+
+ OTP-11106 Properly guard WIDE_TAG use with HAVE_WCWIDTH in ttsl_drv.
+ Thanks to Anthony Ramine
+
+ OTP-11111 Fix some Makefile rules that didn't support silent rules.
+ Thanks to Anthony Ramine.
+
+ OTP-11125 Added support for hipe on Raspberry Pi (armv6l). Thanks to
+ Klaus Alfert.
+
+ OTP-11137 Fix receive support in erl_eval with a BEAM module. Thanks to
+ Anthony Ramine.
+
+ OTP-11146 erlang:now() could suddenly jump ~24 days into the future on
+ Windows. This is now corrected. Thanks to Garret Smith for
+ reporting and testing fixes.
+
+ OTP-11158 Remove 'query' from the list of reserved words in docs.
+ Thanks to Matthias Endler and Loïc Hoguin.
+
+ OTP-11159 Lift static limitation (FD_SETSIZE) for file descriptors on
+ Mac OS X. (Thanks to Anthony Ramine)
+
+ OTP-11163 erlang:term_to_binary will now cost an appropriate amount of
+ reductions and will interrupt (yield) for reschedule if the
+ term is big. This avoids too long schedules when
+ term_to_binary is used.
+
+ Impact: Programs running term_to_binary on large terms will
+ run more smothly, but rescheduling will impact the single
+ process performance of the BIF. Single threaded benchmarks
+ will show degraded performance of the BIF when called with
+ very large terms, while general system behaviour will be
+ improved. The overhead for allowing restart and reduction
+ counting also degrades local performance of the BIF with
+ between 5% and 10% even for small terms.
+
+
+--- et-1.4.4.4 ----------------------------------------------------------
+
+ OTP-11039 Use erlang:demonitor(Ref, [flush]) where applicable. Thanks
+ to Loïc Hoguin.
+
+ OTP-11078 Rename and document lists:zf/2 as lists:filtermap/2. Thanks
+ to Anthony Ramine.
+
+
+--- hipe-3.10.2 ---------------------------------------------------------
+
+ OTP-10904 Fix the title of hipe_app documentation page. Thanks to Loïc
+ Hoguin.
+
+ OTP-10985 Fix native code compiler crash involving bs_match_string.
+ Thanks to Kostis Sagonas.
+
+ OTP-11031 Loosen the assumptions of code that handles escaping
+ functions. Thanks to Kostis Sagonas
+
+
+--- ic-4.3.2 ------------------------------------------------------------
+
+ OTP-11086 Fixed some compilation warnings on miscellaneous platforms.
+ Thanks to Anthony Ramine.
+
+
+--- inets-5.9.5 ---------------------------------------------------------
+
+ OTP-10934 Fix http_request:http_headers/1 to send content-length when
+ length is zero. Thanks to CA Meijer.
+
+ OTP-10956 Reverted incorrect commit that broke cookie handling when
+ using httpc-profiles.
+
+ OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
+
+ In order to be able to support elliptic curve cipher suites
+ in SSL/TLS, additions to handle elliptic curve infrastructure
+ has been added to public_key and crypto.
+
+ This also has resulted in a rewrite of the crypto API to gain
+ consistency and remove unnecessary overhead. All OTP
+ applications using crypto has been updated to use the new
+ API.
+
+ Impact: Elliptic curve cryptography (ECC) offers equivalent
+ security with smaller key sizes than other public key
+ algorithms. Smaller key sizes result in savings for power,
+ memory, bandwidth, and computational cost that make ECC
+ especially attractive for constrained environments.
+
+ OTP-11122 Fix {stream, {self, once}} in httpc to work as expected.
+ Thanks to Masatake Daimon
+
+
+--- kernel-2.16.2 -------------------------------------------------------
+
+ OTP-10497 A bug in prim_inet has been corrected. If the port owner was
+ killed at a bad time while closing the socket port the port
+ could become orphaned hence causing port and socket leaking.
+ Reported by Fred Herbert, Dmitry Belyaev and others.
+
+ OTP-10689 A few bugs regarding case sensitivity for hostname resolution
+ while using e.g the internal lookup types 'file' and 'dns'
+ has been corrected. When looking up hostnames ASCII letters
+ a-z are to be regarded as the same as A-Z according to RFC
+ 4343 "Domain Name System (DNS) Case Insensitivity
+ Clarification", and this was not always the case.
+
+ OTP-10910 Add application:ensure_started/1,2. It is equivavlent to
+ application:start/1,2 except it returns ok for already
+ started applications.
+
+ OTP-11040 Optimize communication with file io server. Thanks to Anthony
+ Ramine.
+
+ OTP-11041 Erlang source files with non-ASCII characters are now encoded
+ in UTF-8 (instead of latin1).
+
+ OTP-11074 Optimization of simultaneous inet_db operations on the same
+ socket by using a lock free implementation.
+
+ Impact on the characteristics of the system: Improved
+ performance.
+
+ OTP-11075 The high_msgq_watermark and low_msgq_watermark inet socket
+ options introduced in OTP-R16A could only be set on TCP
+ sockets. These options are now generic and can be set on all
+ types of sockets.
+
+ OTP-11104 Fix deep list argument error under Windows in os:cmd/1.
+ Thanks to Aleksandr Vinokurov .
+
+
+--- megaco-3.17 ---------------------------------------------------------
+
+ OTP-10998 A buffer overrun error in the flex scanner could occur when
+ scanning property parms.
+
+
+--- megaco-3.17.0.1 -----------------------------------------------------
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+
+--- mnesia-4.9 ----------------------------------------------------------
+
+ OTP-11030 If mnesia:clear_table/2 was called during a table load on
+ that table, the schema record was written to the table
+ instead of clearing table.
+
+ OTP-11103 Optimize index creation for Mnesia set tables. Thanks to Nick
+ Marino.
+
+
+--- observer-1.3.1 ------------------------------------------------------
+
+ OTP-10604 -- The new Memory field from a crash dump is now presented by
+ crashdump viewer, both in the process overview and in the
+ process detail page.
+
+ -- A summary of blocks- and carriers sizes is added to the
+ allocator information page in the crashdump viewer.
+
+ OTP-10894 Some bugs related to calculation of CPU/scheduler utilization
+ in observer are corrected.
+
+ Current function for a process is accepted to be 'undefined'
+ when running hipe.
+
+ OTP-10929 Use "open" as default browser for crashdump viewer on Mac OS
+ X. Thanks to Magnus Henoch.
+
+ OTP-10931 Fix observer table viewer crash on formatting improper lists.
+ Thanks to Andrey Tsirulev
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+ OTP-11136 Add processes state view in observer. Thanks to Eric
+ Pailleau.
+
+
+--- odbc-2.10.16 --------------------------------------------------------
+
+ OTP-10993 Fix a 64bit related bug in odbcserver. Thanks to Satoshi
+ Kinoshita.
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+ OTP-11126 Fix checking for odbc in standard locations when "with-odbc"
+ flag present. Thanks to Alexey Saltanov.
+
+
+--- orber-3.6.26 --------------------------------------------------------
+
+ OTP-10675 Fix bug in corbaloc/corbaname over ssl.
+
+
+--- orber-3.6.26.1 ------------------------------------------------------
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+
+--- os_mon-2.2.12 -------------------------------------------------------
+
+ OTP-10941 Compilation fixes for NetBSD. Thanks to YAMAMOTO Takashi.
+
+ OTP-10945 Fixed disksup:get_disk_data for SUSv3, specifically OS X ML.
+ Thanks to Sriram Melkote.
+
+
+--- percept-0.8.8.1 -----------------------------------------------------
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+
+--- public_key-0.19 -----------------------------------------------------
+
+ OTP-10873 Add support for ISO oids 1.3.14.3.2.29 and 1.3.14.3.2.27 that
+ are somtimes used instead of the PKCS defined oids
+ 1.2.840.113549.1.1.5 and 1.2.840.10040.4.3. Add function
+ pkix_sign_types:/1 that translates oids to to algorithm atoms
+ ex:
+
+ > public_key:pkix_sign_types({1,3,14,3,2,29}). {sha,rsa}
+
+ OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
+
+ In order to be able to support elliptic curve cipher suites
+ in SSL/TLS, additions to handle elliptic curve infrastructure
+ has been added to public_key and crypto.
+
+ This also has resulted in a rewrite of the crypto API to gain
+ consistency and remove unnecessary overhead. All OTP
+ applications using crypto has been updated to use the new
+ API.
+
+ Impact: Elliptic curve cryptography (ECC) offers equivalent
+ security with smaller key sizes than other public key
+ algorithms. Smaller key sizes result in savings for power,
+ memory, bandwidth, and computational cost that make ECC
+ especially attractive for constrained environments.
+
+
+--- reltool-0.6.4 -------------------------------------------------------
+
+ OTP-10988 Reltool used to fail if an application was mentioned in the
+ config file which was not found in the file system, even if
+ the application was explicitly excluded in the config. This
+ has been changed and will only produce a warning. If the
+ application is not explicitly excluded it will still cause
+ reltool to fail. Thanks to Håkan Mattsson!
+
+ OTP-11099 Fix possibly "not owner" error while file copy with reltool.
+ Thanks to Alexey Saltanov.
+
+ OTP-11137 Fix receive support in erl_eval with a BEAM module. Thanks to
+ Anthony Ramine.
+
+
+--- runtime_tools-1.8.11 ------------------------------------------------
+
+ OTP-10894 Some bugs related to calculation of CPU/scheduler utilization
+ in observer are corrected.
+
+ Current function for a process is accepted to be 'undefined'
+ when running hipe.
+
+ OTP-11041 Erlang source files with non-ASCII characters are now encoded
+ in UTF-8 (instead of latin1).
+
+
+--- safe-1.2.9 ----------------------------------------------------------
+
+ OTP-11083 Fix value assignment for trend parameter
+
+ OTP-11094 Changed API for ccb augmentation
+
+
+--- sasl-2.3.2 ----------------------------------------------------------
+
+ OTP-11137 Fix receive support in erl_eval with a BEAM module. Thanks to
+ Anthony Ramine.
+
+
+--- snmp-4.24 -----------------------------------------------------------
+
+ OTP-11004 Fix SNMP gitignore files. Thanks to Anthony Ramine.
+
+ OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
+
+ In order to be able to support elliptic curve cipher suites
+ in SSL/TLS, additions to handle elliptic curve infrastructure
+ has been added to public_key and crypto.
+
+ This also has resulted in a rewrite of the crypto API to gain
+ consistency and remove unnecessary overhead. All OTP
+ applications using crypto has been updated to use the new
+ API.
+
+ Impact: Elliptic curve cryptography (ECC) offers equivalent
+ security with smaller key sizes than other public key
+ algorithms. Smaller key sizes result in savings for power,
+ memory, bandwidth, and computational cost that make ECC
+ especially attractive for constrained environments.
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+ OTP-11101 [snmp/agent] Introduced the mib-server data module behaviour.
+
+ OTP-11107 [snmp/agent] Introduced a documented mib-storage behaviour.
+ This will allow users to implement alternative storage
+ methods.
+
+
+--- ssh-2.1.6 -----------------------------------------------------------
+
+ OTP-10940 Fixed timing rekeying bug.
+
+
+--- ssh-2.1.7 -----------------------------------------------------------
+
+ OTP-10975 ssh:daemon will get feeded with an argument even if it is not
+ a valid expression.
+
+ OTP-10983 Properly ignore everything in lib/ssh/doc/html/. Thanks to
+ Anthony Ramine.
+
+ OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
+
+ In order to be able to support elliptic curve cipher suites
+ in SSL/TLS, additions to handle elliptic curve infrastructure
+ has been added to public_key and crypto.
+
+ This also has resulted in a rewrite of the crypto API to gain
+ consistency and remove unnecessary overhead. All OTP
+ applications using crypto has been updated to use the new
+ API.
+
+ Impact: Elliptic curve cryptography (ECC) offers equivalent
+ security with smaller key sizes than other public key
+ algorithms. Smaller key sizes result in savings for power,
+ memory, bandwidth, and computational cost that make ECC
+ especially attractive for constrained environments.
+
+
+--- ssl-5.3 -------------------------------------------------------------
+
+ OTP-10450 Add support for PSK (Pre Shared Key) and SRP (Secure Remote
+ Password) chipher suits, thanks to Andreas Schultz.
+
+ OTP-10905 Honor the versions option to ssl:connect and ssl:listen.
+
+ OTP-10909 Next protocol negotiation with reused sessions will now
+ succeed
+
+ OTP-10955 Fix SSL Next Protocol Negotiation documentation. Thanks to
+ Julien Barbot.
+
+ OTP-10980 Fix ssl_connection to support reading proxy/chain
+ certificates. Thanks to Valentin Kuznetsov.
+
+ OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
+
+ In order to be able to support elliptic curve cipher suites
+ in SSL/TLS, additions to handle elliptic curve infrastructure
+ has been added to public_key and crypto.
+
+ This also has resulted in a rewrite of the crypto API to gain
+ consistency and remove unnecessary overhead. All OTP
+ applications using crypto has been updated to use the new
+ API.
+
+ Impact: Elliptic curve cryptography (ECC) offers equivalent
+ security with smaller key sizes than other public key
+ algorithms. Smaller key sizes result in savings for power,
+ memory, bandwidth, and computational cost that make ECC
+ especially attractive for constrained environments.
+
+
+--- stdlib-1.19.2 -------------------------------------------------------
+
+ OTP-10938 Delete obsolete note about simple-one-for-one supervisor.
+ Thanks to Magnus Henoch.
+
+ OTP-10951 When selecting encoding of a script written in Erlang
+ (escript) the optional directive on the second line is now
+ recognized.
+
+ OTP-10990 The Erlang scanner no longer accepts floating point numbers
+ in the input string.
+
+ OTP-10992 The function erl_parse:abstract/2 has been documented.
+
+ OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
+
+ In order to be able to support elliptic curve cipher suites
+ in SSL/TLS, additions to handle elliptic curve infrastructure
+ has been added to public_key and crypto.
+
+ This also has resulted in a rewrite of the crypto API to gain
+ consistency and remove unnecessary overhead. All OTP
+ applications using crypto has been updated to use the new
+ API.
+
+ Impact: Elliptic curve cryptography (ECC) offers equivalent
+ security with smaller key sizes than other public key
+ algorithms. Smaller key sizes result in savings for power,
+ memory, bandwidth, and computational cost that make ECC
+ especially attractive for constrained environments.
+
+ OTP-11013 Added sys:get_state/1,2 and sys:replace_state/2,3. Thanks to
+ Steve Vinoski.
+
+ OTP-11025 Optimizations to gen mechanism. Thanks to Loïc Hoguin.
+
+ OTP-11035 Optimizations to gen.erl. Thanks to Loïc Hoguin.
+
+ OTP-11039 Use erlang:demonitor(Ref, [flush]) where applicable. Thanks
+ to Loïc Hoguin.
+
+ OTP-11041 Erlang source files with non-ASCII characters are now encoded
+ in UTF-8 (instead of latin1).
+
+ OTP-11042 Fix rest_for_one and one_for_all restarting a child not
+ terminated. Thanks to James Fish.
+
+ OTP-11053 Fix excessive CPU consumption of timer_server. Thanks to
+ Aliaksey Kandratsenka.
+
+ OTP-11078 Rename and document lists:zf/2 as lists:filtermap/2. Thanks
+ to Anthony Ramine.
+
+ OTP-11079 Fixed an inconsistent state in epp. Thanks to Anthony Ramine
+
+ OTP-11080 When converting a faulty binary to a list with
+ unicode:characters_to_list, the error return value could
+ contain a faulty "rest", i.e. the io_list of characters that
+ could not be converted was wrong. This happened only if input
+ was a sub binary and conversion was from utf8. This is now
+ corrected.
+
+ OTP-11100 The type hook_function() has been corrected in erl_pp, the
+ Erlang Pretty Printer.
+
+ The printing of invalid forms, e.g. record field types, has
+ also been fixed. It has been broken since R16B.
+
+ (Thanks to Tomáš Janoušek.)
+
+ OTP-11108 c:ls(File) will now print File, similar to ls(1) in Unix. The
+ error messages have also been improved. (Thanks to Bengt
+ Kleberg.)
+
+ OTP-11137 Fix receive support in erl_eval with a BEAM module. Thanks to
+ Anthony Ramine.
+
+ OTP-11140 Support callback attributes in erl_pp. Thanks to Anthony
+ Ramine.
+
+ OTP-11143 Improve erl_lint performance. Thanks to José Valim.
+
+
+--- test_server-3.6.2 ---------------------------------------------------
+
+ OTP-10607 Some unused code related to remote targets is removed, and
+ documentation is updated.
+
+ OTP-10856 The '-force_stop' flag to use with time-limited repeats of
+ test runs can now be used with a new 'skip_rest' option which
+ causes the rest of the test cases in the ongoing test job to
+ be skipped when the time limit is reached. E.g. 'ct_run -spec
+ xxx -duration 010000 -force_stop skip_rest'
+
+ OTP-10991 A bug in test_server_gl caused io requests containing invalid
+ data (i.e. not unicode:chardata()) to hang, since no io reply
+ was sent. This has been corrected.
+
+ OTP-11052 Common Test would, in case of timetrap error, print a warning
+ in the log if end_per_testcase wasn't implemented in the
+ suite, even though it's an optional function. This printout
+ has been removed.
+
+
+--- tools-2.6.11 --------------------------------------------------------
+
+ OTP-10902 Make cover smarter about finding source from beam.
+
+ In particular, search using the source path in module_info if
+ the current heuristic fails.
+
+ OTP-10930 Remove Flymake dependency in erlang-pkg.el. Thanks to Magnus
+ Henoch.
+
+ OTP-10979 When cover:stop(Node) was called on a non-existing node, a
+ process waiting for cover data from the node would hang
+ forever. This has been corrected.
+
+ OTP-10999 Erlang-mode: Add autoload cookies for file extension
+ associations. Thanks to Magnus Henoch.
+
+ OTP-11016 Postscript files no longer needed for the generation of PDF
+ files have been removed.
+
+ OTP-11028 Fix a race condition when there're several applications in
+ apps directory. Thanks to Manuel Rubio.
+
+ OTP-11144 New option for eprof, 'set_on_spawn'. This option was
+ previously always on and is also the default.
+
+
diff --git a/sources b/sources
index 3fd68b9..edb6a9f 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,4 @@
-7ee131515bc496e7522e0dec2a4c26e3 otp_src_R16B.tar.gz
-66fd89992d828fe0886b3e9b68867e0c otp_doc_html_R16B.tar.gz
-f3a34cc45c8d0b44bec839824d5fca09 otp_doc_man_R16B.tar.gz
+266b95db35560e505c9f69cc3e539e41 otp_src_R16B01.tar.gz
+288fd4066ae07fa3ca23043a31826d46 otp_doc_html_R16B01.tar.gz
+951be958bc9af55df6062165cf21fe1f otp_doc_man_R16B01.tar.gz
+8d0757af41f545b757ac71125b2b6488 otp_src_R16B01.readme
From 52d08e3c24cabb2311266cfcfdd70a377f0d74fe Mon Sep 17 00:00:00 2001
From: Dennis Gilmore
Date: Sat, 3 Aug 2013 04:57:36 -0500
Subject: [PATCH 009/322] - Rebuilt for
https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
---
erlang.spec | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index a5cb668..181d04c 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -25,7 +25,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.1%{?dist}
+Release: %{upstream_rel_for_rpm}.1%{?dist}.1
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2313,6 +2313,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Aug 03 2013 Fedora Release Engineering - R16B-01.1.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
* Wed Jun 19 2013 Peter Lemenkov - R16B-01.1
- Ver. R16B01
- Added graphviz as a requirement for dialyzer (thanks to Matwey V. Kornilov)
From 9a9df59c558aad3357c6f89284adeda18abde213 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 23 Oct 2013 18:06:00 +0400
Subject: [PATCH 010/322] R16B02
Signed-off-by: Peter Lemenkov
---
.gitignore | 4 +
erlang.spec | 114 +-
otp-0003-Do-not-install-C-sources.patch | 16 +-
otp-0006-Do-not-install-erlang-sources.patch | 24 +-
otp-0008-Fix-for-armv7hl-architecture.patch | 29 +
otp_src_R16B01.readme | 1210 ------------------
otp_src_R16B02.readme | 640 +++++++++
sources | 8 +-
8 files changed, 734 insertions(+), 1311 deletions(-)
create mode 100644 otp-0008-Fix-for-armv7hl-architecture.patch
delete mode 100644 otp_src_R16B01.readme
create mode 100644 otp_src_R16B02.readme
diff --git a/.gitignore b/.gitignore
index 1b96e45..d8a2277 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,3 +38,7 @@ otp_src_R14A.tar.gz
/otp_doc_html_R16B01.tar.gz
/otp_doc_man_R16B01.tar.gz
/otp_src_R16B01.readme
+/otp_src_R16B02.tar.gz
+/otp_doc_html_R16B02.tar.gz
+/otp_doc_man_R16B02.tar.gz
+/otp_src_R16B02.readme
diff --git a/erlang.spec b/erlang.spec
index 181d04c..fb7c46d 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -1,7 +1,7 @@
%global upstream_ver R16B
# Do NOT change %%{upstream_rel} unless UPSTREAM has actually changed it!
#%global upstream_rel %{nil}
-%global upstream_rel 01
+%global upstream_rel 02
# Use %%{nil} for %%{upstream_rel} for tracking source like otp_src_R14B.tar.gz,
# and 01 %%{upstream_rel} for tracking source like otp_src_R14B01.tar.gz.
@@ -13,12 +13,11 @@
%bcond_without doc
-# Change this back to include all Fedora versions (not just those <
-# 15) when the fop package has been fixed on fc15 (bug 689930).
-%if 0%{?el5}%{?el6}%{?fc15}%{?fc17}
-%define use_prebuilt_docs 1
+# No fop for EPEL5, and only for x86/x86_64 in EPEL6, so just disable there too
+%if 0%{?el5}%{?el6}
+%global use_prebuilt_docs 1
%else
-%define use_prebuilt_docs 0
+%global use_prebuilt_docs 0
%endif
%global n_uvr %{name}-%{upstream_ver}-%{upstream_rel_for_rpm}
@@ -77,6 +76,7 @@ Patch6: otp-0006-Do-not-install-erlang-sources.patch
# Required only for el5, el6 on PowerPC
# Ugly workaround for java-1.5.0-gcj which doesn't support
Patch7: otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
+Patch8: otp-0008-Fix-for-armv7hl-architecture.patch
# end of autogenerated patch tag list
# BuildRoot not strictly needed since F10, but keep it for spec file robustness
@@ -98,7 +98,7 @@ BuildRequires: erlang
%endif
%endif
-%if 0%{?el6}%{?fedora}
+%if 0%{?el6}%{?el7}%{?fedora}
BuildRequires: emacs
BuildRequires: xemacs
BuildRequires: emacs-el
@@ -179,7 +179,6 @@ Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description appmon
A utility used to supervise Applications executing on several Erlang nodes.
@@ -190,7 +189,6 @@ Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description asn1
Provides support for Abstract Syntax Notation One.
@@ -213,7 +211,6 @@ Requires: %{name}-test_server%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
Requires: %{name}-webtool%{?_isa} = %{version}-%{release}
Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description common_test
A portable framework for automatic testing.
@@ -226,7 +223,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-hipe%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description compiler
A byte code compiler for Erlang which produces highly compact code.
@@ -238,7 +234,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-orber%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description cosEvent
Orber OMG Event Service.
@@ -251,7 +246,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-orber%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description cosEventDomain
Orber OMG Event Domain Service.
@@ -266,7 +260,6 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-orber%{?_isa} = %{version}-%{release}
Requires: %{name}-ssl%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description cosFileTransfer
Orber OMG File Transfer Service.
@@ -280,7 +273,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-orber%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description cosNotification
Orber OMG Notification Service.
@@ -293,7 +285,6 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
Requires: %{name}-orber%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description cosProperty
Orber OMG Property Service.
@@ -306,7 +297,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-orber%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description cosTime
Orber OMG Timer and TimerEvent Service.
@@ -318,8 +308,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-orber%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
-Obsoletes: %{name}-cosTransaction < R13B-04.7
%description cosTransactions
Orber OMG Transaction Service.
@@ -330,7 +318,6 @@ Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description crypto
Cryptographical support.
@@ -344,7 +331,6 @@ Requires: %{name}-gs%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description debugger
A debugger for debugging and testing of Erlang programs.
@@ -361,7 +347,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
Requires: graphviz
-Obsoletes: %{name} < R13B-04.5
%description dialyzer
A DIscrepancy AnaLYZer for ERlang programs.
@@ -376,7 +361,6 @@ Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-ssl%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description diameter
Diameter (RFC 3588) library
@@ -384,11 +368,9 @@ Diameter (RFC 3588) library
%package doc
Summary: Erlang documentation
Group: Development/Languages
-%if 0%{?el6}%{?fedora}
+%if 0%{?el6}%{?el7}%{?fedora}
BuildArch: noarch
%endif
-# erlang-doc does not require the base package at all
-Obsoletes: %{name}-doc < R13B-04.4
%description doc
Documentation for Erlang.
@@ -402,7 +384,6 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description edoc
A utility used to generate documentation out of tags in source files.
@@ -415,7 +396,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-ssl%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description eldap
Erlang LDAP library.
@@ -427,7 +407,6 @@ Requires: %{name}-edoc%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description erl_docgen
A utility used to generate erlang HTML documentation.
@@ -436,7 +415,6 @@ A utility used to generate erlang HTML documentation.
Summary: Low level interface to C
Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description erl_interface
Low level interface to C.
@@ -447,9 +425,8 @@ Group: Development/Languages
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: lksctp-tools
-Provides: erlang(erl_drv_version) = 2.1
+Provides: erlang(erl_drv_version) = 2.2
Provides: erlang(erl_nif_version) = 2.4
-Obsoletes: %{name} < R13B-04.5
%description erts
Functionality necessary to run the Erlang System itself.
@@ -463,7 +440,6 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description et
An event tracer for Erlang programs.
@@ -474,7 +450,6 @@ Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description eunit
Support for unit testing.
@@ -483,7 +458,6 @@ Support for unit testing.
Summary: Examples for some Erlang modules
Group: Development/Languages
Requires: %{name}%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description examples
Examples for some Erlang modules.
@@ -497,7 +471,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
BuildRequires: tcl-devel
BuildRequires: tk-devel
Requires: tk
-Obsoletes: %{name} < R13B-04.5
%description gs
A Graphics System used to write platform independent user interfaces.
@@ -510,7 +483,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description hipe
High Performance Erlang.
@@ -521,7 +493,6 @@ Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description ic
IDL compiler.
@@ -535,7 +506,8 @@ Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-ssl%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
+# FIXME see erlang-jinterface also
+#Requires: jpackage-utils
%description inets
A set of services such as a Web server and a ftp client etc.
@@ -544,7 +516,8 @@ A set of services such as a Web server and a ftp client etc.
Summary: A library for accessing Java from Erlang
Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
+# FIXME see erlang-ic also
+#Requires: jpackage-utils
%if 0%{?fedora}
BuildRequires: java-devel
%else
@@ -563,7 +536,6 @@ Summary: Main erlang library
Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description kernel
Main erlang library.
@@ -578,7 +550,6 @@ Requires: %{name}-et%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description megaco
Megaco/H.248 is a protocol for control of elements in a physically
@@ -591,7 +562,6 @@ Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description mnesia
A heavy duty real-time distributed database.
@@ -608,7 +578,6 @@ Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-webtool%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description observer
A set of tools for tracing and investigation of distributed systems.
@@ -619,7 +588,6 @@ Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
BuildRequires: unixODBC-devel
%description odbc
@@ -635,7 +603,6 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
Requires: %{name}-ssl%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description orber
A CORBA Object Request Broker.
@@ -650,7 +617,6 @@ Requires: %{name}-otp_mibs%{?_isa} = %{version}-%{release}
Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
Requires: %{name}-snmp%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description os_mon
A monitor which allows inspection of the underlying operating system.
@@ -663,7 +629,6 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
Requires: %{name}-snmp%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description otp_mibs
SNMP management information base for Erlang/OTP nodes.
@@ -674,7 +639,6 @@ Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description parsetools
A set of parsing and lexical analysis tools.
@@ -687,7 +651,6 @@ Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description percept
A concurrency profiler tool.
@@ -699,7 +662,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-gs%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description pman
A graphical process manager used to inspect Erlang processes.
@@ -712,7 +674,6 @@ Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description public_key
API to public key infrastructure.
@@ -726,7 +687,6 @@ Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description reltool
Reltool is a release management tool. It analyses a given
@@ -743,7 +703,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description runtime_tools
A set of tools to include in a production system.
@@ -755,7 +714,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description sasl
The System Architecture Support Libraries is a set of tools for
@@ -770,7 +728,6 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description snmp
Simple Network Management Protocol (SNMP) support including a
@@ -784,7 +741,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description ssh
Secure Shell application with sftp and ssh support.
@@ -792,13 +748,12 @@ Secure Shell application with sftp and ssh support.
%package ssl
Summary: Secure Socket Layer support
Group: Development/Languages
-Requires: %{name}-asn1%{?_isa} = %{version}-%{release}
+#Requires: %{name}-asn1%{?_isa} = %{version}-%{release}
Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description ssl
Secure Socket Layer support.
@@ -810,7 +765,6 @@ Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description stdlib
The Erlang standard libraries.
@@ -821,7 +775,6 @@ Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description syntax_tools
A utility used to handle abstract Erlang syntax trees,
@@ -835,10 +788,9 @@ Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-observer%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
-Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
+#Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description test_server
The OTP Test Server.
@@ -850,7 +802,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-gs%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description toolbar
A tool bar simplifying access to the Erlang tools.
@@ -865,7 +816,6 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-webtool%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
Provides: emacs-common-erlang = %{version}-%{release}
%description tools
@@ -880,7 +830,6 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
Requires: %{name}-pman%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description tv
An ETS and MNESIA graphical table visualizer.
@@ -894,7 +843,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-hipe%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description typer
TYPe annotator for ERlang programs.
@@ -907,7 +855,6 @@ Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-observer%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description webtool
A tool that simplifying the use of web based Erlang tools.
@@ -920,7 +867,6 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: mesa-libGL
Requires: mesa-libGLU
-Obsoletes: %{name} < R13B-04.5
BuildRequires: wxGTK-devel
%description wx
@@ -932,12 +878,11 @@ Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Obsoletes: %{name} < R13B-04.5
%description xmerl
Provides support for XML 1.0.
-%if 0%{?el6}%{?fedora}
+%if 0%{?el6}%{?el7}%{?fedora}
%package -n emacs-erlang
Summary: Compiled elisp files for erlang-mode under GNU Emacs
Requires: emacs-common-erlang = %{version}-%{release}
@@ -992,6 +937,7 @@ Erlang mode for XEmacs (source lisp files).
%patch7 -p1 -b .Ugly_workaround_for_java_1_5_0_gcj_which_doesn_t_sup
%endif
%endif
+%patch8 -p1 -b .fix_armv7hl_hipe
# end of autogenerated prep patch list
# remove shipped zlib sources
@@ -1010,9 +956,9 @@ rm -f lib/ssl/examples/certs/etc/erlangCA/index.txt.old
%build
%ifarch sparcv9 sparc64
-CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp
+CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-hipe
%else
-CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp
+CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-hipe
%endif
# Remove pre-built BEAM files
@@ -1021,7 +967,7 @@ make clean
# GNU Emacs/XEmacs related stuff
erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)"
-%if 0%{?el6}%{?fedora}
+%if 0%{?el6}%{?el7}%{?fedora}
# GNU Emacs related stuff
cat > emacs-erlang-init.el << EOF
(setq load-path (cons "%{_emacs_sitelispdir}/erlang" load-path))
@@ -1068,7 +1014,7 @@ make docs
%install
rm -rf $RPM_BUILD_ROOT
-%if 0%{?el6}%{?fedora}
+%if 0%{?el6}%{?el7}%{?fedora}
# GNU Emacs/XEmacs related stuff
erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)"
@@ -1181,7 +1127,7 @@ ln -s "${ic_lib_dir}/priv/ic.jar" "$RPM_BUILD_ROOT%{_javadir}/%{name}/"
jinterface_lib_dir="$(ls -d1 $RPM_BUILD_ROOT%{_libdir}/erlang/lib/jinterface-*/ | sed "s,^$RPM_BUILD_ROOT,,")"
test -d "$RPM_BUILD_ROOT$jinterface_lib_dir"
install -m 0755 -d "$RPM_BUILD_ROOT%{_javadir}"
-ln -s "${jinterface_lib_dir}/priv/OtpErlang.jar" "$RPM_BUILD_ROOT%{_javadir}/%{name}/"
+ln -s "${jinterface_lib_dir}priv/OtpErlang.jar" "$RPM_BUILD_ROOT%{_javadir}/%{name}/"
%clean
@@ -1592,6 +1538,8 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/lib/ic-*/include
%{_libdir}/erlang/lib/ic-*/priv
%{_libdir}/erlang/lib/ic-*/src
+# FIXME see erlang-jinterface also
+#%dir %{_javadir}/%{name}/
%{_javadir}/%{name}/ic.jar
%if %{with doc}
%{_libdir}/erlang/man/man3/ic.*
@@ -1622,8 +1570,10 @@ rm -rf $RPM_BUILD_ROOT
%endif
%files jinterface
-%{_libdir}/erlang/lib/jinterface-*/
+# FIXME see erlang-ic also
+#%dir %{_javadir}/%{name}/
%{_javadir}/%{name}/OtpErlang.jar
+%{_libdir}/erlang/lib/jinterface-*/
%files kernel
%dir %{_libdir}/erlang/lib/kernel-*/
@@ -2092,6 +2042,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/wxChoicebook.*
%{_libdir}/erlang/man/man3/wxClientDC.*
%{_libdir}/erlang/man/man3/wxClipboard.*
+%{_libdir}/erlang/man/man3/wxClipboardTextEvent.*
%{_libdir}/erlang/man/man3/wxCloseEvent.*
%{_libdir}/erlang/man/man3/wxColourData.*
%{_libdir}/erlang/man/man3/wxColourDialog.*
@@ -2291,7 +2242,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/xmerl_xsd.*
%endif
-%if 0%{?el6}%{?fedora}
+%if 0%{?el6}%{?el7}%{?fedora}
%files -n emacs-erlang
%dir %{_emacs_sitelispdir}/erlang
%doc %{_emacs_sitelispdir}/erlang/README
@@ -2313,6 +2264,13 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Sep 26 2013 Peter Lemenkov - R16B-02.1
+- Ver. R16B02 (see rhbz #1009502)
+- Increase erlang(erl_drv_version) from 2.1 to 2.2 (drivers needs rebuilding)
+- Remove ancient obsoletes (see rhbz #1002103)
+- Removed pre-F18 compatibility
+- Enable HiPE
+
* Sat Aug 03 2013 Fedora Release Engineering - R16B-01.1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch
index 705b48f..8f7f6b7 100644
--- a/otp-0003-Do-not-install-C-sources.patch
+++ b/otp-0003-Do-not-install-C-sources.patch
@@ -56,10 +56,10 @@ index e890927..1377654 100644
endif
diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
-index ebacc1c..388e27e 100644
+index e36b39c..fd377bb 100644
--- a/lib/erl_interface/src/Makefile.in
+++ b/lib/erl_interface/src/Makefile.in
-@@ -872,14 +872,14 @@ ifneq ($(EXE_TARGETS),)
+@@ -876,14 +876,14 @@ ifneq ($(EXE_TARGETS),)
$(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin"
endif
$(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src"
@@ -83,20 +83,22 @@ index ebacc1c..388e27e 100644
release_docs:
diff --git a/lib/ic/c_src/Makefile.in b/lib/ic/c_src/Makefile.in
-index 856823b..d000273 100644
+index 6e65f06..4120029 100644
--- a/lib/ic/c_src/Makefile.in
+++ b/lib/ic/c_src/Makefile.in
-@@ -146,10 +146,8 @@ $(OBJDIR)/%.o: %.c
+@@ -146,12 +146,10 @@ $(OBJDIR)/%.o: %.c
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/c_src"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
+ $(INSTALL_DIR) "$(RELEASE_PATH)/usr/include"
+ $(INSTALL_DIR) "$(RELEASE_PATH)/usr/lib"
- $(INSTALL_DATA) ic.c ic_tmo.c "$(RELSYSDIR)/c_src"
$(INSTALL_DATA) $(IDL_FILES) $(H_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(LIBRARY) "$(RELSYSDIR)/priv/lib"
-
+ $(INSTALL_DATA) $(IDL_FILES) $(H_FILES) "$(RELEASE_PATH)/usr/include"
diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
index 6111cf2..bd62e8b 100644
--- a/lib/megaco/src/flex/Makefile.in
@@ -127,10 +129,10 @@ index 6572d28..c7093ae 100644
endif
diff --git a/lib/os_mon/c_src/Makefile.in b/lib/os_mon/c_src/Makefile.in
-index 51569f6..4e4d729 100644
+index f84ccf7..05d194f 100644
--- a/lib/os_mon/c_src/Makefile.in
+++ b/lib/os_mon/c_src/Makefile.in
-@@ -124,8 +124,6 @@ $(OBJDIR)/memsup.o: memsup.h
+@@ -125,8 +125,6 @@ $(OBJDIR)/memsup.o: memsup.h
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index fbb06c0..22ffaad 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -86,17 +86,17 @@ Signed-off-by: Hans Ulrich Niedermann
76 files changed, 60 insertions(+), 113 deletions(-)
diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile
-index 7a7b7fb..fcdb699 100644
+index c1580b1..2b9b5ce 100644
--- a/erts/preloaded/src/Makefile
+++ b/erts/preloaded/src/Makefile
-@@ -76,8 +76,6 @@ copy:
+@@ -85,8 +85,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
- release_spec:
+ release_spec: $(APP_TARGET)
- $(INSTALL_DIR) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) $(ERL_FILES) $(BEAM_FILES) $(STUBS_FILES) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
- $(INSTALL_DATA) $(STATIC_TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/appmon/src/Makefile b/lib/appmon/src/Makefile
index c1620bc..02c0984 100644
@@ -112,10 +112,10 @@ index c1620bc..02c0984 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile
-index 33cd3cc..72c7005 100644
+index 3f24e15..4cfb20f 100644
--- a/lib/asn1/src/Makefile
+++ b/lib/asn1/src/Makefile
-@@ -156,7 +156,7 @@ release_spec: opt
+@@ -153,7 +153,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -860,10 +860,10 @@ index b8387ff..2012af9 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/runtime_tools/src/Makefile b/lib/runtime_tools/src/Makefile
-index 2347986..b7f57b8 100644
+index 8d2bcfe..d1a9cac 100644
--- a/lib/runtime_tools/src/Makefile
+++ b/lib/runtime_tools/src/Makefile
-@@ -95,8 +95,6 @@ docs:
+@@ -96,8 +96,6 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -963,10 +963,10 @@ index 93d0b54..5904bc2 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index cf9f7d5..0f80003 100644
+index 6744e2f..1b62136 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
-@@ -129,7 +129,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -132,7 +132,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -1001,10 +1001,10 @@ index c9fbad8..2fc7f18 100644
release_docs_spec:
diff --git a/lib/test_server/src/Makefile b/lib/test_server/src/Makefile
-index ebc5f5b..471375c 100644
+index ab4dd4d..bcb1bc3 100644
--- a/lib/test_server/src/Makefile
+++ b/lib/test_server/src/Makefile
-@@ -124,7 +124,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -123,7 +123,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
diff --git a/otp-0008-Fix-for-armv7hl-architecture.patch b/otp-0008-Fix-for-armv7hl-architecture.patch
new file mode 100644
index 0000000..b985440
--- /dev/null
+++ b/otp-0008-Fix-for-armv7hl-architecture.patch
@@ -0,0 +1,29 @@
+From 98268681b57ddec0d7aad2234d271c47da538d63 Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov
+Date: Thu, 26 Sep 2013 22:01:03 +0400
+Subject: [PATCH 8/8] Fix for armv7hl architecture
+
+Taken from openSUSE:
+
+* https://build.opensuse.org/package/view_file/devel:languages:erlang:Factory/erlang/fix-armv7hl.patch?expand=1
+
+Signed-off-by: Peter Lemenkov
+---
+ erts/configure.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/erts/configure.in b/erts/configure.in
+index 00c7045..5b72215 100644
+--- a/erts/configure.in
++++ b/erts/configure.in
+@@ -634,6 +634,7 @@ case $chk_arch_ in
+ armv5tejl) ARCH=arm;;
+ armv6l) ARCH=arm;;
+ armv7l) ARCH=arm;;
++ armv7hl) ARCH=arm;;
+ tile) ARCH=tile;;
+ *) ARCH=noarch;;
+ esac
+--
+1.8.3.1
+
diff --git a/otp_src_R16B01.readme b/otp_src_R16B01.readme
deleted file mode 100644
index 0f9fa30..0000000
--- a/otp_src_R16B01.readme
+++ /dev/null
@@ -1,1210 +0,0 @@
-Bug fix release : otp_src_R16B01
-Build date : 2013-06-18
-
-This is R16B01, the first maintenance release for the R16B major release.
-
-You can find the README file for the release at
-
- http://www.erlang.org/download/otp_src_R16B01.readme (this file)
-
-The source distribution and binary distributions for Windows can be
-downloaded from
-
- http://www.erlang.org/download/otp_src_R16B01.tar.gz
- http://www.erlang.org/download/otp_win32_R16B01.exe
- http://www.erlang.org/download/otp_win64_R16B01.exe
-
-Note: To unpack the TAR archive you need a GNU TAR compatible program.
-
-For installation instructions please read the README file that is part
-of the distribution.
-
-The on-line documentation can be found at: http://www.erlang.org/doc/
-You can also download the complete HTML documentation or the Unix manual files
-
- http://www.erlang.org/download/otp_doc_html_R16B01.tar.gz
- http://www.erlang.org/download/otp_doc_man_R16B01.tar.gz
-
-We also want to thank those that sent us patches, suggestions and bug reports,
-
-The OTP Team
-
-
---- HIGHLIGHTS ----------------------------------------------------------
-
- OTP-10279 == erts ==
-
- Support for migration of memory carriers between memory
- allocator instances has been introduced.
-
- By default this feature is not enabled and do not effect the
- characteristics of the system. When enabled it has the
- following impact on the characteristics of the system:
-
- -- Reduced memory footprint when the memory load is unevenly
- distributed between scheduler specific allocator instances.
-
- -- Depending on the default allocaton strategy used on a
- specific allocator there might or might not be a slight
- performance loss.
-
- -- When enabled on the fix_alloc allocator, a different
- strategy for management of fix blocks will be used.
-
- -- The information returned from
- erlang:system_info({allocator, A}), and
- erlang:system_info({allocator_sizes, A}) will be slightly
- different when this feature has been enabled. An mbcs_pool
- tuple will be present giving information about abandoned
- carriers, and in the fix_alloc case no fix_types tuple will
- be present.
-
- For more information, see the documentation of the +Macul
- command line argument.
-
- OTP-11009 == ssl public_key crypto common_test dialyzer ssh stdlib snmp
- inets ==
-
- Integrate elliptic curve contribution from Andreas Schultz
-
- In order to be able to support elliptic curve cipher suites
- in SSL/TLS, additions to handle elliptic curve infrastructure
- has been added to public_key and crypto.
-
- This also has resulted in a rewrite of the crypto API to gain
- consistency and remove unnecessary overhead. All OTP
- applications using crypto has been updated to use the new
- API.
-
- Impact: Elliptic curve cryptography (ECC) offers equivalent
- security with smaller key sizes than other public key
- algorithms. Smaller key sizes result in savings for power,
- memory, bandwidth, and computational cost that make ECC
- especially attractive for constrained environments.
-
- OTP-11159 == erts ==
-
- Lift static limitation (FD_SETSIZE) for file descriptors on
- Mac OS X. (Thanks to Anthony Ramine)
-
-
---- otp -----------------------------------------------------------------
-
- OTP-11117 Properly ignore os_mon and otp_mibs generated includes
-
-
---- asn1-2.0.1.1 --------------------------------------------------------
-
- OTP-10916 The generated decoder for the 'per' and 'uper' backends
- did not correctly decode ENUMERATEDs with a single value.
- The generated encoder for the 'per' and 'uper' backends
- generated an empty binary for a top-level type that did
- not need to be encoded (such as an ENUMERATED with a single
- value). The correct result should be a binary containing
- a 0 byte.
-
-
---- asn1-2.0.1.2 --------------------------------------------------------
-
- OTP-10995 When an object set is an actual parameter, the extension
- marker for the object set could get lost (which would cause
- the decoding of unknown values to fail).
-
-
---- asn1-2.0.2 ----------------------------------------------------------
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
- OTP-11111 Fix some Makefile rules that didn't support silent rules.
- Thanks to Anthony Ramine.
-
- OTP-11134 PER/UPER: A semi-constrained INTEGER with a non-zero lower
- bound would be incorrectly decoded. This bug was introduced
- in R16.
-
- PER/UPER: Given INTEGER (10..MAX, ...), attempting to decode
- any integer below 10 would cause the encoder to enter an
- infinite loop.
-
- PER/UPER: For a type with an extensible SIZE constraint,
- sizes outside of the root range were incorrectly encoded.
-
- Given a constraint such as (SIZE (5, ...)), encoding a size
- less than 5 would fail (PER/UPER). Similarly, for BER
- decoding would fail.
-
- PER: The encoder did not align a known multiplier string
- (such as IA5String) of length 16 bits (exactly) to an octet
- boundary.
-
- In rare circumstances, DEFAULT values for the UPER backend
- could be wrongly encoded.
-
- OTP-11153 UPER: The compiler would crash when compiling an ENUMERATED
- having more than 63 extended values.
-
- PER/UPER: A SEQUENCE with more 64 extended values could not
- be decoded.
-
- OTP-11154 When decoding a SEQUENCE defined inline inside a an extension
- addition group, the record named generated by the decoding
- code would not match the name in the generated .hrl file.
-
-
---- common_test-1.7.2 ---------------------------------------------------
-
- OTP-10126 A design flaw in the generic connection handling in Common
- Test made it impossible to implement a connection handler
- that could map multiple connection names (i.e. configuration
- variable aliases) to single connection pids. This problem has
- been solved.
-
- OTP-10494 If it could not be decided which test case a certain log
- printout belonged to, the common test framework log was
- earlier used. Such printouts are now instead sent to
- unexpected_io.log.html in test_server so that there is only
- one place to look for "missing" printouts.
-
- OTP-10648 If a telnet connection is hanging, then a call to
- ct_telnet:close/1 will time out after 5 seconds and the
- connection process is brutally killed. In some cases the
- connection would not be unregistered and attempts at opening
- a new connection with the same name would make common_test
- try to reuse the same connection since it believed that it
- was still alive. This has been corrected - a killed
- connection is now always unregistered.
-
- OTP-10855 Test performance has been improved by means of a cache for
- the top level HTML index logs (all_runs.html and index.html,
- in the logdir directory). This solves problems with slow
- start up times and test execution times increasing with the
- number of ct_run directories stored in logdir. The cached
- index entries are stored in RAM during test execution and are
- saved to file in logdir (for faster start up times) whenever
- a test run finishes.
-
- OTP-10856 The '-force_stop' flag to use with time-limited repeats of
- test runs can now be used with a new 'skip_rest' option which
- causes the rest of the test cases in the ongoing test job to
- be skipped when the time limit is reached. E.g. 'ct_run -spec
- xxx -duration 010000 -force_stop skip_rest'
-
- OTP-10857 Testing of the test specification functionality has been
- improved and a couple of minor bugs have been discovered and
- corrected.
-
- OTP-10902 Make cover smarter about finding source from beam.
-
- In particular, search using the source path in module_info if
- the current heuristic fails.
-
- OTP-10920 Add a variant of ct_slave:start/2 that starts a node with
- specified options on the local host.
-
- OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
-
- In order to be able to support elliptic curve cipher suites
- in SSL/TLS, additions to handle elliptic curve infrastructure
- has been added to public_key and crypto.
-
- This also has resulted in a rewrite of the crypto API to gain
- consistency and remove unnecessary overhead. All OTP
- applications using crypto has been updated to use the new
- API.
-
- Impact: Elliptic curve cryptography (ECC) offers equivalent
- security with smaller key sizes than other public key
- algorithms. Smaller key sizes result in savings for power,
- memory, bandwidth, and computational cost that make ECC
- especially attractive for constrained environments.
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
- OTP-11044 A link is added from the red error printout in a test case
- log (for a failed test case) to the full error description at
- the end of the log. The reason for this is that the error
- description in the red field is sometimes truncated at 50
- characters in order to keep the log as short and easy to read
- as possible.
-
- OTP-11046 Links to the top level index files in some HTML footers had
- disappeared. This error has been corrected. Also, a problem
- with the suite overview log file not being closed properly
- has been solved.
-
- OTP-11052 Common Test would, in case of timetrap error, print a warning
- in the log if end_per_testcase wasn't implemented in the
- suite, even though it's an optional function. This printout
- has been removed.
-
- OTP-11095 A new option 'no_prompt_check' is added to
- ct_telnet:expect/3. If this option is used, ct_telnet will
- not wait for a prompt or a newline before attempting to match
- the given pattern.
-
-
---- compiler-4.9.2 ------------------------------------------------------
-
- OTP-10939 Compiling functions with complex boolean operations in guards
- could be very slow. (Thanks to Magnus Muller for reporting
- this issue.)
-
- OTP-11005 Fix optimization of some binary comprehensions. Thanks to
- Anthony Ramine.
-
- OTP-11069 Use a set to store ref registers in beam_receive. Thanks to
- Anthony Ramine.
-
- OTP-11119 Certain guard expressions used in a receive statement could
- cause the compiler to crash.
-
- OTP-11129 Fix renaming of bs_put_string instructions. Thanks to Anthony
- Ramine.
-
-
---- cosEvent-2.1.14 -----------------------------------------------------
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
-
---- cosFileTransfer-1.1.15 ----------------------------------------------
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
-
---- cosNotification-1.1.20 ----------------------------------------------
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
-
---- crypto-3.0 ----------------------------------------------------------
-
- OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
-
- In order to be able to support elliptic curve cipher suites
- in SSL/TLS, additions to handle elliptic curve infrastructure
- has been added to public_key and crypto.
-
- This also has resulted in a rewrite of the crypto API to gain
- consistency and remove unnecessary overhead. All OTP
- applications using crypto has been updated to use the new
- API.
-
- Impact: Elliptic curve cryptography (ECC) offers equivalent
- security with smaller key sizes than other public key
- algorithms. Smaller key sizes result in savings for power,
- memory, bandwidth, and computational cost that make ECC
- especially attractive for constrained environments.
-
- OTP-11058 Fixed a spelling mistake in crypto docs. Thanks to Klaus
- Trainer
-
-
---- debugger-3.2.11 -----------------------------------------------------
-
- OTP-10899 A new checkbox has been added. When it is checked, the range
- set by the erl flag +pc is used for determining when to print
- lists of integers as strings. When it is unchecked, integer
- lists are never printed as strings.
-
- A minor incompatibility: settings saved by Erlang R16B01 or
- later cannot be read by Erlang R16B or earlier.
-
- OTP-11041 Erlang source files with non-ASCII characters are now encoded
- in UTF-8 (instead of latin1).
-
-
---- dialyzer-2.6.1 ------------------------------------------------------
-
- OTP-10918 Include module, function and arity in Dialyzer's "overlapping
- domain" warnings. Thanks to Magnus Henoch.
-
- OTP-10996 Improve Dialyzer output for scan errors. Thanks to Magnus
- Henoch.
-
- OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
-
- In order to be able to support elliptic curve cipher suites
- in SSL/TLS, additions to handle elliptic curve infrastructure
- has been added to public_key and crypto.
-
- This also has resulted in a rewrite of the crypto API to gain
- consistency and remove unnecessary overhead. All OTP
- applications using crypto has been updated to use the new
- API.
-
- Impact: Elliptic curve cryptography (ECC) offers equivalent
- security with smaller key sizes than other public key
- algorithms. Smaller key sizes result in savings for power,
- memory, bandwidth, and computational cost that make ECC
- especially attractive for constrained environments.
-
- OTP-11027 Bitstring type inference and duplicate module error message
- fixes. Thanks to Stavros Aronis.
-
- OTP-11041 Erlang source files with non-ASCII characters are now encoded
- in UTF-8 (instead of latin1).
-
- OTP-11057 A bug that made it impossible to do any analyses from the GUI
- has been fixed.
-
-
---- diameter-1.4.1.1 ----------------------------------------------------
-
- OTP-10898 Add transport_opt() watchdog_config to allow non-standard
- behaviour of the watchdog state machine. This can be useful
- during test but should not be used on nodes that must conform
- to RFC 3539.
-
- OTP-10942 Fix broken Vendor-Specific-Application-Id configuration.
- RFC 6733 changed the definition of this Grouped AVP, changing
- the arity of Vendor-Id from 1* to 1. A component Vendor-Id
- can now be either list- or integer-valued in service and
- transport configuration, allowing it to be used with both
- RFC 3588 and RFC 6733 dictionaries.
-
-
---- diameter-1.4.2 ------------------------------------------------------
-
- OTP-9610 Allow peer connections to be shared between Erlang nodes for
- the purpose of sending outgoing requests.
-
- A diameter_app(3) pick_peer/4 callback gets a list of remote
- candidates as argument, allowing a callback on one node to
- select a transport connection established on another node.
- The service_opt() share_peers controls the extent to which
- local connections are shared with remote nodes. The
- service_opt() use_shared_peers controls the extent to which
- connections shared from remote nodes are utilized on the
- local node.
-
- OTP-10893 Allow listening diameter_{tcp,sctp} transports to be
- configured with remote addresses.
-
- Option 'accept' allows remote addresses to be configured as
- tuples or regular expressions. Remote addresses are matched
- against the configured values at connection establishment,
- any non-matching address causing the connection to be
- aborted.
-
- OTP-10972 Detect more transport_opt() configuration errors at
- diameter:add_transport/2.
-
- Many errors would previously not be detected until transport
- start, diameter:add_transport/2 returning 'ok' but transport
- connections failing to be established. An error tuple is now
- returned.
-
- OTP-10986 Make explicit local address configuration optional in
- diameter_tcp:start/3.
-
- The default address (as determined by gen_tcp) is now used
- when a local address is not explicitly configured.
-
- OTP-11007 Fix handling of 5014 (INVALID_AVP_LENGTH) errors.
-
- This was in some cases reported as 3009 (INVALID_AVP_BITS).
-
- Note that the correction is partially implemented in modules
- generated by diameterc(1): a dictionary file must be
- recompiled for the correction to apply to any messages it
- defines.
-
- OTP-11014 Fix faulty capitalization in release notes.
-
- Diameter = the protocol. diameter = the Erlang
- application.
-
- OTP-11017 Improve handling of unrecognized service options.
-
- Such options were silently ignored by
- diameter:start_service/2. An error tuple is now returned.
-
- OTP-11019 Fix watchdog memory leak.
-
- Entries were not removed from a service-specific ets table,
- causing them to be orphaned at connection reestablishment for
- listening transports, and diameter:remove_transport/2 for
- both listening and connecting transports.
-
- The fault was introduced by OTP-10692 in diameter-1.4.1
- (R16B).
-
- OTP-11026 Fix decode failure on AVP Length < 8.
-
- The failure caused the message in question to be discarded.
-
- OTP-11045 Respect Host-IP-Address configuration.
-
- Addresses returned from a transport module were always used
- to populate Host-IP-Address AVP's in an outgoing CER/CEA,
- which precluded the sending of a VIP address. Transport
- addresses are now only used if Host-IP-Address is
- unspecified.
-
- OTP-11050 Don't send default Inband-Security-Id in CER/CEA.
-
- RFC 6733 recommends against the use of Inband-Security-Id.
- Only send a value that differs from the default,
- NO_INBAND_SECURITY = 0.
-
- OTP-11051 Fix mkdir race.
-
- Install could fail if examples/code and examples/dict were
- created in parallel. Noticed on FreeBSD.
-
- OTP-11060 Make spawn options for request processes configurable.
-
- OTP-11087 Fix recognition of 5001 on mandatory AVP's.
-
- An AVP setting the M-bit was not regarded as erroneous if it
- was defined in the dictionary in question and its container
- (message or Grouped AVP) had an 'AVP' field. It's now
- regarded as a 5001 error (AVP_UNSUPPORTED), as in the case
- that the AVP is not defined.
-
- Note that the correction is partially implemented in modules
- generated by diameterc(1): a dictionary file must be
- recompiled for the correction to apply to any messages it
- defines.
-
- OTP-11092 Fix setting of Failed-AVP on handle_request {answer_message,
- 5xxx} return.
-
- Failed-AVP was never in the outgoing answer-message. It is
- now set with the AVP from the first entry with the specified
- Result-Code in the errors field of the incoming
- diameter_packet, if found.
-
- OTP-11115 Fix watchdog function_clause
-
- A listening transport on a service that allowed multiple
- connections to the same peer could result in a
- function_clause error in module diameter_watchdog. The
- resulting crash was harmless but unseemly.
-
- Thanks to Aleksander Nycz.
-
- OTP-11127 Fix population of Failed-AVP.
-
- In cases in which diameter populated this AVP, many values
- were sent instead of one as suggested by RFC 6733. This was
- partially corrected by OTP-11007.
-
- OTP-11165 Fix list-valued Vendor-Specific-Application-Id config
-
- R16B (specifically, OTP-10760) broke the handling of such
- configuration, resulting in a function clause error if the
- list was not of length 3, and faulty interpretation of the
- list's contents otherwise. Only record-valued configuration
- was properly interpreted.
-
-
---- erl_interface-3.7.12 ------------------------------------------------
-
- OTP-10913 Superfluous trailing comma in enum erlang_char_encoding
- causing compile error for g++ with --pedantic option.
-
-
---- erl_interface-3.7.13 ------------------------------------------------
-
- OTP-11167 A guard was added to check if file descriptor is valid before
- closing it.
-
-
---- erts-5.10.1.1 -------------------------------------------------------
-
- OTP-10926 The BIF is_process_alive/1 could prematurely return false
- while the process being inspected was terminating. This
- bug was introduced in ERTS-5.10.
-
- OTP-10932 Fix a problem in erlang:delete_element/2 where the call
- could corrupt one word of stack if the heap and stack met
- during call.
-
- OTP-10994 Scheduler threads will now by default be less eager requesting
- wakeup due to certain cleanup operations. This can also
- be controlled using the +swct command line argument of erl(1).
-
- OTP-11000 The +sws<value> and +swt<value> system flags
- failed if no white space were passed between the parameter
- and value parts of the flags. Upon failure, the runtime
- system refused to start.
-
-
---- erts-5.10.1.2 -------------------------------------------------------
-
- OTP-11022 A bug in the implementation of offline schedulers has been
- fixed. The bug was introduced in OTP-R16A/ERTS-5.10, and
- caused work-stealing between schedulers to fail. This in
- turn, caused work to accumulate in some run-queues. The
- bug was only triggered when there were offline schedulers
- in the system, i.e., when the amount of online schedulers
- was less than the total amount of schedulers. The effect
- of the bug got more severe the larger amount of offline
- schedulers the system had.
-
-
---- erts-5.10.2 ---------------------------------------------------------
-
- OTP-10271 Replaced the lock protecting gathering of garbage collection
- statistics with a lock-free solution.
-
- OTP-10279 Support for migration of memory carriers between memory
- allocator instances has been introduced.
-
- By default this feature is not enabled and do not effect the
- characteristics of the system. When enabled it has the
- following impact on the characteristics of the system:
-
- -- Reduced memory footprint when the memory load is unevenly
- distributed between scheduler specific allocator instances.
-
- -- Depending on the default allocaton strategy used on a
- specific allocator there might or might not be a slight
- performance loss.
-
- -- When enabled on the fix_alloc allocator, a different
- strategy for management of fix blocks will be used.
-
- -- The information returned from
- erlang:system_info({allocator, A}), and
- erlang:system_info({allocator_sizes, A}) will be slightly
- different when this feature has been enabled. An mbcs_pool
- tuple will be present giving information about abandoned
- carriers, and in the fix_alloc case no fix_types tuple will
- be present.
-
- For more information, see the documentation of the +Macul
- command line argument.
-
- OTP-10497 A bug in prim_inet has been corrected. If the port owner was
- killed at a bad time while closing the socket port the port
- could become orphaned hence causing port and socket leaking.
- Reported by Fred Herbert, Dmitry Belyaev and others.
-
- OTP-10941 Compilation fixes for NetBSD. Thanks to YAMAMOTO Takashi.
-
- OTP-10984 Fixed a race condition when using delayed_write when writing
- to a file which would cause the same data to be written
- multiple times.
-
- OTP-10997 Fix small memory leak from tracing with option meta.
-
- OTP-11002 Correct typo in erlsrv usage. Thanks to Bryan Hunter
-
- OTP-11003 ct_run: delete unused function. Thanks to Tuncer Ayaz.
-
- OTP-11008 Change specs for spawn_opt to use the process_level() type
- declaration instead of re-defining it in various places.
- Thanks to Kostis Sagonas.
-
- OTP-11012 Corrections to run_erl/to_erl handshake behaviour.
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
- OTP-11024 Fix typo in type: erlang:process_info_item(). Thanks to
- Andrew Tunnell-Jones.
-
- OTP-11041 Erlang source files with non-ASCII characters are now encoded
- in UTF-8 (instead of latin1).
-
- OTP-11064 Fix src/dest overlap issue in ttsl driver. Thanks to Steve
- Vinoski.
-
- OTP-11074 Optimization of simultaneous inet_db operations on the same
- socket by using a lock free implementation.
-
- Impact on the characteristics of the system: Improved
- performance.
-
- OTP-11075 The high_msgq_watermark and low_msgq_watermark inet socket
- options introduced in OTP-R16A could only be set on TCP
- sockets. These options are now generic and can be set on all
- types of sockets.
-
- OTP-11076 When sending to a port using erlang:send(Port, Msg,
- [nosuspend]), the send operation was performed synchronously.
- This bug has now been fixed.
-
- OTP-11077 A new better algorithm for management of the process, and
- port tables has been introduced.
-
- Impact on the characteristics of the system:
-
- -- The new algorithm ensures that both insert and delete
- operations can be made in O(1) time complexity. Previously
- used algorithm either caused insert or delete to be O(N).
-
- -- The new algorithm will also ensure that reuse of
- identifiers will be less frequent than when the old algorithm
- was used.
-
- -- Previously used algorithm ensured that the latest created
- identifier compared as the largest when comparing two
- identifiers of the same type that had been created on the
- same node as long as no identifiers had been reused. Since
- identifiers can be reused quite fast, one has never been able
- to rely on this property. Due to the introduction of this new
- algorithm this property will not hold even if no identifiers
- has been reused yet. This could be considered as an
- incompatibility.
-
- Due to the above mensioned potential incompatibility, it will
- still be possible to enable the old algorithm for some time.
- The command line argument +P legacy will enable the old
- algorithm on the process table, and +Q legacy will do the
- same for the port table. These command line arguments are
- however deprecated as of their introduction and have been
- scheduled for removal in OTP-R18.
-
- OTP-11080 When converting a faulty binary to a list with
- unicode:characters_to_list, the error return value could
- contain a faulty "rest", i.e. the io_list of characters that
- could not be converted was wrong. This happened only if input
- was a sub binary and conversion was from utf8. This is now
- corrected.
-
- OTP-11084 Runtime system could crash when reporting stale
- driver_select().
-
- OTP-11085 Fix lock order violation for memory instrumentation (+Mim,
- +Mis, +Mit).
-
- OTP-11086 Fixed some compilation warnings on miscellaneous platforms.
- Thanks to Anthony Ramine.
-
- OTP-11088 Support wide characters in the shell through wcwidth().
- Thanks to Anthony Ramine. Reported by Loïc Hoguin.
-
- OTP-11096 Fixed issue when flushing i/o during shutdown on windows
- where the Erlang VM would sometime hang due to a race
- condition.
-
- OTP-11097 Fixed issue where repeated calls to erlang:nodes() could
- cause unnecessary contention in the dist_table lock.
-
- OTP-11098 Added total used memory for each process in erlang crash
- dumps.
-
- OTP-11106 Properly guard WIDE_TAG use with HAVE_WCWIDTH in ttsl_drv.
- Thanks to Anthony Ramine
-
- OTP-11111 Fix some Makefile rules that didn't support silent rules.
- Thanks to Anthony Ramine.
-
- OTP-11125 Added support for hipe on Raspberry Pi (armv6l). Thanks to
- Klaus Alfert.
-
- OTP-11137 Fix receive support in erl_eval with a BEAM module. Thanks to
- Anthony Ramine.
-
- OTP-11146 erlang:now() could suddenly jump ~24 days into the future on
- Windows. This is now corrected. Thanks to Garret Smith for
- reporting and testing fixes.
-
- OTP-11158 Remove 'query' from the list of reserved words in docs.
- Thanks to Matthias Endler and Loïc Hoguin.
-
- OTP-11159 Lift static limitation (FD_SETSIZE) for file descriptors on
- Mac OS X. (Thanks to Anthony Ramine)
-
- OTP-11163 erlang:term_to_binary will now cost an appropriate amount of
- reductions and will interrupt (yield) for reschedule if the
- term is big. This avoids too long schedules when
- term_to_binary is used.
-
- Impact: Programs running term_to_binary on large terms will
- run more smothly, but rescheduling will impact the single
- process performance of the BIF. Single threaded benchmarks
- will show degraded performance of the BIF when called with
- very large terms, while general system behaviour will be
- improved. The overhead for allowing restart and reduction
- counting also degrades local performance of the BIF with
- between 5% and 10% even for small terms.
-
-
---- et-1.4.4.4 ----------------------------------------------------------
-
- OTP-11039 Use erlang:demonitor(Ref, [flush]) where applicable. Thanks
- to Loïc Hoguin.
-
- OTP-11078 Rename and document lists:zf/2 as lists:filtermap/2. Thanks
- to Anthony Ramine.
-
-
---- hipe-3.10.2 ---------------------------------------------------------
-
- OTP-10904 Fix the title of hipe_app documentation page. Thanks to Loïc
- Hoguin.
-
- OTP-10985 Fix native code compiler crash involving bs_match_string.
- Thanks to Kostis Sagonas.
-
- OTP-11031 Loosen the assumptions of code that handles escaping
- functions. Thanks to Kostis Sagonas
-
-
---- ic-4.3.2 ------------------------------------------------------------
-
- OTP-11086 Fixed some compilation warnings on miscellaneous platforms.
- Thanks to Anthony Ramine.
-
-
---- inets-5.9.5 ---------------------------------------------------------
-
- OTP-10934 Fix http_request:http_headers/1 to send content-length when
- length is zero. Thanks to CA Meijer.
-
- OTP-10956 Reverted incorrect commit that broke cookie handling when
- using httpc-profiles.
-
- OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
-
- In order to be able to support elliptic curve cipher suites
- in SSL/TLS, additions to handle elliptic curve infrastructure
- has been added to public_key and crypto.
-
- This also has resulted in a rewrite of the crypto API to gain
- consistency and remove unnecessary overhead. All OTP
- applications using crypto has been updated to use the new
- API.
-
- Impact: Elliptic curve cryptography (ECC) offers equivalent
- security with smaller key sizes than other public key
- algorithms. Smaller key sizes result in savings for power,
- memory, bandwidth, and computational cost that make ECC
- especially attractive for constrained environments.
-
- OTP-11122 Fix {stream, {self, once}} in httpc to work as expected.
- Thanks to Masatake Daimon
-
-
---- kernel-2.16.2 -------------------------------------------------------
-
- OTP-10497 A bug in prim_inet has been corrected. If the port owner was
- killed at a bad time while closing the socket port the port
- could become orphaned hence causing port and socket leaking.
- Reported by Fred Herbert, Dmitry Belyaev and others.
-
- OTP-10689 A few bugs regarding case sensitivity for hostname resolution
- while using e.g the internal lookup types 'file' and 'dns'
- has been corrected. When looking up hostnames ASCII letters
- a-z are to be regarded as the same as A-Z according to RFC
- 4343 "Domain Name System (DNS) Case Insensitivity
- Clarification", and this was not always the case.
-
- OTP-10910 Add application:ensure_started/1,2. It is equivavlent to
- application:start/1,2 except it returns ok for already
- started applications.
-
- OTP-11040 Optimize communication with file io server. Thanks to Anthony
- Ramine.
-
- OTP-11041 Erlang source files with non-ASCII characters are now encoded
- in UTF-8 (instead of latin1).
-
- OTP-11074 Optimization of simultaneous inet_db operations on the same
- socket by using a lock free implementation.
-
- Impact on the characteristics of the system: Improved
- performance.
-
- OTP-11075 The high_msgq_watermark and low_msgq_watermark inet socket
- options introduced in OTP-R16A could only be set on TCP
- sockets. These options are now generic and can be set on all
- types of sockets.
-
- OTP-11104 Fix deep list argument error under Windows in os:cmd/1.
- Thanks to Aleksandr Vinokurov .
-
-
---- megaco-3.17 ---------------------------------------------------------
-
- OTP-10998 A buffer overrun error in the flex scanner could occur when
- scanning property parms.
-
-
---- megaco-3.17.0.1 -----------------------------------------------------
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
-
---- mnesia-4.9 ----------------------------------------------------------
-
- OTP-11030 If mnesia:clear_table/2 was called during a table load on
- that table, the schema record was written to the table
- instead of clearing table.
-
- OTP-11103 Optimize index creation for Mnesia set tables. Thanks to Nick
- Marino.
-
-
---- observer-1.3.1 ------------------------------------------------------
-
- OTP-10604 -- The new Memory field from a crash dump is now presented by
- crashdump viewer, both in the process overview and in the
- process detail page.
-
- -- A summary of blocks- and carriers sizes is added to the
- allocator information page in the crashdump viewer.
-
- OTP-10894 Some bugs related to calculation of CPU/scheduler utilization
- in observer are corrected.
-
- Current function for a process is accepted to be 'undefined'
- when running hipe.
-
- OTP-10929 Use "open" as default browser for crashdump viewer on Mac OS
- X. Thanks to Magnus Henoch.
-
- OTP-10931 Fix observer table viewer crash on formatting improper lists.
- Thanks to Andrey Tsirulev
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
- OTP-11136 Add processes state view in observer. Thanks to Eric
- Pailleau.
-
-
---- odbc-2.10.16 --------------------------------------------------------
-
- OTP-10993 Fix a 64bit related bug in odbcserver. Thanks to Satoshi
- Kinoshita.
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
- OTP-11126 Fix checking for odbc in standard locations when "with-odbc"
- flag present. Thanks to Alexey Saltanov.
-
-
---- orber-3.6.26 --------------------------------------------------------
-
- OTP-10675 Fix bug in corbaloc/corbaname over ssl.
-
-
---- orber-3.6.26.1 ------------------------------------------------------
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
-
---- os_mon-2.2.12 -------------------------------------------------------
-
- OTP-10941 Compilation fixes for NetBSD. Thanks to YAMAMOTO Takashi.
-
- OTP-10945 Fixed disksup:get_disk_data for SUSv3, specifically OS X ML.
- Thanks to Sriram Melkote.
-
-
---- percept-0.8.8.1 -----------------------------------------------------
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
-
---- public_key-0.19 -----------------------------------------------------
-
- OTP-10873 Add support for ISO oids 1.3.14.3.2.29 and 1.3.14.3.2.27 that
- are somtimes used instead of the PKCS defined oids
- 1.2.840.113549.1.1.5 and 1.2.840.10040.4.3. Add function
- pkix_sign_types:/1 that translates oids to to algorithm atoms
- ex:
-
- > public_key:pkix_sign_types({1,3,14,3,2,29}). {sha,rsa}
-
- OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
-
- In order to be able to support elliptic curve cipher suites
- in SSL/TLS, additions to handle elliptic curve infrastructure
- has been added to public_key and crypto.
-
- This also has resulted in a rewrite of the crypto API to gain
- consistency and remove unnecessary overhead. All OTP
- applications using crypto has been updated to use the new
- API.
-
- Impact: Elliptic curve cryptography (ECC) offers equivalent
- security with smaller key sizes than other public key
- algorithms. Smaller key sizes result in savings for power,
- memory, bandwidth, and computational cost that make ECC
- especially attractive for constrained environments.
-
-
---- reltool-0.6.4 -------------------------------------------------------
-
- OTP-10988 Reltool used to fail if an application was mentioned in the
- config file which was not found in the file system, even if
- the application was explicitly excluded in the config. This
- has been changed and will only produce a warning. If the
- application is not explicitly excluded it will still cause
- reltool to fail. Thanks to Håkan Mattsson!
-
- OTP-11099 Fix possibly "not owner" error while file copy with reltool.
- Thanks to Alexey Saltanov.
-
- OTP-11137 Fix receive support in erl_eval with a BEAM module. Thanks to
- Anthony Ramine.
-
-
---- runtime_tools-1.8.11 ------------------------------------------------
-
- OTP-10894 Some bugs related to calculation of CPU/scheduler utilization
- in observer are corrected.
-
- Current function for a process is accepted to be 'undefined'
- when running hipe.
-
- OTP-11041 Erlang source files with non-ASCII characters are now encoded
- in UTF-8 (instead of latin1).
-
-
---- safe-1.2.9 ----------------------------------------------------------
-
- OTP-11083 Fix value assignment for trend parameter
-
- OTP-11094 Changed API for ccb augmentation
-
-
---- sasl-2.3.2 ----------------------------------------------------------
-
- OTP-11137 Fix receive support in erl_eval with a BEAM module. Thanks to
- Anthony Ramine.
-
-
---- snmp-4.24 -----------------------------------------------------------
-
- OTP-11004 Fix SNMP gitignore files. Thanks to Anthony Ramine.
-
- OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
-
- In order to be able to support elliptic curve cipher suites
- in SSL/TLS, additions to handle elliptic curve infrastructure
- has been added to public_key and crypto.
-
- This also has resulted in a rewrite of the crypto API to gain
- consistency and remove unnecessary overhead. All OTP
- applications using crypto has been updated to use the new
- API.
-
- Impact: Elliptic curve cryptography (ECC) offers equivalent
- security with smaller key sizes than other public key
- algorithms. Smaller key sizes result in savings for power,
- memory, bandwidth, and computational cost that make ECC
- especially attractive for constrained environments.
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
- OTP-11101 [snmp/agent] Introduced the mib-server data module behaviour.
-
- OTP-11107 [snmp/agent] Introduced a documented mib-storage behaviour.
- This will allow users to implement alternative storage
- methods.
-
-
---- ssh-2.1.6 -----------------------------------------------------------
-
- OTP-10940 Fixed timing rekeying bug.
-
-
---- ssh-2.1.7 -----------------------------------------------------------
-
- OTP-10975 ssh:daemon will get feeded with an argument even if it is not
- a valid expression.
-
- OTP-10983 Properly ignore everything in lib/ssh/doc/html/. Thanks to
- Anthony Ramine.
-
- OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
-
- In order to be able to support elliptic curve cipher suites
- in SSL/TLS, additions to handle elliptic curve infrastructure
- has been added to public_key and crypto.
-
- This also has resulted in a rewrite of the crypto API to gain
- consistency and remove unnecessary overhead. All OTP
- applications using crypto has been updated to use the new
- API.
-
- Impact: Elliptic curve cryptography (ECC) offers equivalent
- security with smaller key sizes than other public key
- algorithms. Smaller key sizes result in savings for power,
- memory, bandwidth, and computational cost that make ECC
- especially attractive for constrained environments.
-
-
---- ssl-5.3 -------------------------------------------------------------
-
- OTP-10450 Add support for PSK (Pre Shared Key) and SRP (Secure Remote
- Password) chipher suits, thanks to Andreas Schultz.
-
- OTP-10905 Honor the versions option to ssl:connect and ssl:listen.
-
- OTP-10909 Next protocol negotiation with reused sessions will now
- succeed
-
- OTP-10955 Fix SSL Next Protocol Negotiation documentation. Thanks to
- Julien Barbot.
-
- OTP-10980 Fix ssl_connection to support reading proxy/chain
- certificates. Thanks to Valentin Kuznetsov.
-
- OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
-
- In order to be able to support elliptic curve cipher suites
- in SSL/TLS, additions to handle elliptic curve infrastructure
- has been added to public_key and crypto.
-
- This also has resulted in a rewrite of the crypto API to gain
- consistency and remove unnecessary overhead. All OTP
- applications using crypto has been updated to use the new
- API.
-
- Impact: Elliptic curve cryptography (ECC) offers equivalent
- security with smaller key sizes than other public key
- algorithms. Smaller key sizes result in savings for power,
- memory, bandwidth, and computational cost that make ECC
- especially attractive for constrained environments.
-
-
---- stdlib-1.19.2 -------------------------------------------------------
-
- OTP-10938 Delete obsolete note about simple-one-for-one supervisor.
- Thanks to Magnus Henoch.
-
- OTP-10951 When selecting encoding of a script written in Erlang
- (escript) the optional directive on the second line is now
- recognized.
-
- OTP-10990 The Erlang scanner no longer accepts floating point numbers
- in the input string.
-
- OTP-10992 The function erl_parse:abstract/2 has been documented.
-
- OTP-11009 Integrate elliptic curve contribution from Andreas Schultz
-
- In order to be able to support elliptic curve cipher suites
- in SSL/TLS, additions to handle elliptic curve infrastructure
- has been added to public_key and crypto.
-
- This also has resulted in a rewrite of the crypto API to gain
- consistency and remove unnecessary overhead. All OTP
- applications using crypto has been updated to use the new
- API.
-
- Impact: Elliptic curve cryptography (ECC) offers equivalent
- security with smaller key sizes than other public key
- algorithms. Smaller key sizes result in savings for power,
- memory, bandwidth, and computational cost that make ECC
- especially attractive for constrained environments.
-
- OTP-11013 Added sys:get_state/1,2 and sys:replace_state/2,3. Thanks to
- Steve Vinoski.
-
- OTP-11025 Optimizations to gen mechanism. Thanks to Loïc Hoguin.
-
- OTP-11035 Optimizations to gen.erl. Thanks to Loïc Hoguin.
-
- OTP-11039 Use erlang:demonitor(Ref, [flush]) where applicable. Thanks
- to Loïc Hoguin.
-
- OTP-11041 Erlang source files with non-ASCII characters are now encoded
- in UTF-8 (instead of latin1).
-
- OTP-11042 Fix rest_for_one and one_for_all restarting a child not
- terminated. Thanks to James Fish.
-
- OTP-11053 Fix excessive CPU consumption of timer_server. Thanks to
- Aliaksey Kandratsenka.
-
- OTP-11078 Rename and document lists:zf/2 as lists:filtermap/2. Thanks
- to Anthony Ramine.
-
- OTP-11079 Fixed an inconsistent state in epp. Thanks to Anthony Ramine
-
- OTP-11080 When converting a faulty binary to a list with
- unicode:characters_to_list, the error return value could
- contain a faulty "rest", i.e. the io_list of characters that
- could not be converted was wrong. This happened only if input
- was a sub binary and conversion was from utf8. This is now
- corrected.
-
- OTP-11100 The type hook_function() has been corrected in erl_pp, the
- Erlang Pretty Printer.
-
- The printing of invalid forms, e.g. record field types, has
- also been fixed. It has been broken since R16B.
-
- (Thanks to Tomáš Janoušek.)
-
- OTP-11108 c:ls(File) will now print File, similar to ls(1) in Unix. The
- error messages have also been improved. (Thanks to Bengt
- Kleberg.)
-
- OTP-11137 Fix receive support in erl_eval with a BEAM module. Thanks to
- Anthony Ramine.
-
- OTP-11140 Support callback attributes in erl_pp. Thanks to Anthony
- Ramine.
-
- OTP-11143 Improve erl_lint performance. Thanks to José Valim.
-
-
---- test_server-3.6.2 ---------------------------------------------------
-
- OTP-10607 Some unused code related to remote targets is removed, and
- documentation is updated.
-
- OTP-10856 The '-force_stop' flag to use with time-limited repeats of
- test runs can now be used with a new 'skip_rest' option which
- causes the rest of the test cases in the ongoing test job to
- be skipped when the time limit is reached. E.g. 'ct_run -spec
- xxx -duration 010000 -force_stop skip_rest'
-
- OTP-10991 A bug in test_server_gl caused io requests containing invalid
- data (i.e. not unicode:chardata()) to hang, since no io reply
- was sent. This has been corrected.
-
- OTP-11052 Common Test would, in case of timetrap error, print a warning
- in the log if end_per_testcase wasn't implemented in the
- suite, even though it's an optional function. This printout
- has been removed.
-
-
---- tools-2.6.11 --------------------------------------------------------
-
- OTP-10902 Make cover smarter about finding source from beam.
-
- In particular, search using the source path in module_info if
- the current heuristic fails.
-
- OTP-10930 Remove Flymake dependency in erlang-pkg.el. Thanks to Magnus
- Henoch.
-
- OTP-10979 When cover:stop(Node) was called on a non-existing node, a
- process waiting for cover data from the node would hang
- forever. This has been corrected.
-
- OTP-10999 Erlang-mode: Add autoload cookies for file extension
- associations. Thanks to Magnus Henoch.
-
- OTP-11016 Postscript files no longer needed for the generation of PDF
- files have been removed.
-
- OTP-11028 Fix a race condition when there're several applications in
- apps directory. Thanks to Manuel Rubio.
-
- OTP-11144 New option for eprof, 'set_on_spawn'. This option was
- previously always on and is also the default.
-
-
diff --git a/otp_src_R16B02.readme b/otp_src_R16B02.readme
new file mode 100644
index 0000000..8a7db52
--- /dev/null
+++ b/otp_src_R16B02.readme
@@ -0,0 +1,640 @@
+Bug fix release : otp_src_R16B02
+Build date : 2013-09-17
+
+This is R16B02, the second maintenance release for the R16B major release.
+
+You can find the README file for the release at
+
+ http://www.erlang.org/download/otp_src_R16B02.readme (this file)
+
+The source distribution and binary distributions for Windows can be
+downloaded from
+
+ http://www.erlang.org/download/otp_src_R16B02.tar.gz
+ http://www.erlang.org/download/otp_win32_R16B02.exe
+ http://www.erlang.org/download/otp_win64_R16B02.exe
+
+Note: To unpack the TAR archive you need a GNU TAR compatible program.
+
+For installation instructions please read the README file that is part
+of the distribution.
+
+The on-line documentation can be found at: http://www.erlang.org/doc/
+You can also download the complete HTML documentation or the Unix manual files
+
+ http://www.erlang.org/download/otp_doc_html_R16B02.tar.gz
+ http://www.erlang.org/download/otp_doc_man_R16B02.tar.gz
+
+We also want to thank those that sent us patches, suggestions and bug reports,
+
+The OTP Team
+
+
+--- otp -----------------------------------------------------------------
+
+ OTP-11221 A new test scope has been added which is meant to be used for
+ making sure that the Erlang VM and other platform specific
+ libraries have been compiled correctly for you system. The
+ tests are executed just as normal tests, only that you use
+ ts:smoke_test instead of ts:run. See ts:help() for more
+ details.
+
+ OTP-11288 configure now accepts any Erlang/OTP applications as an
+ option to the --without flag. For more details see the
+ Installation Guide for more details.
+
+
+--- asn1-2.0.3 ----------------------------------------------------------
+
+ OTP-11193 The format of the xml source for documentation is corrected
+ in order to conform to the DTDs and to pass xmllint without
+ errors.
+
+ OTP-11300 For the PER and UPER formats, code generation especially for
+ encoding has been improved.
+
+ When encoding BIT STRINGs, values longer than the maximum
+ size for the BIT STRING type would be truncated silently -
+ they now cause an exception.
+
+ Open types greater than 16383 bytes will now be correctly
+ encoded and decoded.
+
+ IMPORTANT NOTE: For ASN.1 specifications that depend on each
+ other, such as the S1AP-* specifications, it is important to
+ recompile all specifications (compiling some with this
+ version of the compiler and some with an older version will
+ not work).
+
+
+--- common_test-1.7.3 ---------------------------------------------------
+
+ OTP-11132 Documentation is added for ct_netconfc:send and
+ ct_netconfc:send_rpc.
+
+ OTP-11166 ct_netconfc:create_subscription only allowed one XML element
+ inside the 'filter' element. According to RFC5277 it should
+ be allowed to add any number of elements inside the filter,
+ so this is now corrected.
+
+ OTP-11175 The error handler installed by the Common Test hook
+ cth_log_redirect did not respond to init:stop/1/2. This has
+ been corrected.
+
+ OTP-11176 Calling ct:pal/2 or ct:print/2 when Common Test was not
+ running, would cause an exit. This has been changed and the
+ string is now simply printed to stdout instead.
+
+ OTP-11193 The format of the xml source for documentation is corrected
+ in order to conform to the DTDs and to pass xmllint without
+ errors.
+
+ OTP-11238 Fixed problem with the cth_log_redirect hook making calls to
+ an undefined function in ct_logs.
+
+ OTP-11244 When running tests with the 'repeat' option, the Common Test
+ utility process did not always terminate quickly enough after
+ a test run, causing the start of the next run to fail. A
+ monitor is now used to ensure termination of the utility
+ process after each test run.
+
+ OTP-11263 Test Server installed an error handler (test_server_h) only
+ to be able to write the name of the current test case to
+ stdout whenever it received an error- or progress report.
+ This functionality was not useful and has been removed. The
+ built-in Common Test hook, cth_log_redirect, has instead been
+ improved to now also tag all error- and progress reports in
+ the log with suite-, group-, and/or test case name.
+
+ OTP-11272 A new log, the "Pre- and Post Test I/O Log", has been
+ introduced, which makes it possible to capture error- and
+ progress reports, as well as printouts made with ct:log/2 and
+ ct:pal/2, before and after a test run. (Some minor
+ improvements of the logging system have been made at the same
+ time). Links to the new log are found on the Common Test
+ Framework Log page. The Common Test User's Guide has been
+ updated with information about the new log and also with a
+ new section on how to synchronize external applications with
+ Common Test by means of the CT Hook init and terminate
+ functions.
+
+
+--- compiler-4.9.3 ------------------------------------------------------
+
+ OTP-11201 Fix matching of floating point middle-endian machines. Thanks
+ to Johannes Weissl.
+
+ OTP-11211 Restrict inlining of local fun references. Thanks to Anthony
+ Ramine.
+
+ OTP-11212 Silence a misleading warning with some comprehensions. Thanks
+ to Anthony Ramine.
+
+ OTP-11240 Expressions such as 'B = is_integer(V), if B and B -> ok end'
+ would crash the compiler.
+
+ OTP-11247 Forbid returning a match context in beam_validator. Thanks to
+ Anthony Ramine.
+
+ OTP-11304 compile:file2/2 with the option report_errors could return
+ ErrorInfo tuples with only two elements, while the
+ documentation says that the ErrorInfo tuple always has three
+ elements. Also updated the documentation to add that the
+ first element may be 'none' if no line number is applicable.
+
+
+--- crypto-3.1 ----------------------------------------------------------
+
+ OTP-11320 Refactor ecdsa cipher to simplify code and improve
+ performance.
+
+
+--- debugger-3.2.12 -----------------------------------------------------
+
+ OTP-11201 Fix matching of floating point middle-endian machines. Thanks
+ to Johannes Weissl.
+
+
+--- diameter-1.4.3 ------------------------------------------------------
+
+ OTP-11172 Fix UTF8String encode.
+
+ Encode now accepts any nested list of codepoints and
+ binaries. A list containing a binary was previously
+ misinterpreted and the documentation was incomplete.
+
+ OTP-11184 Ensure DWR isn't sent immediately after DWA.
+
+ This was possible if the timing was unfortunate. An incoming
+ DWR now properly resets the watchdog timer.
+
+ OTP-11293 Fix faulty encode of Failed-AVP
+
+ Reception of a CER, DWR or DPR that has decode failures
+ caused encode of the corresponding answer message to fail.
+
+ OTP-11299 Fix broken service_opt() spawn_opt.
+
+ The option was ignored.
+
+
+--- edoc-0.7.12.1 -------------------------------------------------------
+
+ OTP-11310 The encoding of the notes.xml file has been changed from
+ latin1 to utf-8 to avoid future merge problems.
+
+
+--- erl_docgen-0.3.4.1 --------------------------------------------------
+
+ OTP-11193 The format of the xml source for documentation is corrected
+ in order to conform to the DTDs and to pass xmllint without
+ errors.
+
+ OTP-11310 The encoding of the notes.xml file has been changed from
+ latin1 to utf-8 to avoid future merge problems.
+
+
+--- erl_interface-3.7.14 ------------------------------------------------
+
+ OTP-11196 Introduced functionality for inspection of system and build
+ configuration.
+
+ OTP-11284 Header and library files from ic and erl_interface are now
+ installed into usr/{include,lib}. Note that these directories
+ are unversioned, so the latest installed version will be the
+ one in the directory.
+
+ OTP-11289 Fix location of true binary under Mac OSX. Thanks to Simon
+ Cornish.
+
+
+--- erts-5.10.3 ---------------------------------------------------------
+
+ OTP-11090 The documentation of predefined types and built-in types has
+ been corrected.
+
+ OTP-11157 There is a new somewhat experimental socket option 'netns'
+ that can set the network namespace for a socket on Linux:es
+ where it is supported. See the documentation.
+
+ OTP-11174 New allocator strategy aoffcbf (address order first fit
+ carrier best fit). Supports carrier migration but with better
+ CPU performance than aoffcaobf.
+
+ OTP-11196 Introduced functionality for inspection of system and build
+ configuration.
+
+ OTP-11201 Fix matching of floating point middle-endian machines. Thanks
+ to Johannes Weissl.
+
+ OTP-11206 Fix changing terminal parameters in to_erl
+
+ Change the behaviour of to_erl to use TCSADRAIN instead of
+ TCSANOW when changing terminal parameters. This makes the
+ serial driver wait for the output queues to be empty before
+ applying the terminal parameter change. Thanks to Stefan
+ Zegenhagen.
+
+ OTP-11214 Fix compile error on ARM and GCC versions greater than 4.1.0.
+ Thanks to Johannes Weissl.
+
+ OTP-11215 run_erl: Redirect standard streams to /dev/null. Thanks to
+ Johannes Weissl.
+
+ OTP-11218 The default value of {flush, boolean()} in erlang:halt/2 is
+ documented to be 'true' if the status is an integer. The
+ implementation behaviour was reversed. The Implementation is
+ now corrected to adhere to the documentation. Thanks to Jose
+ Valim for reporting the error.
+
+ OTP-11225 Fix serious race bug in R16B01 that could cause PID mix-ups
+ when a lot of processes were spawned and terminated in a very
+ rapid pace on an SMP emulator with at least two scheduler
+ threads.
+
+ OTP-11227 Misc. corrections in documentation for erl_driver. Thanks to
+ Giacomo Olgeni.
+
+ OTP-11232 Validating a trace pattern with the option silent no longer
+ incorrectly enables/disables the silent option of the calling
+ process.
+
+ OTP-11239 Fix documentation regarding binary_part.
+
+ OTP-11246 Fixed a bug where GCC 4.8 and later use a more aggressive
+ loop optimization algorithm that broke some previously
+ working code in the efile driver. Thanks to Tomas Abrahamsson
+ for reporting this issue.
+
+ OTP-11251 Make edlin understand a few important control keys. Thanks to
+ Stefan Zegenhagen.
+
+ OTP-11264 Fixed bug when printing memory allocator acul option in crash
+ dump.
+
+ OTP-11265 Opening a new compressed file on Windows could in rare
+ (random) cases result in {error,eisdir} or other error codes
+ although it should have succeeded. This is now corrected.
+
+ OTP-11278 Export type zlib:zstream/0. Thanks to Loic Hoguin.
+
+ OTP-11282 Add erl option to set schedulers by percentages.
+
+ For applications where measurements show enhanced performance
+ from the use of a non-default number of emulator scheduler
+ threads, having to accurately set the right number of
+ scheduler threads across multiple hosts each with different
+ numbers of logical processors is difficult because the erl +S
+ option requires absolute numbers of scheduler threads and
+ scheduler threads online to be specified.
+
+ To address this issue, add a +SP option to erl, similar to
+ the existing +S option but allowing the number of scheduler
+ threads and scheduler threads online to be set as percentages
+ of logical processors configured and logical processors
+ available, respectively. For example, "+SP 50:25" sets the
+ number of scheduler threads to 50% of the logical processors
+ configured, and the number of scheduler threads online to 25%
+ of the logical processors available. The +SP option also
+ interacts with any settings specified with the +S option,
+ such that the combination of options "+S 4:4 +SP 50:50" (in
+ either order) results in 2 scheduler threads and 2 scheduler
+ threads online.
+
+ Thanks to Steve Vinoski
+
+ OTP-11290 Fixed a race condition when closing a trace port that would
+ cause the emulator to crash.
+
+ OTP-11303 Extend erl_driver interface with lock names
+
+ Lock and thread names are already a feature in the driver
+ interface. This extension will let developers read these
+ names which eases debugging.
+
+ OTP-11311 Fix incorrect values returned by integer_to_binary/2. Thanks
+ to Juan Jose Comellas.
+
+ OTP-11317 Fix system_flag scheduling_statistics - disable . Thanks to
+ Steve Vinoski.
+
+ OTP-11321 The documentation of predefined types has been corrected
+ Thanks to Kostis Sagonas.
+
+
+--- et-1.4.4.5 ----------------------------------------------------------
+
+ OTP-11310 The encoding of the notes.xml file has been changed from
+ latin1 to utf-8 to avoid future merge problems.
+
+
+--- eunit-2.2.5 ---------------------------------------------------------
+
+ OTP-11217 Wrap eunit macros into begin ... end blocks. Thanks to
+ Anthony Ramine.
+
+
+--- hipe-3.10.2.1 -------------------------------------------------------
+
+ OTP-11310 The encoding of the notes.xml file has been changed from
+ latin1 to utf-8 to avoid future merge problems.
+
+
+--- ic-4.3.3 ------------------------------------------------------------
+
+ OTP-11284 Header and library files from ic and erl_interface are now
+ installed into usr/{include,lib}. Note that these directories
+ are unversioned, so the latest installed version will be the
+ one in the directory.
+
+
+--- inets-5.9.6 ---------------------------------------------------------
+
+ OTP-11190 httpc: Allow content body in DELETE requests. Thanks to James
+ Wheare.
+
+ OTP-11202 Add missing brackets to report formatting on ftp_progress
+ process exit. Thanks to Artur Wilniewczyc.
+
+ OTP-11210 Fix some errors in the inets documentation. Thanks to
+ Johannes Weissl.
+
+ OTP-11226 Fix various typos in httpd, inets. Thanks to Tomohiko Aono.
+
+ OTP-11260 Fix httpd config option 'erl_script_nocache'. Thanks to
+ Johannes Weissl.
+
+
+--- kernel-2.16.3 -------------------------------------------------------
+
+ OTP-10676 The previous undocumented function ntoa/1 has been added to
+ inet docs and exported in the inet module.
+
+ OTP-11209 Fix indentation of User switch command help in Erlang shell.
+ Thanks to Sylvain Benner.
+
+ OTP-11219 Fix typo in abcast() function comment. Thanks to Johannes
+ Weissl.
+
+ OTP-11250 Add application:ensure_all_started/1-2. Thanks to Fred
+ Hebert.
+
+ OTP-11251 Make edlin understand a few important control keys. Thanks to
+ Stefan Zegenhagen.
+
+ OTP-11301 Cleanup of hipe_unified_loader, eliminating uses of
+ is_subtype/2 in specs, change module-local void functions to
+ return 'ok' instead of [] and made sure there are no dialyzer
+ warnings with --Wunmatched_returns. Thanks to Kostis Sagonas.
+
+
+--- megaco-3.17.0.2 -----------------------------------------------------
+
+ OTP-11196 Introduced functionality for inspection of system and build
+ configuration.
+
+
+--- mnesia-4.10 ---------------------------------------------------------
+
+ OTP-10957 Fix timing issues in checkpoint creation.
+
+ OTP-11241 Fixed a problem where the fallback BUP file is removed when
+ calling mnesia:uninstall_fallback and mnesia is not started.
+
+
+--- observer-1.3.1.1 ----------------------------------------------------
+
+ OTP-11310 The encoding of the notes.xml file has been changed from
+ latin1 to utf-8 to avoid future merge problems.
+
+
+--- odbc-2.10.17 --------------------------------------------------------
+
+ OTP-11193 The format of the xml source for documentation is corrected
+ in order to conform to the DTDs and to pass xmllint without
+ errors.
+
+ OTP-11196 Introduced functionality for inspection of system and build
+ configuration.
+
+ OTP-11233 Prevent odbcserver crash if it's executed and supplied
+ incorrect data to stdin. Thanks to Sergei Golovan.
+
+
+--- os_mon-2.2.13 -------------------------------------------------------
+
+ OTP-11207 Use 'df -k -l' to query FreeBSD and OpenBSD about diskspace
+ on local disks. Previously 'df' -k -t ufs' was used but this
+ will not handle zfs or other disks. Just use '-l' instead of
+ listing potential filesystems.
+
+ OTP-11213 Fix compilation on Solaris. Thanks to Maciej Malecki.
+
+ OTP-11298 Fix broken cpu_sup:nprocs and others on Solaris 64-bit.
+ Thanks to Simon Cornish.
+
+
+--- parsetools-2.0.10 ---------------------------------------------------
+
+ OTP-11269 A bug causing Yecc to generate badly formed parsers when
+ encountering very simple recursive rules has been fixed.
+ (Thanks to Eric Pailleau.)
+
+ OTP-11286 A bug where Unicode filenames combined with Latin-1 encoding
+ could crash Yecc and Leex has been fixed.
+
+ OTP-11313 Fix leex module`s inability to build unicode-aware lexers.
+ Thanks to Pierre Fenoll.
+
+
+--- percept-0.8.8.2 -----------------------------------------------------
+
+ OTP-11310 The encoding of the notes.xml file has been changed from
+ latin1 to utf-8 to avoid future merge problems.
+
+
+--- public_key-0.20 -----------------------------------------------------
+
+ OTP-10874 Extend PKCS-7 to support SCEP (Simple Certificate Enrollment
+ Protocol).
+
+ OTP-11281 public_key:pem_entry_decode/2 now handles AES-128-CBC
+ ciphered keys. Thanks to Simon Cornish.
+
+
+--- reltool-0.6.4.1 -----------------------------------------------------
+
+ OTP-11310 The encoding of the notes.xml file has been changed from
+ latin1 to utf-8 to avoid future merge problems.
+
+
+--- runtime_tools-1.8.12 ------------------------------------------------
+
+ OTP-11196 Introduced functionality for inspection of system and build
+ configuration.
+
+ OTP-11222 The process trace flag 'silent' is now allowed in call to
+ dbg:p/2.
+
+
+--- sasl-2.3.3 ----------------------------------------------------------
+
+ OTP-11252 Add Fd usage in rb logging. Thanks to Eric Pailleau.
+
+
+--- snmp-4.24.1 ---------------------------------------------------------
+
+ OTP-11177 [agent] Reading the value of the vacmViewTreeFamilyMask
+ returs it in the wrong (internal) format. The vacmViewTreeFamilyMask
+ is defined to be a bit string in the MIB (OCTET STRING).
+ Internally a bitlist (list of 1's and 0's) is used. However,
+ the MIB implementation assumed the latter, effectively rendering
+ all attempts to read/set masks via SNMP unsuccessful. Since
+ the mask is used in hot paths (e.g. access permission checks
+ for each SNMP operation, the bitlist representation of the
+ mask has benefits (e.g. faster processing). Reading/writing
+ the view mask objects is less time-critical. Therefore,
+ to fix the issue, convert between bitlist representation
+ and bitstring when the vacmViewTreeFamilyMask objects are
+ accessed.
+
+ OTP-11192 [agent] The counter increment function in the local-db was
+ incorrect. It did not handle counter wrap correctly.
+
+
+--- snmp-4.24.2 ---------------------------------------------------------
+
+ OTP-11216 [agent] Improved documentation for the functions for loading
+ and unloading mibs, see snmpa:load_mibs/1,2,3 and
+ snmpa:unload_mibs/1,2,3 for more info.
+ Also added new functions for loading and unloading a
+ single mib, see snmpa:load_mib/1,2 and snmpa:unload_mib/1,2
+ for more info.
+
+
+--- ssh-2.1.8 -----------------------------------------------------------
+
+ OTP-11189 Do not chmod ~/.ssh unnecessarily.
+
+ OTP-11199 Make ssh_cli.erl handle CTRL+C. Thanks to Stefan Zegenhagen.
+
+ OTP-11249 Clarified timeout options in documentation.
+
+ OTP-11256 Add openssh_zlib compression type to ssh_transport. Thanks to
+ Louis-Philippe Gauthier.
+
+
+--- ssl-5.3.1 -----------------------------------------------------------
+
+ OTP-11228 Setopts during renegotiation caused the renegotiation to be
+ unsuccessful.
+
+ If calling setopts during a renegotiation the FSM state might
+ change during the handling of the setopts messages, this is
+ now handled correctly.
+
+ OTP-11229 Now handles signature_algorithm field in digitally_signed
+ properly with proper defaults. Prior to this change some
+ elliptic curve cipher suites could fail reporting the error
+ "bad certificate".
+
+ OTP-11230 The code emulating the inet header option was changed in the
+ belief that it made it inet compatible. However the testing
+ is a bit hairy as the inet option is actually broken, now the
+ tests are corrected and the header option should work in the
+ same broken way as inet again, preferably use the bitsyntax
+ instead.
+
+ OTP-11255 Make the ssl manager name for erlang distribution over
+ SSL/TLS relative to the module name of the ssl_manager.
+
+ This can be beneficial when making tools that rename modules
+ for internal processing in the tool.
+
+ OTP-11271 Add documentation regarding log_alert option.
+
+
+--- stdlib-1.19.3 -------------------------------------------------------
+
+ OTP-11200 Fixed type typo in gen_server.
+
+ OTP-11208 Update type specs in filelib and io_prompt. Thanks to Jose
+ Valim.
+
+ OTP-11219 Fix typo in abcast() function comment. Thanks to Johannes
+ Weissl.
+
+ OTP-11245 The functions dets:foldl/3, dets:foldr/3, and dets:traverse/2
+ did not release the table after having traversed the table to
+ the end. The bug was introduced in R16B. (Thanks to Manuel
+ Duran Aguete.)
+
+ OTP-11251 Make edlin understand a few important control keys. Thanks to
+ Stefan Zegenhagen.
+
+ OTP-11254 If the fun M:F/A construct was used erroneously the linter
+ could crash. (Thanks to Mikhail Sobolev.)
+
+ OTP-11261 The specifications of io_lib:fread/2,3 have been corrected.
+ (Thanks to Chris King and Kostis Sagonas for pinpointing the
+ bug.)
+
+ OTP-11266 Export the edge/0 type from the digraph module. Thanks to
+ Alex Ronne Petersen.
+
+ OTP-11268 Fix variable usage tracking in erl_lint and fixed unsafe
+ variable tracking in try expressions. Thanks to Anthony
+ Ramine.
+
+
+--- test_server-3.6.3 ---------------------------------------------------
+
+ OTP-11263 Test Server installed an error handler (test_server_h) only
+ to be able to write the name of the current test case to
+ stdout whenever it received an error- or progress report.
+ This functionality was not useful and has been removed. The
+ built-in Common Test hook, cth_log_redirect, has instead been
+ improved to now also tag all error- and progress reports in
+ the log with suite-, group-, and/or test case name.
+
+ OTP-11272 A new log, the "Pre- and Post Test I/O Log", has been
+ introduced, which makes it possible to capture error- and
+ progress reports, as well as printouts made with ct:log/2 and
+ ct:pal/2, before and after a test run. (Some minor
+ improvements of the logging system have been made at the same
+ time). Links to the new log are found on the Common Test
+ Framework Log page. The Common Test User's Guide has been
+ updated with information about the new log and also with a
+ new section on how to synchronize external applications with
+ Common Test by means of the CT Hook init and terminate
+ functions.
+
+
+--- tools-2.6.12 --------------------------------------------------------
+
+ OTP-11198 Remove trailing spaces in Emacs templates. Thanks to Roberto
+ Aloi.
+
+ OTP-11242 Fixed the Emacs erlang-mode to accommodate the coding style
+ where lists written across several lines have each line
+ starting with a comma. Thanks to Magnus Henoch.
+
+ OTP-11270 Make the Emacs Erlang mode TRAMP-aware when compiling. Thanks
+ to Tomas Abrahamsson.
+
+
+--- wx-1.1 --------------------------------------------------------------
+
+ OTP-11196 Introduced functionality for inspection of system and build
+ configuration.
+
+ OTP-11279 Fix return value in wxStatusBar:getFieldRect/2 and add
+ wxClipboardTextEvent and wxPanel:setFocusIgnoringChildren/1.
+
+
+--- xmerl-1.3.4 ---------------------------------------------------------
+
+ OTP-11224 Fixed various typos in xmerl documentation. Thanks to David
+ Welton.
+
+
diff --git a/sources b/sources
index edb6a9f..a5032de 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
-266b95db35560e505c9f69cc3e539e41 otp_src_R16B01.tar.gz
-288fd4066ae07fa3ca23043a31826d46 otp_doc_html_R16B01.tar.gz
-951be958bc9af55df6062165cf21fe1f otp_doc_man_R16B01.tar.gz
-8d0757af41f545b757ac71125b2b6488 otp_src_R16B01.readme
+5bd028771290eacbc075ca65a63749e6 otp_doc_html_R16B02.tar.gz
+fe3ff42375090d33ce1ba98c28218cf3 otp_doc_man_R16B02.tar.gz
+fe73334b75669fac4c3c400ceab064c8 otp_src_R16B02.readme
+ca63bcde0e5ae0f2df9457f97b3115a4 otp_src_R16B02.tar.gz
From 491da303c1ed9b2a07920ca00794391d15bf7c5f Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 24 Oct 2013 11:15:43 +0400
Subject: [PATCH 011/322] Fix building for armv7hl (patch taken from OpenSUSE
repository)
Signed-off-by: Peter Lemenkov
---
erlang.spec | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index fb7c46d..9d3719b 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -24,7 +24,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.1%{?dist}.1
+Release: %{upstream_rel_for_rpm}.2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -940,8 +940,9 @@ Erlang mode for XEmacs (source lisp files).
%patch8 -p1 -b .fix_armv7hl_hipe
# end of autogenerated prep patch list
+# FIXME we should come up with a better solution
# remove shipped zlib sources
-rm -f erts/emulator/zlib/*.[ch]
+#rm -f erts/emulator/zlib/*.[ch]
# Fix 664 file mode
chmod 644 lib/kernel/examples/uds_dist/c_src/Makefile
@@ -953,6 +954,9 @@ chmod 644 lib/ssl/examples/src/Makefile
rm -f lib/ssl/examples/certs/etc/otpCA/index.txt.old
rm -f lib/ssl/examples/certs/etc/erlangCA/index.txt.old
+# Reconfigure everything to apply changes to the autotools templates
+./otp_build autoconf
+
%build
%ifarch sparcv9 sparc64
@@ -2264,6 +2268,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Oct 24 2013 Peter Lemenkov - R16B-02.2
+- Fix building for armv7hl (patch taken from OpenSUSE repository)
+
* Thu Sep 26 2013 Peter Lemenkov - R16B-02.1
- Ver. R16B02 (see rhbz #1009502)
- Increase erlang(erl_drv_version) from 2.1 to 2.2 (drivers needs rebuilding)
From a4b4d0bf9f48b857ab35fa39c06c33c10bf2c40f Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 24 Oct 2013 16:46:17 +0400
Subject: [PATCH 012/322] TEMPORARILY disable ECC until dust settles
Signed-off-by: Peter Lemenkov
---
erlang.spec | 13 +++++++--
otp-0008-Fix-for-armv7hl-architecture.patch | 6 +----
...ARILY-disable-ECC-until-dust-settles.patch | 27 +++++++++++++++++++
3 files changed, 39 insertions(+), 7 deletions(-)
create mode 100644 otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
diff --git a/erlang.spec b/erlang.spec
index 9d3719b..1d4cbfd 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -24,7 +24,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.2%{?dist}
+Release: %{upstream_rel_for_rpm}.3%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -76,7 +76,12 @@ Patch6: otp-0006-Do-not-install-erlang-sources.patch
# Required only for el5, el6 on PowerPC
# Ugly workaround for java-1.5.0-gcj which doesn't support
Patch7: otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
+# Fedora specific patch
+# Fix for armv7hl architecture
Patch8: otp-0008-Fix-for-armv7hl-architecture.patch
+# Fedora specific patch
+# TEMPORARILY disable ECC until dust settles
+Patch9: otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
# end of autogenerated patch tag list
# BuildRoot not strictly needed since F10, but keep it for spec file robustness
@@ -937,7 +942,8 @@ Erlang mode for XEmacs (source lisp files).
%patch7 -p1 -b .Ugly_workaround_for_java_1_5_0_gcj_which_doesn_t_sup
%endif
%endif
-%patch8 -p1 -b .fix_armv7hl_hipe
+%patch8 -p1 -b .Fix_for_armv7hl_architecture
+%patch9 -p1 -b .TEMPORARILY_disable_ECC_until_dust_settles
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2268,6 +2274,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Oct 24 2013 Peter Lemenkov - R16B-02.3
+- TEMPORARILY disable ECC until dust settles
+
* Thu Oct 24 2013 Peter Lemenkov - R16B-02.2
- Fix building for armv7hl (patch taken from OpenSUSE repository)
diff --git a/otp-0008-Fix-for-armv7hl-architecture.patch b/otp-0008-Fix-for-armv7hl-architecture.patch
index b985440..fc9f76e 100644
--- a/otp-0008-Fix-for-armv7hl-architecture.patch
+++ b/otp-0008-Fix-for-armv7hl-architecture.patch
@@ -1,7 +1,6 @@
-From 98268681b57ddec0d7aad2234d271c47da538d63 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 26 Sep 2013 22:01:03 +0400
-Subject: [PATCH 8/8] Fix for armv7hl architecture
+Subject: [PATCH] Fix for armv7hl architecture
Taken from openSUSE:
@@ -24,6 +23,3 @@ index 00c7045..5b72215 100644
tile) ARCH=tile;;
*) ARCH=noarch;;
esac
---
-1.8.3.1
-
diff --git a/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch b/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
new file mode 100644
index 0000000..28c166a
--- /dev/null
+++ b/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
@@ -0,0 +1,27 @@
+From: Peter Lemenkov
+Date: Thu, 24 Oct 2013 16:44:22 +0400
+Subject: [PATCH] TEMPORARILY disable ECC until dust settles
+
+Signed-off-by: Peter Lemenkov
+---
+ lib/crypto/c_src/crypto.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c
+index c28ff81..1b3b6c2 100644
+--- a/lib/crypto/c_src/crypto.c
++++ b/lib/crypto/c_src/crypto.c
+@@ -74,13 +74,6 @@
+ # define HAVE_DES_ede3_cfb_encrypt
+ #endif
+
+-#if OPENSSL_VERSION_NUMBER >= 0x009080ffL \
+- && !defined(OPENSSL_NO_EC) \
+- && !defined(OPENSSL_NO_ECDH) \
+- && !defined(OPENSSL_NO_ECDSA)
+-# define HAVE_EC
+-#endif
+-
+ #if defined(HAVE_EC)
+ #include
+ #include
From a737a5a32cdaaa7aa606f503331d5c4b4d8eae48 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 28 Oct 2013 17:40:26 +0400
Subject: [PATCH 013/322] Disable HiPE on unsupported arches
Signed-off-by: Peter Lemenkov
---
erlang.spec | 20 +++++++++++---
otp-0010-Fix-for-powerpc-architecture.patch | 29 +++++++++++++++++++++
2 files changed, 46 insertions(+), 3 deletions(-)
create mode 100644 otp-0010-Fix-for-powerpc-architecture.patch
diff --git a/erlang.spec b/erlang.spec
index 1d4cbfd..e673291 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -20,11 +20,17 @@
%global use_prebuilt_docs 0
%endif
+%ifarch %{arm} %{ix86} x86_64 ppc
+%global __with_hipe 1
+%else
+%global __with_hipe 0
+%endif
+
%global n_uvr %{name}-%{upstream_ver}-%{upstream_rel_for_rpm}
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.3%{?dist}
+Release: %{upstream_rel_for_rpm}.4%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -82,6 +88,9 @@ Patch8: otp-0008-Fix-for-armv7hl-architecture.patch
# Fedora specific patch
# TEMPORARILY disable ECC until dust settles
Patch9: otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
+# Fedora specific patch
+# Fix for powerpc architecture
+Patch10: otp-0010-Fix-for-powerpc-architecture.patch
# end of autogenerated patch tag list
# BuildRoot not strictly needed since F10, but keep it for spec file robustness
@@ -944,6 +953,7 @@ Erlang mode for XEmacs (source lisp files).
%endif
%patch8 -p1 -b .Fix_for_armv7hl_architecture
%patch9 -p1 -b .TEMPORARILY_disable_ECC_until_dust_settles
+%patch10 -p1 -b .Fix_for_powerpc_architecture
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -966,9 +976,9 @@ rm -f lib/ssl/examples/certs/etc/erlangCA/index.txt.old
%build
%ifarch sparcv9 sparc64
-CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-hipe
+CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp %{__with_hipe:--enable-hipe}
%else
-CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-hipe
+CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp %{__with_hipe:--enable-hipe}
%endif
# Remove pre-built BEAM files
@@ -2274,6 +2284,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Oct 28 2013 Peter Lemenkov - R16B-02.4
+- Disable HiPE on s390(x) (rhbz #1023960)
+- Fix HiPE on ppc (rhbz #1023960)
+
* Thu Oct 24 2013 Peter Lemenkov - R16B-02.3
- TEMPORARILY disable ECC until dust settles
diff --git a/otp-0010-Fix-for-powerpc-architecture.patch b/otp-0010-Fix-for-powerpc-architecture.patch
new file mode 100644
index 0000000..1d56394
--- /dev/null
+++ b/otp-0010-Fix-for-powerpc-architecture.patch
@@ -0,0 +1,29 @@
+From: Peter Lemenkov
+Date: Mon, 28 Oct 2013 17:11:11 +0400
+Subject: [PATCH] Fix for powerpc architecture
+
+Taken from openSUSE:
+
+* https://build.opensuse.org/package/view_file/devel:languages:erlang:Factory/erlang/erlang-ppc.patch?expand=1
+
+See also:
+
+* https://bugzilla.redhat.com/1023960
+
+Signed-off-by: Peter Lemenkov
+---
+ erts/configure.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/erts/configure.in b/erts/configure.in
+index 5b72215..9f396f0 100644
+--- a/erts/configure.in
++++ b/erts/configure.in
+@@ -625,6 +625,7 @@ case $chk_arch_ in
+ x86_64) ARCH=amd64;;
+ amd64) ARCH=amd64;;
+ macppc) ARCH=ppc;;
++ powerpc) ARCH=ppc;;
+ ppc) ARCH=ppc;;
+ ppc64) ARCH=ppc64;;
+ "Power Macintosh") ARCH=ppc;;
From 13312e6dfe59910880417a3a8551b6a0ce4f7c4c Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 28 Oct 2013 22:50:38 +0400
Subject: [PATCH 014/322] Re-enable HiPE on ppc64, ppc64v7
Signed-off-by: Peter Lemenkov
---
erlang.spec | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index e673291..4ae1249 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -20,7 +20,7 @@
%global use_prebuilt_docs 0
%endif
-%ifarch %{arm} %{ix86} x86_64 ppc
+%ifarch %{arm} %{ix86} x86_64 ppc %{power64}
%global __with_hipe 1
%else
%global __with_hipe 0
@@ -30,7 +30,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.4%{?dist}
+Release: %{upstream_rel_for_rpm}.5%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2284,6 +2284,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Oct 28 2013 Peter Lemenkov - R16B-02.5
+- Re-enable HiPE on ppc64, ppc64v7
+
* Mon Oct 28 2013 Peter Lemenkov - R16B-02.4
- Disable HiPE on s390(x) (rhbz #1023960)
- Fix HiPE on ppc (rhbz #1023960)
From d2f651795b8284381b0ae921fb940ace69dc74b4 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 29 Oct 2013 13:21:34 +0400
Subject: [PATCH 015/322] Actually re-enable HiPE
Signed-off-by: Peter Lemenkov
---
erlang.spec | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 4ae1249..6c3b085 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -30,7 +30,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.5%{?dist}
+Release: %{upstream_rel_for_rpm}.6%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -976,9 +976,9 @@ rm -f lib/ssl/examples/certs/etc/erlangCA/index.txt.old
%build
%ifarch sparcv9 sparc64
-CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp %{__with_hipe:--enable-hipe}
+CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp %{?__with_hipe:--enable-hipe}
%else
-CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp %{__with_hipe:--enable-hipe}
+CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp %{?__with_hipe:--enable-hipe}
%endif
# Remove pre-built BEAM files
@@ -2284,6 +2284,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Oct 29 2013 Peter Lemenkov - R16B-02.6
+- Actually re-enable HiPE
+
* Mon Oct 28 2013 Peter Lemenkov - R16B-02.5
- Re-enable HiPE on ppc64, ppc64v7
From f56df7bde54c3f51f95c67a1cf5f49c423e0af5e Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 29 Oct 2013 17:00:20 +0400
Subject: [PATCH 016/322] Really disable HiPE on s390(x)
Signed-off-by: Peter Lemenkov
---
erlang.spec | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 6c3b085..602748c 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -22,15 +22,13 @@
%ifarch %{arm} %{ix86} x86_64 ppc %{power64}
%global __with_hipe 1
-%else
-%global __with_hipe 0
%endif
%global n_uvr %{name}-%{upstream_ver}-%{upstream_rel_for_rpm}
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.6%{?dist}
+Release: %{upstream_rel_for_rpm}.7%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2284,6 +2282,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Oct 29 2013 Peter Lemenkov - R16B-02.7
+- Really disable HiPE on s390(x)
+
* Tue Oct 29 2013 Peter Lemenkov - R16B-02.6
- Actually re-enable HiPE
From e7421b965eef1aed1089ca67cb33150c7a165ba3 Mon Sep 17 00:00:00 2001
From: Hans Ulrich Niedermann
Date: Tue, 19 Nov 2013 16:16:32 +0100
Subject: [PATCH 017/322] ot-get-patches.sh: Clean up comment wording
Just some grammar fixes improving clarity of the comments.
---
otp-get-patches.sh | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/otp-get-patches.sh b/otp-get-patches.sh
index 5033e60..d9ca70d 100755
--- a/otp-get-patches.sh
+++ b/otp-get-patches.sh
@@ -6,13 +6,14 @@
#
# otp-get-patches.sh updates the erlang.spec and otp-00*.patch
# files in the git index. After an otp-get-patches.sh run, you
-# will need to review the stage git changes, possibly adapt the
-# Release: and %changelog parts of erlang spec, and can then
+# will need to review the staged git changes, possibly adapt the
+# 'Release:' and '%changelog' parts of erlang.spec, and can then
# "git commit" everything.
#
# Caution: Leave the four special comment lines untouched in the
# spec file, as otp-get-patches.sh requires them and will only
-# touch erlang.spec between the respective start/end pair:
+# touch the parts of erlang.spec between the respective start/end
+# comment pair:
#
# # start of autogenerated patch tag list
# # end of autogenerated patch tag list
From 18d29ea8b1748e9ea128fbc87b8229354ee26bb4 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 24 Dec 2013 16:34:56 +0400
Subject: [PATCH 018/322] Ver. R16B03
Signed-off-by: Peter Lemenkov
---
.gitignore | 4 +
erlang.spec | 10 +-
...n-pages-and-do-not-install-miscellan.patch | 12 +-
otp-0002-Remove-rpath.patch | 4 -
otp-0003-Do-not-install-C-sources.patch | 15 +-
otp-0004-Do-not-install-Java-sources.patch | 4 -
...teventlog-and-related-doc-files-on-n.patch | 4 -
otp-0006-Do-not-install-erlang-sources.patch | 96 +--
...for-java-1.5.0-gcj-which-doesn-t-sup.patch | 4 -
otp-0008-Fix-for-armv7hl-architecture.patch | 7 +-
...ARILY-disable-ECC-until-dust-settles.patch | 5 +-
otp-0010-Fix-for-powerpc-architecture.patch | 7 +-
otp_src_R16B02.readme | 640 ----------------
otp_src_R16B03.readme | 718 ++++++++++++++++++
sources | 8 +-
15 files changed, 753 insertions(+), 785 deletions(-)
delete mode 100644 otp_src_R16B02.readme
create mode 100644 otp_src_R16B03.readme
diff --git a/.gitignore b/.gitignore
index d8a2277..102f125 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,3 +42,7 @@ otp_src_R14A.tar.gz
/otp_doc_html_R16B02.tar.gz
/otp_doc_man_R16B02.tar.gz
/otp_src_R16B02.readme
+/otp_src_R16B03.tar.gz
+/otp_doc_html_R16B03.tar.gz
+/otp_doc_man_R16B03.tar.gz
+/otp_src_R16B03.readme
diff --git a/erlang.spec b/erlang.spec
index 602748c..cd39c58 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -1,7 +1,7 @@
%global upstream_ver R16B
# Do NOT change %%{upstream_rel} unless UPSTREAM has actually changed it!
#%global upstream_rel %{nil}
-%global upstream_rel 02
+%global upstream_rel 03
# Use %%{nil} for %%{upstream_rel} for tracking source like otp_src_R14B.tar.gz,
# and 01 %%{upstream_rel} for tracking source like otp_src_R14B01.tar.gz.
@@ -28,7 +28,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.7%{?dist}
+Release: %{upstream_rel_for_rpm}.1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -1353,7 +1353,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/lib/diameter-*/include
%{_libdir}/erlang/lib/diameter-*/src
%if %{with doc}
-%{_libdir}/erlang/man/man1/diameter_compile.*
+%{_libdir}/erlang/man/man1/diameterc.*
%{_libdir}/erlang/man/man3/diameter.*
%{_libdir}/erlang/man/man3/diameter_app.*
%{_libdir}/erlang/man/man3/diameter_codec.*
@@ -1434,6 +1434,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/bin/erl
%{_libdir}/erlang/bin/erlc
%{_libdir}/erlang/bin/escript
+%{_libdir}/erlang/bin/no_dot_erlang.boot
%{_libdir}/erlang/bin/run_erl
%{_libdir}/erlang/bin/start
%{_libdir}/erlang/bin/start.boot
@@ -2282,6 +2283,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Dec 24 2013 Peter Lemenkov - R16B-03.1
+- Ver. R16B03
+
* Tue Oct 29 2013 Peter Lemenkov - R16B-02.7
- Really disable HiPE on s390(x)
diff --git a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
index 4fba9a0..75bf3e5 100644
--- a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
+++ b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
@@ -4,10 +4,6 @@ Subject: [PATCH] Do not format man-pages and do not install miscellaneous
utilities for dealing with man-pages.
Signed-off-by: Peter Lemenkov
----
- erts/etc/common/Makefile.in | 4 ----
- erts/etc/unix/Install.src | 10 ----------
- 2 files changed, 14 deletions(-)
diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in
index 5c1ce51..5a07855 100644
@@ -25,13 +21,13 @@ index 5c1ce51..5a07855 100644
$(INSTALL_DIR) "$(RELEASE_PATH)/build_erl_ose"
cd $(OSEETC) && $(TAR) erl_ose_$(SYSTEM_VSN).tar $(INSTALL_ERL_OSE)
diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src
-index 0f33258..01fde22 100644
+index 8eb1db7..9e340bb 100644
--- a/erts/etc/unix/Install.src
+++ b/erts/etc/unix/Install.src
-@@ -140,14 +140,4 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot .
+@@ -140,14 +140,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot .
+ cp -p ../releases/%I_SYSTEM_VSN%/no_dot_erlang.boot .
cp -p $Name.boot start.boot
cp -p ../releases/%I_SYSTEM_VSN%/$Name.script start.script
-
-#
-# Fixing the man pages
-#
@@ -41,5 +37,5 @@ index 0f33258..01fde22 100644
- cd "$ERL_ROOT"
- ./misc/format_man_pages "$ERL_ROOT"
-fi
--
+
exit 0
diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch
index 2192c39..2a65565 100644
--- a/otp-0002-Remove-rpath.patch
+++ b/otp-0002-Remove-rpath.patch
@@ -3,10 +3,6 @@ Date: Thu, 25 Feb 2010 16:57:43 +0300
Subject: [PATCH] Remove rpath
Signed-off-by: Peter Lemenkov
----
- lib/crypto/c_src/Makefile.in | 2 +-
- lib/crypto/priv/Makefile | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
index a20ddff..e890927 100644
diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch
index 8f7f6b7..821988b 100644
--- a/otp-0003-Do-not-install-C-sources.patch
+++ b/otp-0003-Do-not-install-C-sources.patch
@@ -12,17 +12,6 @@ interaction with the Erlang nodes:
https://bugzilla.redhat.com/818419
Signed-off-by: Peter Lemenkov
----
- lib/asn1/c_src/Makefile | 2 --
- lib/crypto/c_src/Makefile.in | 4 ----
- lib/erl_interface/src/Makefile.in | 16 ++++++++--------
- lib/ic/c_src/Makefile.in | 2 --
- lib/megaco/src/flex/Makefile.in | 2 +-
- lib/odbc/c_src/Makefile.in | 3 ---
- lib/os_mon/c_src/Makefile.in | 2 --
- lib/runtime_tools/c_src/Makefile.in | 2 --
- lib/tools/c_src/Makefile.in | 2 --
- 9 files changed, 9 insertions(+), 26 deletions(-)
diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile
index 7023833..8bf8eb9 100644
@@ -83,10 +72,10 @@ index e36b39c..fd377bb 100644
release_docs:
diff --git a/lib/ic/c_src/Makefile.in b/lib/ic/c_src/Makefile.in
-index 6e65f06..4120029 100644
+index ed860ab..96206ae 100644
--- a/lib/ic/c_src/Makefile.in
+++ b/lib/ic/c_src/Makefile.in
-@@ -146,12 +146,10 @@ $(OBJDIR)/%.o: %.c
+@@ -144,12 +144,10 @@ $(OBJDIR)/%.o: %.c
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch
index fc3ccd5..378e86d 100644
--- a/otp-0004-Do-not-install-Java-sources.patch
+++ b/otp-0004-Do-not-install-Java-sources.patch
@@ -3,10 +3,6 @@ Date: Sat, 19 Jun 2010 09:25:18 +0400
Subject: [PATCH] Do not install Java sources
Signed-off-by: Peter Lemenkov
----
- lib/ic/java_src/com/ericsson/otp/ic/Makefile | 2 --
- lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile | 2 --
- 2 files changed, 4 deletions(-)
diff --git a/lib/ic/java_src/com/ericsson/otp/ic/Makefile b/lib/ic/java_src/com/ericsson/otp/ic/Makefile
index 273614e..5b1fb57 100644
diff --git a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
index c73b50c..cf8e970 100644
--- a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
+++ b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
@@ -4,10 +4,6 @@ Subject: [PATCH] Do not install nteventlog and related doc-files on non-win32
systems
Signed-off-by: Peter Lemenkov
----
- lib/os_mon/doc/src/Makefile | 7 ++++++-
- lib/os_mon/src/Makefile | 11 ++++++++++-
- 2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/lib/os_mon/doc/src/Makefile b/lib/os_mon/doc/src/Makefile
index 08fd23e..5606cfc 100644
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index 22ffaad..38c9dd1 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -6,87 +6,9 @@ Don't install *.erl, *.xrl, *.yrl, and *.asn1 files at all.
Signed-off-by: Peter Lemenkov
Signed-off-by: Hans Ulrich Niedermann
----
- erts/preloaded/src/Makefile | 2 --
- lib/appmon/src/Makefile | 2 +-
- lib/asn1/src/Makefile | 2 +-
- lib/common_test/src/Makefile | 2 +-
- lib/compiler/src/Makefile | 4 ++--
- lib/cosEvent/src/Makefile | 2 +-
- lib/cosEventDomain/src/Makefile | 2 +-
- lib/cosFileTransfer/src/Makefile | 4 +---
- lib/cosNotification/src/Makefile | 3 +--
- lib/cosProperty/src/Makefile | 3 +--
- lib/cosTime/src/Makefile | 3 +--
- lib/cosTransactions/src/Makefile | 2 +-
- lib/crypto/src/Makefile | 2 --
- lib/debugger/src/Makefile | 2 +-
- lib/dialyzer/src/Makefile | 2 +-
- lib/diameter/src/Makefile | 7 ++-----
- lib/edoc/src/Makefile | 2 +-
- lib/eldap/src/Makefile | 4 ----
- lib/erl_docgen/src/Makefile | 2 --
- lib/et/src/Makefile | 1 -
- lib/eunit/src/Makefile | 2 --
- lib/gs/src/Makefile | 4 ++--
- lib/hipe/cerl/Makefile | 2 +-
- lib/hipe/flow/Makefile | 2 +-
- lib/hipe/icode/Makefile | 2 +-
- lib/hipe/main/Makefile | 2 +-
- lib/hipe/misc/Makefile | 2 +-
- lib/hipe/rtl/Makefile | 2 +-
- lib/hipe/util/Makefile | 3 ---
- lib/ic/src/Makefile | 2 +-
- lib/inets/src/ftp/Makefile | 2 +-
- lib/inets/src/http_client/Makefile | 2 +-
- lib/inets/src/http_lib/Makefile | 2 +-
- lib/inets/src/http_server/Makefile | 2 +-
- lib/inets/src/inets_app/Makefile | 2 +-
- lib/inets/src/tftp/Makefile | 2 +-
- lib/kernel/src/Makefile | 1 -
- lib/megaco/src/app/Makefile | 2 +-
- lib/megaco/src/binary/Makefile | 2 +-
- lib/megaco/src/engine/Makefile | 2 +-
- lib/megaco/src/flex/Makefile.in | 2 --
- lib/megaco/src/tcp/Makefile | 2 +-
- lib/megaco/src/text/Makefile | 2 +-
- lib/megaco/src/udp/Makefile | 2 +-
- lib/mnesia/src/Makefile | 2 +-
- lib/observer/src/Makefile | 1 -
- lib/odbc/src/Makefile | 2 +-
- lib/orber/COSS/CosNaming/Makefile | 4 ++--
- lib/orber/src/Makefile | 2 +-
- lib/os_mon/src/Makefile | 1 -
- lib/otp_mibs/src/Makefile | 2 --
- lib/parsetools/src/Makefile | 2 --
- lib/percept/src/Makefile | 2 --
- lib/pman/src/Makefile | 2 +-
- lib/public_key/asn1/Makefile | 4 ++--
- lib/public_key/src/Makefile | 4 ----
- lib/reltool/src/Makefile | 2 +-
- lib/runtime_tools/src/Makefile | 2 --
- lib/sasl/src/Makefile | 1 -
- lib/snmp/src/agent/Makefile | 2 +-
- lib/snmp/src/app/Makefile | 2 +-
- lib/snmp/src/compile/Makefile | 2 +-
- lib/snmp/src/manager/Makefile | 2 +-
- lib/snmp/src/misc/Makefile | 2 +-
- lib/ssh/src/Makefile | 2 +-
- lib/ssl/src/Makefile | 2 +-
- lib/stdlib/src/Makefile | 1 -
- lib/syntax_tools/src/Makefile | 2 --
- lib/test_server/src/Makefile | 1 -
- lib/toolbar/src/Makefile | 2 +-
- lib/tools/src/Makefile | 2 +-
- lib/tv/src/Makefile | 2 +-
- lib/typer/src/Makefile | 3 ---
- lib/webtool/src/Makefile | 2 --
- lib/wx/src/Makefile | 4 ++--
- lib/xmerl/src/Makefile | 4 +---
- 76 files changed, 60 insertions(+), 113 deletions(-)
diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile
-index c1580b1..2b9b5ce 100644
+index 4ea2d41..e1466c1 100644
--- a/erts/preloaded/src/Makefile
+++ b/erts/preloaded/src/Makefile
@@ -85,8 +85,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk
@@ -112,7 +34,7 @@ index c1620bc..02c0984 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile
-index 3f24e15..4cfb20f 100644
+index 500f4a1..e707394 100644
--- a/lib/asn1/src/Makefile
+++ b/lib/asn1/src/Makefile
@@ -153,7 +153,7 @@ release_spec: opt
@@ -359,7 +281,7 @@ index 386169f..216b548 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile
-index e88e28d..e7f44a4 100644
+index e6dab67..a5e147d 100644
--- a/lib/eunit/src/Makefile
+++ b/lib/eunit/src/Makefile
@@ -117,8 +117,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -898,10 +820,10 @@ index beed696..752072d 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile
-index 716add8..59ce2ef 100644
+index b8cc4b8..d806efb 100644
--- a/lib/snmp/src/app/Makefile
+++ b/lib/snmp/src/app/Makefile
-@@ -129,7 +129,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -131,7 +131,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/app"
@@ -950,10 +872,10 @@ index 698c341..3344a0c 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile
-index 93d0b54..5904bc2 100644
+index 2ef2859..aac91a3 100644
--- a/lib/ssh/src/Makefile
+++ b/lib/ssh/src/Makefile
-@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -134,7 +134,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -963,10 +885,10 @@ index 93d0b54..5904bc2 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index 6744e2f..1b62136 100644
+index 131b615..c456bfc 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
-@@ -132,7 +132,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -136,7 +136,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
diff --git a/otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch b/otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
index d7fb120..33b5973 100644
--- a/otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
+++ b/otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
@@ -9,10 +9,6 @@ Fedora-Spec-Before: %if 0%{?el4}%{?el5}%{?el6}
Fedora-Spec-Before: %ifnarch %{ix86} x86_64
Fedora-Spec-After: %endif
Fedora-Spec-After: %endif
----
- .../java_src/com/ericsson/otp/erlang/OtpErlangList.java | 14 +-------------
- .../java_src/com/ericsson/otp/erlang/OtpInputStream.java | 13 ++-----------
- 2 files changed, 3 insertions(+), 24 deletions(-)
diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangList.java b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangList.java
index 3456fd7..86cd411 100644
diff --git a/otp-0008-Fix-for-armv7hl-architecture.patch b/otp-0008-Fix-for-armv7hl-architecture.patch
index fc9f76e..b7d8b32 100644
--- a/otp-0008-Fix-for-armv7hl-architecture.patch
+++ b/otp-0008-Fix-for-armv7hl-architecture.patch
@@ -7,15 +7,12 @@ Taken from openSUSE:
* https://build.opensuse.org/package/view_file/devel:languages:erlang:Factory/erlang/fix-armv7hl.patch?expand=1
Signed-off-by: Peter Lemenkov
----
- erts/configure.in | 1 +
- 1 file changed, 1 insertion(+)
diff --git a/erts/configure.in b/erts/configure.in
-index 00c7045..5b72215 100644
+index bad748d..230f27a 100644
--- a/erts/configure.in
+++ b/erts/configure.in
-@@ -634,6 +634,7 @@ case $chk_arch_ in
+@@ -621,6 +621,7 @@ case $chk_arch_ in
armv5tejl) ARCH=arm;;
armv6l) ARCH=arm;;
armv7l) ARCH=arm;;
diff --git a/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch b/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
index 28c166a..4dc7759 100644
--- a/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
+++ b/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
@@ -3,12 +3,9 @@ Date: Thu, 24 Oct 2013 16:44:22 +0400
Subject: [PATCH] TEMPORARILY disable ECC until dust settles
Signed-off-by: Peter Lemenkov
----
- lib/crypto/c_src/crypto.c | 7 -------
- 1 file changed, 7 deletions(-)
diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c
-index c28ff81..1b3b6c2 100644
+index 42fb172..eb99719 100644
--- a/lib/crypto/c_src/crypto.c
+++ b/lib/crypto/c_src/crypto.c
@@ -74,13 +74,6 @@
diff --git a/otp-0010-Fix-for-powerpc-architecture.patch b/otp-0010-Fix-for-powerpc-architecture.patch
index 1d56394..8eb1f35 100644
--- a/otp-0010-Fix-for-powerpc-architecture.patch
+++ b/otp-0010-Fix-for-powerpc-architecture.patch
@@ -11,15 +11,12 @@ See also:
* https://bugzilla.redhat.com/1023960
Signed-off-by: Peter Lemenkov
----
- erts/configure.in | 1 +
- 1 file changed, 1 insertion(+)
diff --git a/erts/configure.in b/erts/configure.in
-index 5b72215..9f396f0 100644
+index 230f27a..9ad3671 100644
--- a/erts/configure.in
+++ b/erts/configure.in
-@@ -625,6 +625,7 @@ case $chk_arch_ in
+@@ -612,6 +612,7 @@ case $chk_arch_ in
x86_64) ARCH=amd64;;
amd64) ARCH=amd64;;
macppc) ARCH=ppc;;
diff --git a/otp_src_R16B02.readme b/otp_src_R16B02.readme
deleted file mode 100644
index 8a7db52..0000000
--- a/otp_src_R16B02.readme
+++ /dev/null
@@ -1,640 +0,0 @@
-Bug fix release : otp_src_R16B02
-Build date : 2013-09-17
-
-This is R16B02, the second maintenance release for the R16B major release.
-
-You can find the README file for the release at
-
- http://www.erlang.org/download/otp_src_R16B02.readme (this file)
-
-The source distribution and binary distributions for Windows can be
-downloaded from
-
- http://www.erlang.org/download/otp_src_R16B02.tar.gz
- http://www.erlang.org/download/otp_win32_R16B02.exe
- http://www.erlang.org/download/otp_win64_R16B02.exe
-
-Note: To unpack the TAR archive you need a GNU TAR compatible program.
-
-For installation instructions please read the README file that is part
-of the distribution.
-
-The on-line documentation can be found at: http://www.erlang.org/doc/
-You can also download the complete HTML documentation or the Unix manual files
-
- http://www.erlang.org/download/otp_doc_html_R16B02.tar.gz
- http://www.erlang.org/download/otp_doc_man_R16B02.tar.gz
-
-We also want to thank those that sent us patches, suggestions and bug reports,
-
-The OTP Team
-
-
---- otp -----------------------------------------------------------------
-
- OTP-11221 A new test scope has been added which is meant to be used for
- making sure that the Erlang VM and other platform specific
- libraries have been compiled correctly for you system. The
- tests are executed just as normal tests, only that you use
- ts:smoke_test instead of ts:run. See ts:help() for more
- details.
-
- OTP-11288 configure now accepts any Erlang/OTP applications as an
- option to the --without flag. For more details see the
- Installation Guide for more details.
-
-
---- asn1-2.0.3 ----------------------------------------------------------
-
- OTP-11193 The format of the xml source for documentation is corrected
- in order to conform to the DTDs and to pass xmllint without
- errors.
-
- OTP-11300 For the PER and UPER formats, code generation especially for
- encoding has been improved.
-
- When encoding BIT STRINGs, values longer than the maximum
- size for the BIT STRING type would be truncated silently -
- they now cause an exception.
-
- Open types greater than 16383 bytes will now be correctly
- encoded and decoded.
-
- IMPORTANT NOTE: For ASN.1 specifications that depend on each
- other, such as the S1AP-* specifications, it is important to
- recompile all specifications (compiling some with this
- version of the compiler and some with an older version will
- not work).
-
-
---- common_test-1.7.3 ---------------------------------------------------
-
- OTP-11132 Documentation is added for ct_netconfc:send and
- ct_netconfc:send_rpc.
-
- OTP-11166 ct_netconfc:create_subscription only allowed one XML element
- inside the 'filter' element. According to RFC5277 it should
- be allowed to add any number of elements inside the filter,
- so this is now corrected.
-
- OTP-11175 The error handler installed by the Common Test hook
- cth_log_redirect did not respond to init:stop/1/2. This has
- been corrected.
-
- OTP-11176 Calling ct:pal/2 or ct:print/2 when Common Test was not
- running, would cause an exit. This has been changed and the
- string is now simply printed to stdout instead.
-
- OTP-11193 The format of the xml source for documentation is corrected
- in order to conform to the DTDs and to pass xmllint without
- errors.
-
- OTP-11238 Fixed problem with the cth_log_redirect hook making calls to
- an undefined function in ct_logs.
-
- OTP-11244 When running tests with the 'repeat' option, the Common Test
- utility process did not always terminate quickly enough after
- a test run, causing the start of the next run to fail. A
- monitor is now used to ensure termination of the utility
- process after each test run.
-
- OTP-11263 Test Server installed an error handler (test_server_h) only
- to be able to write the name of the current test case to
- stdout whenever it received an error- or progress report.
- This functionality was not useful and has been removed. The
- built-in Common Test hook, cth_log_redirect, has instead been
- improved to now also tag all error- and progress reports in
- the log with suite-, group-, and/or test case name.
-
- OTP-11272 A new log, the "Pre- and Post Test I/O Log", has been
- introduced, which makes it possible to capture error- and
- progress reports, as well as printouts made with ct:log/2 and
- ct:pal/2, before and after a test run. (Some minor
- improvements of the logging system have been made at the same
- time). Links to the new log are found on the Common Test
- Framework Log page. The Common Test User's Guide has been
- updated with information about the new log and also with a
- new section on how to synchronize external applications with
- Common Test by means of the CT Hook init and terminate
- functions.
-
-
---- compiler-4.9.3 ------------------------------------------------------
-
- OTP-11201 Fix matching of floating point middle-endian machines. Thanks
- to Johannes Weissl.
-
- OTP-11211 Restrict inlining of local fun references. Thanks to Anthony
- Ramine.
-
- OTP-11212 Silence a misleading warning with some comprehensions. Thanks
- to Anthony Ramine.
-
- OTP-11240 Expressions such as 'B = is_integer(V), if B and B -> ok end'
- would crash the compiler.
-
- OTP-11247 Forbid returning a match context in beam_validator. Thanks to
- Anthony Ramine.
-
- OTP-11304 compile:file2/2 with the option report_errors could return
- ErrorInfo tuples with only two elements, while the
- documentation says that the ErrorInfo tuple always has three
- elements. Also updated the documentation to add that the
- first element may be 'none' if no line number is applicable.
-
-
---- crypto-3.1 ----------------------------------------------------------
-
- OTP-11320 Refactor ecdsa cipher to simplify code and improve
- performance.
-
-
---- debugger-3.2.12 -----------------------------------------------------
-
- OTP-11201 Fix matching of floating point middle-endian machines. Thanks
- to Johannes Weissl.
-
-
---- diameter-1.4.3 ------------------------------------------------------
-
- OTP-11172 Fix UTF8String encode.
-
- Encode now accepts any nested list of codepoints and
- binaries. A list containing a binary was previously
- misinterpreted and the documentation was incomplete.
-
- OTP-11184 Ensure DWR isn't sent immediately after DWA.
-
- This was possible if the timing was unfortunate. An incoming
- DWR now properly resets the watchdog timer.
-
- OTP-11293 Fix faulty encode of Failed-AVP
-
- Reception of a CER, DWR or DPR that has decode failures
- caused encode of the corresponding answer message to fail.
-
- OTP-11299 Fix broken service_opt() spawn_opt.
-
- The option was ignored.
-
-
---- edoc-0.7.12.1 -------------------------------------------------------
-
- OTP-11310 The encoding of the notes.xml file has been changed from
- latin1 to utf-8 to avoid future merge problems.
-
-
---- erl_docgen-0.3.4.1 --------------------------------------------------
-
- OTP-11193 The format of the xml source for documentation is corrected
- in order to conform to the DTDs and to pass xmllint without
- errors.
-
- OTP-11310 The encoding of the notes.xml file has been changed from
- latin1 to utf-8 to avoid future merge problems.
-
-
---- erl_interface-3.7.14 ------------------------------------------------
-
- OTP-11196 Introduced functionality for inspection of system and build
- configuration.
-
- OTP-11284 Header and library files from ic and erl_interface are now
- installed into usr/{include,lib}. Note that these directories
- are unversioned, so the latest installed version will be the
- one in the directory.
-
- OTP-11289 Fix location of true binary under Mac OSX. Thanks to Simon
- Cornish.
-
-
---- erts-5.10.3 ---------------------------------------------------------
-
- OTP-11090 The documentation of predefined types and built-in types has
- been corrected.
-
- OTP-11157 There is a new somewhat experimental socket option 'netns'
- that can set the network namespace for a socket on Linux:es
- where it is supported. See the documentation.
-
- OTP-11174 New allocator strategy aoffcbf (address order first fit
- carrier best fit). Supports carrier migration but with better
- CPU performance than aoffcaobf.
-
- OTP-11196 Introduced functionality for inspection of system and build
- configuration.
-
- OTP-11201 Fix matching of floating point middle-endian machines. Thanks
- to Johannes Weissl.
-
- OTP-11206 Fix changing terminal parameters in to_erl
-
- Change the behaviour of to_erl to use TCSADRAIN instead of
- TCSANOW when changing terminal parameters. This makes the
- serial driver wait for the output queues to be empty before
- applying the terminal parameter change. Thanks to Stefan
- Zegenhagen.
-
- OTP-11214 Fix compile error on ARM and GCC versions greater than 4.1.0.
- Thanks to Johannes Weissl.
-
- OTP-11215 run_erl: Redirect standard streams to /dev/null. Thanks to
- Johannes Weissl.
-
- OTP-11218 The default value of {flush, boolean()} in erlang:halt/2 is
- documented to be 'true' if the status is an integer. The
- implementation behaviour was reversed. The Implementation is
- now corrected to adhere to the documentation. Thanks to Jose
- Valim for reporting the error.
-
- OTP-11225 Fix serious race bug in R16B01 that could cause PID mix-ups
- when a lot of processes were spawned and terminated in a very
- rapid pace on an SMP emulator with at least two scheduler
- threads.
-
- OTP-11227 Misc. corrections in documentation for erl_driver. Thanks to
- Giacomo Olgeni.
-
- OTP-11232 Validating a trace pattern with the option silent no longer
- incorrectly enables/disables the silent option of the calling
- process.
-
- OTP-11239 Fix documentation regarding binary_part.
-
- OTP-11246 Fixed a bug where GCC 4.8 and later use a more aggressive
- loop optimization algorithm that broke some previously
- working code in the efile driver. Thanks to Tomas Abrahamsson
- for reporting this issue.
-
- OTP-11251 Make edlin understand a few important control keys. Thanks to
- Stefan Zegenhagen.
-
- OTP-11264 Fixed bug when printing memory allocator acul option in crash
- dump.
-
- OTP-11265 Opening a new compressed file on Windows could in rare
- (random) cases result in {error,eisdir} or other error codes
- although it should have succeeded. This is now corrected.
-
- OTP-11278 Export type zlib:zstream/0. Thanks to Loic Hoguin.
-
- OTP-11282 Add erl option to set schedulers by percentages.
-
- For applications where measurements show enhanced performance
- from the use of a non-default number of emulator scheduler
- threads, having to accurately set the right number of
- scheduler threads across multiple hosts each with different
- numbers of logical processors is difficult because the erl +S
- option requires absolute numbers of scheduler threads and
- scheduler threads online to be specified.
-
- To address this issue, add a +SP option to erl, similar to
- the existing +S option but allowing the number of scheduler
- threads and scheduler threads online to be set as percentages
- of logical processors configured and logical processors
- available, respectively. For example, "+SP 50:25" sets the
- number of scheduler threads to 50% of the logical processors
- configured, and the number of scheduler threads online to 25%
- of the logical processors available. The +SP option also
- interacts with any settings specified with the +S option,
- such that the combination of options "+S 4:4 +SP 50:50" (in
- either order) results in 2 scheduler threads and 2 scheduler
- threads online.
-
- Thanks to Steve Vinoski
-
- OTP-11290 Fixed a race condition when closing a trace port that would
- cause the emulator to crash.
-
- OTP-11303 Extend erl_driver interface with lock names
-
- Lock and thread names are already a feature in the driver
- interface. This extension will let developers read these
- names which eases debugging.
-
- OTP-11311 Fix incorrect values returned by integer_to_binary/2. Thanks
- to Juan Jose Comellas.
-
- OTP-11317 Fix system_flag scheduling_statistics - disable . Thanks to
- Steve Vinoski.
-
- OTP-11321 The documentation of predefined types has been corrected
- Thanks to Kostis Sagonas.
-
-
---- et-1.4.4.5 ----------------------------------------------------------
-
- OTP-11310 The encoding of the notes.xml file has been changed from
- latin1 to utf-8 to avoid future merge problems.
-
-
---- eunit-2.2.5 ---------------------------------------------------------
-
- OTP-11217 Wrap eunit macros into begin ... end blocks. Thanks to
- Anthony Ramine.
-
-
---- hipe-3.10.2.1 -------------------------------------------------------
-
- OTP-11310 The encoding of the notes.xml file has been changed from
- latin1 to utf-8 to avoid future merge problems.
-
-
---- ic-4.3.3 ------------------------------------------------------------
-
- OTP-11284 Header and library files from ic and erl_interface are now
- installed into usr/{include,lib}. Note that these directories
- are unversioned, so the latest installed version will be the
- one in the directory.
-
-
---- inets-5.9.6 ---------------------------------------------------------
-
- OTP-11190 httpc: Allow content body in DELETE requests. Thanks to James
- Wheare.
-
- OTP-11202 Add missing brackets to report formatting on ftp_progress
- process exit. Thanks to Artur Wilniewczyc.
-
- OTP-11210 Fix some errors in the inets documentation. Thanks to
- Johannes Weissl.
-
- OTP-11226 Fix various typos in httpd, inets. Thanks to Tomohiko Aono.
-
- OTP-11260 Fix httpd config option 'erl_script_nocache'. Thanks to
- Johannes Weissl.
-
-
---- kernel-2.16.3 -------------------------------------------------------
-
- OTP-10676 The previous undocumented function ntoa/1 has been added to
- inet docs and exported in the inet module.
-
- OTP-11209 Fix indentation of User switch command help in Erlang shell.
- Thanks to Sylvain Benner.
-
- OTP-11219 Fix typo in abcast() function comment. Thanks to Johannes
- Weissl.
-
- OTP-11250 Add application:ensure_all_started/1-2. Thanks to Fred
- Hebert.
-
- OTP-11251 Make edlin understand a few important control keys. Thanks to
- Stefan Zegenhagen.
-
- OTP-11301 Cleanup of hipe_unified_loader, eliminating uses of
- is_subtype/2 in specs, change module-local void functions to
- return 'ok' instead of [] and made sure there are no dialyzer
- warnings with --Wunmatched_returns. Thanks to Kostis Sagonas.
-
-
---- megaco-3.17.0.2 -----------------------------------------------------
-
- OTP-11196 Introduced functionality for inspection of system and build
- configuration.
-
-
---- mnesia-4.10 ---------------------------------------------------------
-
- OTP-10957 Fix timing issues in checkpoint creation.
-
- OTP-11241 Fixed a problem where the fallback BUP file is removed when
- calling mnesia:uninstall_fallback and mnesia is not started.
-
-
---- observer-1.3.1.1 ----------------------------------------------------
-
- OTP-11310 The encoding of the notes.xml file has been changed from
- latin1 to utf-8 to avoid future merge problems.
-
-
---- odbc-2.10.17 --------------------------------------------------------
-
- OTP-11193 The format of the xml source for documentation is corrected
- in order to conform to the DTDs and to pass xmllint without
- errors.
-
- OTP-11196 Introduced functionality for inspection of system and build
- configuration.
-
- OTP-11233 Prevent odbcserver crash if it's executed and supplied
- incorrect data to stdin. Thanks to Sergei Golovan.
-
-
---- os_mon-2.2.13 -------------------------------------------------------
-
- OTP-11207 Use 'df -k -l' to query FreeBSD and OpenBSD about diskspace
- on local disks. Previously 'df' -k -t ufs' was used but this
- will not handle zfs or other disks. Just use '-l' instead of
- listing potential filesystems.
-
- OTP-11213 Fix compilation on Solaris. Thanks to Maciej Malecki.
-
- OTP-11298 Fix broken cpu_sup:nprocs and others on Solaris 64-bit.
- Thanks to Simon Cornish.
-
-
---- parsetools-2.0.10 ---------------------------------------------------
-
- OTP-11269 A bug causing Yecc to generate badly formed parsers when
- encountering very simple recursive rules has been fixed.
- (Thanks to Eric Pailleau.)
-
- OTP-11286 A bug where Unicode filenames combined with Latin-1 encoding
- could crash Yecc and Leex has been fixed.
-
- OTP-11313 Fix leex module`s inability to build unicode-aware lexers.
- Thanks to Pierre Fenoll.
-
-
---- percept-0.8.8.2 -----------------------------------------------------
-
- OTP-11310 The encoding of the notes.xml file has been changed from
- latin1 to utf-8 to avoid future merge problems.
-
-
---- public_key-0.20 -----------------------------------------------------
-
- OTP-10874 Extend PKCS-7 to support SCEP (Simple Certificate Enrollment
- Protocol).
-
- OTP-11281 public_key:pem_entry_decode/2 now handles AES-128-CBC
- ciphered keys. Thanks to Simon Cornish.
-
-
---- reltool-0.6.4.1 -----------------------------------------------------
-
- OTP-11310 The encoding of the notes.xml file has been changed from
- latin1 to utf-8 to avoid future merge problems.
-
-
---- runtime_tools-1.8.12 ------------------------------------------------
-
- OTP-11196 Introduced functionality for inspection of system and build
- configuration.
-
- OTP-11222 The process trace flag 'silent' is now allowed in call to
- dbg:p/2.
-
-
---- sasl-2.3.3 ----------------------------------------------------------
-
- OTP-11252 Add Fd usage in rb logging. Thanks to Eric Pailleau.
-
-
---- snmp-4.24.1 ---------------------------------------------------------
-
- OTP-11177 [agent] Reading the value of the vacmViewTreeFamilyMask
- returs it in the wrong (internal) format. The vacmViewTreeFamilyMask
- is defined to be a bit string in the MIB (OCTET STRING).
- Internally a bitlist (list of 1's and 0's) is used. However,
- the MIB implementation assumed the latter, effectively rendering
- all attempts to read/set masks via SNMP unsuccessful. Since
- the mask is used in hot paths (e.g. access permission checks
- for each SNMP operation, the bitlist representation of the
- mask has benefits (e.g. faster processing). Reading/writing
- the view mask objects is less time-critical. Therefore,
- to fix the issue, convert between bitlist representation
- and bitstring when the vacmViewTreeFamilyMask objects are
- accessed.
-
- OTP-11192 [agent] The counter increment function in the local-db was
- incorrect. It did not handle counter wrap correctly.
-
-
---- snmp-4.24.2 ---------------------------------------------------------
-
- OTP-11216 [agent] Improved documentation for the functions for loading
- and unloading mibs, see snmpa:load_mibs/1,2,3 and
- snmpa:unload_mibs/1,2,3 for more info.
- Also added new functions for loading and unloading a
- single mib, see snmpa:load_mib/1,2 and snmpa:unload_mib/1,2
- for more info.
-
-
---- ssh-2.1.8 -----------------------------------------------------------
-
- OTP-11189 Do not chmod ~/.ssh unnecessarily.
-
- OTP-11199 Make ssh_cli.erl handle CTRL+C. Thanks to Stefan Zegenhagen.
-
- OTP-11249 Clarified timeout options in documentation.
-
- OTP-11256 Add openssh_zlib compression type to ssh_transport. Thanks to
- Louis-Philippe Gauthier.
-
-
---- ssl-5.3.1 -----------------------------------------------------------
-
- OTP-11228 Setopts during renegotiation caused the renegotiation to be
- unsuccessful.
-
- If calling setopts during a renegotiation the FSM state might
- change during the handling of the setopts messages, this is
- now handled correctly.
-
- OTP-11229 Now handles signature_algorithm field in digitally_signed
- properly with proper defaults. Prior to this change some
- elliptic curve cipher suites could fail reporting the error
- "bad certificate".
-
- OTP-11230 The code emulating the inet header option was changed in the
- belief that it made it inet compatible. However the testing
- is a bit hairy as the inet option is actually broken, now the
- tests are corrected and the header option should work in the
- same broken way as inet again, preferably use the bitsyntax
- instead.
-
- OTP-11255 Make the ssl manager name for erlang distribution over
- SSL/TLS relative to the module name of the ssl_manager.
-
- This can be beneficial when making tools that rename modules
- for internal processing in the tool.
-
- OTP-11271 Add documentation regarding log_alert option.
-
-
---- stdlib-1.19.3 -------------------------------------------------------
-
- OTP-11200 Fixed type typo in gen_server.
-
- OTP-11208 Update type specs in filelib and io_prompt. Thanks to Jose
- Valim.
-
- OTP-11219 Fix typo in abcast() function comment. Thanks to Johannes
- Weissl.
-
- OTP-11245 The functions dets:foldl/3, dets:foldr/3, and dets:traverse/2
- did not release the table after having traversed the table to
- the end. The bug was introduced in R16B. (Thanks to Manuel
- Duran Aguete.)
-
- OTP-11251 Make edlin understand a few important control keys. Thanks to
- Stefan Zegenhagen.
-
- OTP-11254 If the fun M:F/A construct was used erroneously the linter
- could crash. (Thanks to Mikhail Sobolev.)
-
- OTP-11261 The specifications of io_lib:fread/2,3 have been corrected.
- (Thanks to Chris King and Kostis Sagonas for pinpointing the
- bug.)
-
- OTP-11266 Export the edge/0 type from the digraph module. Thanks to
- Alex Ronne Petersen.
-
- OTP-11268 Fix variable usage tracking in erl_lint and fixed unsafe
- variable tracking in try expressions. Thanks to Anthony
- Ramine.
-
-
---- test_server-3.6.3 ---------------------------------------------------
-
- OTP-11263 Test Server installed an error handler (test_server_h) only
- to be able to write the name of the current test case to
- stdout whenever it received an error- or progress report.
- This functionality was not useful and has been removed. The
- built-in Common Test hook, cth_log_redirect, has instead been
- improved to now also tag all error- and progress reports in
- the log with suite-, group-, and/or test case name.
-
- OTP-11272 A new log, the "Pre- and Post Test I/O Log", has been
- introduced, which makes it possible to capture error- and
- progress reports, as well as printouts made with ct:log/2 and
- ct:pal/2, before and after a test run. (Some minor
- improvements of the logging system have been made at the same
- time). Links to the new log are found on the Common Test
- Framework Log page. The Common Test User's Guide has been
- updated with information about the new log and also with a
- new section on how to synchronize external applications with
- Common Test by means of the CT Hook init and terminate
- functions.
-
-
---- tools-2.6.12 --------------------------------------------------------
-
- OTP-11198 Remove trailing spaces in Emacs templates. Thanks to Roberto
- Aloi.
-
- OTP-11242 Fixed the Emacs erlang-mode to accommodate the coding style
- where lists written across several lines have each line
- starting with a comma. Thanks to Magnus Henoch.
-
- OTP-11270 Make the Emacs Erlang mode TRAMP-aware when compiling. Thanks
- to Tomas Abrahamsson.
-
-
---- wx-1.1 --------------------------------------------------------------
-
- OTP-11196 Introduced functionality for inspection of system and build
- configuration.
-
- OTP-11279 Fix return value in wxStatusBar:getFieldRect/2 and add
- wxClipboardTextEvent and wxPanel:setFocusIgnoringChildren/1.
-
-
---- xmerl-1.3.4 ---------------------------------------------------------
-
- OTP-11224 Fixed various typos in xmerl documentation. Thanks to David
- Welton.
-
-
diff --git a/otp_src_R16B03.readme b/otp_src_R16B03.readme
new file mode 100644
index 0000000..aa9f45d
--- /dev/null
+++ b/otp_src_R16B03.readme
@@ -0,0 +1,718 @@
+Bug fix release : otp_src_R16B03
+Build date : 2013-12-09
+
+This is R16B03, the third maintenance release for the R16B major release.
+
+You can find the README file for the release at
+
+ http://www.erlang.org/download/otp_src_R16B03.readme (this file)
+
+The source distribution and binary distributions for Windows can be
+downloaded from
+
+ http://www.erlang.org/download/otp_src_R16B03.tar.gz
+ http://www.erlang.org/download/otp_win32_R16B03.exe
+ http://www.erlang.org/download/otp_win64_R16B03.exe
+
+Note: To unpack the TAR archive you need a GNU TAR compatible program.
+
+For installation instructions please read the README file that is part
+of the distribution.
+
+The on-line documentation can be found at: http://www.erlang.org/doc/
+You can also download the complete HTML documentation or the Unix manual files
+
+ http://www.erlang.org/download/otp_doc_html_R16B03.tar.gz
+ http://www.erlang.org/download/otp_doc_man_R16B03.tar.gz
+
+We also want to thank those that sent us patches, suggestions and bug reports,
+
+The OTP Team
+
+
+--- HIGHLIGHTS ----------------------------------------------------------
+
+ OTP-11149 == erts ==
+
+ A new memory allocation feature called "super carrier" has
+ been introduced. The super carrier feature can be used in
+ different ways. It can for example be used for pre-allocation
+ of all memory that the runtime system should be able to use.
+
+ By default the super carrier is disabled. It is enabled by
+ passing the +MMscs command line argument. For
+ more information see the documentation of the +MMsco,
+ +MMscrfsd, +MMscrpm, +MMscs, +MMusac, and, +Mlpm command line
+ arguments in the erts_alloc(3) documentation.
+
+ Since it is disabled by default there should be no impact on
+ system characteristics if not used.
+
+ This change has been marked as a potential incompatibility
+ since the returned list when calling
+ erlang:system_info({allocator, mseg_alloc}) now also include
+ an {erts_mmap, _} tuple as one element in the list.
+
+
+--- otp -----------------------------------------------------------------
+
+ OTP-11323 Remove ^L characters hidden randomly in the code. Not those
+ used in text files as delimiters. Thanks to Pierre Fenoll.
+
+ OTP-11448 Update INSTALL md, added info how to generate configure file
+ if building from git. Thanks to Jakub Oboza.
+
+ OTP-11472 Fixed typo in gen_fsm example. Thanks to Boris Mühmer.
+
+
+--- asn1-2.0.4 ----------------------------------------------------------
+
+ OTP-11314 The new option 'no_ok_wrapper' generates M:encode/2 and
+ M:decode/2 functions that don't wrap the return value in an
+ {ok,...} tuple.
+
+ OTP-11319 The default value for a BIT STRING would not always be
+ recognized, causing the encoding to be incorrect for the
+ DER/PER/UPER encodings.
+
+ OTP-11360 The asn1 application would fail to build if the .erlang file
+ printed something to standard output.
+
+ OTP-11411 An union of integer ranges in an INTEGER constraint could
+ sometimes be interpreted as the intersection of the range.
+
+ OTP-11415 Extensible, multiple single value constraints (such as
+ INTEGER (1|17, ...)) would be incorrectly encoded.
+
+ OTP-11504 The ASN.1 compiler would fail to compile a constraint with
+ values given for for the extension part (such as INTEGER
+ (1..10, ..., 11..20)).
+
+
+--- common_test-1.7.4 ---------------------------------------------------
+
+ OTP-10631 Return values from group and testcase info functions are now
+ properly checked, and associated test cases are auto skipped
+ if a return value is invalid.
+
+ OTP-11305 The way Common Test handles skipping of test cases has been
+ updated. In previous versions, returning {skip,Reason} from a
+ configuration function (such as init_per_suite or
+ init_per_group), resulted in all affected test cases getting
+ skipped with status auto_skipped. This was inappropriate,
+ since this status is supposed to be used to inform that
+ Common Test has taken the initiative to skip something (e.g.
+ a test case group if init_per_group failed). Therefore, in
+ this version of Common Test, whenever the user skips a suite,
+ group, or individual test case (by means of a configuration
+ function or test specification term), the affected test cases
+ get the status user_skipped instead.
+
+ This update has meant a few changes that may affect Common
+ Test users in various ways:
+
+ -- The test results and statistics will be affected, which is
+ important to know when running regression tests and comparing
+ results to previous test runs.
+
+ -- Users that read or parse the textual log file suite.log
+ will notice that an auto skipped function is now reported as
+ auto_skipped rather than skipped as before.
+
+ -- When require fails in an info function (such as suite/0 or
+ group/1), all affected configuration functions and test cases
+ are marked as auto_skipped.
+
+ -- If Common Test detects an error in the test suite (such as
+ e.g. an invalid all/0 function), all affected configuration
+ functions and test cases are marked as auto_skipped.
+
+ -- If a repeated test run session reaches a deadline with
+ force_stop enabled, all remaining test cases are marked as
+ auto_skipped rather than user_skipped as before.
+
+ -- The event messages that Common Test generates during test
+ runs have been affected by this update. For details see
+ OTP-11524.
+
+ OTP-11401 Fix cth_log_redirect.erl to fulfill gen_event behaviour.
+ Thanks to Roberto Aloi.
+
+ OTP-11409 Returning {skip, Reason} from a pre_end_per_group/3 user hook
+ function would result in an exit in the Common Test
+ cth_log_redirect hook. This problem has been solved.
+
+ OTP-11478 When the netconf server did not respond to the close-session
+ request, the call to ct_netconfc:close_session/2 would hang
+ forever waiting for the netconf client to terminate. This has
+ been corrected. The client will now always terminate (and
+ take down the connection) if the close-session request times
+ out.
+
+ OTP-11523 The first argument of the CT hook callback function
+ on_tc_skip/3 has been modified. When this function is called
+ for init_per_group or end_per_group, the value of the first
+ argument is now {init_per_group,GroupName} or
+ {end_per_group,GroupName}.
+
+ OTP-11524 The following modifications have been made to the event
+ messages that Common Test sends during test execution:
+
+ -- For the tc_auto_skip event, the value of the Func element
+ has changed from end_per_group to {end_per_group,GroupName}.
+
+ -- When require fails in an info function, such as suite/0 or
+ group/1, the init configuration function is now reported as
+ auto_skipped intead of skipped, with the tc_done event.
+
+ -- When require fails in an info function because of a
+ configuration name already in use, the tc_done event now
+ reports the error with a tuple (of size 2) tagged failed
+ instead of skipped.
+
+ Please see the Event Handling chapter in the Common Test
+ User's Guide for reference.
+
+
+--- compiler-4.9.4 ------------------------------------------------------
+
+ OTP-11267 Lift 'after' blocks to zeroary functions. Thanks to Anthony
+ Ramine.
+
+ OTP-11455 Typo fix ambigous -> ambiguous. Thanks to Leo Correa.
+
+
+--- crypto-3.2 ----------------------------------------------------------
+
+ OTP-11510 Fix uninitialized pointers in crypto (Thanks to Anthony
+ Ramine)
+
+
+--- dialyzer-2.6.2 ------------------------------------------------------
+
+ OTP-11374 Fixed a dialyzer crash when using remote types in the tail
+ position of a maybe_improper_list/2 type. Thanks to Kostis
+ Sagonas
+
+
+--- diameter-1.4.4 ------------------------------------------------------
+
+ OTP-11367 Fix setting of End-to-End and Hop-by-Hop Identifiers in
+ outgoing DWA. Broken by OTP-11184, which caused the identifiers
+ to be set anew, discarding the values from the incoming
+ DWR.
+
+ OTP-11395 Fix handling of 5014, DIAMETER_INVALID_AVP_LENGTH. The error
+ was detected as 5004, DIAMETER_INVALID_AVP_VALUE, for some
+ Diameter types, in which case an AVP length that pointed
+ past the end of a message resulted in encode failure.
+
+
+--- diameter-1.5 --------------------------------------------------------
+
+ OTP-11168 Rename reconnect_timer to connect_timer.
+
+ The former is still accepted for backwards compatibility, but
+ the name is misleading given the semantics of the timer.
+
+ OTP-11348 Extend diameter_make(3).
+
+ Dictionaries can now be compiled from strings, not just
+ filesystem paths, and results can be returned instead of
+ written to the filesystem.
+
+ OTP-11361 Remove hardcoding of diameter_base as @prefix on dictionaries
+ for application id 0.
+
+ OTP-11514 Fix silent make rules (Thanks to Anthony Ramine)
+
+
+--- eldap-1.0.2 ---------------------------------------------------------
+
+ OTP-11336 The ldap client eldap now supports the start_tls operation.
+ This upgrades an existing tcp connection to encryption using
+ tls, if the server supports it. See eldap:start_tls/2 and /3.
+
+ OTP-11354 Removed {verify,0} from ssl-options because eldap does not
+ support peer verification. Thanks to Florian Waas for
+ reporting.
+
+
+--- erl_interface-3.7.15 ------------------------------------------------
+
+ OTP-11517 Silence warnings (Thanks to Anthony Ramine)
+
+
+--- erts-5.10.3.1 -------------------------------------------------------
+
+ OTP-11318 Memory allocators will be able to create sys_alloc carriers
+ as fallback, if mseg_alloc cannot create more carriers,
+ on systems with posix_memalign() support. This is similar
+ to how it worked in pre-R16 releases. Windows systems will
+ create carriers using _aligned_malloc() and can by this
+ use the new optimized allocator header scheme introduced
+ in R16 on other platforms.
+
+
+--- erts-5.10.4 ---------------------------------------------------------
+
+ OTP-10229 New socket functions inet:socknames/1,2 and
+ inet:peernames/1,2 have been implemented. They are useful for
+ SCTP sockets since they return all addresses for an
+ association. For other sockets they fall back to
+ inet:sockname/1 and inet:peername/1, so the new functions can
+ replace the old for any application that wants to be multi
+ address aware yet socket type agnostic. See the
+ documentation.
+
+ OTP-11149 A new memory allocation feature called "super carrier" has
+ been introduced. The super carrier feature can be used in
+ different ways. It can for example be used for pre-allocation
+ of all memory that the runtime system should be able to use.
+
+ By default the super carrier is disabled. It is enabled by
+ passing the +MMscs command line argument. For
+ more information see the documentation of the +MMsco,
+ +MMscrfsd, +MMscrpm, +MMscs, +MMusac, and, +Mlpm command line
+ arguments in the erts_alloc(3) documentation.
+
+ Since it is disabled by default there should be no impact on
+ system characteristics if not used.
+
+ This change has been marked as a potential incompatibility
+ since the returned list when calling
+ erlang:system_info({allocator, mseg_alloc}) now also include
+ an {erts_mmap, _} tuple as one element in the list.
+
+ OTP-11170 When normalizing paths, erl_prim_loader would always convert
+ backslash to forward slash. This is correct on Windows, but
+ not on other operating systems. erl_prim_loader now checks
+ which OS is running before performing this conversion.
+
+ OTP-11349 Fixed syslog defines and defined LOG_ERR for systems without
+ syslog.h. Thanks to Matt Lewandowsky.
+
+ OTP-11350 Check all pattern arguments passed to binary:matches/2.
+ Thanks to Mike Sassak.
+
+ OTP-11351 Fix two small silent rules omissions. Thanks to Anthony
+ Ramine.
+
+ OTP-11362 Added erlang:system_info(ets_limit) to provide a way to
+ retrieve the runtime's maximum number of ETS tables. Thanks
+ to Steve Vinoski
+
+ OTP-11371 Teach configure to detect if posix_memalign cannot align to
+ more than the system page size.
+
+ For cross-compiled systems a new environment variable called
+ erl_xcomp_posix_memalign has been introduced to indicate
+ whether posix_memalign should be used.
+
+ OTP-11381 Fix bsr bug occurring when shifting a huge number a huge
+ number of bits to the right. Thanks to Lars Hesel
+ Christensen.
+
+ OTP-11410 Fix memory leak for distributed monitors
+
+ OTP-11414 Fix various typos in erts, kernel and ssh. Thanks to Martin
+ Hässler.
+
+ OTP-11420 Crashdumps initiated by out-of-memory on process spawn could
+ cause the beam to segfault during crashdump writing due to
+ invalid pointers.
+
+ The pointers are invalid since the process creation never
+ finished. This fix removes these processes from the
+ printouts. Reported by Richard Carlsson.
+
+ OTP-11446 Add new BIF os:unsetenv/1 which deletes an environment
+ variable. Thanks to Martin Hässler.
+
+ OTP-11450 Crash dumps from 64-bit Erlang machines would have all memory
+ addresses truncated to 32 bits, which could cause trouble
+ inspecting processes message queues and stacks in the
+ crashdump viewer.
+
+ OTP-11456 Threads other than schedulers threads could make thread
+ unsafe accesses when support for migration of memory carriers
+ had been enabled, i.e., when the +Macul command line flag
+ had been passed to erl. This could cause corruption of the
+ VMs internal state.
+
+ This bug was introduced in erts-5.10.2 when the support for
+ migration of memory carriers was introduced.
+
+ OTP-11479 Fix bug in binary_to_term for invalid bitstrings and very
+ large binaries (>2Gb).
+
+ OTP-11489 Introduced a new guarantee regarding exit signals from ports:
+
+ If the process calling one of the synchronous port BIFs
+ listed below is linked to the port identified by the first
+ argument, and the port exits before sending the result of the
+ port operation, the exit signal issued due to this link will
+ be received by the processes before the BIF returns, or fail
+ with an exception due to the port not being open.
+
+ The synchronous port BIFs are:
+
+ -- port_close/1
+
+ -- port_command/2
+
+ -- port_command/3
+
+ -- port_connect/2
+
+ -- port_control/3
+
+ -- erlang:port_call/3
+
+ -- erlang:port_info/1
+
+ -- erlang:port_info/2
+
+ Note that some ports under certain circumstances unlink
+ themselves from the calling process before exiting, i.e. even
+ though the process linked itself to the port there might be
+ no link triggering an exit signal.
+
+ Characteristics impact: The return or exception from the
+ synchronous port BIF will be delayed if the port
+ simultaneously exit due to some issue unrelated to the
+ outstanding synchronous port BIF call. In all other cases
+ characteristics are unchanged.
+
+ OTP-11491 Under rare circumstances a process calling inet:close/1,
+ gen_tcp:close/1, gen_udp:close/1, or gen_sctp:close/1 could
+ hang in the call indefinitely.
+
+ OTP-11496 Fix bug that could cause a 32-bit emulator to always crash at
+ start (since R16B01) depending on the alignment of static
+ data in the beam executable.
+
+ OTP-11501 Fix benign bugs regarding bitstring compare. Only a nuisance
+ for debug and valgrind VM.
+
+ OTP-11517 Silence warnings (Thanks to Anthony Ramine)
+
+ OTP-11521 The default wordsize of the emulator (beam) is now determined
+ by compiler default on Mac OSX (Darwin). This was previously
+ forced to 32bits by the configure script unless otherwise
+ specified.
+
+
+--- eunit-2.2.6 ---------------------------------------------------------
+
+ OTP-11373 Fix I/O-protocol error handling in eunit. Thanks to Yuki Ito.
+
+ OTP-11467 Do not attempt to detect lists of printable characters in
+ format. Thanks to Roberto Aloi.
+
+ OTP-11516 Fix silent make rule (Thanks to Anthony Ramine )
+
+
+--- hipe-3.10.2.2 -------------------------------------------------------
+
+ OTP-11374 Fixed a dialyzer crash when using remote types in the tail
+ position of a maybe_improper_list/2 type. Thanks to Kostis
+ Sagonas
+
+
+--- ic-4.3.4 ------------------------------------------------------------
+
+ OTP-11351 Fix two small silent rules omissions. Thanks to Anthony
+ Ramine.
+
+ OTP-11517 Silence warnings (Thanks to Anthony Ramine)
+
+
+--- inets-5.9.7 ---------------------------------------------------------
+
+ OTP-11037 The ftp client now supports ftp over tls (ftps).
+
+ OTP-11276 Fix httpd config option 'script_timeout' and fixed httpd
+ config option 'keep_alive_timeout'. Thanks to Johannes
+ Weissl.
+
+ OTP-11312 Make httpc:request_cancel/[1,2] asynchronous. Previously
+ these functions tried to guarantee request answer would not
+ reach the client, which only worked for some of the use
+ cases. Now these functions are totally asynchronous which
+ makes it the clients responsibility to disregard possible
+ answers to canceled requests.
+
+ Also pipelining implementation has been changed to improve
+ the utilization factor. Further investigation of possible
+ enhancements in this area are planned for later.
+
+ OTP-11328 [httpd] Add handling of new response for mod_head (otherwise
+ causing case_clause crash). Also updated logging: Removed
+ logging for keep-alive connections timeout (this is a normal
+ occurrence and not an error) and some access-log body size
+ corrections.
+
+
+--- kernel-2.16.4 -------------------------------------------------------
+
+ OTP-10229 New socket functions inet:socknames/1,2 and
+ inet:peernames/1,2 have been implemented. They are useful for
+ SCTP sockets since they return all addresses for an
+ association. For other sockets they fall back to
+ inet:sockname/1 and inet:peername/1, so the new functions can
+ replace the old for any application that wants to be multi
+ address aware yet socket type agnostic. See the
+ documentation.
+
+ OTP-11377 Fix the typespec for the inet:ifget/2 and inet:ifget/3 return
+ value. Thanks to Ali Sabil.
+
+ OTP-11379 Add more SCTP errors as described in RFC 4960. Thanks to
+ Artem Teslenko.
+
+ OTP-11414 Fix various typos in erts, kernel and ssh. Thanks to Martin
+ Hässler.
+
+ OTP-11446 Add new BIF os:unsetenv/1 which deletes an environment
+ variable. Thanks to Martin Hässler.
+
+ OTP-11471 Fix rpc multicall sample code. Thanks to Edwin Fine.
+
+ OTP-11491 Under rare circumstances a process calling inet:close/1,
+ gen_tcp:close/1, gen_udp:close/1, or gen_sctp:close/1 could
+ hang in the call indefinitely.
+
+
+--- mnesia-4.11 ---------------------------------------------------------
+
+ OTP-11375 Fixed a race in mnesia which could cause hanging transaction
+ when sticky locks had been used. Thanks janchochol.
+
+ OTP-11485 Fixed dirty_update_counter which could return ok, thanks
+ Anton Ryabkov.
+
+
+--- observer-1.3.1.2 ----------------------------------------------------
+
+ OTP-11335 The documentation for ttb:tracer/2 incorrectly stated that
+ there was an option named 'overload', while the correct name
+ used in the implementation is 'overload_check'.
+
+ OTP-11475 Fixed typo in observer documentation. Thanks to Dave Parfitt.
+
+
+--- odbc-2.10.18 --------------------------------------------------------
+
+ OTP-11483 Configure now also checks for the existence of the sql.h
+ header file
+
+
+--- os_mon-2.2.14 -------------------------------------------------------
+
+ OTP-11454 Fix incorrect reporting of memory on OS X via memsup. Thanks
+ to Christopher Meiklejohn.
+
+
+--- public_key-0.21 -----------------------------------------------------
+
+ OTP-11380 Fixed a little typo in public_key documentation. Thanks to
+ Tomas Morstein.
+
+ OTP-11470 public_key: Workaround for incorrectly encoded utf8
+ emailAddress. Thanks to Andrew Bennett.
+
+
+--- runtime_tools-1.8.13 ------------------------------------------------
+
+ OTP-11520 Observer did not produce correct result when ERTS internal
+ memory allocators had been disabled.
+
+
+--- sasl-2.3.4 ----------------------------------------------------------
+
+ OTP-8479 Added a boot file which skips loading the "$HOME/.erlang"
+ file on startup. Enable by starting erlang with "erl -boot
+ no_dot_erlang".
+
+ OTP-11464 Don't try to add the log_mf_h handler in sasl unless
+ configured to do so. Thanks to Richard Carlsson.
+
+ OTP-11507 Fix confusing documentation about error handlers in
+ SASL.(Thanks to Richard Carlsson)
+
+ OTP-11529 A bug in the mechanism for upgrading core parts of Erlang/OTP
+ (emulator, kernel, stdlib, sasl) caused a switch of paths
+ between stdlib and sasl in the intermediate .script/.boot
+ file. The bug was introduces along with this upgrade
+ mechanism in R15B. It has now been corrected. (Thanks to
+ Tobias Schlager)
+
+
+--- snmp-4.25 -----------------------------------------------------------
+
+ OTP-11307 [manager] Improved handling of unexpected/invalid return
+ values and crashes from called snmpm_user callback functions.
+
+ OTP-11352 Enable SNMP to create missing database directories. Add
+ {db_init_error, create_db_and_dir} option to SNMP manager and
+ agent. This allows them to create any missing parent
+ directories for db_dir, rather than treating any missing
+ directories as a fatal error. The default for db_init_error,
+ which is terminate, is unchanged.
+
+ OTP-11412 [manager] Wrong block cypher type used for AES ('aes_cbf128'
+ instead of 'aes_cfb128') when performing AES block
+ encrypt/decrypt.
+
+ OTP-11413 [manager] When performing the AES encryption, invalid values
+ for the EngineBoots and EngineTime was used. The values of
+ the local agent was used, which would have produced some
+ values if an agent was actually running. If not it would have
+ caused a crash.
+
+
+--- ssh-3.0 -------------------------------------------------------------
+
+ OTP-10976 Add option to disallow CLI
+
+ OTP-11296 Add sockname and user to ssh:connection_info/2
+
+ OTP-11339 The ssh cli is now faster at close and before new prompt.
+
+ OTP-11363 Ssh process structure was redesigned to better map to what is
+ truly parallel this has solved a lot of strange timing issues
+ that sometimes would occur, for instance a process leak could
+ happen when a lot of connections where taken up and down in
+ parallel in a short period of time. Also backwards compatible
+ clauses to "original" but never supported features has been
+ removed.
+
+ Impact: Increases flow efficiency
+
+ OTP-11414 Fix various typos in erts, kernel and ssh. Thanks to Martin
+ Hässler.
+
+ OTP-11449 Correct private_key type documentation in ssh_server_key_api.
+ Thanks to Tristan Sloughter.
+
+ OTP-11490 The functions in ssh_no_io.erl did not mimic the functions in
+ ssh_io.erl correctly, the arity was incorrect for some
+ functions which caused ssh to fail in the wrong way.
+
+
+--- ssl-5.3.2 -----------------------------------------------------------
+
+ OTP-11370 Honors the clients advertised support of elliptic curves and
+ no longer sends incorrect elliptic curve extension in server
+ hello.
+
+ OTP-11376 Fix initialization of DTLS fragment reassembler, in
+ previously contributed code, for future support of DTLS .
+ Thanks to Andreas Schultz.
+
+ OTP-11447 Remove extraneous dev debug code left in the close function.
+ Thanks to Ken Key.
+
+ OTP-11457 Corrected type error in client_preferred_next_protocols
+ documentation. Thanks to Julien Barbot.
+
+ OTP-11460 Add SSL Server Name Indication (SNI) client support. Thanks
+ to Julien Barbot.
+
+
+--- stdlib-1.19.4 -------------------------------------------------------
+
+ OTP-11398 Fix typo in gen_server.erl. Thanks to Brian L. Troutwine.
+
+ OTP-11442 Add XML marker for regexp syntax. Thanks to HÃ¥kan Mattson.
+
+ OTP-11465 Spec for atan2 should be atan2(Y, X), not atan2(X, Y). Thanks
+ to Ary Borenszweig.
+
+
+--- syntax_tools-1.6.12 -------------------------------------------------
+
+ OTP-11506 Fix transformation of implicit funs in igor (Thanks to
+ Anthony Ramine)
+
+
+--- test_server-3.6.4 ---------------------------------------------------
+
+ OTP-11305 The way Common Test handles skipping of test cases has been
+ updated. In previous versions, returning {skip,Reason} from a
+ configuration function (such as init_per_suite or
+ init_per_group), resulted in all affected test cases getting
+ skipped with status auto_skipped. This was inappropriate,
+ since this status is supposed to be used to inform that
+ Common Test has taken the initiative to skip something (e.g.
+ a test case group if init_per_group failed). Therefore, in
+ this version of Common Test, whenever the user skips a suite,
+ group, or individual test case (by means of a configuration
+ function or test specification term), the affected test cases
+ get the status user_skipped instead.
+
+ This update has meant a few changes that may affect Common
+ Test users in various ways:
+
+ -- The test results and statistics will be affected, which is
+ important to know when running regression tests and comparing
+ results to previous test runs.
+
+ -- Users that read or parse the textual log file suite.log
+ will notice that an auto skipped function is now reported as
+ auto_skipped rather than skipped as before.
+
+ -- When require fails in an info function (such as suite/0 or
+ group/1), all affected configuration functions and test cases
+ are marked as auto_skipped.
+
+ -- If Common Test detects an error in the test suite (such as
+ e.g. an invalid all/0 function), all affected configuration
+ functions and test cases are marked as auto_skipped.
+
+ -- If a repeated test run session reaches a deadline with
+ force_stop enabled, all remaining test cases are marked as
+ auto_skipped rather than user_skipped as before.
+
+ -- The event messages that Common Test generates during test
+ runs have been affected by this update. For details see
+ OTP-11524.
+
+
+--- tools-2.6.13 --------------------------------------------------------
+
+ OTP-11394 Add iodata, nonempty_string to built-in type highlighting for
+ emacs. Thanks to Paul Oliver.
+
+ OTP-11417 Erlang-specific compilation error regexp is added in
+ erlang-eunit.el. This defvar was earlier in erlang.el, but
+ was erroneously removed in R15B02, while still used by
+ erlang-eunit.el.
+
+ OTP-11439 Take compiler options from beam in cover:compile_beam. Thanks
+ to Péter Gömöri.
+
+ OTP-11517 Silence warnings (Thanks to Anthony Ramine)
+
+
+--- wx-1.1.1 ------------------------------------------------------------
+
+ OTP-11393 wx initialization hanged with wxWidgets-3.0 on mac. Fixed a
+ crash with wxListBox on wxWidgets-3.0 (thanks Sergei Golovan)
+ Fixed documentation links. Fixed event callbacks cleanup.
+
+ OTP-11505 Improve documentation (Thanks to Boris Mühmer)
+
+ OTP-11515 Fix silent make rules (Thanks to Anthony Ramine)
+
+
+--- xmerl-1.3.5 ---------------------------------------------------------
+
+ OTP-11461 Teach xmerl_xpath to resolve context namespaces in more
+ cases. Thanks to Daniel White.
+
+ OTP-11463 Avoid serialization on code_server in xmerl:export(). Thanks
+ to Richard Carlsson.
+
+
diff --git a/sources b/sources
index a5032de..3eb8f02 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
-5bd028771290eacbc075ca65a63749e6 otp_doc_html_R16B02.tar.gz
-fe3ff42375090d33ce1ba98c28218cf3 otp_doc_man_R16B02.tar.gz
-fe73334b75669fac4c3c400ceab064c8 otp_src_R16B02.readme
-ca63bcde0e5ae0f2df9457f97b3115a4 otp_src_R16B02.tar.gz
+fb39e206739e43501f6d27edf9b04b37 otp_doc_html_R16B03.tar.gz
+099ed598feadc54e7efea908cc598f08 otp_doc_man_R16B03.tar.gz
+d8b65a1492007f388545176300182d4f otp_src_R16B03.readme
+c330150913556a0fe73e57a441cb6375 otp_src_R16B03.tar.gz
From 2845f9192535b10cfbda10fb3d9a19b0f28d1a5f Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 26 Dec 2013 18:11:53 +0400
Subject: [PATCH 019/322] Don't generate signature and stats - they are noisy
Signed-off-by: Peter Lemenkov
---
otp-get-patches.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/otp-get-patches.sh b/otp-get-patches.sh
index d9ca70d..033db0e 100755
--- a/otp-get-patches.sh
+++ b/otp-get-patches.sh
@@ -42,7 +42,7 @@ tmpdir="$(mktemp -d --tmpdir="$PWD")"
# Generate patch files
pushd "$otp_dir"
-git format-patch -N -o "$tmpdir" "${otp_upstream}..${otp_fedora}" > "$tmpdir/patch-list.txt"
+git format-patch -N --no-signature --no-stat -o "$tmpdir" "${otp_upstream}..${otp_fedora}" > "$tmpdir/patch-list.txt"
popd
test -s "$tmpdir/patch-list.txt"
From 52d3d2b66603fa844fc4ab0a7762a85614aed1e7 Mon Sep 17 00:00:00 2001
From: Sam Kottler
Date: Fri, 7 Feb 2014 18:13:30 +0100
Subject: [PATCH 020/322] A few changes to get EPEL7 boostrapped and built
---
erlang.spec | 25 ++++++++++++++++++-------
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index cd39c58..e9e38ba 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -5,6 +5,10 @@
# Use %%{nil} for %%{upstream_rel} for tracking source like otp_src_R14B.tar.gz,
# and 01 %%{upstream_rel} for tracking source like otp_src_R14B01.tar.gz.
+%global need_bootstrap_set 1
+
+%{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}}
+
%if 0%{upstream_rel}
%global upstream_rel_for_rpm %{upstream_rel}
%else
@@ -28,7 +32,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.1%{?dist}
+Release: %{upstream_rel_for_rpm}.2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -105,12 +109,15 @@ BuildRequires: m4
%else
BuildRequires: fop
BuildRequires: libxslt
+
+%if 0%{?need_bootstrap} < 1
# Required for building docs (escript)
BuildRequires: erlang
%endif
%endif
+%endif
-%if 0%{?el6}%{?el7}%{?fedora}
+%if 0%{?el6}%{?fedora}
BuildRequires: emacs
BuildRequires: xemacs
BuildRequires: emacs-el
@@ -130,6 +137,7 @@ Requires: erlang-cosTime%{?_isa} = %{version}-%{release}
Requires: erlang-cosTransactions%{?_isa} = %{version}-%{release}
Requires: erlang-crypto%{?_isa} = %{version}-%{release}
Requires: erlang-debugger%{?_isa} = %{version}-%{release}
+
Requires: erlang-dialyzer%{?_isa} = %{version}-%{release}
Requires: erlang-diameter%{?_isa} = %{version}-%{release}
Requires: erlang-edoc%{?_isa} = %{version}-%{release}
@@ -530,7 +538,7 @@ Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
# FIXME see erlang-ic also
#Requires: jpackage-utils
-%if 0%{?fedora}
+%if 0%{?fedora}%{?el7}
BuildRequires: java-devel
%else
%ifarch %{ix86} x86_64
@@ -894,7 +902,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description xmerl
Provides support for XML 1.0.
-%if 0%{?el6}%{?el7}%{?fedora}
+%if 0%{?el6}%{?fedora}
%package -n emacs-erlang
Summary: Compiled elisp files for erlang-mode under GNU Emacs
Requires: emacs-common-erlang = %{version}-%{release}
@@ -985,7 +993,7 @@ make clean
# GNU Emacs/XEmacs related stuff
erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)"
-%if 0%{?el6}%{?el7}%{?fedora}
+%if 0%{?el6}%{?fedora}
# GNU Emacs related stuff
cat > emacs-erlang-init.el << EOF
(setq load-path (cons "%{_emacs_sitelispdir}/erlang" load-path))
@@ -1032,7 +1040,7 @@ make docs
%install
rm -rf $RPM_BUILD_ROOT
-%if 0%{?el6}%{?el7}%{?fedora}
+%if 0%{?el6}%{?fedora}
# GNU Emacs/XEmacs related stuff
erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)"
@@ -2261,7 +2269,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/xmerl_xsd.*
%endif
-%if 0%{?el6}%{?el7}%{?fedora}
+%if 0%{?el6}%{?fedora}
%files -n emacs-erlang
%dir %{_emacs_sitelispdir}/erlang
%doc %{_emacs_sitelispdir}/erlang/README
@@ -2283,6 +2291,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Feb 7 2014 Sam Kottler - R16B-03.2
+- Fix macro usage for EPEL7 build and added need_bootstrap
+
* Tue Dec 24 2013 Peter Lemenkov - R16B-03.1
- Ver. R16B03
From b87fdb544b6b58e032f6d4bd4685f5ca0b905050 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 27 Mar 2014 17:22:49 +0400
Subject: [PATCH 021/322] Don't bootstrap by default
Signed-off-by: Peter Lemenkov
---
erlang.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index e9e38ba..981b2c0 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -5,7 +5,7 @@
# Use %%{nil} for %%{upstream_rel} for tracking source like otp_src_R14B.tar.gz,
# and 01 %%{upstream_rel} for tracking source like otp_src_R14B01.tar.gz.
-%global need_bootstrap_set 1
+%global need_bootstrap_set 0
%{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}}
From 77ce5ed9dd7709b790bb257184a88d84d2b12dd0 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 27 Mar 2014 17:26:01 +0400
Subject: [PATCH 022/322] Use fedorahosted repo instead of private github forks
Signed-off-by: Peter Lemenkov
---
erlang.spec | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 981b2c0..fe2972a 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -53,13 +53,11 @@ Source999: otp-get-patches.sh
# Run something like
# $ git clone git://github.com/erlang/otp.git
# $ cd otp
-# $ git remote add lemenkov git://github.com/lemenkov/otp.git
-# $ git remote add ndim git://github.com/ndim/otp.git
+# $ git remote add fedora https://git.fedorahosted.org/git/erlang.git
# $ git fetch -v --all
# to get yourself a copy of the Erlang/OTP source code with the
-# Fedora specific patches from Peter Lemenkov and Hans Ulrich Niedermann.
-# Then run something like
-# $ ./otp-get-patches.sh /path/to/otp OTP_R14B02 ndim/fedora-R14B02
+# Fedora specific patches from Fedora. Then run something like
+# $ ./otp-get-patches.sh /path/to/otp OTP_R14B02 fedora/fedora-R14B02
# for some semi-automatic patch update assistance.
#
# start of autogenerated patch tag list
From f7eb6dd95b9352dad5d5a364e3300f508c4f0193 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 27 Mar 2014 18:43:47 +0400
Subject: [PATCH 023/322] Update to the R16B03-1
- Update to the R16B03-1
- Initial systemd support in EPMD (w.i.p.)
Signed-off-by: Peter Lemenkov
---
.gitignore | 4 +
epmd.service | 18 +++
epmd.socket | 10 ++
erlang.spec | 41 ++++++-
otp-0006-Do-not-install-erlang-sources.patch | 4 +-
...on-to-empd.-Check-for-include-system.patch | 74 ++++++++++++
otp-0012-Add-systemd-support-to-epmd.patch | 111 ++++++++++++++++++
sources | 8 +-
8 files changed, 259 insertions(+), 11 deletions(-)
create mode 100644 epmd.service
create mode 100644 epmd.socket
create mode 100644 otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch
create mode 100644 otp-0012-Add-systemd-support-to-epmd.patch
diff --git a/.gitignore b/.gitignore
index 102f125..99b1241 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,3 +46,7 @@ otp_src_R14A.tar.gz
/otp_doc_html_R16B03.tar.gz
/otp_doc_man_R16B03.tar.gz
/otp_src_R16B03.readme
+/otp_src_R16B03-1.readme
+/otp_doc_html_R16B03-1.tar.gz
+/otp_doc_man_R16B03-1.tar.gz
+/otp_src_R16B03-1.tar.gz
diff --git a/epmd.service b/epmd.service
new file mode 100644
index 0000000..c029ac4
--- /dev/null
+++ b/epmd.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Erlang Port Mapper Daemon
+After=network.target
+Requires=epmd.socket
+
+[Service]
+ExecStart=/usr/bin/epmd -systemd
+ExecStop=/usr/bin/epmd -kill
+Type=simple
+StandardOutput=journal
+StandardError=journal
+User=epmd
+Group=epmd
+
+[Install]
+Also=epmd.socket
+WantedBy=multi-user.target
+
diff --git a/epmd.socket b/epmd.socket
new file mode 100644
index 0000000..8eee066
--- /dev/null
+++ b/epmd.socket
@@ -0,0 +1,10 @@
+[Unit]
+Description=Erlang Port Mapper Daemon Activation Socket
+
+[Socket]
+ListenStream=127.0.0.1:4369
+Accept=false
+
+[Install]
+WantedBy=sockets.target
+
diff --git a/erlang.spec b/erlang.spec
index fe2972a..e3b55aa 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -32,18 +32,20 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.2%{?dist}
+Release: %{upstream_rel_for_rpm}.3%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
License: ERPL
URL: http://www.erlang.org
-Source0: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}.tar.gz
+Source0: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}-1.tar.gz
%if %{use_prebuilt_docs}
-Source1: http://erlang.org/download/otp_doc_html_%{upstream_ver}%{upstream_rel}.tar.gz
-Source2: http://erlang.org/download/otp_doc_man_%{upstream_ver}%{upstream_rel}.tar.gz
+Source1: http://erlang.org/download/otp_doc_html_%{upstream_ver}%{upstream_rel}-1.tar.gz
+Source2: http://erlang.org/download/otp_doc_man_%{upstream_ver}%{upstream_rel}-1.tar.gz
%endif
-Source4: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}.readme
+Source4: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}-1.readme
+Source5: epmd.service
+Source6: epmd.socket
Source999: otp-get-patches.sh
@@ -91,6 +93,12 @@ Patch9: otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
# Fedora specific patch
# Fix for powerpc architecture
Patch10: otp-0010-Fix-for-powerpc-architecture.patch
+# Fedora specific patch
+# Add -systemd option to empd. Check for include
+Patch11: otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch
+# Fedora specific patch
+# Add systemd support to epmd
+Patch12: otp-0012-Add-systemd-support-to-epmd.patch
# end of autogenerated patch tag list
# BuildRoot not strictly needed since F10, but keep it for spec file robustness
@@ -122,6 +130,13 @@ BuildRequires: emacs-el
BuildRequires: xemacs-packages-extra-el
%endif
+%if 0%{?el7}%{?fedora}
+Requires(post): systemd
+Requires(preun):systemd
+Requires(postun):systemd
+Requires: systemd
+%endif
+
Requires: erlang-appmon%{?_isa} = %{version}-%{release}
Requires: erlang-asn1%{?_isa} = %{version}-%{release}
Requires: erlang-common_test%{?_isa} = %{version}-%{release}
@@ -958,6 +973,8 @@ Erlang mode for XEmacs (source lisp files).
%patch8 -p1 -b .Fix_for_armv7hl_architecture
%patch9 -p1 -b .TEMPORARILY_disable_ECC_until_dust_settles
%patch10 -p1 -b .Fix_for_powerpc_architecture
+%patch11 -p1 -b .Add_systemd_option_to_empd_Check_for_include_system
+%patch12 -p1 -b .Add_systemd_support_to_epmd
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -1153,6 +1170,12 @@ test -d "$RPM_BUILD_ROOT$jinterface_lib_dir"
install -m 0755 -d "$RPM_BUILD_ROOT%{_javadir}"
ln -s "${jinterface_lib_dir}priv/OtpErlang.jar" "$RPM_BUILD_ROOT%{_javadir}/%{name}/"
+# systemd-related stuff
+%if 0%{?el7}%{?fedora}
+install -D -p -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}/epmd.service
+install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/epmd.socket
+%endif
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -1493,6 +1516,10 @@ rm -rf $RPM_BUILD_ROOT
%endif
%{_libdir}/erlang/releases/*
%{_libdir}/erlang/usr/
+%if 0%{?el7}%{?fedora}
+%{_unitdir}/epmd.service
+%{_unitdir}/epmd.socket
+%endif
%files et
%dir %{_libdir}/erlang/lib/et-*/
@@ -2289,6 +2316,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Mar 27 2014 Peter Lemenkov - R16B-03.3
+- Ver. R16B03-1 (Bugfix release)
+- Enabled systemd support in EPMD
+
* Fri Feb 7 2014 Sam Kottler - R16B-03.2
- Fix macro usage for EPEL7 build and added need_bootstrap
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index 38c9dd1..843e052 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -460,10 +460,10 @@ index 51167b3..a623824 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile
-index 67555d5..0620f3a 100644
+index 2660d04..c873a27 100644
--- a/lib/inets/src/http_server/Makefile
+++ b/lib/inets/src/http_server/Makefile
-@@ -125,7 +125,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -126,7 +126,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/http_server"
diff --git a/otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch b/otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch
new file mode 100644
index 0000000..bb13893
--- /dev/null
+++ b/otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch
@@ -0,0 +1,74 @@
+From: "Matwey V. Kornilov"
+Date: Tue, 17 Dec 2013 18:16:56 +0400
+Subject: [PATCH] Add -systemd option to empd. Check for include
+ systemd/sd-daemon.h and wrap systemd code into ifdef-s.
+
+
+diff --git a/erts/configure.in b/erts/configure.in
+index 9ad3671..125e579 100644
+--- a/erts/configure.in
++++ b/erts/configure.in
+@@ -1565,6 +1565,8 @@ AC_CHECK_MEMBERS([struct ifreq.ifr_enaddr], [], [],
+ #endif
+ ])
+
++AC_CHECK_HEADERS(systemd/sd-daemon.h)
++
+ dnl ----------------------------------------------------------------------
+ dnl Check the availability for libdlpi
+ dnl ----------------------------------------------------------------------
+diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c
+index 2d55b37..fc58882 100644
+--- a/erts/epmd/src/epmd.c
++++ b/erts/epmd/src/epmd.c
+@@ -175,6 +175,9 @@ int main(int argc, char** argv)
+ g->nodes.reg = g->nodes.unreg = g->nodes.unreg_tail = NULL;
+ g->nodes.unreg_count = 0;
+ g->active_conn = 0;
++#ifdef HAVE_SYSTEMD_SD_DAEMON_H
++ g->is_systemd = 0;
++#endif
+
+ for (i = 0; i < MAX_LISTEN_SOCKETS; i++)
+ g->listenfd[i] = -1;
+@@ -248,8 +251,12 @@ int main(int argc, char** argv)
+ else
+ usage(g);
+ epmd_cleanup_exit(g,0);
+- }
+- else
++#ifdef HAVE_SYSTEMD_SD_DAEMON_H
++ } else if (strcmp(argv[0], "-systemd") == 0) {
++ g->is_systemd = 1;
++ argv++; argc--;
++#endif
++ } else
+ usage(g);
+ }
+ dbg_printf(g,1,"epmd running - daemon = %d",g->is_daemon);
+@@ -454,6 +461,11 @@ static void usage(EpmdVars *g)
+ fprintf(stderr, " Forcibly unregisters a name with epmd\n");
+ fprintf(stderr, " (only allowed if -relaxed_command_check was given when \n");
+ fprintf(stderr, " epmd was started).\n");
++#ifdef HAVE_SYSTEMD_SD_DAEMON_H
++ fprintf(stderr, " -systemd\n");
++ fprintf(stderr, " Wait for socket from systemd. The option makes sense\n");
++ fprintf(stderr, " when started from .socket unit.\n");
++#endif
+ epmd_cleanup_exit(g,1);
+ }
+
+diff --git a/erts/epmd/src/epmd_int.h b/erts/epmd/src/epmd_int.h
+index 656dbd1..bf1ddd8 100644
+--- a/erts/epmd/src/epmd_int.h
++++ b/erts/epmd/src/epmd_int.h
+@@ -321,6 +321,9 @@ typedef struct {
+ int listenfd[MAX_LISTEN_SOCKETS];
+ char *addresses;
+ char **argv;
++#ifdef HAVE_SYSTEMD_SD_DAEMON_H
++ int is_systemd;
++#endif
+ } EpmdVars;
+
+ void dbg_printf(EpmdVars*,int,const char*,...);
diff --git a/otp-0012-Add-systemd-support-to-epmd.patch b/otp-0012-Add-systemd-support-to-epmd.patch
new file mode 100644
index 0000000..3535601
--- /dev/null
+++ b/otp-0012-Add-systemd-support-to-epmd.patch
@@ -0,0 +1,111 @@
+From: "Matwey V. Kornilov"
+Date: Tue, 17 Dec 2013 18:57:54 +0400
+Subject: [PATCH] Add systemd support to epmd
+
+
+diff --git a/erts/configure.in b/erts/configure.in
+index 125e579..d9bc1ec 100644
+--- a/erts/configure.in
++++ b/erts/configure.in
+@@ -969,6 +969,8 @@ AC_CHECK_LIB(dl, dlopen)
+ AC_CHECK_LIB(inet, main)
+ AC_CHECK_LIB(util, openpty)
+
++AC_CHECK_LIB(systemd-daemon, sd_listen_fds)
++
+ dnl Try to find a thread library.
+ dnl
+ dnl ETHR_LIB_NAME, ETHR_LIBS, ETHR_X_LIBS, ETHR_THR_LIB_BASE and ETHR_DEFS
+diff --git a/erts/epmd/src/epmd_int.h b/erts/epmd/src/epmd_int.h
+index bf1ddd8..363923e 100644
+--- a/erts/epmd/src/epmd_int.h
++++ b/erts/epmd/src/epmd_int.h
+@@ -110,6 +110,10 @@
+
+ #include
+
++#ifdef HAVE_SYSTEMD_SD_DAEMON_H
++# include
++#endif
++
+ /* ************************************************************************ */
+ /* Replace some functions by others by making the function name a macro */
+
+diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c
+index 90df7cc..cb8ca96 100644
+--- a/erts/epmd/src/epmd_srv.c
++++ b/erts/epmd/src/epmd_srv.c
+@@ -208,6 +208,39 @@ void run(EpmdVars *g)
+ node_init(g);
+ g->conn = conn_init(g);
+
++#ifdef HAVE_SYSTEMD_SD_DAEMON_H
++ if (g->is_systemd)
++ {
++ int n;
++
++ dbg_printf(g,2,"try to obtain sockets from systemd");
++
++ n = sd_listen_fds(0);
++ if (n < 0)
++ {
++ dbg_perror(g,"cannot obtain sockets from systemd");
++ epmd_cleanup_exit(g,1);
++ }
++ else if (n == 0)
++ {
++ dbg_tty_printf(g,0,"systemd provides no sockets");
++ epmd_cleanup_exit(g,1);
++ }
++ else if (n > MAX_LISTEN_SOCKETS)
++ {
++ dbg_tty_printf(g,0,"cannot listen on more than %d IP addresses", MAX_LISTEN_SOCKETS);
++ epmd_cleanup_exit(g,1);
++ }
++ num_sockets = n;
++ for (i = 0; i < num_sockets; i++)
++ {
++ g->listenfd[i] = listensock[i] = SD_LISTEN_FDS_START + i;
++ }
++ }
++ else
++ {
++#endif
++
+ dbg_printf(g,2,"try to initiate listening port %d", g->port);
+
+ if (g->addresses != NULL && /* String contains non-separator characters if: */
+@@ -272,6 +305,9 @@ void run(EpmdVars *g)
+ SET_ADDR(iserv_addr[0],EPMD_ADDR_ANY,sport);
+ num_sockets = 1;
+ }
++#ifdef HAVE_SYSTEMD_SD_DAEMON_H
++ }
++#endif
+
+ #if !defined(__WIN32__)
+ /* We ignore the SIGPIPE signal that is raised when we call write
+@@ -289,6 +325,13 @@ void run(EpmdVars *g)
+ FD_ZERO(&g->orig_read_mask);
+ g->select_fd_top = 0;
+
++#ifdef HAVE_SYSTEMD_SD_DAEMON_H
++ if (g->is_systemd)
++ for (i = 0; i < num_sockets; i++)
++ select_fd_set(g, listensock[i]);
++ else
++ {
++#endif
+ for (i = 0; i < num_sockets; i++)
+ {
+ if ((listensock[i] = socket(FAMILY,SOCK_STREAM,0)) < 0)
+@@ -351,6 +394,9 @@ void run(EpmdVars *g)
+ }
+ select_fd_set(g, listensock[i]);
+ }
++#ifdef HAVE_SYSTEMD_SD_DAEMON_H
++ }
++#endif
+
+ dbg_tty_printf(g,2,"entering the main select() loop");
+
diff --git a/sources b/sources
index 3eb8f02..df29746 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
-fb39e206739e43501f6d27edf9b04b37 otp_doc_html_R16B03.tar.gz
-099ed598feadc54e7efea908cc598f08 otp_doc_man_R16B03.tar.gz
-d8b65a1492007f388545176300182d4f otp_src_R16B03.readme
-c330150913556a0fe73e57a441cb6375 otp_src_R16B03.tar.gz
+d27250e9ee98d6388e7f2e65379a0406 otp_src_R16B03-1.readme
+eff44490c9bbae3a5c5741bec2390ba3 otp_doc_html_R16B03-1.tar.gz
+39113c0d2515bdd8cd7e0f975a380122 otp_doc_man_R16B03-1.tar.gz
+e5ece977375197338c1b93b3d88514f8 otp_src_R16B03-1.tar.gz
From 9467e052022130f1bdf7d2dc4a1528bf1cbf989f Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 27 Mar 2014 19:05:04 +0400
Subject: [PATCH 024/322] Quick build fix
Signed-off-by: Peter Lemenkov
---
erlang.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index e3b55aa..6fbba7e 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -956,7 +956,7 @@ Erlang mode for XEmacs (source lisp files).
%endif
%prep
-%setup -q -n otp_src_%{upstream_ver}%{upstream_rel}
+%setup -q -n otp_src_%{upstream_ver}%{upstream_rel}-1
# start of autogenerated prep patch list
%patch1 -p1 -b .Do_not_format_man_pages_and_do_not_install_miscellan
From 3f5b8b5019140c447c7b2efef92f1250ada7befa Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 27 Mar 2014 19:08:30 +0400
Subject: [PATCH 025/322] Removed leftover
Signed-off-by: Peter Lemenkov
---
otp_src_R16B03.readme | 718 ------------------------------------------
1 file changed, 718 deletions(-)
delete mode 100644 otp_src_R16B03.readme
diff --git a/otp_src_R16B03.readme b/otp_src_R16B03.readme
deleted file mode 100644
index aa9f45d..0000000
--- a/otp_src_R16B03.readme
+++ /dev/null
@@ -1,718 +0,0 @@
-Bug fix release : otp_src_R16B03
-Build date : 2013-12-09
-
-This is R16B03, the third maintenance release for the R16B major release.
-
-You can find the README file for the release at
-
- http://www.erlang.org/download/otp_src_R16B03.readme (this file)
-
-The source distribution and binary distributions for Windows can be
-downloaded from
-
- http://www.erlang.org/download/otp_src_R16B03.tar.gz
- http://www.erlang.org/download/otp_win32_R16B03.exe
- http://www.erlang.org/download/otp_win64_R16B03.exe
-
-Note: To unpack the TAR archive you need a GNU TAR compatible program.
-
-For installation instructions please read the README file that is part
-of the distribution.
-
-The on-line documentation can be found at: http://www.erlang.org/doc/
-You can also download the complete HTML documentation or the Unix manual files
-
- http://www.erlang.org/download/otp_doc_html_R16B03.tar.gz
- http://www.erlang.org/download/otp_doc_man_R16B03.tar.gz
-
-We also want to thank those that sent us patches, suggestions and bug reports,
-
-The OTP Team
-
-
---- HIGHLIGHTS ----------------------------------------------------------
-
- OTP-11149 == erts ==
-
- A new memory allocation feature called "super carrier" has
- been introduced. The super carrier feature can be used in
- different ways. It can for example be used for pre-allocation
- of all memory that the runtime system should be able to use.
-
- By default the super carrier is disabled. It is enabled by
- passing the +MMscs command line argument. For
- more information see the documentation of the +MMsco,
- +MMscrfsd, +MMscrpm, +MMscs, +MMusac, and, +Mlpm command line
- arguments in the erts_alloc(3) documentation.
-
- Since it is disabled by default there should be no impact on
- system characteristics if not used.
-
- This change has been marked as a potential incompatibility
- since the returned list when calling
- erlang:system_info({allocator, mseg_alloc}) now also include
- an {erts_mmap, _} tuple as one element in the list.
-
-
---- otp -----------------------------------------------------------------
-
- OTP-11323 Remove ^L characters hidden randomly in the code. Not those
- used in text files as delimiters. Thanks to Pierre Fenoll.
-
- OTP-11448 Update INSTALL md, added info how to generate configure file
- if building from git. Thanks to Jakub Oboza.
-
- OTP-11472 Fixed typo in gen_fsm example. Thanks to Boris Mühmer.
-
-
---- asn1-2.0.4 ----------------------------------------------------------
-
- OTP-11314 The new option 'no_ok_wrapper' generates M:encode/2 and
- M:decode/2 functions that don't wrap the return value in an
- {ok,...} tuple.
-
- OTP-11319 The default value for a BIT STRING would not always be
- recognized, causing the encoding to be incorrect for the
- DER/PER/UPER encodings.
-
- OTP-11360 The asn1 application would fail to build if the .erlang file
- printed something to standard output.
-
- OTP-11411 An union of integer ranges in an INTEGER constraint could
- sometimes be interpreted as the intersection of the range.
-
- OTP-11415 Extensible, multiple single value constraints (such as
- INTEGER (1|17, ...)) would be incorrectly encoded.
-
- OTP-11504 The ASN.1 compiler would fail to compile a constraint with
- values given for for the extension part (such as INTEGER
- (1..10, ..., 11..20)).
-
-
---- common_test-1.7.4 ---------------------------------------------------
-
- OTP-10631 Return values from group and testcase info functions are now
- properly checked, and associated test cases are auto skipped
- if a return value is invalid.
-
- OTP-11305 The way Common Test handles skipping of test cases has been
- updated. In previous versions, returning {skip,Reason} from a
- configuration function (such as init_per_suite or
- init_per_group), resulted in all affected test cases getting
- skipped with status auto_skipped. This was inappropriate,
- since this status is supposed to be used to inform that
- Common Test has taken the initiative to skip something (e.g.
- a test case group if init_per_group failed). Therefore, in
- this version of Common Test, whenever the user skips a suite,
- group, or individual test case (by means of a configuration
- function or test specification term), the affected test cases
- get the status user_skipped instead.
-
- This update has meant a few changes that may affect Common
- Test users in various ways:
-
- -- The test results and statistics will be affected, which is
- important to know when running regression tests and comparing
- results to previous test runs.
-
- -- Users that read or parse the textual log file suite.log
- will notice that an auto skipped function is now reported as
- auto_skipped rather than skipped as before.
-
- -- When require fails in an info function (such as suite/0 or
- group/1), all affected configuration functions and test cases
- are marked as auto_skipped.
-
- -- If Common Test detects an error in the test suite (such as
- e.g. an invalid all/0 function), all affected configuration
- functions and test cases are marked as auto_skipped.
-
- -- If a repeated test run session reaches a deadline with
- force_stop enabled, all remaining test cases are marked as
- auto_skipped rather than user_skipped as before.
-
- -- The event messages that Common Test generates during test
- runs have been affected by this update. For details see
- OTP-11524.
-
- OTP-11401 Fix cth_log_redirect.erl to fulfill gen_event behaviour.
- Thanks to Roberto Aloi.
-
- OTP-11409 Returning {skip, Reason} from a pre_end_per_group/3 user hook
- function would result in an exit in the Common Test
- cth_log_redirect hook. This problem has been solved.
-
- OTP-11478 When the netconf server did not respond to the close-session
- request, the call to ct_netconfc:close_session/2 would hang
- forever waiting for the netconf client to terminate. This has
- been corrected. The client will now always terminate (and
- take down the connection) if the close-session request times
- out.
-
- OTP-11523 The first argument of the CT hook callback function
- on_tc_skip/3 has been modified. When this function is called
- for init_per_group or end_per_group, the value of the first
- argument is now {init_per_group,GroupName} or
- {end_per_group,GroupName}.
-
- OTP-11524 The following modifications have been made to the event
- messages that Common Test sends during test execution:
-
- -- For the tc_auto_skip event, the value of the Func element
- has changed from end_per_group to {end_per_group,GroupName}.
-
- -- When require fails in an info function, such as suite/0 or
- group/1, the init configuration function is now reported as
- auto_skipped intead of skipped, with the tc_done event.
-
- -- When require fails in an info function because of a
- configuration name already in use, the tc_done event now
- reports the error with a tuple (of size 2) tagged failed
- instead of skipped.
-
- Please see the Event Handling chapter in the Common Test
- User's Guide for reference.
-
-
---- compiler-4.9.4 ------------------------------------------------------
-
- OTP-11267 Lift 'after' blocks to zeroary functions. Thanks to Anthony
- Ramine.
-
- OTP-11455 Typo fix ambigous -> ambiguous. Thanks to Leo Correa.
-
-
---- crypto-3.2 ----------------------------------------------------------
-
- OTP-11510 Fix uninitialized pointers in crypto (Thanks to Anthony
- Ramine)
-
-
---- dialyzer-2.6.2 ------------------------------------------------------
-
- OTP-11374 Fixed a dialyzer crash when using remote types in the tail
- position of a maybe_improper_list/2 type. Thanks to Kostis
- Sagonas
-
-
---- diameter-1.4.4 ------------------------------------------------------
-
- OTP-11367 Fix setting of End-to-End and Hop-by-Hop Identifiers in
- outgoing DWA. Broken by OTP-11184, which caused the identifiers
- to be set anew, discarding the values from the incoming
- DWR.
-
- OTP-11395 Fix handling of 5014, DIAMETER_INVALID_AVP_LENGTH. The error
- was detected as 5004, DIAMETER_INVALID_AVP_VALUE, for some
- Diameter types, in which case an AVP length that pointed
- past the end of a message resulted in encode failure.
-
-
---- diameter-1.5 --------------------------------------------------------
-
- OTP-11168 Rename reconnect_timer to connect_timer.
-
- The former is still accepted for backwards compatibility, but
- the name is misleading given the semantics of the timer.
-
- OTP-11348 Extend diameter_make(3).
-
- Dictionaries can now be compiled from strings, not just
- filesystem paths, and results can be returned instead of
- written to the filesystem.
-
- OTP-11361 Remove hardcoding of diameter_base as @prefix on dictionaries
- for application id 0.
-
- OTP-11514 Fix silent make rules (Thanks to Anthony Ramine)
-
-
---- eldap-1.0.2 ---------------------------------------------------------
-
- OTP-11336 The ldap client eldap now supports the start_tls operation.
- This upgrades an existing tcp connection to encryption using
- tls, if the server supports it. See eldap:start_tls/2 and /3.
-
- OTP-11354 Removed {verify,0} from ssl-options because eldap does not
- support peer verification. Thanks to Florian Waas for
- reporting.
-
-
---- erl_interface-3.7.15 ------------------------------------------------
-
- OTP-11517 Silence warnings (Thanks to Anthony Ramine)
-
-
---- erts-5.10.3.1 -------------------------------------------------------
-
- OTP-11318 Memory allocators will be able to create sys_alloc carriers
- as fallback, if mseg_alloc cannot create more carriers,
- on systems with posix_memalign() support. This is similar
- to how it worked in pre-R16 releases. Windows systems will
- create carriers using _aligned_malloc() and can by this
- use the new optimized allocator header scheme introduced
- in R16 on other platforms.
-
-
---- erts-5.10.4 ---------------------------------------------------------
-
- OTP-10229 New socket functions inet:socknames/1,2 and
- inet:peernames/1,2 have been implemented. They are useful for
- SCTP sockets since they return all addresses for an
- association. For other sockets they fall back to
- inet:sockname/1 and inet:peername/1, so the new functions can
- replace the old for any application that wants to be multi
- address aware yet socket type agnostic. See the
- documentation.
-
- OTP-11149 A new memory allocation feature called "super carrier" has
- been introduced. The super carrier feature can be used in
- different ways. It can for example be used for pre-allocation
- of all memory that the runtime system should be able to use.
-
- By default the super carrier is disabled. It is enabled by
- passing the +MMscs command line argument. For
- more information see the documentation of the +MMsco,
- +MMscrfsd, +MMscrpm, +MMscs, +MMusac, and, +Mlpm command line
- arguments in the erts_alloc(3) documentation.
-
- Since it is disabled by default there should be no impact on
- system characteristics if not used.
-
- This change has been marked as a potential incompatibility
- since the returned list when calling
- erlang:system_info({allocator, mseg_alloc}) now also include
- an {erts_mmap, _} tuple as one element in the list.
-
- OTP-11170 When normalizing paths, erl_prim_loader would always convert
- backslash to forward slash. This is correct on Windows, but
- not on other operating systems. erl_prim_loader now checks
- which OS is running before performing this conversion.
-
- OTP-11349 Fixed syslog defines and defined LOG_ERR for systems without
- syslog.h. Thanks to Matt Lewandowsky.
-
- OTP-11350 Check all pattern arguments passed to binary:matches/2.
- Thanks to Mike Sassak.
-
- OTP-11351 Fix two small silent rules omissions. Thanks to Anthony
- Ramine.
-
- OTP-11362 Added erlang:system_info(ets_limit) to provide a way to
- retrieve the runtime's maximum number of ETS tables. Thanks
- to Steve Vinoski
-
- OTP-11371 Teach configure to detect if posix_memalign cannot align to
- more than the system page size.
-
- For cross-compiled systems a new environment variable called
- erl_xcomp_posix_memalign has been introduced to indicate
- whether posix_memalign should be used.
-
- OTP-11381 Fix bsr bug occurring when shifting a huge number a huge
- number of bits to the right. Thanks to Lars Hesel
- Christensen.
-
- OTP-11410 Fix memory leak for distributed monitors
-
- OTP-11414 Fix various typos in erts, kernel and ssh. Thanks to Martin
- Hässler.
-
- OTP-11420 Crashdumps initiated by out-of-memory on process spawn could
- cause the beam to segfault during crashdump writing due to
- invalid pointers.
-
- The pointers are invalid since the process creation never
- finished. This fix removes these processes from the
- printouts. Reported by Richard Carlsson.
-
- OTP-11446 Add new BIF os:unsetenv/1 which deletes an environment
- variable. Thanks to Martin Hässler.
-
- OTP-11450 Crash dumps from 64-bit Erlang machines would have all memory
- addresses truncated to 32 bits, which could cause trouble
- inspecting processes message queues and stacks in the
- crashdump viewer.
-
- OTP-11456 Threads other than schedulers threads could make thread
- unsafe accesses when support for migration of memory carriers
- had been enabled, i.e., when the +Macul command line flag
- had been passed to erl. This could cause corruption of the
- VMs internal state.
-
- This bug was introduced in erts-5.10.2 when the support for
- migration of memory carriers was introduced.
-
- OTP-11479 Fix bug in binary_to_term for invalid bitstrings and very
- large binaries (>2Gb).
-
- OTP-11489 Introduced a new guarantee regarding exit signals from ports:
-
- If the process calling one of the synchronous port BIFs
- listed below is linked to the port identified by the first
- argument, and the port exits before sending the result of the
- port operation, the exit signal issued due to this link will
- be received by the processes before the BIF returns, or fail
- with an exception due to the port not being open.
-
- The synchronous port BIFs are:
-
- -- port_close/1
-
- -- port_command/2
-
- -- port_command/3
-
- -- port_connect/2
-
- -- port_control/3
-
- -- erlang:port_call/3
-
- -- erlang:port_info/1
-
- -- erlang:port_info/2
-
- Note that some ports under certain circumstances unlink
- themselves from the calling process before exiting, i.e. even
- though the process linked itself to the port there might be
- no link triggering an exit signal.
-
- Characteristics impact: The return or exception from the
- synchronous port BIF will be delayed if the port
- simultaneously exit due to some issue unrelated to the
- outstanding synchronous port BIF call. In all other cases
- characteristics are unchanged.
-
- OTP-11491 Under rare circumstances a process calling inet:close/1,
- gen_tcp:close/1, gen_udp:close/1, or gen_sctp:close/1 could
- hang in the call indefinitely.
-
- OTP-11496 Fix bug that could cause a 32-bit emulator to always crash at
- start (since R16B01) depending on the alignment of static
- data in the beam executable.
-
- OTP-11501 Fix benign bugs regarding bitstring compare. Only a nuisance
- for debug and valgrind VM.
-
- OTP-11517 Silence warnings (Thanks to Anthony Ramine)
-
- OTP-11521 The default wordsize of the emulator (beam) is now determined
- by compiler default on Mac OSX (Darwin). This was previously
- forced to 32bits by the configure script unless otherwise
- specified.
-
-
---- eunit-2.2.6 ---------------------------------------------------------
-
- OTP-11373 Fix I/O-protocol error handling in eunit. Thanks to Yuki Ito.
-
- OTP-11467 Do not attempt to detect lists of printable characters in
- format. Thanks to Roberto Aloi.
-
- OTP-11516 Fix silent make rule (Thanks to Anthony Ramine )
-
-
---- hipe-3.10.2.2 -------------------------------------------------------
-
- OTP-11374 Fixed a dialyzer crash when using remote types in the tail
- position of a maybe_improper_list/2 type. Thanks to Kostis
- Sagonas
-
-
---- ic-4.3.4 ------------------------------------------------------------
-
- OTP-11351 Fix two small silent rules omissions. Thanks to Anthony
- Ramine.
-
- OTP-11517 Silence warnings (Thanks to Anthony Ramine)
-
-
---- inets-5.9.7 ---------------------------------------------------------
-
- OTP-11037 The ftp client now supports ftp over tls (ftps).
-
- OTP-11276 Fix httpd config option 'script_timeout' and fixed httpd
- config option 'keep_alive_timeout'. Thanks to Johannes
- Weissl.
-
- OTP-11312 Make httpc:request_cancel/[1,2] asynchronous. Previously
- these functions tried to guarantee request answer would not
- reach the client, which only worked for some of the use
- cases. Now these functions are totally asynchronous which
- makes it the clients responsibility to disregard possible
- answers to canceled requests.
-
- Also pipelining implementation has been changed to improve
- the utilization factor. Further investigation of possible
- enhancements in this area are planned for later.
-
- OTP-11328 [httpd] Add handling of new response for mod_head (otherwise
- causing case_clause crash). Also updated logging: Removed
- logging for keep-alive connections timeout (this is a normal
- occurrence and not an error) and some access-log body size
- corrections.
-
-
---- kernel-2.16.4 -------------------------------------------------------
-
- OTP-10229 New socket functions inet:socknames/1,2 and
- inet:peernames/1,2 have been implemented. They are useful for
- SCTP sockets since they return all addresses for an
- association. For other sockets they fall back to
- inet:sockname/1 and inet:peername/1, so the new functions can
- replace the old for any application that wants to be multi
- address aware yet socket type agnostic. See the
- documentation.
-
- OTP-11377 Fix the typespec for the inet:ifget/2 and inet:ifget/3 return
- value. Thanks to Ali Sabil.
-
- OTP-11379 Add more SCTP errors as described in RFC 4960. Thanks to
- Artem Teslenko.
-
- OTP-11414 Fix various typos in erts, kernel and ssh. Thanks to Martin
- Hässler.
-
- OTP-11446 Add new BIF os:unsetenv/1 which deletes an environment
- variable. Thanks to Martin Hässler.
-
- OTP-11471 Fix rpc multicall sample code. Thanks to Edwin Fine.
-
- OTP-11491 Under rare circumstances a process calling inet:close/1,
- gen_tcp:close/1, gen_udp:close/1, or gen_sctp:close/1 could
- hang in the call indefinitely.
-
-
---- mnesia-4.11 ---------------------------------------------------------
-
- OTP-11375 Fixed a race in mnesia which could cause hanging transaction
- when sticky locks had been used. Thanks janchochol.
-
- OTP-11485 Fixed dirty_update_counter which could return ok, thanks
- Anton Ryabkov.
-
-
---- observer-1.3.1.2 ----------------------------------------------------
-
- OTP-11335 The documentation for ttb:tracer/2 incorrectly stated that
- there was an option named 'overload', while the correct name
- used in the implementation is 'overload_check'.
-
- OTP-11475 Fixed typo in observer documentation. Thanks to Dave Parfitt.
-
-
---- odbc-2.10.18 --------------------------------------------------------
-
- OTP-11483 Configure now also checks for the existence of the sql.h
- header file
-
-
---- os_mon-2.2.14 -------------------------------------------------------
-
- OTP-11454 Fix incorrect reporting of memory on OS X via memsup. Thanks
- to Christopher Meiklejohn.
-
-
---- public_key-0.21 -----------------------------------------------------
-
- OTP-11380 Fixed a little typo in public_key documentation. Thanks to
- Tomas Morstein.
-
- OTP-11470 public_key: Workaround for incorrectly encoded utf8
- emailAddress. Thanks to Andrew Bennett.
-
-
---- runtime_tools-1.8.13 ------------------------------------------------
-
- OTP-11520 Observer did not produce correct result when ERTS internal
- memory allocators had been disabled.
-
-
---- sasl-2.3.4 ----------------------------------------------------------
-
- OTP-8479 Added a boot file which skips loading the "$HOME/.erlang"
- file on startup. Enable by starting erlang with "erl -boot
- no_dot_erlang".
-
- OTP-11464 Don't try to add the log_mf_h handler in sasl unless
- configured to do so. Thanks to Richard Carlsson.
-
- OTP-11507 Fix confusing documentation about error handlers in
- SASL.(Thanks to Richard Carlsson)
-
- OTP-11529 A bug in the mechanism for upgrading core parts of Erlang/OTP
- (emulator, kernel, stdlib, sasl) caused a switch of paths
- between stdlib and sasl in the intermediate .script/.boot
- file. The bug was introduces along with this upgrade
- mechanism in R15B. It has now been corrected. (Thanks to
- Tobias Schlager)
-
-
---- snmp-4.25 -----------------------------------------------------------
-
- OTP-11307 [manager] Improved handling of unexpected/invalid return
- values and crashes from called snmpm_user callback functions.
-
- OTP-11352 Enable SNMP to create missing database directories. Add
- {db_init_error, create_db_and_dir} option to SNMP manager and
- agent. This allows them to create any missing parent
- directories for db_dir, rather than treating any missing
- directories as a fatal error. The default for db_init_error,
- which is terminate, is unchanged.
-
- OTP-11412 [manager] Wrong block cypher type used for AES ('aes_cbf128'
- instead of 'aes_cfb128') when performing AES block
- encrypt/decrypt.
-
- OTP-11413 [manager] When performing the AES encryption, invalid values
- for the EngineBoots and EngineTime was used. The values of
- the local agent was used, which would have produced some
- values if an agent was actually running. If not it would have
- caused a crash.
-
-
---- ssh-3.0 -------------------------------------------------------------
-
- OTP-10976 Add option to disallow CLI
-
- OTP-11296 Add sockname and user to ssh:connection_info/2
-
- OTP-11339 The ssh cli is now faster at close and before new prompt.
-
- OTP-11363 Ssh process structure was redesigned to better map to what is
- truly parallel this has solved a lot of strange timing issues
- that sometimes would occur, for instance a process leak could
- happen when a lot of connections where taken up and down in
- parallel in a short period of time. Also backwards compatible
- clauses to "original" but never supported features has been
- removed.
-
- Impact: Increases flow efficiency
-
- OTP-11414 Fix various typos in erts, kernel and ssh. Thanks to Martin
- Hässler.
-
- OTP-11449 Correct private_key type documentation in ssh_server_key_api.
- Thanks to Tristan Sloughter.
-
- OTP-11490 The functions in ssh_no_io.erl did not mimic the functions in
- ssh_io.erl correctly, the arity was incorrect for some
- functions which caused ssh to fail in the wrong way.
-
-
---- ssl-5.3.2 -----------------------------------------------------------
-
- OTP-11370 Honors the clients advertised support of elliptic curves and
- no longer sends incorrect elliptic curve extension in server
- hello.
-
- OTP-11376 Fix initialization of DTLS fragment reassembler, in
- previously contributed code, for future support of DTLS .
- Thanks to Andreas Schultz.
-
- OTP-11447 Remove extraneous dev debug code left in the close function.
- Thanks to Ken Key.
-
- OTP-11457 Corrected type error in client_preferred_next_protocols
- documentation. Thanks to Julien Barbot.
-
- OTP-11460 Add SSL Server Name Indication (SNI) client support. Thanks
- to Julien Barbot.
-
-
---- stdlib-1.19.4 -------------------------------------------------------
-
- OTP-11398 Fix typo in gen_server.erl. Thanks to Brian L. Troutwine.
-
- OTP-11442 Add XML marker for regexp syntax. Thanks to HÃ¥kan Mattson.
-
- OTP-11465 Spec for atan2 should be atan2(Y, X), not atan2(X, Y). Thanks
- to Ary Borenszweig.
-
-
---- syntax_tools-1.6.12 -------------------------------------------------
-
- OTP-11506 Fix transformation of implicit funs in igor (Thanks to
- Anthony Ramine)
-
-
---- test_server-3.6.4 ---------------------------------------------------
-
- OTP-11305 The way Common Test handles skipping of test cases has been
- updated. In previous versions, returning {skip,Reason} from a
- configuration function (such as init_per_suite or
- init_per_group), resulted in all affected test cases getting
- skipped with status auto_skipped. This was inappropriate,
- since this status is supposed to be used to inform that
- Common Test has taken the initiative to skip something (e.g.
- a test case group if init_per_group failed). Therefore, in
- this version of Common Test, whenever the user skips a suite,
- group, or individual test case (by means of a configuration
- function or test specification term), the affected test cases
- get the status user_skipped instead.
-
- This update has meant a few changes that may affect Common
- Test users in various ways:
-
- -- The test results and statistics will be affected, which is
- important to know when running regression tests and comparing
- results to previous test runs.
-
- -- Users that read or parse the textual log file suite.log
- will notice that an auto skipped function is now reported as
- auto_skipped rather than skipped as before.
-
- -- When require fails in an info function (such as suite/0 or
- group/1), all affected configuration functions and test cases
- are marked as auto_skipped.
-
- -- If Common Test detects an error in the test suite (such as
- e.g. an invalid all/0 function), all affected configuration
- functions and test cases are marked as auto_skipped.
-
- -- If a repeated test run session reaches a deadline with
- force_stop enabled, all remaining test cases are marked as
- auto_skipped rather than user_skipped as before.
-
- -- The event messages that Common Test generates during test
- runs have been affected by this update. For details see
- OTP-11524.
-
-
---- tools-2.6.13 --------------------------------------------------------
-
- OTP-11394 Add iodata, nonempty_string to built-in type highlighting for
- emacs. Thanks to Paul Oliver.
-
- OTP-11417 Erlang-specific compilation error regexp is added in
- erlang-eunit.el. This defvar was earlier in erlang.el, but
- was erroneously removed in R15B02, while still used by
- erlang-eunit.el.
-
- OTP-11439 Take compiler options from beam in cover:compile_beam. Thanks
- to Péter Gömöri.
-
- OTP-11517 Silence warnings (Thanks to Anthony Ramine)
-
-
---- wx-1.1.1 ------------------------------------------------------------
-
- OTP-11393 wx initialization hanged with wxWidgets-3.0 on mac. Fixed a
- crash with wxListBox on wxWidgets-3.0 (thanks Sergei Golovan)
- Fixed documentation links. Fixed event callbacks cleanup.
-
- OTP-11505 Improve documentation (Thanks to Boris Mühmer)
-
- OTP-11515 Fix silent make rules (Thanks to Anthony Ramine)
-
-
---- xmerl-1.3.5 ---------------------------------------------------------
-
- OTP-11461 Teach xmerl_xpath to resolve context namespaces in more
- cases. Thanks to Daniel White.
-
- OTP-11463 Avoid serialization on code_server in xmerl:export(). Thanks
- to Richard Carlsson.
-
-
From 59867aa612beebea9e0eca9ca8b0a305f1ffd32e Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 31 Mar 2014 12:39:45 +0400
Subject: [PATCH 026/322] Create group and user for EPMD
Signed-off-by: Peter Lemenkov
---
erlang.spec | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index 6fbba7e..0df6175 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -32,7 +32,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.3%{?dist}
+Release: %{upstream_rel_for_rpm}.4%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -131,6 +131,8 @@ BuildRequires: xemacs-packages-extra-el
%endif
%if 0%{?el7}%{?fedora}
+# for
+BuildRequires: systemd-devel
Requires(post): systemd
Requires(preun):systemd
Requires(postun):systemd
@@ -1177,6 +1179,13 @@ install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/epmd.socket
%endif
+%pre erts
+getent group epmd >/dev/null || groupadd -r epmd
+getent passwd epmd >/dev/null || \
+useradd -r -g epmd -d /tmp -s /sbin/nologin \
+-c "Erlang Port Mapper Daemon" epmd 2>/dev/null || :
+
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -2316,6 +2325,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Mar 28 2014 Peter Lemenkov - R16B-03.4
+- Create group and user for EPMD
+
* Thu Mar 27 2014 Peter Lemenkov - R16B-03.3
- Ver. R16B03-1 (Bugfix release)
- Enabled systemd support in EPMD
From aa1f4058788a077c37988c03230a47667b4089d5 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 3 Apr 2014 14:24:06 +0400
Subject: [PATCH 027/322] Improve EPMD service
Signed-off-by: Peter Lemenkov
---
epmd.service | 9 ++++++++-
erlang.spec | 5 ++++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/epmd.service b/epmd.service
index c029ac4..02c7e36 100644
--- a/epmd.service
+++ b/epmd.service
@@ -5,10 +5,17 @@ Requires=epmd.socket
[Service]
ExecStart=/usr/bin/epmd -systemd
-ExecStop=/usr/bin/epmd -kill
+#ExecStop=/usr/bin/epmd -kill
Type=simple
StandardOutput=journal
StandardError=journal
+DeviceAllow=/dev/null rw
+PrivateTmp=true
+#CapabilityBoundingSet=
+NoNewPrivileges=true
+Restart=always
+LimitNPROC=1
+LimitFSIZE=0
User=epmd
Group=epmd
diff --git a/erlang.spec b/erlang.spec
index 0df6175..e77d45f 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -32,7 +32,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.4%{?dist}
+Release: %{upstream_rel_for_rpm}.5%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2325,6 +2325,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Apr 02 2014 Peter Lemenkov - R16B-03.5
+- Improve EPMD service
+
* Fri Mar 28 2014 Peter Lemenkov - R16B-03.4
- Create group and user for EPMD
From 0585732b625744b86105f221547d62765ca051be Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 6 Jun 2014 16:31:36 +0400
Subject: [PATCH 028/322] Change EPMD service type to Notify
Signed-off-by: Peter Lemenkov
---
epmd.service | 2 +-
epmd@.socket | 10 +++++
erlang.spec | 12 ++++-
...Added-systemd-notify-support-to-EPMD.patch | 45 +++++++++++++++++++
4 files changed, 67 insertions(+), 2 deletions(-)
create mode 100644 epmd@.socket
create mode 100644 otp-0013-Added-systemd-notify-support-to-EPMD.patch
diff --git a/epmd.service b/epmd.service
index 02c7e36..6881195 100644
--- a/epmd.service
+++ b/epmd.service
@@ -6,7 +6,7 @@ Requires=epmd.socket
[Service]
ExecStart=/usr/bin/epmd -systemd
#ExecStop=/usr/bin/epmd -kill
-Type=simple
+Type=notify
StandardOutput=journal
StandardError=journal
DeviceAllow=/dev/null rw
diff --git a/epmd@.socket b/epmd@.socket
new file mode 100644
index 0000000..5dda63d
--- /dev/null
+++ b/epmd@.socket
@@ -0,0 +1,10 @@
+[Unit]
+Description=Erlang Port Mapper Daemon Activation Socket
+
+[Socket]
+ListenStream=%i:4369
+Accept=false
+
+[Install]
+WantedBy=sockets.target
+
diff --git a/erlang.spec b/erlang.spec
index e77d45f..e19b890 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -32,7 +32,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.5%{?dist}
+Release: %{upstream_rel_for_rpm}.6%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -46,6 +46,7 @@ Source2: http://erlang.org/download/otp_doc_man_%{upstream_ver}%{upstream_rel}-1
Source4: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}-1.readme
Source5: epmd.service
Source6: epmd.socket
+Source7: epmd@.socket
Source999: otp-get-patches.sh
@@ -99,6 +100,9 @@ Patch11: otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch
# Fedora specific patch
# Add systemd support to epmd
Patch12: otp-0012-Add-systemd-support-to-epmd.patch
+# Fedora specific patch
+# Added systemd notify support to EPMD
+Patch13: otp-0013-Added-systemd-notify-support-to-EPMD.patch
# end of autogenerated patch tag list
# BuildRoot not strictly needed since F10, but keep it for spec file robustness
@@ -977,6 +981,7 @@ Erlang mode for XEmacs (source lisp files).
%patch10 -p1 -b .Fix_for_powerpc_architecture
%patch11 -p1 -b .Add_systemd_option_to_empd_Check_for_include_system
%patch12 -p1 -b .Add_systemd_support_to_epmd
+%patch13 -p1 -b .Added_systemd_notify_support_to_EPMD
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -1176,6 +1181,7 @@ ln -s "${jinterface_lib_dir}priv/OtpErlang.jar" "$RPM_BUILD_ROOT%{_javadir}/%{na
%if 0%{?el7}%{?fedora}
install -D -p -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}/epmd.service
install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/epmd.socket
+install -D -p -m 0644 %{SOURCE7} %{buildroot}%{_unitdir}/epmd@.socket
%endif
@@ -2325,6 +2331,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Jun 06 2014 Peter Lemenkov - R16B-03.6
+- Add configurable EPMD socket unit
+- Change EPMD service's type from simple to notify
+
* Wed Apr 02 2014 Peter Lemenkov - R16B-03.5
- Improve EPMD service
diff --git a/otp-0013-Added-systemd-notify-support-to-EPMD.patch b/otp-0013-Added-systemd-notify-support-to-EPMD.patch
new file mode 100644
index 0000000..b41ce99
--- /dev/null
+++ b/otp-0013-Added-systemd-notify-support-to-EPMD.patch
@@ -0,0 +1,45 @@
+From: Peter Lemenkov
+Date: Fri, 6 Jun 2014 15:29:49 +0400
+Subject: [PATCH] Added systemd notify support to EPMD
+
+Signed-off-by: Peter Lemenkov
+
+Conflicts:
+ erts/configure.in
+
+diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c
+index fc58882..1757fa9 100644
+--- a/erts/epmd/src/epmd.c
++++ b/erts/epmd/src/epmd.c
+@@ -589,9 +589,11 @@ void epmd_cleanup_exit(EpmdVars *g, int exitval)
+ for(i=0; g->argv[i] != NULL; ++i)
+ free(g->argv[i]);
+ free(g->argv);
+- }
+-
+-
++ }
++#ifdef HAVE_SYSTEMD_SD_DAEMON_H
++ sd_notifyf(0, "STATUS=Exited.\n"
++ "ERRNO=%i", exitval);
++#endif // HAVE_SYSTEMD_SD_DAEMON_H
+ exit(exitval);
+ }
+
+diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c
+index cb8ca96..78524a6 100644
+--- a/erts/epmd/src/epmd_srv.c
++++ b/erts/epmd/src/epmd_srv.c
+@@ -394,8 +394,11 @@ void run(EpmdVars *g)
+ }
+ select_fd_set(g, listensock[i]);
+ }
+-#ifdef HAVE_SYSTEMD_SD_DAEMON_H
++#ifdef HAVE_SYSTEMD_SD_DAEMON_H
+ }
++ sd_notifyf(0, "READY=1\n"
++ "STATUS=Processing port mapping requests...\n"
++ "MAINPID=%lu", (unsigned long) getpid());
+ #endif
+
+ dbg_tty_printf(g,2,"entering the main select() loop");
From 06f0741a28a64522fc4541985b78ffe9bf1ec839 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 6 Jun 2014 17:16:43 +0400
Subject: [PATCH 029/322] Added missing *.socket file
Signed-off-by: Peter Lemenkov
---
erlang.spec | 1 +
1 file changed, 1 insertion(+)
diff --git a/erlang.spec b/erlang.spec
index e19b890..db57160 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -1534,6 +1534,7 @@ rm -rf $RPM_BUILD_ROOT
%if 0%{?el7}%{?fedora}
%{_unitdir}/epmd.service
%{_unitdir}/epmd.socket
+%{_unitdir}/epmd@.socket
%endif
%files et
From 489a7664fb0be8fda9617c6341531d93be6f45ad Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 11 Jun 2014 12:41:54 +0400
Subject: [PATCH 030/322] Added missing template for epmd@.socket
Signed-off-by: Peter Lemenkov
---
epmd@.service | 25 +++++++++++++++++++++++++
erlang.spec | 12 +++++++++---
2 files changed, 34 insertions(+), 3 deletions(-)
create mode 100644 epmd@.service
diff --git a/epmd@.service b/epmd@.service
new file mode 100644
index 0000000..822268f
--- /dev/null
+++ b/epmd@.service
@@ -0,0 +1,25 @@
+[Unit]
+Description=Erlang Port Mapper Daemon
+After=network.target
+Requires=epmd@.socket
+
+[Service]
+ExecStart=/usr/bin/epmd -systemd
+#ExecStop=/usr/bin/epmd -kill
+Type=notify
+StandardOutput=journal
+StandardError=journal
+DeviceAllow=/dev/null rw
+PrivateTmp=true
+#CapabilityBoundingSet=
+NoNewPrivileges=true
+Restart=always
+LimitNPROC=1
+LimitFSIZE=0
+User=epmd
+Group=epmd
+
+[Install]
+Also=epmd@.socket
+WantedBy=multi-user.target
+
diff --git a/erlang.spec b/erlang.spec
index db57160..dbac58a 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -32,7 +32,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.6%{?dist}
+Release: %{upstream_rel_for_rpm}.7%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -46,7 +46,8 @@ Source2: http://erlang.org/download/otp_doc_man_%{upstream_ver}%{upstream_rel}-1
Source4: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}-1.readme
Source5: epmd.service
Source6: epmd.socket
-Source7: epmd@.socket
+Source7: epmd@.service
+Source8: epmd@.socket
Source999: otp-get-patches.sh
@@ -1181,7 +1182,8 @@ ln -s "${jinterface_lib_dir}priv/OtpErlang.jar" "$RPM_BUILD_ROOT%{_javadir}/%{na
%if 0%{?el7}%{?fedora}
install -D -p -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}/epmd.service
install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/epmd.socket
-install -D -p -m 0644 %{SOURCE7} %{buildroot}%{_unitdir}/epmd@.socket
+install -D -p -m 0644 %{SOURCE7} %{buildroot}%{_unitdir}/epmd@.service
+install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_unitdir}/epmd@.socket
%endif
@@ -1534,6 +1536,7 @@ rm -rf $RPM_BUILD_ROOT
%if 0%{?el7}%{?fedora}
%{_unitdir}/epmd.service
%{_unitdir}/epmd.socket
+%{_unitdir}/epmd@.service
%{_unitdir}/epmd@.socket
%endif
@@ -2332,6 +2335,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jun 11 2014 Peter Lemenkov - R16B-03.7
+- Added missing template for epmd@.socket
+
* Fri Jun 06 2014 Peter Lemenkov - R16B-03.6
- Add configurable EPMD socket unit
- Change EPMD service's type from simple to notify
From d5f69b7d53a58853ee1365efa4fccf36748700a5 Mon Sep 17 00:00:00 2001
From: Peter Robinson
Date: Sat, 16 Aug 2014 10:57:29 +0000
Subject: [PATCH 031/322] - Rebuilt for
https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
---
erlang.spec | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index dbac58a..6368e77 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -32,7 +32,7 @@
Name: erlang
Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.7%{?dist}
+Release: %{upstream_rel_for_rpm}.7%{?dist}.1
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2335,6 +2335,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Aug 16 2014 Fedora Release Engineering - R16B-03.7.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
* Wed Jun 11 2014 Peter Lemenkov - R16B-03.7
- Added missing template for epmd@.socket
From eeecf737fa34d651809b566eb4e6b1413cc6f020 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 27 Aug 2014 17:38:36 +0400
Subject: [PATCH 032/322] Erlang ver. 17.2.1
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 303 ++++++------------
...n-pages-and-do-not-install-miscellan.patch | 10 +-
otp-0002-Remove-rpath.patch | 4 +-
otp-0003-Do-not-install-C-sources.patch | 26 +-
otp-0006-Do-not-install-erlang-sources.patch | 129 +++-----
...Added-systemd-notify-support-to-EPMD.patch | 6 +-
...for-java-1.5.0-gcj-which-doesn-t-sup.patch | 61 ----
otp-0008-Fix-for-armv7hl-architecture.patch | 22 --
...ll-internal-hrl-files-when-necessary.patch | 97 ++++++
...ARILY-disable-ECC-until-dust-settles.patch | 24 --
otp-0010-Fix-for-powerpc-architecture.patch | 26 --
...on-to-empd.-Check-for-include-system.patch | 74 -----
otp-0012-Add-systemd-support-to-epmd.patch | 111 -------
sources | 5 +-
15 files changed, 267 insertions(+), 632 deletions(-)
rename otp-0013-Added-systemd-notify-support-to-EPMD.patch => otp-0007-Added-systemd-notify-support-to-EPMD.patch (91%)
delete mode 100644 otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
delete mode 100644 otp-0008-Fix-for-armv7hl-architecture.patch
create mode 100644 otp-0008-Install-internal-hrl-files-when-necessary.patch
delete mode 100644 otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
delete mode 100644 otp-0010-Fix-for-powerpc-architecture.patch
delete mode 100644 otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch
delete mode 100644 otp-0012-Add-systemd-support-to-epmd.patch
diff --git a/.gitignore b/.gitignore
index 99b1241..74a0d65 100644
--- a/.gitignore
+++ b/.gitignore
@@ -50,3 +50,4 @@ otp_src_R14A.tar.gz
/otp_doc_html_R16B03-1.tar.gz
/otp_doc_man_R16B03-1.tar.gz
/otp_src_R16B03-1.tar.gz
+/otp-OTP-17.2.1.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 6368e77..7b3b111 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -1,49 +1,25 @@
-%global upstream_ver R16B
-# Do NOT change %%{upstream_rel} unless UPSTREAM has actually changed it!
-#%global upstream_rel %{nil}
-%global upstream_rel 03
-# Use %%{nil} for %%{upstream_rel} for tracking source like otp_src_R14B.tar.gz,
-# and 01 %%{upstream_rel} for tracking source like otp_src_R14B01.tar.gz.
-
%global need_bootstrap_set 0
%{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}}
-%if 0%{upstream_rel}
-%global upstream_rel_for_rpm %{upstream_rel}
-%else
-%global upstream_rel_for_rpm 0
-%endif
-
%bcond_without doc
-# No fop for EPEL5, and only for x86/x86_64 in EPEL6, so just disable there too
-%if 0%{?el5}%{?el6}
-%global use_prebuilt_docs 1
-%else
-%global use_prebuilt_docs 0
-%endif
-
%ifarch %{arm} %{ix86} x86_64 ppc %{power64}
%global __with_hipe 1
%endif
-%global n_uvr %{name}-%{upstream_ver}-%{upstream_rel_for_rpm}
-
Name: erlang
-Version: %{upstream_ver}
-Release: %{upstream_rel_for_rpm}.7%{?dist}.1
+Version: 17.2.1
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
License: ERPL
URL: http://www.erlang.org
-Source0: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}-1.tar.gz
-%if %{use_prebuilt_docs}
-Source1: http://erlang.org/download/otp_doc_html_%{upstream_ver}%{upstream_rel}-1.tar.gz
-Source2: http://erlang.org/download/otp_doc_man_%{upstream_ver}%{upstream_rel}-1.tar.gz
+%if 0%{?el7}%{?fedora}
+VCS: scm:git:https://github.com/erlang/otp
%endif
-Source4: http://www.erlang.org/download/otp_src_%{upstream_ver}%{upstream_rel}-1.readme
+Source0: https://github.com/erlang/otp/archive/OTP-%{version}/otp-OTP-%{version}.tar.gz
Source5: epmd.service
Source6: epmd.socket
Source7: epmd@.service
@@ -83,32 +59,14 @@ Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
# Fedora specific patch
# Do not install erlang sources
Patch6: otp-0006-Do-not-install-erlang-sources.patch
-# Required only for el5, el6 on PowerPC
-# Ugly workaround for java-1.5.0-gcj which doesn't support
-Patch7: otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
-# Fedora specific patch
-# Fix for armv7hl architecture
-Patch8: otp-0008-Fix-for-armv7hl-architecture.patch
-# Fedora specific patch
-# TEMPORARILY disable ECC until dust settles
-Patch9: otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
-# Fedora specific patch
-# Fix for powerpc architecture
-Patch10: otp-0010-Fix-for-powerpc-architecture.patch
-# Fedora specific patch
-# Add -systemd option to empd. Check for include
-Patch11: otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch
-# Fedora specific patch
-# Add systemd support to epmd
-Patch12: otp-0012-Add-systemd-support-to-epmd.patch
# Fedora specific patch
# Added systemd notify support to EPMD
-Patch13: otp-0013-Added-systemd-notify-support-to-EPMD.patch
+Patch7: otp-0007-Added-systemd-notify-support-to-EPMD.patch
+# Fedora specific patch
+# Install internal hrl files when necessary
+Patch8: otp-0008-Install-internal-hrl-files-when-necessary.patch
# end of autogenerated patch tag list
-# BuildRoot not strictly needed since F10, but keep it for spec file robustness
-BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
-
BuildRequires: lksctp-tools-devel
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
@@ -116,8 +74,7 @@ BuildRequires: zlib-devel
BuildRequires: flex
BuildRequires: m4
%if %{with doc}
-%if %{use_prebuilt_docs}
-%else
+# BEWARE. No fop for EPEL5, and only for x86/x86_64 in EPEL6, so we cannot regenerate docs here
BuildRequires: fop
BuildRequires: libxslt
@@ -126,14 +83,11 @@ BuildRequires: libxslt
BuildRequires: erlang
%endif
%endif
-%endif
-%if 0%{?el6}%{?fedora}
BuildRequires: emacs
BuildRequires: xemacs
BuildRequires: emacs-el
BuildRequires: xemacs-packages-extra-el
-%endif
%if 0%{?el7}%{?fedora}
# for
@@ -144,7 +98,6 @@ Requires(postun):systemd
Requires: systemd
%endif
-Requires: erlang-appmon%{?_isa} = %{version}-%{release}
Requires: erlang-asn1%{?_isa} = %{version}-%{release}
Requires: erlang-common_test%{?_isa} = %{version}-%{release}
Requires: erlang-compiler%{?_isa} = %{version}-%{release}
@@ -157,7 +110,6 @@ Requires: erlang-cosTime%{?_isa} = %{version}-%{release}
Requires: erlang-cosTransactions%{?_isa} = %{version}-%{release}
Requires: erlang-crypto%{?_isa} = %{version}-%{release}
Requires: erlang-debugger%{?_isa} = %{version}-%{release}
-
Requires: erlang-dialyzer%{?_isa} = %{version}-%{release}
Requires: erlang-diameter%{?_isa} = %{version}-%{release}
Requires: erlang-edoc%{?_isa} = %{version}-%{release}
@@ -167,7 +119,6 @@ Requires: erlang-erl_interface%{?_isa} = %{version}-%{release}
Requires: erlang-erts%{?_isa} = %{version}-%{release}
Requires: erlang-et%{?_isa} = %{version}-%{release}
Requires: erlang-eunit%{?_isa} = %{version}-%{release}
-Requires: erlang-examples%{?_isa} = %{version}-%{release}
Requires: erlang-gs%{?_isa} = %{version}-%{release}
Requires: erlang-hipe%{?_isa} = %{version}-%{release}
Requires: erlang-ic%{?_isa} = %{version}-%{release}
@@ -180,10 +131,10 @@ Requires: erlang-observer%{?_isa} = %{version}-%{release}
Requires: erlang-odbc%{?_isa} = %{version}-%{release}
Requires: erlang-orber%{?_isa} = %{version}-%{release}
Requires: erlang-os_mon%{?_isa} = %{version}-%{release}
+Requires: erlang-ose%{?_isa} = %{version}-%{release}
Requires: erlang-otp_mibs%{?_isa} = %{version}-%{release}
Requires: erlang-parsetools%{?_isa} = %{version}-%{release}
Requires: erlang-percept%{?_isa} = %{version}-%{release}
-Requires: erlang-pman%{?_isa} = %{version}-%{release}
Requires: erlang-public_key%{?_isa} = %{version}-%{release}
Requires: erlang-reltool%{?_isa} = %{version}-%{release}
Requires: erlang-runtime_tools%{?_isa} = %{version}-%{release}
@@ -194,15 +145,11 @@ Requires: erlang-ssl%{?_isa} = %{version}-%{release}
Requires: erlang-stdlib%{?_isa} = %{version}-%{release}
Requires: erlang-syntax_tools%{?_isa} = %{version}-%{release}
Requires: erlang-test_server%{?_isa} = %{version}-%{release}
-Requires: erlang-toolbar%{?_isa} = %{version}-%{release}
Requires: erlang-tools%{?_isa} = %{version}-%{release}
-Requires: erlang-tv%{?_isa} = %{version}-%{release}
Requires: erlang-typer%{?_isa} = %{version}-%{release}
Requires: erlang-webtool%{?_isa} = %{version}-%{release}
Requires: erlang-wx%{?_isa} = %{version}-%{release}
Requires: erlang-xmerl%{?_isa} = %{version}-%{release}
-Obsoletes: erlang-docbuilder
-Obsoletes: erlang-inviso
%description
Erlang is a general-purpose programming language and runtime
@@ -210,19 +157,6 @@ environment. Erlang has built-in support for concurrency, distribution
and fault tolerance. Erlang is used in several large telecommunication
systems from Ericsson.
-%package appmon
-Summary: A utility used to supervise Applications executing on several Erlang nodes
-Group: Development/Languages
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-gs%{?_isa} = %{version}-%{release}
-Requires: %{name}-inets%{?_isa} = %{version}-%{release}
-Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
-Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-
-%description appmon
-A utility used to supervise Applications executing on several Erlang nodes.
-
%package asn1
Summary: Provides support for Abstract Syntax Notation One
Group: Development/Languages
@@ -367,7 +301,6 @@ Summary: A debugger for debugging and testing of Erlang programs
Group: Development/Languages
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-gs%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
@@ -380,7 +313,6 @@ Summary: A DIscrepancy AnaLYZer for ERlang programs
Group: Development/Languages
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-gs%{?_isa} = %{version}-%{release}
Requires: %{name}-hipe%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -408,9 +340,7 @@ Diameter (RFC 3588) library
%package doc
Summary: Erlang documentation
Group: Development/Languages
-%if 0%{?el6}%{?el7}%{?fedora}
BuildArch: noarch
-%endif
%description doc
Documentation for Erlang.
@@ -464,9 +394,18 @@ Summary: Functionality necessary to run the Erlang System itself
Group: Development/Languages
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
+# This library is dlopened so it can't be picked up automatically by the RPM
+# dependency checker
Requires: lksctp-tools
-Provides: erlang(erl_drv_version) = 2.2
-Provides: erlang(erl_nif_version) = 2.4
+Provides: erlang(erl_drv_version) = 3.0
+Provides: erlang(erl_nif_version) = 2.6
+# These sub-packages were removed once
+Obsoletes: erlang-appmon
+Obsoletes: erlang-docbuilder
+Obsoletes: erlang-inviso
+Obsoletes: erlang-pman
+Obsoletes: erlang-toolbar
+Obsoletes: erlang-tv
%description erts
Functionality necessary to run the Erlang System itself.
@@ -475,7 +414,6 @@ Functionality necessary to run the Erlang System itself.
Summary: An event tracer for Erlang programs
Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-gs%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -558,7 +496,7 @@ Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
# FIXME see erlang-ic also
#Requires: jpackage-utils
-%if 0%{?fedora}%{?el7}
+%if 0%{?el7}%{?fedora}
BuildRequires: java-devel
%else
%ifarch %{ix86} x86_64
@@ -583,6 +521,7 @@ Main erlang library.
%package megaco
Summary: Megaco/H.248 support library
Group: Development/Languages
+# FIXME Error:erlang(megaco_flex_scanner:scan/2)
Requires: %{name}-asn1%{?_isa} = %{version}-%{release}
Requires: %{name}-debugger%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
@@ -611,12 +550,10 @@ Summary: A set of tools for tracing and investigation of distributed systems
Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-et%{?_isa} = %{version}-%{release}
-Requires: %{name}-gs%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Requires: %{name}-webtool%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
%description observer
@@ -661,6 +598,15 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description os_mon
A monitor which allows inspection of the underlying operating system.
+%package ose
+Summary: A module for interacting with Enea OSE
+Group: Development/Languages
+Requires: %{name}-erts%{?_isa} = %{version}-%{release}
+Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
+
+%description ose
+A module for interacting with Enea OSE.
+
%package otp_mibs
Summary: SNMP management information base for Erlang/OTP nodes
Group: Development/Languages
@@ -695,17 +641,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description percept
A concurrency profiler tool.
-%package pman
-Summary: A graphical process manager used to inspect Erlang processes
-Group: Development/Languages
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-gs%{?_isa} = %{version}-%{release}
-Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-
-%description pman
-A graphical process manager used to inspect Erlang processes.
-
%package public_key
Summary: API to public key infrastructure
Group: Development/Languages
@@ -788,7 +723,6 @@ Secure Shell application with sftp and ssh support.
%package ssl
Summary: Secure Socket Layer support
Group: Development/Languages
-#Requires: %{name}-asn1%{?_isa} = %{version}-%{release}
Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -828,24 +762,12 @@ Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-observer%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
-#Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
%description test_server
The OTP Test Server.
-%package toolbar
-Summary: A tool bar simplifying access to the Erlang tools
-Group: Development/Languages
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-gs%{?_isa} = %{version}-%{release}
-Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-
-%description toolbar
-A tool bar simplifying access to the Erlang tools.
-
%package tools
Summary: A set of programming tools including a coverage analyzer etc
Group: Development/Languages
@@ -861,19 +783,6 @@ Provides: emacs-common-erlang = %{version}-%{release}
%description tools
A set of programming tools including a coverage analyzer etc.
-%package tv
-Summary: An ETS and MNESIA graphical table visualizer
-Group: Development/Languages
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-gs%{?_isa} = %{version}-%{release}
-Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
-Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
-Requires: %{name}-pman%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-
-%description tv
-An ETS and MNESIA graphical table visualizer.
-
%package typer
Summary: TYPe annotator for ERlang programs
Group: Development/Languages
@@ -922,7 +831,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description xmerl
Provides support for XML 1.0.
-%if 0%{?el6}%{?fedora}
%package -n emacs-erlang
Summary: Compiled elisp files for erlang-mode under GNU Emacs
Requires: emacs-common-erlang = %{version}-%{release}
@@ -960,10 +868,9 @@ BuildArch: noarch
%description -n xemacs-erlang-el
Erlang mode for XEmacs (source lisp files).
-%endif
%prep
-%setup -q -n otp_src_%{upstream_ver}%{upstream_rel}-1
+%setup -q -n otp-OTP-%{version}
# start of autogenerated prep patch list
%patch1 -p1 -b .Do_not_format_man_pages_and_do_not_install_miscellan
@@ -972,17 +879,8 @@ Erlang mode for XEmacs (source lisp files).
%patch4 -p1 -b .Do_not_install_Java_sources
%patch5 -p1 -b .Do_not_install_nteventlog_and_related_doc_files_on_n
%patch6 -p1 -b .Do_not_install_erlang_sources
-%if 0%{?el4}%{?el5}%{?el6}
-%ifnarch %{ix86} x86_64
-%patch7 -p1 -b .Ugly_workaround_for_java_1_5_0_gcj_which_doesn_t_sup
-%endif
-%endif
-%patch8 -p1 -b .Fix_for_armv7hl_architecture
-%patch9 -p1 -b .TEMPORARILY_disable_ECC_until_dust_settles
-%patch10 -p1 -b .Fix_for_powerpc_architecture
-%patch11 -p1 -b .Add_systemd_option_to_empd_Check_for_include_system
-%patch12 -p1 -b .Add_systemd_support_to_epmd
-%patch13 -p1 -b .Added_systemd_notify_support_to_EPMD
+%patch7 -p1 -b .Added_systemd_notify_support_to_EPMD
+%patch8 -p1 -b .Install_internal_hrl_files_when_necessary
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -1005,9 +903,9 @@ rm -f lib/ssl/examples/certs/etc/erlangCA/index.txt.old
%build
%ifarch sparcv9 sparc64
-CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp %{?__with_hipe:--enable-hipe}
+CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe}
%else
-CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp %{?__with_hipe:--enable-hipe}
+CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe}
%endif
# Remove pre-built BEAM files
@@ -1016,7 +914,6 @@ make clean
# GNU Emacs/XEmacs related stuff
erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)"
-%if 0%{?el6}%{?fedora}
# GNU Emacs related stuff
cat > emacs-erlang-init.el << EOF
(setq load-path (cons "%{_emacs_sitelispdir}/erlang" load-path))
@@ -1043,12 +940,10 @@ rm -f xemacs-erlang/erlang-flymake.el
pushd xemacs-erlang
%{_xemacs_bytecompile} *.el
popd
-%endif
make
+
%if %{with doc}
-%if %{use_prebuilt_docs}
-%else
# should use FOP_OPTS after #832323 is resolved
%ifnarch ppc %{power64}
export BASE_OPTIONS=-Xmx1024m
@@ -1057,13 +952,9 @@ export BASE_OPTIONS=-Xmx1536m
%endif
make docs
%endif
-%endif
%install
-rm -rf $RPM_BUILD_ROOT
-
-%if 0%{?el6}%{?fedora}
# GNU Emacs/XEmacs related stuff
erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)"
@@ -1089,25 +980,12 @@ for f in lib/tools/emacs/{README,*.el}; do
done
rm -f "$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/erlang/erlang-flymake.el"
install -m 0644 xemacs-erlang/*.elc "$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/erlang/"
-%endif
make DESTDIR=$RPM_BUILD_ROOT install
+
%if %{with doc}
-%if %{use_prebuilt_docs}
-# extract prebuilt docs and man-pages
-tar xf %{SOURCE1} -C $RPM_BUILD_ROOT%{_libdir}/erlang
-tar xf %{SOURCE2} -C $RPM_BUILD_ROOT%{_libdir}/erlang
-# rm Win32-specific functionality
-rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/man/man3/nteventlog.*
-# rm VxWorks specific
-rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/man/man3/erl_set_memory_block.*
-# rm unneeded files
-rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/erts-*/info
-rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/lib/*-*/info
-%else
env ERL_LIBS="$RPM_BUILD_ROOT%{_libdir}/erlang/lib" make DESTDIR=$RPM_BUILD_ROOT install-docs
%endif
-%endif
# Do not install info files - they are almost empty and useless
find $RPM_BUILD_ROOT%{_libdir}/erlang -type f -name info -exec rm -f {} \;
@@ -1119,18 +997,18 @@ chmod 0755 $RPM_BUILD_ROOT%{_libdir}/erlang/bin
# Relocate doc-files into the proper directory
%if %{with doc}
-mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{n_uvr}/lib
+mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/lib
pushd .
cd $RPM_BUILD_ROOT%{_libdir}/erlang
-mv -v doc $RPM_BUILD_ROOT%{_docdir}/%{n_uvr}
-for i in erts-* ; do mv -v $i/doc $RPM_BUILD_ROOT%{_docdir}/%{n_uvr}/$i ; done
+mv -v doc $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
+for i in erts-* ; do mv -v $i/doc $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/$i ; done
cd $RPM_BUILD_ROOT%{_libdir}/erlang/lib
-for i in * ; do mv -v $i/doc $RPM_BUILD_ROOT%{_docdir}/%{n_uvr}/lib/$i || true ; done
+for i in * ; do mv -v $i/doc $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/lib/$i || true ; done
popd
-cp -av AUTHORS EPLICENCE README.md $RPM_BUILD_ROOT%{_docdir}/%{n_uvr}
-mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/PR.template $RPM_BUILD_ROOT%{_docdir}/%{n_uvr}
-mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/README $RPM_BUILD_ROOT%{_docdir}/%{n_uvr}
-mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/COPYRIGHT $RPM_BUILD_ROOT%{_docdir}/%{n_uvr}
+cp -av AUTHORS EPLICENCE README.md $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
+mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/PR.template $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
+mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/README $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
+mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/COPYRIGHT $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
%endif
# Win32-specific man-pages
@@ -1187,6 +1065,11 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_unitdir}/epmd@.socket
%endif
+%check
+# FIXME run tests somehow
+# make tests || exit 0
+
+
%pre erts
getent group epmd >/dev/null || groupadd -r epmd
getent passwd epmd >/dev/null || \
@@ -1194,25 +1077,15 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
-c "Erlang Port Mapper Daemon" epmd 2>/dev/null || :
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
%files
%if %{with doc}
-%dir %{_docdir}/%{n_uvr}/
-%doc %{_docdir}/%{n_uvr}/AUTHORS
-%doc %{_docdir}/%{n_uvr}/COPYRIGHT
-%doc %{_docdir}/%{n_uvr}/EPLICENCE
-%doc %{_docdir}/%{n_uvr}/PR.template
-%doc %{_docdir}/%{n_uvr}/README
-%doc %{_docdir}/%{n_uvr}/README.md
-%endif
-
-%files appmon
-%{_libdir}/erlang/lib/appmon-*/
-%if %{with doc}
-%{_libdir}/erlang/man/man3/appmon.*
+%dir %{_docdir}/%{name}-%{version}/
+%doc %{_docdir}/%{name}-%{version}/AUTHORS
+%doc %{_docdir}/%{name}-%{version}/COPYRIGHT
+%doc %{_docdir}/%{name}-%{version}/EPLICENCE
+%doc %{_docdir}/%{name}-%{version}/PR.template
+%doc %{_docdir}/%{name}-%{version}/README
+%doc %{_docdir}/%{name}-%{version}/README.md
%endif
%files asn1
@@ -1412,9 +1285,9 @@ rm -rf $RPM_BUILD_ROOT
%files doc
%if %{with doc}
-%doc %{_docdir}/%{n_uvr}/doc
-%doc %{_docdir}/%{n_uvr}/erts-*/
-%doc %{_docdir}/%{n_uvr}/lib/
+%doc %{_docdir}/%{name}-%{version}/doc
+%doc %{_docdir}/%{name}-%{version}/erts-*/
+%doc %{_docdir}/%{name}-%{version}/lib/
%endif
%files edoc
@@ -1455,7 +1328,9 @@ rm -rf $RPM_BUILD_ROOT
%endif
%files erts
-# TODO these directories should be packaged separately
+# TODO
+# In order to have a parallel-installable Erlang packages these directories
+# should be packaged separately
%dir %{_libdir}/erlang/
%dir %{_libdir}/erlang/bin/
%dir %{_libdir}/erlang/lib/
@@ -1556,6 +1431,7 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_libdir}/erlang/lib/eunit-*/
%{_libdir}/erlang/lib/eunit-*/ebin
%{_libdir}/erlang/lib/eunit-*/include
+%{_libdir}/erlang/lib/eunit-*/src
%if %{with doc}
%{_libdir}/erlang/man/man3/eunit.*
%{_libdir}/erlang/man/man3/eunit_surefire.*
@@ -1725,6 +1601,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/lib/observer-*/priv/
%{_libdir}/erlang/lib/observer-*/src/
%if %{with doc}
+%{_libdir}/erlang/man/man1/cdv.*
%{_libdir}/erlang/man/man3/crashdump.*
%{_libdir}/erlang/man/man3/observer.*
%{_libdir}/erlang/man/man3/ttb.*
@@ -1777,6 +1654,15 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man6/os_mon.*
%endif
+%files ose
+%dir %{_libdir}/erlang/lib/ose-*/
+%{_libdir}/erlang/lib/ose-*/ebin/
+%if %{with doc}
+%{_libdir}/erlang/man/man3/ose.*
+%{_libdir}/erlang/man/man3/ose_erl_driver.*
+%{_libdir}/erlang/man/man6/ose.*
+%endif
+
%files otp_mibs
%{_libdir}/erlang/lib/otp_mibs-*/
%if %{with doc}
@@ -1798,12 +1684,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/percept_profile.*
%endif
-%files pman
-%{_libdir}/erlang/lib/pman-*/
-%if %{with doc}
-%{_libdir}/erlang/man/man3/pman.*
-%endif
-
%files public_key
%{_libdir}/erlang/lib/public_key-*/
%if %{with doc}
@@ -1827,6 +1707,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/dbg.*
%{_libdir}/erlang/man/man3/dyntrace.*
%{_libdir}/erlang/man/man3/erts_alloc_config.*
+%{_libdir}/erlang/man/man3/system_information.*
%{_libdir}/erlang/man/man6/runtime_tools.*
%endif
@@ -1975,6 +1856,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/lib.*
%{_libdir}/erlang/man/man3/lists.*
%{_libdir}/erlang/man/man3/log_mf_h.*
+%{_libdir}/erlang/man/man3/maps.*
%{_libdir}/erlang/man/man3/math.*
%{_libdir}/erlang/man/man3/ms_transform.*
%{_libdir}/erlang/man/man3/orddict.*
@@ -2025,12 +1907,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man6/test_server.*
%endif
-%files toolbar
-%{_libdir}/erlang/lib/toolbar-*/
-%if %{with doc}
-%{_libdir}/erlang/man/man3/toolbar.*
-%endif
-
%files tools
%dir %{_libdir}/erlang/lib/tools-*/
%{_libdir}/erlang/lib/tools-*/bin
@@ -2051,12 +1927,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/xref.*
%endif
-%files tv
-%{_libdir}/erlang/lib/tv-*/
-%if %{with doc}
-%{_libdir}/erlang/man/man3/tv.*
-%endif
-
%files typer
%{_bindir}/typer
%{_libdir}/erlang/bin/typer
@@ -2086,6 +1956,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/wx_object.*
%{_libdir}/erlang/man/man3/wxAcceleratorEntry.*
%{_libdir}/erlang/man/man3/wxAcceleratorTable.*
+%{_libdir}/erlang/man/man3/wxActivateEvent.*
%{_libdir}/erlang/man/man3/wxArtProvider.*
%{_libdir}/erlang/man/man3/wxAuiDockArt.*
%{_libdir}/erlang/man/man3/wxAuiManager.*
@@ -2188,6 +2059,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/wxIdleEvent.*
%{_libdir}/erlang/man/man3/wxImage.*
%{_libdir}/erlang/man/man3/wxImageList.*
+%{_libdir}/erlang/man/man3/wxInitDialogEvent.*
%{_libdir}/erlang/man/man3/wxJoystickEvent.*
%{_libdir}/erlang/man/man3/wxKeyEvent.*
%{_libdir}/erlang/man/man3/wxLayoutAlgorithm.*
@@ -2198,6 +2070,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/wxListItem.*
%{_libdir}/erlang/man/man3/wxListItemAttr.*
%{_libdir}/erlang/man/man3/wxListView.*
+%{_libdir}/erlang/man/man3/wxLocale.*
%{_libdir}/erlang/man/man3/wxLogNull.*
%{_libdir}/erlang/man/man3/wxMask.*
%{_libdir}/erlang/man/man3/wxMaximizeEvent.*
@@ -2230,6 +2103,8 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/wxPasswordEntryDialog.*
%{_libdir}/erlang/man/man3/wxPen.*
%{_libdir}/erlang/man/man3/wxPickerBase.*
+%{_libdir}/erlang/man/man3/wxPopupTransientWindow.*
+%{_libdir}/erlang/man/man3/wxPopupWindow.*
%{_libdir}/erlang/man/man3/wxPostScriptDC.*
%{_libdir}/erlang/man/man3/wxPreviewCanvas.*
%{_libdir}/erlang/man/man3/wxPreviewControlBar.*
@@ -2313,7 +2188,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/erlang/man/man3/xmerl_xsd.*
%endif
-%if 0%{?el6}%{?fedora}
%files -n emacs-erlang
%dir %{_emacs_sitelispdir}/erlang
%doc %{_emacs_sitelispdir}/erlang/README
@@ -2331,10 +2205,17 @@ rm -rf $RPM_BUILD_ROOT
%files -n xemacs-erlang-el
%{_xemacs_sitelispdir}/erlang/*.el
-%endif
%changelog
+* Tue Aug 26 2014 Peter Lemenkov - 17.2.1-1
+- Ver. 17.2.1
+- Removed support for EPEL5
+- The following packages were removed - appmon, pman, toolbar, tv
+- The following packages were added - ose
+- No longer using a pre-built doc-files
+- Erlang no longer requires erlang-examples subpackage (see rhbz #1038314)
+
* Sat Aug 16 2014 Fedora Release Engineering - R16B-03.7.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
diff --git a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
index 75bf3e5..6aeadc8 100644
--- a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
+++ b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Do not format man-pages and do not install miscellaneous
Signed-off-by: Peter Lemenkov
diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in
-index 5c1ce51..5a07855 100644
+index 0cf965f..94e82a8 100644
--- a/erts/etc/common/Makefile.in
+++ b/erts/etc/common/Makefile.in
-@@ -474,10 +474,6 @@ endif
+@@ -550,10 +550,6 @@ endif
ifneq ($(INSTALL_TOP_BIN),)
$(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)"
endif
@@ -17,9 +17,9 @@ index 5c1ce51..5a07855 100644
- $(INSTALL_DIR) "$(RELEASE_PATH)/misc"
- $(INSTALL_SCRIPT) $(INSTALL_MISC) "$(RELEASE_PATH)/misc"
-endif
- ifneq ($(INSTALL_ERL_OSE),)
- $(INSTALL_DIR) "$(RELEASE_PATH)/build_erl_ose"
- cd $(OSEETC) && $(TAR) erl_ose_$(SYSTEM_VSN).tar $(INSTALL_ERL_OSE)
+ ifneq ($(INSTALL_SRC),)
+ $(INSTALL_DIR) "$(RELEASE_PATH)/erts-$(VSN)/src"
+ $(INSTALL_DATA) $(INSTALL_SRC) "$(RELEASE_PATH)/erts-$(VSN)/src"
diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src
index 8eb1db7..9e340bb 100644
--- a/erts/etc/unix/Install.src
diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch
index 2a65565..492734f 100644
--- a/otp-0002-Remove-rpath.patch
+++ b/otp-0002-Remove-rpath.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Remove rpath
Signed-off-by: Peter Lemenkov
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
-index a20ddff..e890927 100644
+index 8c92b5b..5b36c19 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
-@@ -85,7 +85,7 @@ endif
+@@ -89,7 +89,7 @@ endif
DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch
index 821988b..388a738 100644
--- a/otp-0003-Do-not-install-C-sources.patch
+++ b/otp-0003-Do-not-install-C-sources.patch
@@ -14,36 +14,37 @@ https://bugzilla.redhat.com/818419
Signed-off-by: Peter Lemenkov
diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile
-index 7023833..8bf8eb9 100644
+index a7cd03f..6da4d75 100644
--- a/lib/asn1/c_src/Makefile
+++ b/lib/asn1/c_src/Makefile
-@@ -107,8 +107,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
- release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
+@@ -142,8 +142,6 @@ release_spec: opt
+ ifneq ($(findstring ose,$(TARGET)),ose)
$(INSTALL_PROGRAM) $(NIF_SHARED_OBJ_FILE) "$(RELSYSDIR)/priv/lib"
+ endif
- $(INSTALL_DIR) "$(RELSYSDIR)/c_src"
- $(INSTALL_DATA) *.c "$(RELSYSDIR)/c_src"
release_docs_spec:
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
-index e890927..1377654 100644
+index 5b36c19..470821e 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
-@@ -160,13 +160,9 @@ docs:
+@@ -199,14 +199,10 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/priv/obj"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
- $(INSTALL_DATA) $(NIF_MAKEFILE) "$(RELSYSDIR)/priv/obj"
+ ifneq ($(findstring ose,$(TARGET)),ose)
- $(INSTALL_PROGRAM) $(CRYPTO_OBJS) "$(RELSYSDIR)/priv/obj"
$(INSTALL_PROGRAM) $(NIF_LIB) "$(RELSYSDIR)/priv/lib"
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
- $(INSTALL_PROGRAM) $(CALLBACK_OBJS) "$(RELSYSDIR)/priv/obj"
$(INSTALL_PROGRAM) $(CALLBACK_LIB) "$(RELSYSDIR)/priv/lib"
endif
-
+ endif
diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
index e36b39c..fd377bb 100644
--- a/lib/erl_interface/src/Makefile.in
@@ -131,24 +132,25 @@ index f84ccf7..05d194f 100644
$(INSTALL_PROGRAM) $(TARGET_FILES) "$(RELSYSDIR)/priv/bin"
diff --git a/lib/runtime_tools/c_src/Makefile.in b/lib/runtime_tools/c_src/Makefile.in
-index d315a90..7b4b9fb 100644
+index d46b499..4309aae 100644
--- a/lib/runtime_tools/c_src/Makefile.in
+++ b/lib/runtime_tools/c_src/Makefile.in
-@@ -177,9 +177,7 @@ docs:
+@@ -156,10 +156,8 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/priv/obj"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
+ ifneq ($(findstring ose,$(TARGET)),ose)
- $(INSTALL_PROGRAM) $(DYNTRACE_OBJS) "$(RELSYSDIR)/priv/obj"
$(INSTALL_PROGRAM) $(NIF_LIB) $(SOLIBS) "$(RELSYSDIR)/priv/lib"
+ endif
- release_docs_spec:
diff --git a/lib/tools/c_src/Makefile.in b/lib/tools/c_src/Makefile.in
-index aea5686..a0c8883 100644
+index b1eb69f..1acfdbf 100644
--- a/lib/tools/c_src/Makefile.in
+++ b/lib/tools/c_src/Makefile.in
-@@ -189,8 +189,6 @@ include ../vsn.mk
+@@ -197,8 +197,6 @@ include ../vsn.mk
RELSYSDIR = $(RELEASE_PATH)/lib/tools-$(TOOLS_VSN)
release_spec: all
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index 843e052..02fdb3c 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -20,24 +20,11 @@ index 4ea2d41..e1466c1 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin"
-diff --git a/lib/appmon/src/Makefile b/lib/appmon/src/Makefile
-index c1620bc..02c0984 100644
---- a/lib/appmon/src/Makefile
-+++ b/lib/appmon/src/Makefile
-@@ -95,7 +95,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
-
- release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/src"
-- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src"
-+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
- $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
- $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
-
diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile
-index 500f4a1..e707394 100644
+index 6798da0..4e3ae0e 100644
--- a/lib/asn1/src/Makefile
+++ b/lib/asn1/src/Makefile
-@@ -153,7 +153,7 @@ release_spec: opt
+@@ -154,7 +154,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -171,10 +158,10 @@ index 7b4a9cf..290707c 100644
$(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile
-index 574c207..52320b0 100644
+index c185c15..68bacba 100644
--- a/lib/crypto/src/Makefile
+++ b/lib/crypto/src/Makefile
-@@ -83,8 +83,6 @@ docs:
+@@ -81,8 +81,6 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -184,10 +171,10 @@ index 574c207..52320b0 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile
-index 85754da..5a6f298 100644
+index 90189dd..1e8f51d 100644
--- a/lib/debugger/src/Makefile
+++ b/lib/debugger/src/Makefile
-@@ -130,7 +130,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -116,7 +116,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -197,10 +184,10 @@ index 85754da..5a6f298 100644
$(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile
-index bb2edd4..6b20995 100644
+index 91fbdca..01fb30c 100644
--- a/lib/dialyzer/src/Makefile
+++ b/lib/dialyzer/src/Makefile
-@@ -156,7 +156,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -151,7 +151,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -210,10 +197,10 @@ index bb2edd4..6b20995 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile
-index 578bbae..647cfde 100644
+index 9afccf2..107d65b 100644
--- a/lib/diameter/src/Makefile
+++ b/lib/diameter/src/Makefile
-@@ -242,11 +242,8 @@ release_spec: opt
+@@ -250,11 +250,8 @@ release_spec: opt
$(MAKE) $(EXAMPLE_DIRS:%/=release_examples_%)
$(TARGET_DIRS:%/=release_src_%): release_src_%:
@@ -241,7 +228,7 @@ index 4e5a418..c0bb0c3 100644
release_docs_spec:
diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile
-index ebb7967..b6337cb 100644
+index 2e1110e..b7f9b09 100644
--- a/lib/eldap/src/Makefile
+++ b/lib/eldap/src/Makefile
@@ -98,10 +98,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -269,7 +256,7 @@ index ef96f5d..d9a2f0d 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile
-index 386169f..216b548 100644
+index 377e593..668e278 100644
--- a/lib/et/src/Makefile
+++ b/lib/et/src/Makefile
@@ -108,7 +108,6 @@ release_spec: opt
@@ -294,7 +281,7 @@ index e6dab67..a5e147d 100644
$(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
diff --git a/lib/gs/src/Makefile b/lib/gs/src/Makefile
-index 0a63d54..8a49249 100644
+index f0200ca..86d3f74 100644
--- a/lib/gs/src/Makefile
+++ b/lib/gs/src/Makefile
@@ -108,8 +108,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -309,7 +296,7 @@ index 0a63d54..8a49249 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/bitmap"
diff --git a/lib/hipe/cerl/Makefile b/lib/hipe/cerl/Makefile
-index 506e993..d74b75c 100644
+index d13dfb3..b09d62b 100644
--- a/lib/hipe/cerl/Makefile
+++ b/lib/hipe/cerl/Makefile
@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -347,6 +334,19 @@ index 87015aa..84f870d 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+diff --git a/lib/hipe/llvm/Makefile b/lib/hipe/llvm/Makefile
+index 92f3789..82f3e77 100644
+--- a/lib/hipe/llvm/Makefile
++++ b/lib/hipe/llvm/Makefile
+@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) $(RELSYSDIR)/llvm
+- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(RELSYSDIR)/llvm
++ $(INSTALL_DATA) $(HRL_FILES) $(RELSYSDIR)/llvm
+ $(INSTALL_DIR) $(RELSYSDIR)/ebin
+ $(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin
+
diff --git a/lib/hipe/main/Makefile b/lib/hipe/main/Makefile
index 66e4c3e..2f11670 100644
--- a/lib/hipe/main/Makefile
@@ -615,10 +615,10 @@ index ac38fa0..20bce7e 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile
-index 42f5c19..a98b706 100644
+index c120865..6831d23 100644
--- a/lib/observer/src/Makefile
+++ b/lib/observer/src/Makefile
-@@ -131,7 +131,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -149,7 +149,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -655,10 +655,10 @@ index 8140620..73df530 100644
release_docs_spec:
diff --git a/lib/orber/src/Makefile b/lib/orber/src/Makefile
-index 1c6781e..e471f88 100644
+index 398e481..f079e77 100644
--- a/lib/orber/src/Makefile
+++ b/lib/orber/src/Makefile
-@@ -256,7 +256,7 @@ release_spec: opt
+@@ -252,7 +252,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -679,6 +679,20 @@ index 4e78cf8..69d434c 100644
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+diff --git a/lib/ose/src/Makefile b/lib/ose/src/Makefile
+index 88f8957..ab08a88 100644
+--- a/lib/ose/src/Makefile
++++ b/lib/ose/src/Makefile
+@@ -93,9 +93,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+- $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+
diff --git a/lib/otp_mibs/src/Makefile b/lib/otp_mibs/src/Makefile
index 4f03d02..756db7b 100644
--- a/lib/otp_mibs/src/Makefile
@@ -718,21 +732,8 @@ index 6bf0af9..e501539 100644
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
# $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
-diff --git a/lib/pman/src/Makefile b/lib/pman/src/Makefile
-index eb0413b..4f5419b 100644
---- a/lib/pman/src/Makefile
-+++ b/lib/pman/src/Makefile
-@@ -104,7 +104,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
-
- release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/src"
-- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src"
-+ $(INSTALL_DATA) $(HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src"
- $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
- $(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin"
-
diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile
-index a4e36c7..432e73a 100644
+index c1b3bc8..3d021cf 100644
--- a/lib/public_key/asn1/Makefile
+++ b/lib/public_key/asn1/Makefile
@@ -95,8 +95,8 @@ release_spec: opt
@@ -885,10 +886,10 @@ index 2ef2859..aac91a3 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index 131b615..c456bfc 100644
+index 7c4c8ec..99efbe4 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
-@@ -136,7 +136,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -137,7 +137,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -898,10 +899,10 @@ index 131b615..c456bfc 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile
-index f3387d6..4c5e622 100644
+index 9ab2cd4..876bfd2 100644
--- a/lib/stdlib/src/Makefile
+++ b/lib/stdlib/src/Makefile
-@@ -202,7 +202,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -203,7 +203,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -934,19 +935,6 @@ index ab4dd4d..bcb1bc3 100644
$(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
-diff --git a/lib/toolbar/src/Makefile b/lib/toolbar/src/Makefile
-index a248469..96c42df 100644
---- a/lib/toolbar/src/Makefile
-+++ b/lib/toolbar/src/Makefile
-@@ -85,7 +85,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
-
- release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/src"
-- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src"
-+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
- $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
- $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
-
diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile
index e606b97..1beb8cc 100644
--- a/lib/tools/src/Makefile
@@ -960,21 +948,8 @@ index e606b97..1beb8cc 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
-diff --git a/lib/tv/src/Makefile b/lib/tv/src/Makefile
-index 3d680c1..e6ed610 100644
---- a/lib/tv/src/Makefile
-+++ b/lib/tv/src/Makefile
-@@ -127,7 +127,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
-
- release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/src"
-- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src"
-+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
- $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
- $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
-
diff --git a/lib/typer/src/Makefile b/lib/typer/src/Makefile
-index 13af466..c29a597 100644
+index a7059de..0b1ae2a 100644
--- a/lib/typer/src/Makefile
+++ b/lib/typer/src/Makefile
@@ -101,9 +101,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -988,7 +963,7 @@ index 13af466..c29a597 100644
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/webtool/src/Makefile b/lib/webtool/src/Makefile
-index f28c777..346ce37 100644
+index af565c8..6c65b26 100644
--- a/lib/webtool/src/Makefile
+++ b/lib/webtool/src/Makefile
@@ -87,8 +87,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
diff --git a/otp-0013-Added-systemd-notify-support-to-EPMD.patch b/otp-0007-Added-systemd-notify-support-to-EPMD.patch
similarity index 91%
rename from otp-0013-Added-systemd-notify-support-to-EPMD.patch
rename to otp-0007-Added-systemd-notify-support-to-EPMD.patch
index b41ce99..dd4ddcd 100644
--- a/otp-0013-Added-systemd-notify-support-to-EPMD.patch
+++ b/otp-0007-Added-systemd-notify-support-to-EPMD.patch
@@ -8,7 +8,7 @@ Conflicts:
erts/configure.in
diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c
-index fc58882..1757fa9 100644
+index 3cfa7a7..67e8b49 100644
--- a/erts/epmd/src/epmd.c
+++ b/erts/epmd/src/epmd.c
@@ -589,9 +589,11 @@ void epmd_cleanup_exit(EpmdVars *g, int exitval)
@@ -27,10 +27,10 @@ index fc58882..1757fa9 100644
}
diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c
-index cb8ca96..78524a6 100644
+index 48fd7a5..18d898a 100644
--- a/erts/epmd/src/epmd_srv.c
+++ b/erts/epmd/src/epmd_srv.c
-@@ -394,8 +394,11 @@ void run(EpmdVars *g)
+@@ -399,8 +399,11 @@ void run(EpmdVars *g)
}
select_fd_set(g, listensock[i]);
}
diff --git a/otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch b/otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
deleted file mode 100644
index 33b5973..0000000
--- a/otp-0007-Ugly-workaround-for-java-1.5.0-gcj-which-doesn-t-sup.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From: Peter Lemenkov
-Date: Sun, 21 Nov 2010 00:17:49 +0300
-Subject: [PATCH] Ugly workaround for java-1.5.0-gcj which doesn't support
- UNICODE fully
-
-Signed-off-by: Peter Lemenkov
-Fedora-Spec-Comment: Required only for el5, el6 on PowerPC
-Fedora-Spec-Before: %if 0%{?el4}%{?el5}%{?el6}
-Fedora-Spec-Before: %ifnarch %{ix86} x86_64
-Fedora-Spec-After: %endif
-Fedora-Spec-After: %endif
-
-diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangList.java b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangList.java
-index 3456fd7..86cd411 100644
---- a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangList.java
-+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpErlangList.java
-@@ -389,19 +389,7 @@ public class OtpErlangList extends OtpErlangObject implements
- */
-
- public String stringValue() throws OtpErlangException {
-- if (! isProper()) {
-- throw new OtpErlangException("Non-proper list: " + this);
-- }
-- final int[] values = new int[arity()];
-- for (int i = 0; i < values.length; ++i) {
-- final OtpErlangObject o = elementAt(i);
-- if (! (o instanceof OtpErlangLong)) {
-- throw new OtpErlangException("Non-integer term: " + o);
-- }
-- final OtpErlangLong l = (OtpErlangLong) o;
-- values[i] = l.intValue();
-- }
-- return new String(values, 0, values.length);
-+ throw new OtpErlangException("No UNICODE support in java-1.5.0-gcj");
- }
-
-
-diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java
-index 9dc1728..76e380d 100644
---- a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java
-+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java
-@@ -1112,17 +1112,8 @@ public class OtpInputStream extends ByteArrayInputStream {
- case OtpExternal.nilTag:
- return "";
- case OtpExternal.listTag: // List when unicode +
-- len = read4BE();
-- intbuf = new int[len];
-- for (int i = 0; i < len; i++) {
-- intbuf[i] = read_int();
-- if (! OtpErlangString.isValidCodePoint(intbuf[i])) {
-- throw new OtpErlangDecodeException
-- ("Invalid CodePoint: " + intbuf[i]);
-- }
-- }
-- read_nil();
-- return new String(intbuf, 0, intbuf.length);
-+ throw new OtpErlangDecodeException(
-+ "No UNICODE support in java-1.5.0-gcj");
- default:
- throw new OtpErlangDecodeException(
- "Wrong tag encountered, expected " + OtpExternal.stringTag
diff --git a/otp-0008-Fix-for-armv7hl-architecture.patch b/otp-0008-Fix-for-armv7hl-architecture.patch
deleted file mode 100644
index b7d8b32..0000000
--- a/otp-0008-Fix-for-armv7hl-architecture.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From: Peter Lemenkov
-Date: Thu, 26 Sep 2013 22:01:03 +0400
-Subject: [PATCH] Fix for armv7hl architecture
-
-Taken from openSUSE:
-
-* https://build.opensuse.org/package/view_file/devel:languages:erlang:Factory/erlang/fix-armv7hl.patch?expand=1
-
-Signed-off-by: Peter Lemenkov
-
-diff --git a/erts/configure.in b/erts/configure.in
-index bad748d..230f27a 100644
---- a/erts/configure.in
-+++ b/erts/configure.in
-@@ -621,6 +621,7 @@ case $chk_arch_ in
- armv5tejl) ARCH=arm;;
- armv6l) ARCH=arm;;
- armv7l) ARCH=arm;;
-+ armv7hl) ARCH=arm;;
- tile) ARCH=tile;;
- *) ARCH=noarch;;
- esac
diff --git a/otp-0008-Install-internal-hrl-files-when-necessary.patch b/otp-0008-Install-internal-hrl-files-when-necessary.patch
new file mode 100644
index 0000000..9badf49
--- /dev/null
+++ b/otp-0008-Install-internal-hrl-files-when-necessary.patch
@@ -0,0 +1,97 @@
+From: Peter Lemenkov
+Date: Tue, 26 Aug 2014 13:53:49 +0400
+Subject: [PATCH] Install internal hrl files when necessary
+
+Sometimes we install *.erl files. Some these files include a private
+*.hrl files, so in order to make these *.erl files usable we have to
+install these private includes as well.
+
+Signed-off-by: Peter Lemenkov
+
+Conflicts:
+ lib/eunit/src/Makefile
+ lib/percept/src/Makefile
+ lib/test_server/src/Makefile
+
+diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile
+index 1e8f51d..bfdb0c9 100644
+--- a/lib/debugger/src/Makefile
++++ b/lib/debugger/src/Makefile
+@@ -63,7 +63,7 @@ MODULES= \
+
+ HRL_FILES=
+
+-INTERNAL_HRL_FILES= dbg_ieval.hrl
++INTERNAL_HRL_FILES= dbg_ieval.hrl dbg_wx_filedialog_win.hrl
+
+ ERL_FILES= $(MODULES:%=%.erl)
+
+diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile
+index a5e147d..8483e28 100644
+--- a/lib/eunit/src/Makefile
++++ b/lib/eunit/src/Makefile
+@@ -46,6 +46,8 @@ SOURCES= \
+
+ INCLUDE_FILES = eunit.hrl
+
++INTERNAL_HRL_FILES= eunit_internal.hrl
++
+ PARSE_TRANSFORM_BIN = $(PARSE_TRANSFORM:%.erl=$(EBIN)/%.$(EMULATOR))
+
+ TARGET_FILES= $(SOURCES:%.erl=$(EBIN)/%.$(EMULATOR))
+@@ -117,6 +119,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin"
++ $(INSTALL_DIR) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
+
+diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile
+index dbda2a2..3e1792f 100644
+--- a/lib/kernel/src/Makefile
++++ b/lib/kernel/src/Makefile
+@@ -122,6 +122,7 @@ HRL_FILES= ../include/file.hrl ../include/inet.hrl ../include/inet_sctp.hrl \
+ ../include/net_address.hrl
+
+ INTERNAL_HRL_FILES= application_master.hrl disk_log.hrl \
++ erl_epmd.hrl hipe_ext_format.hrl \
+ inet_dns.hrl inet_res.hrl \
+ inet_boot.hrl inet_config.hrl inet_int.hrl \
+ inet_dns_record_adts.hrl
+diff --git a/lib/percept/src/Makefile b/lib/percept/src/Makefile
+index e501539..5902da3 100644
+--- a/lib/percept/src/Makefile
++++ b/lib/percept/src/Makefile
+@@ -50,6 +50,8 @@ MODULES= \
+
+ #HRL_FILES= ../include/
+
++INTERNAL_HRL_FILES= egd.hrl percept.hrl
++
+ ERL_FILES= $(MODULES:%=%.erl)
+
+ TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) $(APP_TARGET) $(APPUP_TARGET)
+@@ -93,6 +95,8 @@ docs:
+ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
++ $(INSTALL_DIR) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ # $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ # $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
+diff --git a/lib/test_server/src/Makefile b/lib/test_server/src/Makefile
+index bcb1bc3..deb7caf 100644
+--- a/lib/test_server/src/Makefile
++++ b/lib/test_server/src/Makefile
+@@ -123,7 +123,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
+- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TS_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
+ $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch b/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
deleted file mode 100644
index 4dc7759..0000000
--- a/otp-0009-TEMPORARILY-disable-ECC-until-dust-settles.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From: Peter Lemenkov
-Date: Thu, 24 Oct 2013 16:44:22 +0400
-Subject: [PATCH] TEMPORARILY disable ECC until dust settles
-
-Signed-off-by: Peter Lemenkov
-
-diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c
-index 42fb172..eb99719 100644
---- a/lib/crypto/c_src/crypto.c
-+++ b/lib/crypto/c_src/crypto.c
-@@ -74,13 +74,6 @@
- # define HAVE_DES_ede3_cfb_encrypt
- #endif
-
--#if OPENSSL_VERSION_NUMBER >= 0x009080ffL \
-- && !defined(OPENSSL_NO_EC) \
-- && !defined(OPENSSL_NO_ECDH) \
-- && !defined(OPENSSL_NO_ECDSA)
--# define HAVE_EC
--#endif
--
- #if defined(HAVE_EC)
- #include
- #include
diff --git a/otp-0010-Fix-for-powerpc-architecture.patch b/otp-0010-Fix-for-powerpc-architecture.patch
deleted file mode 100644
index 8eb1f35..0000000
--- a/otp-0010-Fix-for-powerpc-architecture.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From: Peter Lemenkov
-Date: Mon, 28 Oct 2013 17:11:11 +0400
-Subject: [PATCH] Fix for powerpc architecture
-
-Taken from openSUSE:
-
-* https://build.opensuse.org/package/view_file/devel:languages:erlang:Factory/erlang/erlang-ppc.patch?expand=1
-
-See also:
-
-* https://bugzilla.redhat.com/1023960
-
-Signed-off-by: Peter Lemenkov
-
-diff --git a/erts/configure.in b/erts/configure.in
-index 230f27a..9ad3671 100644
---- a/erts/configure.in
-+++ b/erts/configure.in
-@@ -612,6 +612,7 @@ case $chk_arch_ in
- x86_64) ARCH=amd64;;
- amd64) ARCH=amd64;;
- macppc) ARCH=ppc;;
-+ powerpc) ARCH=ppc;;
- ppc) ARCH=ppc;;
- ppc64) ARCH=ppc64;;
- "Power Macintosh") ARCH=ppc;;
diff --git a/otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch b/otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch
deleted file mode 100644
index bb13893..0000000
--- a/otp-0011-Add-systemd-option-to-empd.-Check-for-include-system.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From: "Matwey V. Kornilov"
-Date: Tue, 17 Dec 2013 18:16:56 +0400
-Subject: [PATCH] Add -systemd option to empd. Check for include
- systemd/sd-daemon.h and wrap systemd code into ifdef-s.
-
-
-diff --git a/erts/configure.in b/erts/configure.in
-index 9ad3671..125e579 100644
---- a/erts/configure.in
-+++ b/erts/configure.in
-@@ -1565,6 +1565,8 @@ AC_CHECK_MEMBERS([struct ifreq.ifr_enaddr], [], [],
- #endif
- ])
-
-+AC_CHECK_HEADERS(systemd/sd-daemon.h)
-+
- dnl ----------------------------------------------------------------------
- dnl Check the availability for libdlpi
- dnl ----------------------------------------------------------------------
-diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c
-index 2d55b37..fc58882 100644
---- a/erts/epmd/src/epmd.c
-+++ b/erts/epmd/src/epmd.c
-@@ -175,6 +175,9 @@ int main(int argc, char** argv)
- g->nodes.reg = g->nodes.unreg = g->nodes.unreg_tail = NULL;
- g->nodes.unreg_count = 0;
- g->active_conn = 0;
-+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
-+ g->is_systemd = 0;
-+#endif
-
- for (i = 0; i < MAX_LISTEN_SOCKETS; i++)
- g->listenfd[i] = -1;
-@@ -248,8 +251,12 @@ int main(int argc, char** argv)
- else
- usage(g);
- epmd_cleanup_exit(g,0);
-- }
-- else
-+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
-+ } else if (strcmp(argv[0], "-systemd") == 0) {
-+ g->is_systemd = 1;
-+ argv++; argc--;
-+#endif
-+ } else
- usage(g);
- }
- dbg_printf(g,1,"epmd running - daemon = %d",g->is_daemon);
-@@ -454,6 +461,11 @@ static void usage(EpmdVars *g)
- fprintf(stderr, " Forcibly unregisters a name with epmd\n");
- fprintf(stderr, " (only allowed if -relaxed_command_check was given when \n");
- fprintf(stderr, " epmd was started).\n");
-+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
-+ fprintf(stderr, " -systemd\n");
-+ fprintf(stderr, " Wait for socket from systemd. The option makes sense\n");
-+ fprintf(stderr, " when started from .socket unit.\n");
-+#endif
- epmd_cleanup_exit(g,1);
- }
-
-diff --git a/erts/epmd/src/epmd_int.h b/erts/epmd/src/epmd_int.h
-index 656dbd1..bf1ddd8 100644
---- a/erts/epmd/src/epmd_int.h
-+++ b/erts/epmd/src/epmd_int.h
-@@ -321,6 +321,9 @@ typedef struct {
- int listenfd[MAX_LISTEN_SOCKETS];
- char *addresses;
- char **argv;
-+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
-+ int is_systemd;
-+#endif
- } EpmdVars;
-
- void dbg_printf(EpmdVars*,int,const char*,...);
diff --git a/otp-0012-Add-systemd-support-to-epmd.patch b/otp-0012-Add-systemd-support-to-epmd.patch
deleted file mode 100644
index 3535601..0000000
--- a/otp-0012-Add-systemd-support-to-epmd.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-From: "Matwey V. Kornilov"
-Date: Tue, 17 Dec 2013 18:57:54 +0400
-Subject: [PATCH] Add systemd support to epmd
-
-
-diff --git a/erts/configure.in b/erts/configure.in
-index 125e579..d9bc1ec 100644
---- a/erts/configure.in
-+++ b/erts/configure.in
-@@ -969,6 +969,8 @@ AC_CHECK_LIB(dl, dlopen)
- AC_CHECK_LIB(inet, main)
- AC_CHECK_LIB(util, openpty)
-
-+AC_CHECK_LIB(systemd-daemon, sd_listen_fds)
-+
- dnl Try to find a thread library.
- dnl
- dnl ETHR_LIB_NAME, ETHR_LIBS, ETHR_X_LIBS, ETHR_THR_LIB_BASE and ETHR_DEFS
-diff --git a/erts/epmd/src/epmd_int.h b/erts/epmd/src/epmd_int.h
-index bf1ddd8..363923e 100644
---- a/erts/epmd/src/epmd_int.h
-+++ b/erts/epmd/src/epmd_int.h
-@@ -110,6 +110,10 @@
-
- #include
-
-+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
-+# include
-+#endif
-+
- /* ************************************************************************ */
- /* Replace some functions by others by making the function name a macro */
-
-diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c
-index 90df7cc..cb8ca96 100644
---- a/erts/epmd/src/epmd_srv.c
-+++ b/erts/epmd/src/epmd_srv.c
-@@ -208,6 +208,39 @@ void run(EpmdVars *g)
- node_init(g);
- g->conn = conn_init(g);
-
-+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
-+ if (g->is_systemd)
-+ {
-+ int n;
-+
-+ dbg_printf(g,2,"try to obtain sockets from systemd");
-+
-+ n = sd_listen_fds(0);
-+ if (n < 0)
-+ {
-+ dbg_perror(g,"cannot obtain sockets from systemd");
-+ epmd_cleanup_exit(g,1);
-+ }
-+ else if (n == 0)
-+ {
-+ dbg_tty_printf(g,0,"systemd provides no sockets");
-+ epmd_cleanup_exit(g,1);
-+ }
-+ else if (n > MAX_LISTEN_SOCKETS)
-+ {
-+ dbg_tty_printf(g,0,"cannot listen on more than %d IP addresses", MAX_LISTEN_SOCKETS);
-+ epmd_cleanup_exit(g,1);
-+ }
-+ num_sockets = n;
-+ for (i = 0; i < num_sockets; i++)
-+ {
-+ g->listenfd[i] = listensock[i] = SD_LISTEN_FDS_START + i;
-+ }
-+ }
-+ else
-+ {
-+#endif
-+
- dbg_printf(g,2,"try to initiate listening port %d", g->port);
-
- if (g->addresses != NULL && /* String contains non-separator characters if: */
-@@ -272,6 +305,9 @@ void run(EpmdVars *g)
- SET_ADDR(iserv_addr[0],EPMD_ADDR_ANY,sport);
- num_sockets = 1;
- }
-+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
-+ }
-+#endif
-
- #if !defined(__WIN32__)
- /* We ignore the SIGPIPE signal that is raised when we call write
-@@ -289,6 +325,13 @@ void run(EpmdVars *g)
- FD_ZERO(&g->orig_read_mask);
- g->select_fd_top = 0;
-
-+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
-+ if (g->is_systemd)
-+ for (i = 0; i < num_sockets; i++)
-+ select_fd_set(g, listensock[i]);
-+ else
-+ {
-+#endif
- for (i = 0; i < num_sockets; i++)
- {
- if ((listensock[i] = socket(FAMILY,SOCK_STREAM,0)) < 0)
-@@ -351,6 +394,9 @@ void run(EpmdVars *g)
- }
- select_fd_set(g, listensock[i]);
- }
-+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
-+ }
-+#endif
-
- dbg_tty_printf(g,2,"entering the main select() loop");
-
diff --git a/sources b/sources
index df29746..74711f5 100644
--- a/sources
+++ b/sources
@@ -1,4 +1 @@
-d27250e9ee98d6388e7f2e65379a0406 otp_src_R16B03-1.readme
-eff44490c9bbae3a5c5741bec2390ba3 otp_doc_html_R16B03-1.tar.gz
-39113c0d2515bdd8cd7e0f975a380122 otp_doc_man_R16B03-1.tar.gz
-e5ece977375197338c1b93b3d88514f8 otp_src_R16B03-1.tar.gz
+d3d62b967033bb684f8537548bdfa456 otp-OTP-17.2.1.tar.gz
From 2e0bb69313db035f9e55c72532e66c86095431f9 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Sun, 7 Sep 2014 16:41:57 +0400
Subject: [PATCH 033/322] Ver. 17.2.2
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 7 ++++++-
sources | 2 +-
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index 74a0d65..5da57f3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -51,3 +51,4 @@ otp_src_R14A.tar.gz
/otp_doc_man_R16B03-1.tar.gz
/otp_src_R16B03-1.tar.gz
/otp-OTP-17.2.1.tar.gz
+/otp-OTP-17.2.2.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 7b3b111..29186e7 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -9,7 +9,7 @@
%endif
Name: erlang
-Version: 17.2.1
+Version: 17.2.2
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2208,6 +2208,11 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Sun Sep 7 2014 Peter Lemenkov - 17.2.2-1
+- Ver. 17.2.2
+- Fixed a race which could make create_table fail if a node was going down
+ during the transaction. See upstream issue OTP-12124 for a further reference.
+
* Tue Aug 26 2014 Peter Lemenkov - 17.2.1-1
- Ver. 17.2.1
- Removed support for EPEL5
diff --git a/sources b/sources
index 74711f5..e769560 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-d3d62b967033bb684f8537548bdfa456 otp-OTP-17.2.1.tar.gz
+12c6cc0096f0b146234b1698e17d34d1 otp-OTP-17.2.2.tar.gz
From 885bb5b7a2bb8e709e75739228c5e906c7a9f735 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 3 Nov 2014 15:54:44 +0300
Subject: [PATCH 034/322] Ver. 17.3.3
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 34 +++---
otp-0003-Do-not-install-C-sources.patch | 4 +-
otp-0004-Do-not-install-Java-sources.patch | 6 +-
otp-0006-Do-not-install-erlang-sources.patch | 8 +-
...Added-systemd-notify-support-to-EPMD.patch | 4 +-
otp-0009-Expose-NIF-version.patch | 102 ++++++++++++++++++
sources | 2 +-
8 files changed, 134 insertions(+), 27 deletions(-)
create mode 100644 otp-0009-Expose-NIF-version.patch
diff --git a/.gitignore b/.gitignore
index 5da57f3..110111a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,3 +52,4 @@ otp_src_R14A.tar.gz
/otp_src_R16B03-1.tar.gz
/otp-OTP-17.2.1.tar.gz
/otp-OTP-17.2.2.tar.gz
+/otp-OTP-17.3.3.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 29186e7..18fa2fa 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -9,7 +9,7 @@
%endif
Name: erlang
-Version: 17.2.2
+Version: 17.3.3
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -65,6 +65,9 @@ Patch7: otp-0007-Added-systemd-notify-support-to-EPMD.patch
# Fedora specific patch
# Install internal hrl files when necessary
Patch8: otp-0008-Install-internal-hrl-files-when-necessary.patch
+# Fedora specific patch
+# Expose NIF version
+Patch9: otp-0009-Expose-NIF-version.patch
# end of autogenerated patch tag list
BuildRequires: lksctp-tools-devel
@@ -97,6 +100,7 @@ Requires(preun):systemd
Requires(postun):systemd
Requires: systemd
%endif
+BuildRequires: erlang-rpm-macros
Requires: erlang-asn1%{?_isa} = %{version}-%{release}
Requires: erlang-common_test%{?_isa} = %{version}-%{release}
@@ -337,6 +341,7 @@ Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
%description diameter
Diameter (RFC 3588) library
+%if %{with doc}
%package doc
Summary: Erlang documentation
Group: Development/Languages
@@ -344,6 +349,7 @@ BuildArch: noarch
%description doc
Documentation for Erlang.
+%endif
%package edoc
Summary: A utility used to generate documentation out of tags in source files
@@ -397,8 +403,12 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
# This library is dlopened so it can't be picked up automatically by the RPM
# dependency checker
Requires: lksctp-tools
-Provides: erlang(erl_drv_version) = 3.0
-Provides: erlang(erl_nif_version) = 2.6
+# See erts/emulator/beam/erl_driver.h or call erlang:system_info(driver_version).
+Provides: erlang(erl_drv_version) = 3.1
+#Provides: erlang(erl_drv_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(driver_version)).' -s erlang halt)
+# See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version).
+Provides: erlang(erl_nif_version) = 2.7
+#Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt)
# These sub-packages were removed once
Obsoletes: erlang-appmon
Obsoletes: erlang-docbuilder
@@ -521,7 +531,6 @@ Main erlang library.
%package megaco
Summary: Megaco/H.248 support library
Group: Development/Languages
-# FIXME Error:erlang(megaco_flex_scanner:scan/2)
Requires: %{name}-asn1%{?_isa} = %{version}-%{release}
Requires: %{name}-debugger%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
@@ -881,22 +890,13 @@ Erlang mode for XEmacs (source lisp files).
%patch6 -p1 -b .Do_not_install_erlang_sources
%patch7 -p1 -b .Added_systemd_notify_support_to_EPMD
%patch8 -p1 -b .Install_internal_hrl_files_when_necessary
+%patch9 -p1 -b .Expose_NIF_version
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
# remove shipped zlib sources
#rm -f erts/emulator/zlib/*.[ch]
-# Fix 664 file mode
-chmod 644 lib/kernel/examples/uds_dist/c_src/Makefile
-chmod 644 lib/kernel/examples/uds_dist/src/Makefile
-chmod 644 lib/ssl/examples/certs/Makefile
-chmod 644 lib/ssl/examples/src/Makefile
-
-# Remove old txt files
-rm -f lib/ssl/examples/certs/etc/otpCA/index.txt.old
-rm -f lib/ssl/examples/certs/etc/erlangCA/index.txt.old
-
# Reconfigure everything to apply changes to the autotools templates
./otp_build autoconf
@@ -1108,6 +1108,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/ct_hooks.*
%{_libdir}/erlang/man/man3/ct_master.*
%{_libdir}/erlang/man/man3/ct_netconfc.*
+%{_libdir}/erlang/man/man3/ct_property_test.*
%{_libdir}/erlang/man/man3/ct_rpc.*
%{_libdir}/erlang/man/man3/ct_slave.*
%{_libdir}/erlang/man/man3/ct_snmp.*
@@ -1283,8 +1284,8 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man4/diameter_dict.*
%endif
-%files doc
%if %{with doc}
+%files doc
%doc %{_docdir}/%{name}-%{version}/doc
%doc %{_docdir}/%{name}-%{version}/erts-*/
%doc %{_docdir}/%{name}-%{version}/lib/
@@ -2208,6 +2209,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Sun Nov 02 2014 Peter Lemenkov - 17.3.3-1
+- Ver. 17.3.3
+
* Sun Sep 7 2014 Peter Lemenkov - 17.2.2-1
- Ver. 17.2.2
- Fixed a race which could make create_table fail if a node was going down
diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch
index 388a738..6499e4c 100644
--- a/otp-0003-Do-not-install-C-sources.patch
+++ b/otp-0003-Do-not-install-C-sources.patch
@@ -46,10 +46,10 @@ index 5b36c19..470821e 100644
endif
endif
diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
-index e36b39c..fd377bb 100644
+index 7d914a0..b013939 100644
--- a/lib/erl_interface/src/Makefile.in
+++ b/lib/erl_interface/src/Makefile.in
-@@ -876,14 +876,14 @@ ifneq ($(EXE_TARGETS),)
+@@ -892,14 +892,14 @@ ifneq ($(EXE_TARGETS),)
$(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin"
endif
$(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src"
diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch
index 378e86d..b5a48ff 100644
--- a/otp-0004-Do-not-install-Java-sources.patch
+++ b/otp-0004-Do-not-install-Java-sources.patch
@@ -18,10 +18,10 @@ index 273614e..5b1fb57 100644
$(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv"
diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
-index f476d45..44429a4 100644
+index 8ae1ca0..adaaf55 100644
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
-@@ -102,8 +102,6 @@ release release_docs release_tests release_html:
+@@ -114,8 +114,6 @@ release release_docs release_tests release_html:
$(V_at)$(MAKE) $(MFLAGS) RELEASE_PATH="$(RELEASE_PATH)" $(TARGET_MAKEFILE) $@_spec
release_spec: opt
@@ -29,4 +29,4 @@ index f476d45..44429a4 100644
- $(V_at)$(INSTALL_DATA) $(JAVA_SRC) "$(RELSYSDIR)/java_src/com/ericsson/otp/erlang"
$(V_at)$(INSTALL_DIR) "$(RELSYSDIR)/priv"
$(V_at)$(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv"
-
+ $(V_at)$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index 02fdb3c..cc923fb 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -34,10 +34,10 @@ index 6798da0..4e3ae0e 100644
$(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples"
diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile
-index 4600c0a..1675a4a 100644
+index 8d74546..a25d85d 100644
--- a/lib/common_test/src/Makefile
+++ b/lib/common_test/src/Makefile
-@@ -139,7 +139,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -140,7 +140,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -873,10 +873,10 @@ index 698c341..3344a0c 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile
-index 2ef2859..aac91a3 100644
+index 04ce750..ef55c37 100644
--- a/lib/ssh/src/Makefile
+++ b/lib/ssh/src/Makefile
-@@ -134,7 +134,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
diff --git a/otp-0007-Added-systemd-notify-support-to-EPMD.patch b/otp-0007-Added-systemd-notify-support-to-EPMD.patch
index dd4ddcd..8461024 100644
--- a/otp-0007-Added-systemd-notify-support-to-EPMD.patch
+++ b/otp-0007-Added-systemd-notify-support-to-EPMD.patch
@@ -8,10 +8,10 @@ Conflicts:
erts/configure.in
diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c
-index 3cfa7a7..67e8b49 100644
+index 9630e0c..dff9bc6 100644
--- a/erts/epmd/src/epmd.c
+++ b/erts/epmd/src/epmd.c
-@@ -589,9 +589,11 @@ void epmd_cleanup_exit(EpmdVars *g, int exitval)
+@@ -593,9 +593,11 @@ void epmd_cleanup_exit(EpmdVars *g, int exitval)
for(i=0; g->argv[i] != NULL; ++i)
free(g->argv[i]);
free(g->argv);
diff --git a/otp-0009-Expose-NIF-version.patch b/otp-0009-Expose-NIF-version.patch
new file mode 100644
index 0000000..3448add
--- /dev/null
+++ b/otp-0009-Expose-NIF-version.patch
@@ -0,0 +1,102 @@
+From: Peter Lemenkov
+Date: Sun, 2 Nov 2014 19:49:55 +0300
+Subject: [PATCH] Expose NIF version
+
+This patch allows checking for NIF API version in a way similar to
+driver version. E.g. by calling erlang:system_info(nif_version).
+
+Signed-off-by: Peter Lemenkov
+
+diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml
+index 8416839..81f98cb 100644
+--- a/erts/doc/src/erlang.xml
++++ b/erts/doc/src/erlang.xml
+@@ -6133,6 +6133,11 @@ ok
+ erlang:system_info(multi_scheduling) , and
+ erlang:system_info(schedulers) .
+
++ nif_version
++ -
++
Returns a string containing the erlang NIF version
++ used by the runtime system. It will be on the form "<major ver>.<minor ver>".
++
+ otp_release
+ -
+
Returns a string containing the OTP release number of the
+diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c
+index 6efe9d9..da38eea 100644
+--- a/erts/emulator/beam/erl_bif_info.c
++++ b/erts/emulator/beam/erl_bif_info.c
+@@ -27,6 +27,7 @@
+ #include "erl_process.h"
+ #include "error.h"
+ #include "erl_driver.h"
++#include "erl_nif.h"
+ #include "bif.h"
+ #include "big.h"
+ #include "erl_version.h"
+@@ -2459,6 +2460,13 @@ BIF_RETTYPE system_info_1(BIF_ALIST_1)
+ ERL_DRV_EXTENDED_MINOR_VERSION);
+ hp = HAlloc(BIF_P, 2*n);
+ BIF_RET(buf_to_intlist(&hp, buf, n, NIL));
++ } else if (ERTS_IS_ATOM_STR("nif_version", BIF_ARG_1)) {
++ char buf[42];
++ int n = erts_snprintf(buf, 42, "%d.%d",
++ ERL_NIF_MAJOR_VERSION,
++ ERL_NIF_MINOR_VERSION);
++ hp = HAlloc(BIF_P, 2*n);
++ BIF_RET(buf_to_intlist(&hp, buf, n, NIL));
+ } else if (ERTS_IS_ATOM_STR("smp_support", BIF_ARG_1)) {
+ #ifdef ERTS_SMP
+ BIF_RET(am_true);
+diff --git a/erts/emulator/test/driver_SUITE.erl b/erts/emulator/test/driver_SUITE.erl
+index 336b618..081789f 100644
+--- a/erts/emulator/test/driver_SUITE.erl
++++ b/erts/emulator/test/driver_SUITE.erl
+@@ -1199,8 +1199,8 @@ check_si_res(["sched_thrs", Value]) ->
+ ?line Value = integer_to_list(erlang:system_info(schedulers));
+
+ %% Data added in 3rd version of driver_system_info() (driver version 1.5)
+-check_si_res(["emu_nif_vsn", _Value]) ->
+- true;
++check_si_res(["emu_nif_vsn", Value]) ->
++ ?line Value = erlang:system_info(nif_version);
+
+ %% Data added in 4th version of driver_system_info() (driver version 3.1)
+ check_si_res(["dirty_sched", _Value]) ->
+diff --git a/erts/preloaded/src/erlang.erl b/erts/preloaded/src/erlang.erl
+index 98d7a94..de6a773 100644
+--- a/erts/preloaded/src/erlang.erl
++++ b/erts/preloaded/src/erlang.erl
+@@ -2251,6 +2251,7 @@ tuple_to_list(_Tuple) ->
+ (modified_timing_level) -> integer() | undefined;
+ (multi_scheduling) -> disabled | blocked | enabled;
+ (multi_scheduling_blockers) -> [PID :: pid()];
++ (nif_version) -> string();
+ (otp_release) -> string();
+ (port_count) -> non_neg_integer();
+ (port_limit) -> pos_integer();
+diff --git a/lib/runtime_tools/src/system_information.erl b/lib/runtime_tools/src/system_information.erl
+index f541d6e..04cc33e 100644
+--- a/lib/runtime_tools/src/system_information.erl
++++ b/lib/runtime_tools/src/system_information.erl
+@@ -371,6 +371,7 @@ erlang_system_info() ->
+ logical_processors_online,
+ logical_processors_available,
+ driver_version,
++ nif_version,
+ emu_args,
+ ethread_info,
+ beam_jump_table,
+diff --git a/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat b/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat
+index 1893837..bdc510e 100644
+--- a/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat
++++ b/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat
+@@ -9720,6 +9720,7 @@
+ {logical_processors_online,4},
+ {logical_processors_available,4},
+ {driver_version,"2.1"},
++ {nif_version,"1.1"},
+ {taints,[]}]},
+ {erts_compile_info,
+ [{ldflags,[]},
diff --git a/sources b/sources
index e769560..8aeebf7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-12c6cc0096f0b146234b1698e17d34d1 otp-OTP-17.2.2.tar.gz
+18422a0498b882fe043591cf29577d36 otp-OTP-17.3.3.tar.gz
From b7c4f00a79aceedf9c2695850f77491d4b9914f8 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Sun, 9 Nov 2014 12:48:34 +0300
Subject: [PATCH 035/322] Ver. 17.3.4
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 127 ++++++++++--------
...it-off-webtool-dependency-from-tools.patch | 40 ++++++
sources | 2 +-
4 files changed, 113 insertions(+), 57 deletions(-)
create mode 100644 otp-0010-Split-off-webtool-dependency-from-tools.patch
diff --git a/.gitignore b/.gitignore
index 110111a..2861be6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -53,3 +53,4 @@ otp_src_R14A.tar.gz
/otp-OTP-17.2.1.tar.gz
/otp-OTP-17.2.2.tar.gz
/otp-OTP-17.3.3.tar.gz
+/otp-OTP-17.3.4.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 18fa2fa..c1223da 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -9,7 +9,7 @@
%endif
Name: erlang
-Version: 17.3.3
+Version: 17.3.4
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -68,6 +68,9 @@ Patch8: otp-0008-Install-internal-hrl-files-when-necessary.patch
# Fedora specific patch
# Expose NIF version
Patch9: otp-0009-Expose-NIF-version.patch
+# Fedora specific patch
+# Split off webtool dependency from tools
+Patch10: otp-0010-Split-off-webtool-dependency-from-tools.patch
# end of autogenerated patch tag list
BuildRequires: lksctp-tools-devel
@@ -102,58 +105,58 @@ Requires: systemd
%endif
BuildRequires: erlang-rpm-macros
-Requires: erlang-asn1%{?_isa} = %{version}-%{release}
-Requires: erlang-common_test%{?_isa} = %{version}-%{release}
-Requires: erlang-compiler%{?_isa} = %{version}-%{release}
-Requires: erlang-cosEvent%{?_isa} = %{version}-%{release}
-Requires: erlang-cosEventDomain%{?_isa} = %{version}-%{release}
-Requires: erlang-cosFileTransfer%{?_isa} = %{version}-%{release}
-Requires: erlang-cosNotification%{?_isa} = %{version}-%{release}
-Requires: erlang-cosProperty%{?_isa} = %{version}-%{release}
-Requires: erlang-cosTime%{?_isa} = %{version}-%{release}
-Requires: erlang-cosTransactions%{?_isa} = %{version}-%{release}
-Requires: erlang-crypto%{?_isa} = %{version}-%{release}
-Requires: erlang-debugger%{?_isa} = %{version}-%{release}
-Requires: erlang-dialyzer%{?_isa} = %{version}-%{release}
-Requires: erlang-diameter%{?_isa} = %{version}-%{release}
-Requires: erlang-edoc%{?_isa} = %{version}-%{release}
-Requires: erlang-eldap%{?_isa} = %{version}-%{release}
-Requires: erlang-erl_docgen%{?_isa} = %{version}-%{release}
-Requires: erlang-erl_interface%{?_isa} = %{version}-%{release}
-Requires: erlang-erts%{?_isa} = %{version}-%{release}
-Requires: erlang-et%{?_isa} = %{version}-%{release}
-Requires: erlang-eunit%{?_isa} = %{version}-%{release}
-Requires: erlang-gs%{?_isa} = %{version}-%{release}
-Requires: erlang-hipe%{?_isa} = %{version}-%{release}
-Requires: erlang-ic%{?_isa} = %{version}-%{release}
-Requires: erlang-inets%{?_isa} = %{version}-%{release}
-Requires: erlang-jinterface%{?_isa} = %{version}-%{release}
-Requires: erlang-kernel%{?_isa} = %{version}-%{release}
-Requires: erlang-megaco%{?_isa} = %{version}-%{release}
-Requires: erlang-mnesia%{?_isa} = %{version}-%{release}
-Requires: erlang-observer%{?_isa} = %{version}-%{release}
-Requires: erlang-odbc%{?_isa} = %{version}-%{release}
-Requires: erlang-orber%{?_isa} = %{version}-%{release}
-Requires: erlang-os_mon%{?_isa} = %{version}-%{release}
-Requires: erlang-ose%{?_isa} = %{version}-%{release}
-Requires: erlang-otp_mibs%{?_isa} = %{version}-%{release}
-Requires: erlang-parsetools%{?_isa} = %{version}-%{release}
-Requires: erlang-percept%{?_isa} = %{version}-%{release}
-Requires: erlang-public_key%{?_isa} = %{version}-%{release}
-Requires: erlang-reltool%{?_isa} = %{version}-%{release}
-Requires: erlang-runtime_tools%{?_isa} = %{version}-%{release}
-Requires: erlang-sasl%{?_isa} = %{version}-%{release}
-Requires: erlang-snmp%{?_isa} = %{version}-%{release}
-Requires: erlang-ssh%{?_isa} = %{version}-%{release}
-Requires: erlang-ssl%{?_isa} = %{version}-%{release}
-Requires: erlang-stdlib%{?_isa} = %{version}-%{release}
-Requires: erlang-syntax_tools%{?_isa} = %{version}-%{release}
-Requires: erlang-test_server%{?_isa} = %{version}-%{release}
-Requires: erlang-tools%{?_isa} = %{version}-%{release}
-Requires: erlang-typer%{?_isa} = %{version}-%{release}
-Requires: erlang-webtool%{?_isa} = %{version}-%{release}
-Requires: erlang-wx%{?_isa} = %{version}-%{release}
-Requires: erlang-xmerl%{?_isa} = %{version}-%{release}
+Requires: %{name}-asn1%{?_isa} = %{version}-%{release}
+Requires: %{name}-common_test%{?_isa} = %{version}-%{release}
+Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
+Requires: %{name}-cosEvent%{?_isa} = %{version}-%{release}
+Requires: %{name}-cosEventDomain%{?_isa} = %{version}-%{release}
+Requires: %{name}-cosFileTransfer%{?_isa} = %{version}-%{release}
+Requires: %{name}-cosNotification%{?_isa} = %{version}-%{release}
+Requires: %{name}-cosProperty%{?_isa} = %{version}-%{release}
+Requires: %{name}-cosTime%{?_isa} = %{version}-%{release}
+Requires: %{name}-cosTransactions%{?_isa} = %{version}-%{release}
+Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
+Requires: %{name}-debugger%{?_isa} = %{version}-%{release}
+Requires: %{name}-dialyzer%{?_isa} = %{version}-%{release}
+Requires: %{name}-diameter%{?_isa} = %{version}-%{release}
+Requires: %{name}-edoc%{?_isa} = %{version}-%{release}
+Requires: %{name}-eldap%{?_isa} = %{version}-%{release}
+Requires: %{name}-erl_docgen%{?_isa} = %{version}-%{release}
+Requires: %{name}-erl_interface%{?_isa} = %{version}-%{release}
+Requires: %{name}-erts%{?_isa} = %{version}-%{release}
+Requires: %{name}-et%{?_isa} = %{version}-%{release}
+Requires: %{name}-eunit%{?_isa} = %{version}-%{release}
+Requires: %{name}-gs%{?_isa} = %{version}-%{release}
+Requires: %{name}-hipe%{?_isa} = %{version}-%{release}
+Requires: %{name}-ic%{?_isa} = %{version}-%{release}
+Requires: %{name}-inets%{?_isa} = %{version}-%{release}
+Requires: %{name}-jinterface%{?_isa} = %{version}-%{release}
+Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
+Requires: %{name}-megaco%{?_isa} = %{version}-%{release}
+Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
+Requires: %{name}-observer%{?_isa} = %{version}-%{release}
+Requires: %{name}-odbc%{?_isa} = %{version}-%{release}
+Requires: %{name}-orber%{?_isa} = %{version}-%{release}
+Requires: %{name}-os_mon%{?_isa} = %{version}-%{release}
+Requires: %{name}-ose%{?_isa} = %{version}-%{release}
+Requires: %{name}-otp_mibs%{?_isa} = %{version}-%{release}
+Requires: %{name}-parsetools%{?_isa} = %{version}-%{release}
+Requires: %{name}-percept%{?_isa} = %{version}-%{release}
+Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
+Requires: %{name}-reltool%{?_isa} = %{version}-%{release}
+Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
+Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
+Requires: %{name}-snmp%{?_isa} = %{version}-%{release}
+Requires: %{name}-ssh%{?_isa} = %{version}-%{release}
+Requires: %{name}-ssl%{?_isa} = %{version}-%{release}
+Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
+Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
+Requires: %{name}-test_server%{?_isa} = %{version}-%{release}
+Requires: %{name}-tools%{?_isa} = %{version}-%{release}
+Requires: %{name}-typer%{?_isa} = %{version}-%{release}
+Requires: %{name}-webtool%{?_isa} = %{version}-%{release}
+Requires: %{name}-wx%{?_isa} = %{version}-%{release}
+Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
%description
Erlang is a general-purpose programming language and runtime
@@ -404,11 +407,11 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
# dependency checker
Requires: lksctp-tools
# See erts/emulator/beam/erl_driver.h or call erlang:system_info(driver_version).
-Provides: erlang(erl_drv_version) = 3.1
#Provides: erlang(erl_drv_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(driver_version)).' -s erlang halt)
+Provides: erlang(erl_drv_version) = 3.1
# See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version).
-Provides: erlang(erl_nif_version) = 2.7
#Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt)
+Provides: erlang(erl_nif_version) = 2.7
# These sub-packages were removed once
Obsoletes: erlang-appmon
Obsoletes: erlang-docbuilder
@@ -786,7 +789,12 @@ Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Requires: %{name}-webtool%{?_isa} = %{version}-%{release}
+# This is a weak dependency triggered by the "cover_web" application.
+# Unfortunately Recommends/Suggests tags are supported only in Fedora 21+ and
+# RHEL 8+ (eventually)
+%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
+Suggests: %{name}-webtool%{?_isa} = %{version}-%{release}
+%endif
Provides: emacs-common-erlang = %{version}-%{release}
%description tools
@@ -891,6 +899,7 @@ Erlang mode for XEmacs (source lisp files).
%patch7 -p1 -b .Added_systemd_notify_support_to_EPMD
%patch8 -p1 -b .Install_internal_hrl_files_when_necessary
%patch9 -p1 -b .Expose_NIF_version
+%patch10 -p1 -b .Split_off_webtool_dependency_from_tools
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -1310,7 +1319,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%files erl_docgen
%{_libdir}/erlang/lib/erl_docgen-*/
+%if %{with doc}
%{_libdir}/erlang/man/man6/erl_docgen.*
+%endif
%files erl_interface
%{_libdir}/erlang/lib/erl_interface-*/
@@ -2209,6 +2220,10 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Sat Nov 08 2014 Peter Lemenkov - 17.3.4-1
+- Ver. 17.3.4 (API/ABI compatible release)
+- Relax an erlang-tools dependency on erlang-webtool down to Suggests
+
* Sun Nov 02 2014 Peter Lemenkov - 17.3.3-1
- Ver. 17.3.3
diff --git a/otp-0010-Split-off-webtool-dependency-from-tools.patch b/otp-0010-Split-off-webtool-dependency-from-tools.patch
new file mode 100644
index 0000000..85f3f3b
--- /dev/null
+++ b/otp-0010-Split-off-webtool-dependency-from-tools.patch
@@ -0,0 +1,40 @@
+From: Peter Lemenkov
+Date: Sat, 8 Nov 2014 22:54:57 +0300
+Subject: [PATCH] Split off webtool dependency from tools
+
+Signed-off-by: Peter Lemenkov
+
+diff --git a/lib/tools/src/cover_web.erl b/lib/tools/src/cover_web.erl
+index 69f2f3b..397826a 100644
+--- a/lib/tools/src/cover_web.erl
++++ b/lib/tools/src/cover_web.erl
+@@ -50,14 +50,25 @@
+ %%%----------------------------------------------------------------------
+ %% Start webtool and webcover from erlang shell
+ start() ->
+- webtool:start(),
+- webtool:start_tools([],"app=webcover"),
++ try
++ % Disable automatic dependency picking up
++ erlang:apply(webtool, start, []),
++ erlang:apply(webtool, start_tools, [[],"app=webcover"])
++ catch
++ error:undef -> error_logger:error_msg("No erlang-webtool found.~nPlease install erlang-webtool package first.~n")
++ end,
+ ok.
+
+ %% Stop webtool and webcover from erlang shell
+ stop() ->
+- webtool:stop_tools([],"app=webcover"),
+- webtool:stop().
++ try
++ % Disable automatic dependency picking up
++ erlang:apply(webtool, stop_tools, [[],"app=webcover"])
++ erlang:apply(webtool, stop, []),
++ catch
++ error:undef -> error_logger:error_msg("No erlang-webtool found.~nPlease install erlang-webtool package first.~n")
++ end,
++ ok.
+
+
+
diff --git a/sources b/sources
index 8aeebf7..6327b7c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-18422a0498b882fe043591cf29577d36 otp-OTP-17.3.3.tar.gz
+81aa75b5613b7db6f3761f848695e816 otp-OTP-17.3.4.tar.gz
From bfc8082501ced0c576f56bb03efa3ade9ddf2534 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Sun, 9 Nov 2014 13:11:39 +0300
Subject: [PATCH 036/322] Typo fix
Signed-off-by: Peter Lemenkov
---
otp-0010-Split-off-webtool-dependency-from-tools.patch | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/otp-0010-Split-off-webtool-dependency-from-tools.patch b/otp-0010-Split-off-webtool-dependency-from-tools.patch
index 85f3f3b..f2de8ac 100644
--- a/otp-0010-Split-off-webtool-dependency-from-tools.patch
+++ b/otp-0010-Split-off-webtool-dependency-from-tools.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Split off webtool dependency from tools
Signed-off-by: Peter Lemenkov
diff --git a/lib/tools/src/cover_web.erl b/lib/tools/src/cover_web.erl
-index 69f2f3b..397826a 100644
+index 69f2f3b..9085300 100644
--- a/lib/tools/src/cover_web.erl
+++ b/lib/tools/src/cover_web.erl
@@ -50,14 +50,25 @@
@@ -29,8 +29,8 @@ index 69f2f3b..397826a 100644
- webtool:stop().
+ try
+ % Disable automatic dependency picking up
-+ erlang:apply(webtool, stop_tools, [[],"app=webcover"])
-+ erlang:apply(webtool, stop, []),
++ erlang:apply(webtool, stop_tools, [[],"app=webcover"]),
++ erlang:apply(webtool, stop, [])
+ catch
+ error:undef -> error_logger:error_msg("No erlang-webtool found.~nPlease install erlang-webtool package first.~n")
+ end,
From 0156fcd2ad6037da945ddc153996945c48966fca Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 1 Dec 2014 16:00:04 +0300
Subject: [PATCH 037/322] Backport useful os:getenv/2 from master
See this GitHub pull request for further details:
* https://github.com/erlang/otp/pull/535
Signed-off-by: Peter Lemenkov
---
erlang.spec | 9 +++-
otp-0011-Introduce-os-getenv-2.patch | 63 ++++++++++++++++++++++++++++
2 files changed, 71 insertions(+), 1 deletion(-)
create mode 100644 otp-0011-Introduce-os-getenv-2.patch
diff --git a/erlang.spec b/erlang.spec
index c1223da..eff8714 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -10,7 +10,7 @@
Name: erlang
Version: 17.3.4
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -71,6 +71,9 @@ Patch9: otp-0009-Expose-NIF-version.patch
# Fedora specific patch
# Split off webtool dependency from tools
Patch10: otp-0010-Split-off-webtool-dependency-from-tools.patch
+# Fedora specific patch
+# Introduce os:getenv/2
+Patch11: otp-0011-Introduce-os-getenv-2.patch
# end of autogenerated patch tag list
BuildRequires: lksctp-tools-devel
@@ -900,6 +903,7 @@ Erlang mode for XEmacs (source lisp files).
%patch8 -p1 -b .Install_internal_hrl_files_when_necessary
%patch9 -p1 -b .Expose_NIF_version
%patch10 -p1 -b .Split_off_webtool_dependency_from_tools
+%patch11 -p1 -b .Introduce_os_getenv_2
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2220,6 +2224,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Mon Dec 01 2014 Peter Lemenkov - 17.3.4-2
+- Backport useful os:getenv/2 from master (see https://github.com/erlang/otp/pull/535 )
+
* Sat Nov 08 2014 Peter Lemenkov - 17.3.4-1
- Ver. 17.3.4 (API/ABI compatible release)
- Relax an erlang-tools dependency on erlang-webtool down to Suggests
diff --git a/otp-0011-Introduce-os-getenv-2.patch b/otp-0011-Introduce-os-getenv-2.patch
new file mode 100644
index 0000000..6c48db2
--- /dev/null
+++ b/otp-0011-Introduce-os-getenv-2.patch
@@ -0,0 +1,63 @@
+From: Peter Lemenkov
+Date: Sat, 8 Nov 2014 15:11:04 +0300
+Subject: [PATCH] Introduce os:getenv/2
+
+Signed-off-by: Peter Lemenkov
+
+diff --git a/lib/kernel/doc/src/os.xml b/lib/kernel/doc/src/os.xml
+index 2b57e75..8b85f24 100644
+--- a/lib/kernel/doc/src/os.xml
++++ b/lib/kernel/doc/src/os.xml
+@@ -100,6 +100,19 @@ DirOut = os:cmd("dir"), % on Win32 platform
+
+
+
++
++ Get the value of an environment variable
++
++ Returns the Value of the environment variable
++ VarName , or DefaultValue if the environment variable
++ is undefined.
++ If Unicode file name encoding is in effect (see the erl manual
++ page ), the strings (both VarName and
++ Value ) may contain characters with codepoints > 255.
++
++
++
+
+ Return the process identifier of the emulator process
+
+diff --git a/lib/kernel/src/os.erl b/lib/kernel/src/os.erl
+index 187fd00..8aaf13b 100644
+--- a/lib/kernel/src/os.erl
++++ b/lib/kernel/src/os.erl
+@@ -26,7 +26,7 @@
+
+ %%% BIFs
+
+--export([getenv/0, getenv/1, getpid/0, putenv/2, timestamp/0, unsetenv/1]).
++-export([getenv/0, getenv/1, getenv/2, getpid/0, putenv/2, timestamp/0, unsetenv/1]).
+
+ -spec getenv() -> [string()].
+
+@@ -39,6 +39,19 @@ getenv() -> erlang:nif_error(undef).
+ getenv(_) ->
+ erlang:nif_error(undef).
+
++-spec getenv(VarName, DefaultValue) -> Value when
++ VarName :: string(),
++ DefaultValue :: string(),
++ Value :: string().
++
++getenv(VarName, DefaultValue) ->
++ case os:getenv(VarName) of
++ false ->
++ DefaultValue;
++ Value ->
++ Value
++ end.
++
+ -spec getpid() -> Value when
+ Value :: string().
+
From 918fdf26b715336be8386b8c865b32ac34d84535 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 1 Dec 2014 17:13:00 +0300
Subject: [PATCH 038/322] Disable SSLv3
See rhbz #1169375 for further details:
https://bugzilla.redhat.com/1169375
Signed-off-by: Peter Lemenkov
---
erlang.spec | 9 +-
...pport-for-SSLv3-protocol-because-it-.patch | 100 ++++++++++++++++++
2 files changed, 108 insertions(+), 1 deletion(-)
create mode 100644 otp-0012-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
diff --git a/erlang.spec b/erlang.spec
index eff8714..66fdfd8 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -10,7 +10,7 @@
Name: erlang
Version: 17.3.4
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -74,6 +74,9 @@ Patch10: otp-0010-Split-off-webtool-dependency-from-tools.patch
# Fedora specific patch
# Introduce os:getenv/2
Patch11: otp-0011-Introduce-os-getenv-2.patch
+# Fedora specific patch
+# Patch removes support for SSLv3 protocol because it is proved
+Patch12: otp-0012-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
# end of autogenerated patch tag list
BuildRequires: lksctp-tools-devel
@@ -904,6 +907,7 @@ Erlang mode for XEmacs (source lisp files).
%patch9 -p1 -b .Expose_NIF_version
%patch10 -p1 -b .Split_off_webtool_dependency_from_tools
%patch11 -p1 -b .Introduce_os_getenv_2
+%patch12 -p1 -b .Patch_removes_support_for_SSLv3_protocol_because_it_
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2224,6 +2228,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Mon Dec 01 2014 Peter Lemenkov - 17.3.4-3
+- Disable SSLv3 (see rhbz #1169375)
+
* Mon Dec 01 2014 Peter Lemenkov - 17.3.4-2
- Backport useful os:getenv/2 from master (see https://github.com/erlang/otp/pull/535 )
diff --git a/otp-0012-Patch-removes-support-for-SSLv3-protocol-because-it-.patch b/otp-0012-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
new file mode 100644
index 0000000..584fa59
--- /dev/null
+++ b/otp-0012-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
@@ -0,0 +1,100 @@
+From: Sergei Golovan
+Date: Sun, 30 Nov 2014 20:20:41 +0300
+Subject: [PATCH] Patch removes support for SSLv3 protocol because it is proved
+ to be insecure and nobody should use it anymore.
+
+
+diff --git a/lib/ssl/doc/src/ssl.xml b/lib/ssl/doc/src/ssl.xml
+index f14d0b8..3a768e9 100644
+--- a/lib/ssl/doc/src/ssl.xml
++++ b/lib/ssl/doc/src/ssl.xml
+@@ -123,7 +123,7 @@
+
+ sslsocket() - opaque to the user.
+
+- protocol() = sslv3 | tlsv1 | 'tlsv1.1' | 'tlsv1.2'
++ protocol() = tlsv1 | 'tlsv1.1' | 'tlsv1.2'
+
+ ciphers() = [ciphersuite()] | string() (according to old API)
+
+diff --git a/lib/ssl/doc/src/ssl_app.xml b/lib/ssl/doc/src/ssl_app.xml
+index 43cb393..ff12e04 100644
+--- a/lib/ssl/doc/src/ssl_app.xml
++++ b/lib/ssl/doc/src/ssl_app.xml
+@@ -47,10 +47,10 @@
+
+ Note that the environment parameters can be set on the command line,
+ for instance,
+- erl ... -ssl protocol_version '[sslv3, tlsv1]' ... .
++
erl ... -ssl protocol_version '[tlsv1.1, tlsv1]' ... .
+
+
+- ]]> .
++ ]]> .
+ -
+
Protocol that will be supported by started clients and
+ servers. If this option is not set it will default to all
+@@ -58,6 +58,9 @@
+ Note that this option may be overridden by the version option
+ to ssl:connect/[2,3] and ssl:listen/2.
+
++ For Debian GNU/Linux distribution the sslv3 protocol was
++ disabled due to its security issues.
++
+
+
+ ]]>
+diff --git a/lib/ssl/src/ssl_internal.hrl b/lib/ssl/src/ssl_internal.hrl
+index 85724de..14013a4 100644
+--- a/lib/ssl/src/ssl_internal.hrl
++++ b/lib/ssl/src/ssl_internal.hrl
+@@ -64,8 +64,8 @@
+ -define(TRUE, 0).
+ -define(FALSE, 1).
+
+--define(ALL_SUPPORTED_VERSIONS, ['tlsv1.2', 'tlsv1.1', tlsv1, sslv3]).
+--define(MIN_SUPPORTED_VERSIONS, ['tlsv1.1', tlsv1, sslv3]).
++-define(ALL_SUPPORTED_VERSIONS, ['tlsv1.2', 'tlsv1.1', tlsv1]).
++-define(MIN_SUPPORTED_VERSIONS, ['tlsv1.1', tlsv1]).
+ -define(ALL_DATAGRAM_SUPPORTED_VERSIONS, ['dtlsv1.2', dtlsv1]).
+ -define(MIN_DATAGRAM_SUPPORTED_VERSIONS, ['dtlsv1.2', dtlsv1]).
+
+diff --git a/lib/ssl/src/ssl_record.hrl b/lib/ssl/src/ssl_record.hrl
+index 6aab35d..1511abd 100644
+--- a/lib/ssl/src/ssl_record.hrl
++++ b/lib/ssl/src/ssl_record.hrl
+@@ -144,6 +144,7 @@
+ %% }).
+
+ -define(LOWEST_MAJOR_SUPPORTED_VERSION, 3).
++-define(LOWEST_MINOR_SUPPORTED_VERSION, 1).
+
+
+ -record(generic_stream_cipher, {
+diff --git a/lib/ssl/src/tls_record.erl b/lib/ssl/src/tls_record.erl
+index f50ea22..aa4fc8d 100644
+--- a/lib/ssl/src/tls_record.erl
++++ b/lib/ssl/src/tls_record.erl
+@@ -276,14 +276,20 @@ supported_protocol_versions([_|_] = Vsns) ->
+ %%--------------------------------------------------------------------
+ -spec is_acceptable_version(tls_version()) -> boolean().
+ is_acceptable_version({N,_})
+- when N >= ?LOWEST_MAJOR_SUPPORTED_VERSION ->
++ when N > ?LOWEST_MAJOR_SUPPORTED_VERSION ->
++ true;
++is_acceptable_version({N,M})
++ when N == ?LOWEST_MAJOR_SUPPORTED_VERSION andalso M >= ?LOWEST_MINOR_SUPPORTED_VERSION ->
+ true;
+ is_acceptable_version(_) ->
+ false.
+
+ -spec is_acceptable_version(tls_version(), Supported :: [tls_version()]) -> boolean().
+ is_acceptable_version({N,_} = Version, Versions)
+- when N >= ?LOWEST_MAJOR_SUPPORTED_VERSION ->
++ when N > ?LOWEST_MAJOR_SUPPORTED_VERSION ->
++ lists:member(Version, Versions);
++is_acceptable_version({N,M} = Version, Versions)
++ when N == ?LOWEST_MAJOR_SUPPORTED_VERSION andalso M >= ?LOWEST_MINOR_SUPPORTED_VERSION ->
+ lists:member(Version, Versions);
+ is_acceptable_version(_,_) ->
+ false.
From 2893cc56878af6eea87d7adc70d1772258c2676a Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Sat, 13 Dec 2014 11:50:53 +0300
Subject: [PATCH 039/322] Ver. 17.4
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 31 ++----
otp-0003-Do-not-install-C-sources.patch | 4 +-
otp-0004-Do-not-install-Java-sources.patch | 4 +-
otp-0006-Do-not-install-erlang-sources.patch | 34 +++---
...Added-systemd-notify-support-to-EPMD.patch | 45 --------
...it-off-webtool-dependency-from-tools.patch | 0
...ll-internal-hrl-files-when-necessary.patch | 97 -----------------
...ch => otp-0008-Introduce-os-getenv-2.patch | 0
otp-0009-Expose-NIF-version.patch | 102 ------------------
...pport-for-SSLv3-protocol-because-it-.patch | 6 +-
sources | 2 +-
12 files changed, 36 insertions(+), 290 deletions(-)
delete mode 100644 otp-0007-Added-systemd-notify-support-to-EPMD.patch
rename otp-0010-Split-off-webtool-dependency-from-tools.patch => otp-0007-Split-off-webtool-dependency-from-tools.patch (100%)
delete mode 100644 otp-0008-Install-internal-hrl-files-when-necessary.patch
rename otp-0011-Introduce-os-getenv-2.patch => otp-0008-Introduce-os-getenv-2.patch (100%)
delete mode 100644 otp-0009-Expose-NIF-version.patch
rename otp-0012-Patch-removes-support-for-SSLv3-protocol-because-it-.patch => otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch (98%)
diff --git a/.gitignore b/.gitignore
index 2861be6..72cea5d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -54,3 +54,4 @@ otp_src_R14A.tar.gz
/otp-OTP-17.2.2.tar.gz
/otp-OTP-17.3.3.tar.gz
/otp-OTP-17.3.4.tar.gz
+/otp-OTP-17.4.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 66fdfd8..6892e02 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -9,8 +9,8 @@
%endif
Name: erlang
-Version: 17.3.4
-Release: 3%{?dist}
+Version: 17.4
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -60,23 +60,14 @@ Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
# Do not install erlang sources
Patch6: otp-0006-Do-not-install-erlang-sources.patch
# Fedora specific patch
-# Added systemd notify support to EPMD
-Patch7: otp-0007-Added-systemd-notify-support-to-EPMD.patch
-# Fedora specific patch
-# Install internal hrl files when necessary
-Patch8: otp-0008-Install-internal-hrl-files-when-necessary.patch
-# Fedora specific patch
-# Expose NIF version
-Patch9: otp-0009-Expose-NIF-version.patch
-# Fedora specific patch
# Split off webtool dependency from tools
-Patch10: otp-0010-Split-off-webtool-dependency-from-tools.patch
+Patch7: otp-0007-Split-off-webtool-dependency-from-tools.patch
# Fedora specific patch
# Introduce os:getenv/2
-Patch11: otp-0011-Introduce-os-getenv-2.patch
+Patch8: otp-0008-Introduce-os-getenv-2.patch
# Fedora specific patch
# Patch removes support for SSLv3 protocol because it is proved
-Patch12: otp-0012-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
+Patch9: otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
# end of autogenerated patch tag list
BuildRequires: lksctp-tools-devel
@@ -902,12 +893,9 @@ Erlang mode for XEmacs (source lisp files).
%patch4 -p1 -b .Do_not_install_Java_sources
%patch5 -p1 -b .Do_not_install_nteventlog_and_related_doc_files_on_n
%patch6 -p1 -b .Do_not_install_erlang_sources
-%patch7 -p1 -b .Added_systemd_notify_support_to_EPMD
-%patch8 -p1 -b .Install_internal_hrl_files_when_necessary
-%patch9 -p1 -b .Expose_NIF_version
-%patch10 -p1 -b .Split_off_webtool_dependency_from_tools
-%patch11 -p1 -b .Introduce_os_getenv_2
-%patch12 -p1 -b .Patch_removes_support_for_SSLv3_protocol_because_it_
+%patch7 -p1 -b .Split_off_webtool_dependency_from_tools
+%patch8 -p1 -b .Introduce_os_getenv_2
+%patch9 -p1 -b .Patch_removes_support_for_SSLv3_protocol_because_it_
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2228,6 +2216,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Fri Dec 12 2014 Peter Lemenkov - 17.4-1
+- Ver. 17.4
+
* Mon Dec 01 2014 Peter Lemenkov - 17.3.4-3
- Disable SSLv3 (see rhbz #1169375)
diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch
index 6499e4c..f89bcb7 100644
--- a/otp-0003-Do-not-install-C-sources.patch
+++ b/otp-0003-Do-not-install-C-sources.patch
@@ -46,10 +46,10 @@ index 5b36c19..470821e 100644
endif
endif
diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
-index 7d914a0..b013939 100644
+index 7c09b60..2c14f9e 100644
--- a/lib/erl_interface/src/Makefile.in
+++ b/lib/erl_interface/src/Makefile.in
-@@ -892,14 +892,14 @@ ifneq ($(EXE_TARGETS),)
+@@ -904,14 +904,14 @@ ifneq ($(EXE_TARGETS),)
$(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin"
endif
$(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src"
diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch
index b5a48ff..65323fa 100644
--- a/otp-0004-Do-not-install-Java-sources.patch
+++ b/otp-0004-Do-not-install-Java-sources.patch
@@ -18,10 +18,10 @@ index 273614e..5b1fb57 100644
$(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv"
diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
-index 8ae1ca0..adaaf55 100644
+index ea3ab77..e95757e 100644
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
-@@ -114,8 +114,6 @@ release release_docs release_tests release_html:
+@@ -119,8 +119,6 @@ release release_docs release_tests release_html:
$(V_at)$(MAKE) $(MFLAGS) RELEASE_PATH="$(RELEASE_PATH)" $(TARGET_MAKEFILE) $@_spec
release_spec: opt
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index cc923fb..9e0e3a9 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -171,7 +171,7 @@ index c185c15..68bacba 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile
-index 90189dd..1e8f51d 100644
+index d61519f..bfdb0c9 100644
--- a/lib/debugger/src/Makefile
+++ b/lib/debugger/src/Makefile
@@ -116,7 +116,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -268,18 +268,17 @@ index 377e593..668e278 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile
-index e6dab67..a5e147d 100644
+index 47aef10..78ddc74 100644
--- a/lib/eunit/src/Makefile
+++ b/lib/eunit/src/Makefile
-@@ -117,8 +117,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
- release_spec: opt
+@@ -120,7 +120,6 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin"
-- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) $(PARSE_TRANSFORM) $(SOURCES) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
-
diff --git a/lib/gs/src/Makefile b/lib/gs/src/Makefile
index f0200ca..86d3f74 100644
--- a/lib/gs/src/Makefile
@@ -499,10 +498,10 @@ index b368b12..5eddaf0 100644
$(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile
-index cb3c0a4..dbda2a2 100644
+index c7c70ad..3e1792f 100644
--- a/lib/kernel/src/Makefile
+++ b/lib/kernel/src/Makefile
-@@ -198,7 +198,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -199,7 +199,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -694,7 +693,7 @@ index 88f8957..ab08a88 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/otp_mibs/src/Makefile b/lib/otp_mibs/src/Makefile
-index 4f03d02..756db7b 100644
+index 6096240..cbc41e6 100644
--- a/lib/otp_mibs/src/Makefile
+++ b/lib/otp_mibs/src/Makefile
@@ -95,8 +95,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -720,18 +719,17 @@ index 2ee2285..ea075ed 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/percept/src/Makefile b/lib/percept/src/Makefile
-index 6bf0af9..e501539 100644
+index 0282d63..5902da3 100644
--- a/lib/percept/src/Makefile
+++ b/lib/percept/src/Makefile
-@@ -93,8 +93,6 @@ docs:
- include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -96,7 +96,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
-- $(INSTALL_DIR) "$(RELSYSDIR)/src"
+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
# $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
- $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile
index c1b3bc8..3d021cf 100644
--- a/lib/public_key/asn1/Makefile
@@ -873,7 +871,7 @@ index 698c341..3344a0c 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile
-index 04ce750..ef55c37 100644
+index 90d7110..e725c6c 100644
--- a/lib/ssh/src/Makefile
+++ b/lib/ssh/src/Makefile
@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -886,7 +884,7 @@ index 04ce750..ef55c37 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index 7c4c8ec..99efbe4 100644
+index 0c00a65..acec405 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
@@ -137,7 +137,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -924,7 +922,7 @@ index c9fbad8..2fc7f18 100644
release_docs_spec:
diff --git a/lib/test_server/src/Makefile b/lib/test_server/src/Makefile
-index ab4dd4d..bcb1bc3 100644
+index 35bbad3..deb7caf 100644
--- a/lib/test_server/src/Makefile
+++ b/lib/test_server/src/Makefile
@@ -123,7 +123,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -932,7 +930,7 @@ index ab4dd4d..bcb1bc3 100644
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TS_HRL_FILES) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile
diff --git a/otp-0007-Added-systemd-notify-support-to-EPMD.patch b/otp-0007-Added-systemd-notify-support-to-EPMD.patch
deleted file mode 100644
index 8461024..0000000
--- a/otp-0007-Added-systemd-notify-support-to-EPMD.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From: Peter Lemenkov
-Date: Fri, 6 Jun 2014 15:29:49 +0400
-Subject: [PATCH] Added systemd notify support to EPMD
-
-Signed-off-by: Peter Lemenkov
-
-Conflicts:
- erts/configure.in
-
-diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c
-index 9630e0c..dff9bc6 100644
---- a/erts/epmd/src/epmd.c
-+++ b/erts/epmd/src/epmd.c
-@@ -593,9 +593,11 @@ void epmd_cleanup_exit(EpmdVars *g, int exitval)
- for(i=0; g->argv[i] != NULL; ++i)
- free(g->argv[i]);
- free(g->argv);
-- }
--
--
-+ }
-+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
-+ sd_notifyf(0, "STATUS=Exited.\n"
-+ "ERRNO=%i", exitval);
-+#endif // HAVE_SYSTEMD_SD_DAEMON_H
- exit(exitval);
- }
-
-diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c
-index 48fd7a5..18d898a 100644
---- a/erts/epmd/src/epmd_srv.c
-+++ b/erts/epmd/src/epmd_srv.c
-@@ -399,8 +399,11 @@ void run(EpmdVars *g)
- }
- select_fd_set(g, listensock[i]);
- }
--#ifdef HAVE_SYSTEMD_SD_DAEMON_H
-+#ifdef HAVE_SYSTEMD_SD_DAEMON_H
- }
-+ sd_notifyf(0, "READY=1\n"
-+ "STATUS=Processing port mapping requests...\n"
-+ "MAINPID=%lu", (unsigned long) getpid());
- #endif
-
- dbg_tty_printf(g,2,"entering the main select() loop");
diff --git a/otp-0010-Split-off-webtool-dependency-from-tools.patch b/otp-0007-Split-off-webtool-dependency-from-tools.patch
similarity index 100%
rename from otp-0010-Split-off-webtool-dependency-from-tools.patch
rename to otp-0007-Split-off-webtool-dependency-from-tools.patch
diff --git a/otp-0008-Install-internal-hrl-files-when-necessary.patch b/otp-0008-Install-internal-hrl-files-when-necessary.patch
deleted file mode 100644
index 9badf49..0000000
--- a/otp-0008-Install-internal-hrl-files-when-necessary.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From: Peter Lemenkov
-Date: Tue, 26 Aug 2014 13:53:49 +0400
-Subject: [PATCH] Install internal hrl files when necessary
-
-Sometimes we install *.erl files. Some these files include a private
-*.hrl files, so in order to make these *.erl files usable we have to
-install these private includes as well.
-
-Signed-off-by: Peter Lemenkov
-
-Conflicts:
- lib/eunit/src/Makefile
- lib/percept/src/Makefile
- lib/test_server/src/Makefile
-
-diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile
-index 1e8f51d..bfdb0c9 100644
---- a/lib/debugger/src/Makefile
-+++ b/lib/debugger/src/Makefile
-@@ -63,7 +63,7 @@ MODULES= \
-
- HRL_FILES=
-
--INTERNAL_HRL_FILES= dbg_ieval.hrl
-+INTERNAL_HRL_FILES= dbg_ieval.hrl dbg_wx_filedialog_win.hrl
-
- ERL_FILES= $(MODULES:%=%.erl)
-
-diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile
-index a5e147d..8483e28 100644
---- a/lib/eunit/src/Makefile
-+++ b/lib/eunit/src/Makefile
-@@ -46,6 +46,8 @@ SOURCES= \
-
- INCLUDE_FILES = eunit.hrl
-
-+INTERNAL_HRL_FILES= eunit_internal.hrl
-+
- PARSE_TRANSFORM_BIN = $(PARSE_TRANSFORM:%.erl=$(EBIN)/%.$(EMULATOR))
-
- TARGET_FILES= $(SOURCES:%.erl=$(EBIN)/%.$(EMULATOR))
-@@ -117,6 +119,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
- release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
- $(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin"
-+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
-+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
- $(INSTALL_DIR) "$(RELSYSDIR)/include"
- $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
-
-diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile
-index dbda2a2..3e1792f 100644
---- a/lib/kernel/src/Makefile
-+++ b/lib/kernel/src/Makefile
-@@ -122,6 +122,7 @@ HRL_FILES= ../include/file.hrl ../include/inet.hrl ../include/inet_sctp.hrl \
- ../include/net_address.hrl
-
- INTERNAL_HRL_FILES= application_master.hrl disk_log.hrl \
-+ erl_epmd.hrl hipe_ext_format.hrl \
- inet_dns.hrl inet_res.hrl \
- inet_boot.hrl inet_config.hrl inet_int.hrl \
- inet_dns_record_adts.hrl
-diff --git a/lib/percept/src/Makefile b/lib/percept/src/Makefile
-index e501539..5902da3 100644
---- a/lib/percept/src/Makefile
-+++ b/lib/percept/src/Makefile
-@@ -50,6 +50,8 @@ MODULES= \
-
- #HRL_FILES= ../include/
-
-+INTERNAL_HRL_FILES= egd.hrl percept.hrl
-+
- ERL_FILES= $(MODULES:%=%.erl)
-
- TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) $(APP_TARGET) $(APPUP_TARGET)
-@@ -93,6 +95,8 @@ docs:
- include $(ERL_TOP)/make/otp_release_targets.mk
-
- release_spec: opt
-+ $(INSTALL_DIR) "$(RELSYSDIR)/src"
-+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
- # $(INSTALL_DIR) "$(RELSYSDIR)/include"
- # $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
- $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
-diff --git a/lib/test_server/src/Makefile b/lib/test_server/src/Makefile
-index bcb1bc3..deb7caf 100644
---- a/lib/test_server/src/Makefile
-+++ b/lib/test_server/src/Makefile
-@@ -123,7 +123,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
-
- release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/src"
-- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
-+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TS_HRL_FILES) "$(RELSYSDIR)/src"
- $(INSTALL_DIR) "$(RELSYSDIR)/include"
- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
- $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/otp-0011-Introduce-os-getenv-2.patch b/otp-0008-Introduce-os-getenv-2.patch
similarity index 100%
rename from otp-0011-Introduce-os-getenv-2.patch
rename to otp-0008-Introduce-os-getenv-2.patch
diff --git a/otp-0009-Expose-NIF-version.patch b/otp-0009-Expose-NIF-version.patch
deleted file mode 100644
index 3448add..0000000
--- a/otp-0009-Expose-NIF-version.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From: Peter Lemenkov
-Date: Sun, 2 Nov 2014 19:49:55 +0300
-Subject: [PATCH] Expose NIF version
-
-This patch allows checking for NIF API version in a way similar to
-driver version. E.g. by calling erlang:system_info(nif_version).
-
-Signed-off-by: Peter Lemenkov
-
-diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml
-index 8416839..81f98cb 100644
---- a/erts/doc/src/erlang.xml
-+++ b/erts/doc/src/erlang.xml
-@@ -6133,6 +6133,11 @@ ok
- erlang:system_info(multi_scheduling) , and
- erlang:system_info(schedulers) .
-
-+ nif_version
-+ -
-+
Returns a string containing the erlang NIF version
-+ used by the runtime system. It will be on the form "<major ver>.<minor ver>".
-+
- otp_release
- -
-
Returns a string containing the OTP release number of the
-diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c
-index 6efe9d9..da38eea 100644
---- a/erts/emulator/beam/erl_bif_info.c
-+++ b/erts/emulator/beam/erl_bif_info.c
-@@ -27,6 +27,7 @@
- #include "erl_process.h"
- #include "error.h"
- #include "erl_driver.h"
-+#include "erl_nif.h"
- #include "bif.h"
- #include "big.h"
- #include "erl_version.h"
-@@ -2459,6 +2460,13 @@ BIF_RETTYPE system_info_1(BIF_ALIST_1)
- ERL_DRV_EXTENDED_MINOR_VERSION);
- hp = HAlloc(BIF_P, 2*n);
- BIF_RET(buf_to_intlist(&hp, buf, n, NIL));
-+ } else if (ERTS_IS_ATOM_STR("nif_version", BIF_ARG_1)) {
-+ char buf[42];
-+ int n = erts_snprintf(buf, 42, "%d.%d",
-+ ERL_NIF_MAJOR_VERSION,
-+ ERL_NIF_MINOR_VERSION);
-+ hp = HAlloc(BIF_P, 2*n);
-+ BIF_RET(buf_to_intlist(&hp, buf, n, NIL));
- } else if (ERTS_IS_ATOM_STR("smp_support", BIF_ARG_1)) {
- #ifdef ERTS_SMP
- BIF_RET(am_true);
-diff --git a/erts/emulator/test/driver_SUITE.erl b/erts/emulator/test/driver_SUITE.erl
-index 336b618..081789f 100644
---- a/erts/emulator/test/driver_SUITE.erl
-+++ b/erts/emulator/test/driver_SUITE.erl
-@@ -1199,8 +1199,8 @@ check_si_res(["sched_thrs", Value]) ->
- ?line Value = integer_to_list(erlang:system_info(schedulers));
-
- %% Data added in 3rd version of driver_system_info() (driver version 1.5)
--check_si_res(["emu_nif_vsn", _Value]) ->
-- true;
-+check_si_res(["emu_nif_vsn", Value]) ->
-+ ?line Value = erlang:system_info(nif_version);
-
- %% Data added in 4th version of driver_system_info() (driver version 3.1)
- check_si_res(["dirty_sched", _Value]) ->
-diff --git a/erts/preloaded/src/erlang.erl b/erts/preloaded/src/erlang.erl
-index 98d7a94..de6a773 100644
---- a/erts/preloaded/src/erlang.erl
-+++ b/erts/preloaded/src/erlang.erl
-@@ -2251,6 +2251,7 @@ tuple_to_list(_Tuple) ->
- (modified_timing_level) -> integer() | undefined;
- (multi_scheduling) -> disabled | blocked | enabled;
- (multi_scheduling_blockers) -> [PID :: pid()];
-+ (nif_version) -> string();
- (otp_release) -> string();
- (port_count) -> non_neg_integer();
- (port_limit) -> pos_integer();
-diff --git a/lib/runtime_tools/src/system_information.erl b/lib/runtime_tools/src/system_information.erl
-index f541d6e..04cc33e 100644
---- a/lib/runtime_tools/src/system_information.erl
-+++ b/lib/runtime_tools/src/system_information.erl
-@@ -371,6 +371,7 @@ erlang_system_info() ->
- logical_processors_online,
- logical_processors_available,
- driver_version,
-+ nif_version,
- emu_args,
- ethread_info,
- beam_jump_table,
-diff --git a/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat b/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat
-index 1893837..bdc510e 100644
---- a/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat
-+++ b/lib/runtime_tools/test/system_information_SUITE_data/information_test_report.dat
-@@ -9720,6 +9720,7 @@
- {logical_processors_online,4},
- {logical_processors_available,4},
- {driver_version,"2.1"},
-+ {nif_version,"1.1"},
- {taints,[]}]},
- {erts_compile_info,
- [{ldflags,[]},
diff --git a/otp-0012-Patch-removes-support-for-SSLv3-protocol-because-it-.patch b/otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
similarity index 98%
rename from otp-0012-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
rename to otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
index 584fa59..fa55663 100644
--- a/otp-0012-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
+++ b/otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Patch removes support for SSLv3 protocol because it is proved
diff --git a/lib/ssl/doc/src/ssl.xml b/lib/ssl/doc/src/ssl.xml
-index f14d0b8..3a768e9 100644
+index b53344e..b245621 100644
--- a/lib/ssl/doc/src/ssl.xml
+++ b/lib/ssl/doc/src/ssl.xml
@@ -123,7 +123,7 @@
@@ -45,10 +45,10 @@ index 43cb393..ff12e04 100644
]]>
diff --git a/lib/ssl/src/ssl_internal.hrl b/lib/ssl/src/ssl_internal.hrl
-index 85724de..14013a4 100644
+index 75efb64..155fa81 100644
--- a/lib/ssl/src/ssl_internal.hrl
+++ b/lib/ssl/src/ssl_internal.hrl
-@@ -64,8 +64,8 @@
+@@ -67,8 +67,8 @@
-define(TRUE, 0).
-define(FALSE, 1).
diff --git a/sources b/sources
index 6327b7c..b22e8a6 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-81aa75b5613b7db6f3761f848695e816 otp-OTP-17.3.4.tar.gz
+0d06e7d3802d63992535116e4d37c1a4 otp-OTP-17.4.tar.gz
From e58f762146d3f46db7d10793befb73531bb42b33 Mon Sep 17 00:00:00 2001
From: Kalev Lember
Date: Sat, 2 May 2015 13:29:58 +0200
Subject: [PATCH 040/322] Rebuilt for GCC 5 C++11 ABI change
---
erlang.spec | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index 6892e02..a8f71c0 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -10,7 +10,7 @@
Name: erlang
Version: 17.4
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2216,6 +2216,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Sat May 02 2015 Kalev Lember - 17.4-2
+- Rebuilt for GCC 5 C++11 ABI change
+
* Fri Dec 12 2014 Peter Lemenkov - 17.4-1
- Ver. 17.4
From 2238368d444f0b33ffb81f5a3524d0ffa045f999 Mon Sep 17 00:00:00 2001
From: Dennis Gilmore
Date: Wed, 17 Jun 2015 05:34:38 +0000
Subject: [PATCH 041/322] - Rebuilt for
https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
---
erlang.spec | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index a8f71c0..763da02 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -10,7 +10,7 @@
Name: erlang
Version: 17.4
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2216,6 +2216,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Jun 17 2015 Fedora Release Engineering - 17.4-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
* Sat May 02 2015 Kalev Lember - 17.4-2
- Rebuilt for GCC 5 C++11 ABI change
From 654b879bc09027e62ed7d66451d4da7af53adccb Mon Sep 17 00:00:00 2001
From: John Eckersberg
Date: Wed, 5 Aug 2015 22:11:41 -0400
Subject: [PATCH 042/322] Add patch for CVE-2015-2774 - TLS-1.0 POODLE
vulnerability (rhbz#1206712)
---
erlang.spec | 10 +-
...ding-check-for-TLS-1.0-and-provide-b.patch | 576 ++++++++++++++++++
2 files changed, 585 insertions(+), 1 deletion(-)
create mode 100644 otp-0010-ssl-Reenable-padding-check-for-TLS-1.0-and-provide-b.patch
diff --git a/erlang.spec b/erlang.spec
index 763da02..6f7bac6 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -10,7 +10,7 @@
Name: erlang
Version: 17.4
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -70,6 +70,9 @@ Patch8: otp-0008-Introduce-os-getenv-2.patch
Patch9: otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
# end of autogenerated patch tag list
+# https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2015-2774
+Patch10: otp-0010-ssl-Reenable-padding-check-for-TLS-1.0-and-provide-b.patch
+
BuildRequires: lksctp-tools-devel
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
@@ -898,6 +901,8 @@ Erlang mode for XEmacs (source lisp files).
%patch9 -p1 -b .Patch_removes_support_for_SSLv3_protocol_because_it_
# end of autogenerated prep patch list
+%patch10 -p1
+
# FIXME we should come up with a better solution
# remove shipped zlib sources
#rm -f erts/emulator/zlib/*.[ch]
@@ -2216,6 +2221,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Aug 5 2015 John Eckersberg - 17.4-4
+- Add patch for CVE-2015-2774 - TLS-1.0 POODLE vulnerability (rhbz#1206712)
+
* Wed Jun 17 2015 Fedora Release Engineering - 17.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
diff --git a/otp-0010-ssl-Reenable-padding-check-for-TLS-1.0-and-provide-b.patch b/otp-0010-ssl-Reenable-padding-check-for-TLS-1.0-and-provide-b.patch
new file mode 100644
index 0000000..04dd246
--- /dev/null
+++ b/otp-0010-ssl-Reenable-padding-check-for-TLS-1.0-and-provide-b.patch
@@ -0,0 +1,576 @@
+diff -Naur otp-OTP-17.4.orig/lib/ssl/doc/src/ssl.xml otp-OTP-17.4/lib/ssl/doc/src/ssl.xml
+--- otp-OTP-17.4.orig/lib/ssl/doc/src/ssl.xml 2015-08-05 16:52:39.988500514 -0400
++++ otp-OTP-17.4/lib/ssl/doc/src/ssl.xml 2015-08-05 16:52:50.478441422 -0400
+@@ -4,7 +4,7 @@
+
+
+
+- 1999 2014
++ 1999 2015
+ Ericsson AB. All Rights Reserved.
+
+
+@@ -348,11 +348,23 @@
+
+
+
++ {padding_check, boolean()}
++ -
++
This option only affects TLS-1.0 connections.
++ If set to false it disables the block cipher padding check
++ to be able to interoperate with legacy software.
++
++
++ Using this option makes TLS vulnerable to
++ the Poodle attack
++
++
++
+
+-
++
+
+-
+-
++
++
+ SSL OPTION DESCRIPTIONS - CLIENT SIDE
+
+ Options described here are client specific or has a slightly different
+diff -Naur otp-OTP-17.4.orig/lib/ssl/src/dtls_record.erl otp-OTP-17.4/lib/ssl/src/dtls_record.erl
+--- otp-OTP-17.4.orig/lib/ssl/src/dtls_record.erl 2015-08-05 16:52:39.989500508 -0400
++++ otp-OTP-17.4/lib/ssl/src/dtls_record.erl 2015-08-05 16:52:50.478441422 -0400
+@@ -1,7 +1,7 @@
+ %%
+ %% %CopyrightBegin%
+ %%
+-%% Copyright Ericsson AB 2013-2014. All Rights Reserved.
++%% Copyright Ericsson AB 2013-2015. All Rights Reserved.
+ %%
+ %% The contents of this file are subject to the Erlang Public License,
+ %% Version 1.1, (the "License"); you may not use this file except in
+@@ -146,7 +146,7 @@
+ = ConnnectionStates0) ->
+ CompressAlg = SecParams#security_parameters.compression_algorithm,
+ {PlainFragment, Mac, ReadState1} = ssl_record:decipher(dtls_v1:corresponding_tls_version(Version),
+- CipherFragment, ReadState0),
++ CipherFragment, ReadState0, true),
+ MacHash = calc_mac_hash(ReadState1, Type, Version, Epoch, Seq, PlainFragment),
+ case ssl_record:is_correct_mac(Mac, MacHash) of
+ true ->
+diff -Naur otp-OTP-17.4.orig/lib/ssl/src/ssl_cipher.erl otp-OTP-17.4/lib/ssl/src/ssl_cipher.erl
+--- otp-OTP-17.4.orig/lib/ssl/src/ssl_cipher.erl 2015-08-05 16:52:39.989500508 -0400
++++ otp-OTP-17.4/lib/ssl/src/ssl_cipher.erl 2015-08-05 16:52:50.479441417 -0400
+@@ -1,7 +1,7 @@
+ %%
+ %% %CopyrightBegin%
+ %%
+-%% Copyright Ericsson AB 2007-2014. All Rights Reserved.
++%% Copyright Ericsson AB 2007-2015. All Rights Reserved.
+ %%
+ %% The contents of this file are subject to the Erlang Public License,
+ %% Version 1.1, (the "License"); you may not use this file except in
+@@ -33,8 +33,7 @@
+ -include_lib("public_key/include/public_key.hrl").
+
+ -export([security_parameters/2, security_parameters/3, suite_definition/1,
+- decipher/5, cipher/5,
+- suite/1, suites/1, all_suites/1,
++ decipher/6, cipher/5, suite/1, suites/1, all_suites/1,
+ ec_keyed_suites/0, anonymous_suites/0, psk_suites/1, srp_suites/0,
+ openssl_suite/1, openssl_suite_name/1, filter/2, filter_suites/1,
+ hash_algorithm/1, sign_algorithm/1, is_acceptable_hash/2]).
+@@ -143,17 +142,18 @@
+ {T, CS0#cipher_state{iv=NextIV}}.
+
+ %%--------------------------------------------------------------------
+--spec decipher(cipher_enum(), integer(), #cipher_state{}, binary(), ssl_record:ssl_version()) ->
++-spec decipher(cipher_enum(), integer(), #cipher_state{}, binary(),
++ ssl_record:ssl_version(), boolean()) ->
+ {binary(), binary(), #cipher_state{}} | #alert{}.
+ %%
+ %% Description: Decrypts the data and the MAC using cipher described
+ %% by cipher_enum() and updating the cipher state.
+ %%-------------------------------------------------------------------
+-decipher(?NULL, _HashSz, CipherState, Fragment, _) ->
++decipher(?NULL, _HashSz, CipherState, Fragment, _, _) ->
+ {Fragment, <<>>, CipherState};
+-decipher(?RC4, HashSz, CipherState, Fragment, _) ->
++decipher(?RC4, HashSz, CipherState, Fragment, _, _) ->
+ State0 = case CipherState#cipher_state.state of
+- undefined -> crypto:stream_init(rc4, CipherState#cipher_state.key);
++ undefined -> crypto:stream_init(rc4, CipherState#cipher_state.key);
+ S -> S
+ end,
+ try crypto:stream_decrypt(State0, Fragment) of
+@@ -171,23 +171,23 @@
+ ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC)
+ end;
+
+-decipher(?DES, HashSz, CipherState, Fragment, Version) ->
++decipher(?DES, HashSz, CipherState, Fragment, Version, PaddingCheck) ->
+ block_decipher(fun(Key, IV, T) ->
+ crypto:block_decrypt(des_cbc, Key, IV, T)
+- end, CipherState, HashSz, Fragment, Version);
+-decipher(?'3DES', HashSz, CipherState, Fragment, Version) ->
++ end, CipherState, HashSz, Fragment, Version, PaddingCheck);
++decipher(?'3DES', HashSz, CipherState, Fragment, Version, PaddingCheck) ->
+ block_decipher(fun(<>, IV, T) ->
+ crypto:block_decrypt(des3_cbc, [K1, K2, K3], IV, T)
+- end, CipherState, HashSz, Fragment, Version);
+-decipher(?AES, HashSz, CipherState, Fragment, Version) ->
++ end, CipherState, HashSz, Fragment, Version, PaddingCheck);
++decipher(?AES, HashSz, CipherState, Fragment, Version, PaddingCheck) ->
+ block_decipher(fun(Key, IV, T) when byte_size(Key) =:= 16 ->
+ crypto:block_decrypt(aes_cbc128, Key, IV, T);
+ (Key, IV, T) when byte_size(Key) =:= 32 ->
+ crypto:block_decrypt(aes_cbc256, Key, IV, T)
+- end, CipherState, HashSz, Fragment, Version).
++ end, CipherState, HashSz, Fragment, Version, PaddingCheck).
+
+ block_decipher(Fun, #cipher_state{key=Key, iv=IV} = CipherState0,
+- HashSz, Fragment, Version) ->
++ HashSz, Fragment, Version, PaddingCheck) ->
+ try
+ Text = Fun(Key, IV, Fragment),
+ NextIV = next_iv(Fragment, IV),
+@@ -195,7 +195,7 @@
+ Content = GBC#generic_block_cipher.content,
+ Mac = GBC#generic_block_cipher.mac,
+ CipherState1 = CipherState0#cipher_state{iv=GBC#generic_block_cipher.next_iv},
+- case is_correct_padding(GBC, Version) of
++ case is_correct_padding(GBC, Version, PaddingCheck) of
+ true ->
+ {Content, Mac, CipherState1};
+ false ->
+@@ -1288,16 +1288,18 @@
+ #generic_stream_cipher{content=Content,
+ mac=Mac}.
+
+-%% For interoperability reasons we do not check the padding content in
+-%% SSL 3.0 and TLS 1.0 as it is not strictly required and breaks
+-%% interopability with for instance Google.
+ is_correct_padding(#generic_block_cipher{padding_length = Len,
+- padding = Padding}, {3, N})
+- when N == 0; N == 1 ->
+- Len == byte_size(Padding);
+-%% Padding must be check in TLS 1.1 and after
++ padding = Padding}, {3, 0}, _) ->
++ Len == byte_size(Padding); %% Only length check is done in SSL 3.0 spec
++%% For interoperability reasons it is possible to disable
++%% the padding check when using TLS 1.0, as it is not strictly required
++%% in the spec (only recommended), howerver this makes TLS 1.0 vunrable to the Poodle attack
++%% so by default this clause will not match
++is_correct_padding(GenBlockCipher, {3, 1}, false) ->
++ is_correct_padding(GenBlockCipher, {3, 0}, false);
++%% Padding must be checked in TLS 1.1 and after
+ is_correct_padding(#generic_block_cipher{padding_length = Len,
+- padding = Padding}, _) ->
++ padding = Padding}, _, _) ->
+ Len == byte_size(Padding) andalso
+ list_to_binary(lists:duplicate(Len, Len)) == Padding.
+
+diff -Naur otp-OTP-17.4.orig/lib/ssl/src/ssl.erl otp-OTP-17.4/lib/ssl/src/ssl.erl
+--- otp-OTP-17.4.orig/lib/ssl/src/ssl.erl 2015-08-05 16:52:39.989500508 -0400
++++ otp-OTP-17.4/lib/ssl/src/ssl.erl 2015-08-05 16:52:50.479441417 -0400
+@@ -1,7 +1,7 @@
+ %%
+ %% %CopyrightBegin%
+ %%
+-%% Copyright Ericsson AB 1999-2014. All Rights Reserved.
++%% Copyright Ericsson AB 1999-2015. All Rights Reserved.
+ %%
+ %% The contents of this file are subject to the Erlang Public License,
+ %% Version 1.1, (the "License"); you may not use this file except in
+@@ -656,7 +656,8 @@
+ log_alert = handle_option(log_alert, Opts, true),
+ server_name_indication = handle_option(server_name_indication, Opts, undefined),
+ honor_cipher_order = handle_option(honor_cipher_order, Opts, false),
+- protocol = proplists:get_value(protocol, Opts, tls)
++ protocol = proplists:get_value(protocol, Opts, tls),
++ padding_check = proplists:get_value(padding_check, Opts, true)
+ },
+
+ CbInfo = proplists:get_value(cb_info, Opts, {gen_tcp, tcp, tcp_closed, tcp_error}),
+@@ -669,7 +670,7 @@
+ cb_info, renegotiate_at, secure_renegotiate, hibernate_after,
+ erl_dist, next_protocols_advertised,
+ client_preferred_next_protocols, log_alert,
+- server_name_indication, honor_cipher_order],
++ server_name_indication, honor_cipher_order, padding_check],
+
+ SockOpts = lists:foldl(fun(Key, PropList) ->
+ proplists:delete(Key, PropList)
+@@ -847,6 +848,8 @@
+ undefined;
+ validate_option(honor_cipher_order, Value) when is_boolean(Value) ->
+ Value;
++validate_option(padding_check, Value) when is_boolean(Value) ->
++ Value;
+ validate_option(Opt, Value) ->
+ throw({error, {options, {Opt, Value}}}).
+
+diff -Naur otp-OTP-17.4.orig/lib/ssl/src/ssl_internal.hrl otp-OTP-17.4/lib/ssl/src/ssl_internal.hrl
+--- otp-OTP-17.4.orig/lib/ssl/src/ssl_internal.hrl 2015-08-05 16:52:39.990500503 -0400
++++ otp-OTP-17.4/lib/ssl/src/ssl_internal.hrl 2015-08-05 16:52:50.479441417 -0400
+@@ -1,7 +1,7 @@
+ %%
+ %% %CopyrightBegin%
+ %%
+-%% Copyright Ericsson AB 2007-2014. All Rights Reserved.
++%% Copyright Ericsson AB 2007-2015. All Rights Reserved.
+ %%
+ %% The contents of this file are subject to the Erlang Public License,
+ %% Version 1.1, (the "License"); you may not use this file except in
+@@ -117,7 +117,8 @@
+ server_name_indication = undefined,
+ %% Should the server prefer its own cipher order over the one provided by
+ %% the client?
+- honor_cipher_order = false
++ honor_cipher_order = false,
++ padding_check = true
+ }).
+
+ -record(socket_options,
+diff -Naur otp-OTP-17.4.orig/lib/ssl/src/ssl_record.erl otp-OTP-17.4/lib/ssl/src/ssl_record.erl
+--- otp-OTP-17.4.orig/lib/ssl/src/ssl_record.erl 2015-08-05 16:52:39.989500508 -0400
++++ otp-OTP-17.4/lib/ssl/src/ssl_record.erl 2015-08-05 16:52:50.479441417 -0400
+@@ -1,7 +1,7 @@
+ %%
+ %% %CopyrightBegin%
+ %%
+-%% Copyright Ericsson AB 2013-2014. All Rights Reserved.
++%% Copyright Ericsson AB 2013-2015. All Rights Reserved.
+ %%
+ %% The contents of this file are subject to the Erlang Public License,
+ %% Version 1.1, (the "License"); you may not use this file except in
+@@ -48,7 +48,7 @@
+ -export([compress/3, uncompress/3, compressions/0]).
+
+ %% Payload encryption/decryption
+--export([cipher/4, decipher/3, is_correct_mac/2]).
++-export([cipher/4, decipher/4, is_correct_mac/2]).
+
+ -export_type([ssl_version/0, ssl_atom_version/0]).
+
+@@ -376,8 +376,9 @@
+ {CipherFragment, CipherS1} =
+ ssl_cipher:cipher(BulkCipherAlgo, CipherS0, MacHash, Fragment, Version),
+ {CipherFragment, WriteState0#connection_state{cipher_state = CipherS1}}.
++
+ %%--------------------------------------------------------------------
+--spec decipher(ssl_version(), binary(), #connection_state{}) -> {binary(), binary(), #connection_state{}} | #alert{}.
++-spec decipher(ssl_version(), binary(), #connection_state{}, boolean()) -> {binary(), binary(), #connection_state{}} | #alert{}.
+ %%
+ %% Description: Payload decryption
+ %%--------------------------------------------------------------------
+@@ -387,8 +388,8 @@
+ BulkCipherAlgo,
+ hash_size = HashSz},
+ cipher_state = CipherS0
+- } = ReadState) ->
+- case ssl_cipher:decipher(BulkCipherAlgo, HashSz, CipherS0, CipherFragment, Version) of
++ } = ReadState, PaddingCheck) ->
++ case ssl_cipher:decipher(BulkCipherAlgo, HashSz, CipherS0, CipherFragment, Version, PaddingCheck) of
+ {PlainFragment, Mac, CipherS1} ->
+ CS1 = ReadState#connection_state{cipher_state = CipherS1},
+ {PlainFragment, Mac, CS1};
+diff -Naur otp-OTP-17.4.orig/lib/ssl/src/tls_connection.erl otp-OTP-17.4/lib/ssl/src/tls_connection.erl
+--- otp-OTP-17.4.orig/lib/ssl/src/tls_connection.erl 2015-08-05 16:52:39.990500503 -0400
++++ otp-OTP-17.4/lib/ssl/src/tls_connection.erl 2015-08-05 16:52:50.479441417 -0400
+@@ -1,7 +1,7 @@
+ %%
+ %% %CopyrightBegin%
+ %%
+-%% Copyright Ericsson AB 2007-2014. All Rights Reserved.
++%% Copyright Ericsson AB 2007-2015. All Rights Reserved.
+ %%
+ %% The contents of this file are subject to the Erlang Public License,
+ %% Version 1.1, (the "License"); you may not use this file except in
+@@ -482,8 +482,9 @@
+ next_record(#state{protocol_buffers =
+ #protocol_buffers{tls_packets = [], tls_cipher_texts = [CT | Rest]}
+ = Buffers,
+- connection_states = ConnStates0} = State) ->
+- case tls_record:decode_cipher_text(CT, ConnStates0) of
++ connection_states = ConnStates0,
++ ssl_options = #ssl_options{padding_check = Check}} = State) ->
++ case tls_record:decode_cipher_text(CT, ConnStates0, Check) of
+ {Plain, ConnStates} ->
+ {Plain, State#state{protocol_buffers =
+ Buffers#protocol_buffers{tls_cipher_texts = Rest},
+diff -Naur otp-OTP-17.4.orig/lib/ssl/src/tls_record.erl otp-OTP-17.4/lib/ssl/src/tls_record.erl
+--- otp-OTP-17.4.orig/lib/ssl/src/tls_record.erl 2015-08-05 16:52:39.990500503 -0400
++++ otp-OTP-17.4/lib/ssl/src/tls_record.erl 2015-08-05 16:52:50.480441411 -0400
+@@ -1,7 +1,7 @@
+ %%
+ %% %CopyrightBegin%
+ %%
+-%% Copyright Ericsson AB 2007-2014. All Rights Reserved.
++%% Copyright Ericsson AB 2007-2015. All Rights Reserved.
+ %%
+ %% The contents of this file are subject to the Erlang Public License,
+ %% Version 1.1, (the "License"); you may not use this file except in
+@@ -34,7 +34,7 @@
+ -export([get_tls_records/2]).
+
+ %% Decoding
+--export([decode_cipher_text/2]).
++-export([decode_cipher_text/3]).
+
+ %% Encoding
+ -export([encode_plain_text/4]).
+@@ -142,19 +142,21 @@
+ {CipherText, ConnectionStates#connection_states{current_write = WriteState#connection_state{sequence_number = Seq +1}}}.
+
+ %%--------------------------------------------------------------------
+--spec decode_cipher_text(#ssl_tls{}, #connection_states{}) ->
++-spec decode_cipher_text(#ssl_tls{}, #connection_states{}, boolean()) ->
+ {#ssl_tls{}, #connection_states{}}| #alert{}.
+ %%
+ %% Description: Decode cipher text
+ %%--------------------------------------------------------------------
+ decode_cipher_text(#ssl_tls{type = Type, version = Version,
+- fragment = CipherFragment} = CipherText, ConnnectionStates0) ->
+- ReadState0 = ConnnectionStates0#connection_states.current_read,
+- #connection_state{compression_state = CompressionS0,
+- sequence_number = Seq,
+- security_parameters = SecParams} = ReadState0,
+- CompressAlg = SecParams#security_parameters.compression_algorithm,
+- case ssl_record:decipher(Version, CipherFragment, ReadState0) of
++ fragment = CipherFragment} = CipherText,
++ #connection_states{current_read =
++ #connection_state{
++ compression_state = CompressionS0,
++ sequence_number = Seq,
++ security_parameters=
++ #security_parameters{compression_algorithm = CompressAlg}
++ } = ReadState0} = ConnnectionStates0, PaddingCheck) ->
++ case ssl_record:decipher(Version, CipherFragment, ReadState0, PaddingCheck) of
+ {PlainFragment, Mac, ReadState1} ->
+ MacHash = calc_mac_hash(Type, Version, PlainFragment, ReadState1),
+ case ssl_record:is_correct_mac(Mac, MacHash) of
+diff -Naur otp-OTP-17.4.orig/lib/ssl/test/ssl_cipher_SUITE.erl otp-OTP-17.4/lib/ssl/test/ssl_cipher_SUITE.erl
+--- otp-OTP-17.4.orig/lib/ssl/test/ssl_cipher_SUITE.erl 2015-08-05 16:52:39.990500503 -0400
++++ otp-OTP-17.4/lib/ssl/test/ssl_cipher_SUITE.erl 2015-08-05 16:52:50.480441411 -0400
+@@ -1,7 +1,7 @@
+ %%
+ %% %CopyrightBegin%
+ %%
+-%% Copyright Ericsson AB 2008-2013. All Rights Reserved.
++%% Copyright Ericsson AB 2008-2015. All Rights Reserved.
+ %%
+ %% The contents of this file are subject to the Erlang Public License,
+ %% Version 1.1, (the "License"); you may not use this file except in
+@@ -38,7 +38,7 @@
+ suite() -> [{ct_hooks,[ts_install_cth]}].
+
+ all() ->
+- [aes_decipher_good, aes_decipher_good_tls11, aes_decipher_fail, aes_decipher_fail_tls11].
++ [aes_decipher_good, aes_decipher_fail, padding_test].
+
+ groups() ->
+ [].
+@@ -73,93 +73,123 @@
+ %% Test Cases --------------------------------------------------------
+ %%--------------------------------------------------------------------
+ aes_decipher_good() ->
+- [{doc,"Decipher a known cryptotext."}].
++ [{doc,"Decipher a known cryptotext using a correct key"}].
+
+ aes_decipher_good(Config) when is_list(Config) ->
+ HashSz = 32,
+- CipherState = #cipher_state{iv = <<59,201,85,117,188,206,224,136,5,109,46,70,104,79,4,9>>,
+- key = <<72,196,247,97,62,213,222,109,210,204,217,186,172,184,197,148>>},
+- Fragment = <<220,193,179,139,171,33,143,245,202,47,123,251,13,232,114,8,
+- 190,162,74,31,186,227,119,155,94,74,119,79,169,193,240,160,
+- 198,181,81,19,98,162,213,228,74,224,253,168,156,59,195,122,
+- 108,101,107,242,20,15,169,150,163,107,101,94,93,104,241,165>>,
+- Content = <<183,139,16,132,10,209,67,86,168,100,61,217,145,57,36,56, "HELLO\n">>,
+- Mac = <<71,136,212,107,223,200,70,232,127,116,148,205,232,35,158,113,237,174,15,217,192,168,35,8,6,107,107,233,25,174,90,111>>,
+- Version = {3,0},
+- {Content, Mac, _} = ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version),
+- Version1 = {3,1},
+- {Content, Mac, _} = ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version1),
+- ok.
+-
+-%%--------------------------------------------------------------------
+-
+-aes_decipher_good_tls11() ->
+- [{doc,"Decipher a known TLS 1.1 cryptotext."}].
+-
+-%% the fragment is actuall a TLS 1.1 record, with
+-%% Version = TLS 1.1, we get the correct NextIV in #cipher_state
+-aes_decipher_good_tls11(Config) when is_list(Config) ->
+- HashSz = 32,
+- CipherState = #cipher_state{iv = <<59,201,85,117,188,206,224,136,5,109,46,70,104,79,4,9>>,
+- key = <<72,196,247,97,62,213,222,109,210,204,217,186,172,184,197,148>>},
+- Fragment = <<220,193,179,139,171,33,143,245,202,47,123,251,13,232,114,8,
+- 190,162,74,31,186,227,119,155,94,74,119,79,169,193,240,160,
+- 198,181,81,19,98,162,213,228,74,224,253,168,156,59,195,122,
+- 108,101,107,242,20,15,169,150,163,107,101,94,93,104,241,165>>,
+- Content = <<"HELLO\n">>,
+- NextIV = <<183,139,16,132,10,209,67,86,168,100,61,217,145,57,36,56>>,
+- Mac = <<71,136,212,107,223,200,70,232,127,116,148,205,232,35,158,113,237,174,15,217,192,168,35,8,6,107,107,233,25,174,90,111>>,
+- Version = {3,2},
+- {Content, Mac, #cipher_state{iv = NextIV}} = ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version),
+- Version1 = {3,2},
+- {Content, Mac, #cipher_state{iv = NextIV}} = ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version1),
+- ok.
++ CipherState = correct_cipher_state(),
++ decipher_check_good(HashSz, CipherState, {3,0}),
++ decipher_check_good(HashSz, CipherState, {3,1}),
++ decipher_check_good(HashSz, CipherState, {3,2}),
++ decipher_check_good(HashSz, CipherState, {3,3}).
+
+ %%--------------------------------------------------------------------
+
+ aes_decipher_fail() ->
+- [{doc,"Decipher a known cryptotext."}].
++ [{doc,"Decipher a known cryptotext using a incorrect key"}].
+
+-%% same as above, last byte of key replaced
+ aes_decipher_fail(Config) when is_list(Config) ->
+ HashSz = 32,
+- CipherState = #cipher_state{iv = <<59,201,85,117,188,206,224,136,5,109,46,70,104,79,4,9>>,
+- key = <<72,196,247,97,62,213,222,109,210,204,217,186,172,184,197,254>>},
+- Fragment = <<220,193,179,139,171,33,143,245,202,47,123,251,13,232,114,8,
+- 190,162,74,31,186,227,119,155,94,74,119,79,169,193,240,160,
+- 198,181,81,19,98,162,213,228,74,224,253,168,156,59,195,122,
+- 108,101,107,242,20,15,169,150,163,107,101,94,93,104,241,165>>,
+- Version = {3,0},
+- {Content, Mac, _} = ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version),
+- 32 = byte_size(Content),
+- 32 = byte_size(Mac),
+- Version1 = {3,1},
+- {Content1, Mac1, _} = ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version1),
+- 32 = byte_size(Content1),
+- 32 = byte_size(Mac1),
+- ok.
+
+-%%--------------------------------------------------------------------
+-
+-aes_decipher_fail_tls11() ->
+- [{doc,"Decipher a known TLS 1.1 cryptotext."}].
+-
+-%% same as above, last byte of key replaced
+-%% stricter padding checks in TLS 1.1 mean we get an alert instead
+-aes_decipher_fail_tls11(Config) when is_list(Config) ->
+- HashSz = 32,
+- CipherState = #cipher_state{iv = <<59,201,85,117,188,206,224,136,5,109,46,70,104,79,4,9>>,
+- key = <<72,196,247,97,62,213,222,109,210,204,217,186,172,184,197,254>>},
+- Fragment = <<220,193,179,139,171,33,143,245,202,47,123,251,13,232,114,8,
+- 190,162,74,31,186,227,119,155,94,74,119,79,169,193,240,160,
+- 198,181,81,19,98,162,213,228,74,224,253,168,156,59,195,122,
+- 108,101,107,242,20,15,169,150,163,107,101,94,93,104,241,165>>,
+- Version = {3,2},
+- #alert{level = ?FATAL, description = ?BAD_RECORD_MAC} =
+- ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version),
+- Version1 = {3,3},
+- #alert{level = ?FATAL, description = ?BAD_RECORD_MAC} =
+- ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version1),
+- ok.
+-
+-%%--------------------------------------------------------------------
++ CipherState = incorrect_cipher_state(),
++ decipher_check_fail(HashSz, CipherState, {3,0}),
++ decipher_check_fail(HashSz, CipherState, {3,1}),
++ decipher_check_fail(HashSz, CipherState, {3,2}),
++ decipher_check_fail(HashSz, CipherState, {3,3}).
++
++%%--------------------------------------------------------------------
++padding_test(Config) when is_list(Config) ->
++ HashSz = 16,
++ CipherState = correct_cipher_state(),
++ pad_test(HashSz, CipherState, {3,0}),
++ pad_test(HashSz, CipherState, {3,1}),
++ pad_test(HashSz, CipherState, {3,2}),
++ pad_test(HashSz, CipherState, {3,3}).
++
++%%--------------------------------------------------------------------
++% Internal functions --------------------------------------------------------
++%%--------------------------------------------------------------------
++decipher_check_good(HashSz, CipherState, Version) ->
++ {Content, NextIV, Mac} = content_nextiv_mac(Version),
++ {Content, Mac, #cipher_state{iv = NextIV}} =
++ ssl_cipher:decipher(?AES, HashSz, CipherState, aes_fragment(Version), Version, true).
++
++decipher_check_fail(HashSz, CipherState, Version) ->
++ {Content, NextIV, Mac} = content_nextiv_mac(Version),
++ true = {Content, Mac, #cipher_state{iv = NextIV}} =/=
++ ssl_cipher:decipher(?AES, HashSz, CipherState, aes_fragment(Version), Version, true).
++
++pad_test(HashSz, CipherState, {3,0} = Version) ->
++ %% 3.0 does not have padding test
++ {Content, NextIV, Mac} = badpad_content_nextiv_mac(Version),
++ {Content, Mac, #cipher_state{iv = NextIV}} =
++ ssl_cipher:decipher(?AES, HashSz, CipherState, badpad_aes_fragment({3,0}), {3,0}, true),
++ {Content, Mac, #cipher_state{iv = NextIV}} =
++ ssl_cipher:decipher(?AES, HashSz, CipherState, badpad_aes_fragment({3,0}), {3,0}, false);
++pad_test(HashSz, CipherState, {3,1} = Version) ->
++ %% 3.1 should have padding test, but may be disabled
++ {Content, NextIV, Mac} = badpad_content_nextiv_mac(Version),
++ BadCont = badpad_content(Content),
++ {Content, Mac, #cipher_state{iv = NextIV}} =
++ ssl_cipher:decipher(?AES, HashSz, CipherState, badpad_aes_fragment({3,1}) , {3,1}, false),
++ {BadCont, Mac, #cipher_state{iv = NextIV}} =
++ ssl_cipher:decipher(?AES, HashSz, CipherState, badpad_aes_fragment({3,1}), {3,1}, true);
++pad_test(HashSz, CipherState, Version) ->
++ %% 3.2 and 3.3 must have padding test
++ {Content, NextIV, Mac} = badpad_content_nextiv_mac(Version),
++ BadCont = badpad_content(Content),
++ {BadCont, Mac, #cipher_state{iv = NextIV}} = ssl_cipher:decipher(?AES, HashSz, CipherState,
++ badpad_aes_fragment(Version), Version, false),
++ {BadCont, Mac, #cipher_state{iv = NextIV}} = ssl_cipher:decipher(?AES, HashSz, CipherState,
++ badpad_aes_fragment(Version), Version, true).
++
++aes_fragment({3,N}) when N == 0; N == 1->
++ <<197,9,6,109,242,87,80,154,85,250,110,81,119,95,65,185,53,206,216,153,246,169,
++ 119,177,178,238,248,174,253,220,242,81,33,0,177,251,91,44,247,53,183,198,165,
++ 63,20,194,159,107>>;
++
++aes_fragment(_) ->
++ <<220,193,179,139,171,33,143,245,202,47,123,251,13,232,114,8,
++ 190,162,74,31,186,227,119,155,94,74,119,79,169,193,240,160,
++ 198,181,81,19,98,162,213,228,74,224,253,168,156,59,195,122,
++ 108,101,107,242,20,15,169,150,163,107,101,94,93,104,241,165>>.
++
++badpad_aes_fragment({3,N}) when N == 0; N == 1 ->
++ <<186,139,125,10,118,21,26,248,120,108,193,104,87,118,145,79,225,55,228,10,105,
++ 30,190,37,1,88,139,243,210,99,65,41>>;
++badpad_aes_fragment(_) ->
++ <<137,31,14,77,228,80,76,103,183,125,55,250,68,190,123,131,117,23,229,180,207,
++ 94,121,137,117,157,109,99,113,61,190,138,131,229,201,120,142,179,172,48,77,
++ 234,19,240,33,38,91,93>>.
++
++content_nextiv_mac({3,N}) when N == 0; N == 1 ->
++ {<<"HELLO\n">>,
++ <<33,0, 177,251, 91,44, 247,53, 183,198, 165,63, 20,194, 159,107>>,
++ <<71,136,212,107,223,200,70,232,127,116,148,205,232,35,158,113,237,174,15,217,192,168,35,8,6,107,107,233,25,174,90,111>>};
++content_nextiv_mac(_) ->
++ {<<"HELLO\n">>,
++ <<183,139,16,132,10,209,67,86,168,100,61,217,145,57,36,56>>,
++ <<71,136,212,107,223,200,70,232,127,116,148,205,232,35,158,113,237,174,15,217,192,168,35,8,6,107,107,233,25,174,90,111>>}.
++
++badpad_content_nextiv_mac({3,N}) when N == 0; N == 1 ->
++ {<<"HELLO\n">>,
++ <<225,55,228,10,105,30,190,37,1,88,139,243,210,99,65,41>>,
++ <<183,139,16,132,10,209,67,86,168,100,61,217,145,57,36,56>>
++ };
++badpad_content_nextiv_mac(_) ->
++ {<<"HELLO\n">>,
++ <<133,211,45,189,179,229,56,86,11,178,239,159,14,160,253,140>>,
++ <<183,139,16,132,10,209,67,86,168,100,61,217,145,57,36,56>>
++ }.
++
++badpad_content(Content) ->
++ %% BadContent will fail mac test
++ <<16#F0, Content/binary>>.
++
++correct_cipher_state() ->
++ #cipher_state{iv = <<59,201,85,117,188,206,224,136,5,109,46,70,104,79,4,9>>,
++ key = <<72,196,247,97,62,213,222,109,210,204,217,186,172,184,197,148>>}.
++
++incorrect_cipher_state() ->
++ #cipher_state{iv = <<59,201,85,117,188,206,224,136,5,109,46,70,104,79,4,9>>,
++ key = <<72,196,247,97,62,213,222,109,210,204,217,186,172,184,197,254>>}.
From 564391e634bbbf4b21763c71485663bfb7a76e6b Mon Sep 17 00:00:00 2001
From: John Eckersberg
Date: Tue, 18 Aug 2015 10:58:05 -0400
Subject: [PATCH 043/322] Disable docs by default on ARM until I figure out why
fop hangs
---
erlang.spec | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index 6f7bac6..07d9996 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -2,7 +2,13 @@
%{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}}
+%ifarch %{arm}
+# For some reason, fop hangs on arm, so for now don't generate docs by
+# default
+%bcond_with doc
+%else
%bcond_without doc
+%endif
%ifarch %{arm} %{ix86} x86_64 ppc %{power64}
%global __with_hipe 1
@@ -10,7 +16,7 @@
Name: erlang
Version: 17.4
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2221,6 +2227,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Tue Aug 18 2015 John Eckersberg - 17.4-5
+- Disable docs by default on ARM until I figure out why fop hangs
+
* Wed Aug 5 2015 John Eckersberg - 17.4-4
- Add patch for CVE-2015-2774 - TLS-1.0 POODLE vulnerability (rhbz#1206712)
From 3e2c6d644c7a479b6703e7d56a08d56cfbd62ff3 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 14 Jan 2016 14:15:02 +0300
Subject: [PATCH 044/322] Sort packages
Signed-off-by: Peter Lemenkov
---
erlang.spec | 38 +++++++++++++++++++-------------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 07d9996..02720c7 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -170,6 +170,25 @@ environment. Erlang has built-in support for concurrency, distribution
and fault tolerance. Erlang is used in several large telecommunication
systems from Ericsson.
+%package -n emacs-erlang
+Summary: Compiled elisp files for erlang-mode under GNU Emacs
+Requires: emacs-common-erlang = %{version}-%{release}
+Requires: emacs(bin) >= %{_emacs_version}
+Group: Applications/Editors
+BuildArch: noarch
+
+%description -n emacs-erlang
+Erlang mode for GNU Emacs.
+
+%package -n emacs-erlang-el
+Summary: Elisp source files for erlang-mode under GNU Emacs
+Requires: emacs-erlang = %{version}-%{release}
+Group: Applications/Editors
+BuildArch: noarch
+
+%description -n emacs-erlang-el
+Erlang mode for GNU Emacs (source lisp files).
+
%package asn1
Summary: Provides support for Abstract Syntax Notation One
Group: Development/Languages
@@ -854,25 +873,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description xmerl
Provides support for XML 1.0.
-%package -n emacs-erlang
-Summary: Compiled elisp files for erlang-mode under GNU Emacs
-Requires: emacs-common-erlang = %{version}-%{release}
-Requires: emacs(bin) >= %{_emacs_version}
-Group: Applications/Editors
-BuildArch: noarch
-
-%description -n emacs-erlang
-Erlang mode for GNU Emacs.
-
-%package -n emacs-erlang-el
-Summary: Elisp source files for erlang-mode under GNU Emacs
-Requires: emacs-erlang = %{version}-%{release}
-Group: Applications/Editors
-BuildArch: noarch
-
-%description -n emacs-erlang-el
-Erlang mode for GNU Emacs (source lisp files).
-
%package -n xemacs-erlang
Summary: Compiled elisp files for erlang-mode under XEmacs
Requires: emacs-common-erlang = %{version}-%{release}
From 8448438f90b66be5e1c020083bd1ef53f13417e2 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 14 Jan 2016 18:10:19 +0300
Subject: [PATCH 045/322] Ver. 18.2.2
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 387 ++++++------
...n-pages-and-do-not-install-miscellan.patch | 8 +-
otp-0002-Remove-rpath.patch | 8 +-
otp-0003-Do-not-install-C-sources.patch | 36 +-
otp-0004-Do-not-install-Java-sources.patch | 8 +-
...teventlog-and-related-doc-files-on-n.patch | 10 +-
otp-0006-Do-not-install-erlang-sources.patch | 308 +++++-----
...it-off-webtool-dependency-from-tools.patch | 4 +-
...-to-crash-dump-on-large-distribution.patch | 31 +
otp-0008-Introduce-os-getenv-2.patch | 63 --
...pport-for-SSLv3-protocol-because-it-.patch | 100 ---
...ding-check-for-TLS-1.0-and-provide-b.patch | 576 ------------------
otp-make-subpackages.py | 150 +++++
sources | 2 +-
15 files changed, 560 insertions(+), 1132 deletions(-)
create mode 100644 otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
delete mode 100644 otp-0008-Introduce-os-getenv-2.patch
delete mode 100644 otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
delete mode 100644 otp-0010-ssl-Reenable-padding-check-for-TLS-1.0-and-provide-b.patch
create mode 100644 otp-make-subpackages.py
diff --git a/.gitignore b/.gitignore
index 72cea5d..8477df3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -55,3 +55,4 @@ otp_src_R14A.tar.gz
/otp-OTP-17.3.3.tar.gz
/otp-OTP-17.3.4.tar.gz
/otp-OTP-17.4.tar.gz
+/otp-OTP-18.2.2.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 02720c7..0ed6ce9 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -15,12 +15,12 @@
%endif
Name: erlang
-Version: 17.4
-Release: 5%{?dist}
+Version: 18.2.2
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
-License: ERPL
+License: ASL 2.0
URL: http://www.erlang.org
%if 0%{?el7}%{?fedora}
VCS: scm:git:https://github.com/erlang/otp
@@ -30,9 +30,10 @@ Source5: epmd.service
Source6: epmd.socket
Source7: epmd@.service
Source8: epmd@.socket
+# These files are intended for Fedora package maintainers only.
+Source998: otp-make-subpackages.py
Source999: otp-get-patches.sh
-
# For the source of the Fedora specific patches, see the respective
# branch at https://github.com/lemenkov/otp
#
@@ -69,22 +70,11 @@ Patch6: otp-0006-Do-not-install-erlang-sources.patch
# Split off webtool dependency from tools
Patch7: otp-0007-Split-off-webtool-dependency-from-tools.patch
# Fedora specific patch
-# Introduce os:getenv/2
-Patch8: otp-0008-Introduce-os-getenv-2.patch
-# Fedora specific patch
-# Patch removes support for SSLv3 protocol because it is proved
-Patch9: otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
+# Add patch to crash dump on large distribution
+Patch8: otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
# end of autogenerated patch tag list
-# https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2015-2774
-Patch10: otp-0010-ssl-Reenable-padding-check-for-TLS-1.0-and-provide-b.patch
-
-BuildRequires: lksctp-tools-devel
-BuildRequires: ncurses-devel
-BuildRequires: openssl-devel
-BuildRequires: zlib-devel
BuildRequires: flex
-BuildRequires: m4
%if %{with doc}
# BEWARE. No fop for EPEL5, and only for x86/x86_64 in EPEL6, so we cannot regenerate docs here
BuildRequires: fop
@@ -96,11 +86,6 @@ BuildRequires: erlang
%endif
%endif
-BuildRequires: emacs
-BuildRequires: xemacs
-BuildRequires: emacs-el
-BuildRequires: xemacs-packages-extra-el
-
%if 0%{?el7}%{?fedora}
# for
BuildRequires: systemd-devel
@@ -170,28 +155,32 @@ environment. Erlang has built-in support for concurrency, distribution
and fault tolerance. Erlang is used in several large telecommunication
systems from Ericsson.
+### BEGIN OF AUTOGENERATED LIST ###
+
%package -n emacs-erlang
-Summary: Compiled elisp files for erlang-mode under GNU Emacs
-Requires: emacs-common-erlang = %{version}-%{release}
-Requires: emacs(bin) >= %{_emacs_version}
-Group: Applications/Editors
-BuildArch: noarch
+Summary: Compiled elisp files for erlang-mode under GNU Emacs
+Group: Applications/Editors
+BuildRequires: emacs
+BuildRequires: emacs-el
+Requires: emacs-common-erlang = %{version}-%{release}
+Requires: emacs(bin) >= %{_emacs_version}
+BuildArch: noarch
%description -n emacs-erlang
Erlang mode for GNU Emacs.
%package -n emacs-erlang-el
-Summary: Elisp source files for erlang-mode under GNU Emacs
-Requires: emacs-erlang = %{version}-%{release}
-Group: Applications/Editors
-BuildArch: noarch
+Summary: Elisp source files for erlang-mode under GNU Emacs
+Group: Applications/Editors
+Requires: emacs-erlang = %{version}-%{release}
+BuildArch: noarch
%description -n emacs-erlang-el
Erlang mode for GNU Emacs (source lisp files).
%package asn1
-Summary: Provides support for Abstract Syntax Notation One
-Group: Development/Languages
+Summary: Provides support for Abstract Syntax Notation One
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -200,14 +189,15 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Provides support for Abstract Syntax Notation One.
%package common_test
-Summary: A portable framework for automatic testing
-Group: Development/Languages
+Summary: A portable framework for automatic testing
+Group: Development/Languages
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
Requires: %{name}-debugger%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
+Requires: %{name}-observer%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
Requires: %{name}-snmp%{?_isa} = %{version}-%{release}
@@ -215,15 +205,14 @@ Requires: %{name}-ssh%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-test_server%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
-Requires: %{name}-webtool%{?_isa} = %{version}-%{release}
Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
%description common_test
A portable framework for automatic testing.
%package compiler
-Summary: A byte code compiler for Erlang which produces highly compact code
-Group: Development/Languages
+Summary: A byte code compiler for Erlang which produces highly compact code
+Group: Development/Languages
Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-hipe%{?_isa} = %{version}-%{release}
@@ -234,8 +223,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
A byte code compiler for Erlang which produces highly compact code.
%package cosEvent
-Summary: Orber OMG Event Service
-Group: Development/Languages
+Summary: Orber OMG Event Service
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-orber%{?_isa} = %{version}-%{release}
@@ -245,8 +234,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Orber OMG Event Service.
%package cosEventDomain
-Summary: Orber OMG Event Domain Service
-Group: Development/Languages
+Summary: Orber OMG Event Domain Service
+Group: Development/Languages
Requires: %{name}-cosNotification%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -257,8 +246,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Orber OMG Event Domain Service.
%package cosFileTransfer
-Summary: Orber OMG File Transfer Service
-Group: Development/Languages
+Summary: Orber OMG File Transfer Service
+Group: Development/Languages
Requires: %{name}-cosProperty%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
@@ -271,8 +260,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Orber OMG File Transfer Service.
%package cosNotification
-Summary: Orber OMG Notification Service
-Group: Development/Languages
+Summary: Orber OMG Notification Service
+Group: Development/Languages
Requires: %{name}-cosEvent%{?_isa} = %{version}-%{release}
Requires: %{name}-cosTime%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
@@ -284,8 +273,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Orber OMG Notification Service.
%package cosProperty
-Summary: Orber OMG Property Service
-Group: Development/Languages
+Summary: Orber OMG Property Service
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
@@ -296,8 +285,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Orber OMG Property Service.
%package cosTime
-Summary: Orber OMG Timer and TimerEvent Service
-Group: Development/Languages
+Summary: Orber OMG Timer and TimerEvent Service
+Group: Development/Languages
Requires: %{name}-cosEvent%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -308,8 +297,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Orber OMG Timer and TimerEvent Service.
%package cosTransactions
-Summary: Orber OMG Transaction Service
-Group: Development/Languages
+Summary: Orber OMG Transaction Service
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-orber%{?_isa} = %{version}-%{release}
@@ -319,8 +308,9 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Orber OMG Transaction Service.
%package crypto
-Summary: Cryptographical support
-Group: Development/Languages
+Summary: Cryptographical support
+Group: Development/Languages
+BuildRequires: openssl-devel
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -329,8 +319,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Cryptographical support.
%package debugger
-Summary: A debugger for debugging and testing of Erlang programs
-Group: Development/Languages
+Summary: A debugger for debugging and testing of Erlang programs
+Group: Development/Languages
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -341,8 +331,8 @@ Requires: %{name}-wx%{?_isa} = %{version}-%{release}
A debugger for debugging and testing of Erlang programs.
%package dialyzer
-Summary: A DIscrepancy AnaLYZer for ERlang programs
-Group: Development/Languages
+Summary: A DIscrepancy AnaLYZer for ERlang programs
+Group: Development/Languages
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-hipe%{?_isa} = %{version}-%{release}
@@ -356,9 +346,9 @@ Requires: graphviz
A DIscrepancy AnaLYZer for ERlang programs.
%package diameter
-Summary: Diameter (RFC 3588) library
-Group: Development/Languages
-BuildRequires: ed
+Summary: Diameter (RFC 3588) library
+Group: Development/Languages
+BuildRequires: ed
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
@@ -371,17 +361,17 @@ Diameter (RFC 3588) library
%if %{with doc}
%package doc
-Summary: Erlang documentation
-Group: Development/Languages
-BuildArch: noarch
+Summary: Erlang documentation
+Group: Development/Languages
+BuildArch: noarch
%description doc
Documentation for Erlang.
%endif
%package edoc
-Summary: A utility used to generate documentation out of tags in source files
-Group: Development/Languages
+Summary: A utility used to generate documentation out of tags in source files
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -393,8 +383,8 @@ Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
A utility used to generate documentation out of tags in source files.
%package eldap
-Summary: Erlang LDAP library
-Group: Development/Languages
+Summary: Erlang LDAP library
+Group: Development/Languages
Requires: %{name}-asn1%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -405,8 +395,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Erlang LDAP library.
%package erl_docgen
-Summary: A utility used to generate erlang HTML documentation
-Group: Development/Languages
+Summary: A utility used to generate erlang HTML documentation
+Group: Development/Languages
Requires: %{name}-edoc%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -416,28 +406,29 @@ Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
A utility used to generate erlang HTML documentation.
%package erl_interface
-Summary: Low level interface to C
-Group: Development/Languages
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
+Summary: Low level interface to C
+Group: Development/Languages
+Requires: %{name}-erts%{?_isa} = %{version}-%{release}
%description erl_interface
Low level interface to C.
%package erts
-Summary: Functionality necessary to run the Erlang System itself
-Group: Development/Languages
+Summary: Functionality necessary to run the Erlang System itself
+Group: Development/Languages
+BuildRequires: lksctp-tools-devel
+BuildRequires: m4
+BuildRequires: ncurses-devel
+BuildRequires: zlib-devel
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-# This library is dlopened so it can't be picked up automatically by the RPM
-# dependency checker
Requires: lksctp-tools
# See erts/emulator/beam/erl_driver.h or call erlang:system_info(driver_version).
#Provides: erlang(erl_drv_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(driver_version)).' -s erlang halt)
-Provides: erlang(erl_drv_version) = 3.1
+Provides: erlang(erl_drv_version) = 3.2
# See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version).
#Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt)
-Provides: erlang(erl_nif_version) = 2.7
-# These sub-packages were removed once
+Provides: erlang(erl_nif_version) = 2.9
Obsoletes: erlang-appmon
Obsoletes: erlang-docbuilder
Obsoletes: erlang-inviso
@@ -449,8 +440,8 @@ Obsoletes: erlang-tv
Functionality necessary to run the Erlang System itself.
%package et
-Summary: An event tracer for Erlang programs
-Group: Development/Languages
+Summary: An event tracer for Erlang programs
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
@@ -461,8 +452,8 @@ Requires: %{name}-wx%{?_isa} = %{version}-%{release}
An event tracer for Erlang programs.
%package eunit
-Summary: Support for unit testing
-Group: Development/Languages
+Summary: Support for unit testing
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -471,29 +462,35 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Support for unit testing.
%package examples
-Summary: Examples for some Erlang modules
-Group: Development/Languages
-Requires: %{name}%{?_isa} = %{version}-%{release}
+Summary: Examples for some Erlang modules
+Group: Development/Languages
+Requires: %{name}-erts%{?_isa} = %{version}-%{release}
+Requires: %{name}-gs%{?_isa} = %{version}-%{release}
+Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
+Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
+Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
+Requires: %{name}-ssl%{?_isa} = %{version}-%{release}
+Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description examples
Examples for some Erlang modules.
%package gs
-Summary: A library for Tcl/Tk support in Erlang
-Group: Development/Languages
+Summary: A library for Tcl/Tk support in Erlang
+Group: Development/Languages
+BuildRequires: tcl-devel
+BuildRequires: tk-devel
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-BuildRequires: tcl-devel
-BuildRequires: tk-devel
-Requires: tk
+Requires: tk
%description gs
A Graphics System used to write platform independent user interfaces.
%package hipe
-Summary: High Performance Erlang
-Group: Development/Languages
+Summary: High Performance Erlang
+Group: Development/Languages
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -504,8 +501,9 @@ Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
High Performance Erlang.
%package ic
-Summary: IDL compiler
-Group: Development/Languages
+Summary: IDL compiler
+Group: Development/Languages
+BuildRequires: java-devel
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -514,42 +512,30 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
IDL compiler.
%package inets
-Summary: A set of services such as a Web server and a ftp client etc
-Group: Development/Languages
+Summary: A set of services such as a Web server and a ftp client etc
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-ssl%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-# FIXME see erlang-jinterface also
-#Requires: jpackage-utils
%description inets
A set of services such as a Web server and a ftp client etc.
%package jinterface
-Summary: A library for accessing Java from Erlang
-Group: Development/Languages
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-# FIXME see erlang-ic also
-#Requires: jpackage-utils
-%if 0%{?el7}%{?fedora}
-BuildRequires: java-devel
-%else
-%ifarch %{ix86} x86_64
-BuildRequires: java-devel
-%else
-BuildRequires: java-devel-gcj
-%endif
-%endif
+Summary: A library for accessing Java from Erlang
+Group: Development/Languages
+BuildRequires: java-devel
+Requires: %{name}-erts%{?_isa} = %{version}-%{release}
%description jinterface
Low level interface to Java.
%package kernel
-Summary: Main erlang library
-Group: Development/Languages
+Summary: Main erlang library
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -557,8 +543,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Main erlang library.
%package megaco
-Summary: Megaco/H.248 support library
-Group: Development/Languages
+Summary: Megaco/H.248 support library
+Group: Development/Languages
Requires: %{name}-asn1%{?_isa} = %{version}-%{release}
Requires: %{name}-debugger%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
@@ -573,8 +559,8 @@ decomposed multimedia gateway, enabling separation of call control
from media conversion.
%package mnesia
-Summary: A heavy duty real-time distributed database
-Group: Development/Languages
+Summary: A heavy duty real-time distributed database
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -583,8 +569,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
A heavy duty real-time distributed database.
%package observer
-Summary: A set of tools for tracing and investigation of distributed systems
-Group: Development/Languages
+Summary: A set of tools for tracing and investigation of distributed systems
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-et%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
@@ -597,20 +583,20 @@ Requires: %{name}-wx%{?_isa} = %{version}-%{release}
A set of tools for tracing and investigation of distributed systems.
%package odbc
-Summary: A library for unixODBC support in Erlang
-Group: Development/Languages
+Summary: A library for unixODBC support in Erlang
+Group: Development/Languages
+BuildRequires: unixODBC-devel
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-BuildRequires: unixODBC-devel
%description odbc
An interface to relational SQL-databases built on ODBC (Open Database
Connectivity).
%package orber
-Summary: A CORBA Object Request Broker
-Group: Development/Languages
+Summary: A CORBA Object Request Broker
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -622,8 +608,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
A CORBA Object Request Broker.
%package os_mon
-Summary: A monitor which allows inspection of the underlying operating system
-Group: Development/Languages
+Summary: A monitor which allows inspection of the underlying operating system
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
@@ -636,8 +622,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
A monitor which allows inspection of the underlying operating system.
%package ose
-Summary: A module for interacting with Enea OSE
-Group: Development/Languages
+Summary: A module for interacting with Enea OSE
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -645,8 +631,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
A module for interacting with Enea OSE.
%package otp_mibs
-Summary: SNMP management information base for Erlang/OTP nodes
-Group: Development/Languages
+Summary: SNMP management information base for Erlang/OTP nodes
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
@@ -657,8 +643,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
SNMP management information base for Erlang/OTP nodes.
%package parsetools
-Summary: A set of parsing and lexical analysis tools
-Group: Development/Languages
+Summary: A set of parsing and lexical analysis tools
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -667,8 +653,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
A set of parsing and lexical analysis tools.
%package percept
-Summary: A concurrency profiler tool
-Group: Development/Languages
+Summary: A concurrency profiler tool
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -679,8 +665,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
A concurrency profiler tool.
%package public_key
-Summary: API to public key infrastructure
-Group: Development/Languages
+Summary: API to public key infrastructure
+Group: Development/Languages
Requires: %{name}-asn1%{?_isa} = %{version}-%{release}
Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
@@ -691,8 +677,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
API to public key infrastructure.
%package reltool
-Summary: A release management tool
-Group: Development/Languages
+Summary: A release management tool
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
@@ -709,8 +695,8 @@ target system. The backend provides a batch interface
for generation of customized target systems.
%package runtime_tools
-Summary: A set of tools to include in a production system
-Group: Development/Languages
+Summary: A set of tools to include in a production system
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
@@ -720,8 +706,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
A set of tools to include in a production system.
%package sasl
-Summary: The System Architecture Support Libraries
-Group: Development/Languages
+Summary: The System Architecture Support Libraries
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -732,8 +718,8 @@ The System Architecture Support Libraries is a set of tools for
release upgrades and alarm handling etc.
%package snmp
-Summary: Simple Network Management Protocol (SNMP) support
-Group: Development/Languages
+Summary: Simple Network Management Protocol (SNMP) support
+Group: Development/Languages
Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -746,8 +732,8 @@ Simple Network Management Protocol (SNMP) support including a
MIB compiler and tools for creating SNMP agents.
%package ssh
-Summary: Secure Shell application with sftp and ssh support
-Group: Development/Languages
+Summary: Secure Shell application with sftp and ssh support
+Group: Development/Languages
Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -758,10 +744,11 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Secure Shell application with sftp and ssh support.
%package ssl
-Summary: Secure Socket Layer support
-Group: Development/Languages
+Summary: Secure Socket Layer support
+Group: Development/Languages
Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
+Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -770,8 +757,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Secure Socket Layer support.
%package stdlib
-Summary: The Erlang standard libraries
-Group: Development/Languages
+Summary: The Erlang standard libraries
+Group: Development/Languages
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
@@ -781,8 +768,9 @@ Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
The Erlang standard libraries.
%package syntax_tools
-Summary: A set of tools for dealing with erlang sources
-Group: Development/Languages
+Summary: A set of tools for dealing with erlang sources
+Group: Development/Languages
+Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -792,22 +780,23 @@ A utility used to handle abstract Erlang syntax trees,
reading source files differently, pretty-printing syntax trees.
%package test_server
-Summary: The OTP Test Server
-Group: Development/Languages
+Summary: The OTP Test Server
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-observer%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
+Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
%description test_server
The OTP Test Server.
%package tools
-Summary: A set of programming tools including a coverage analyzer etc
-Group: Development/Languages
+Summary: A set of programming tools including a coverage analyzer etc
+Group: Development/Languages
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
@@ -820,14 +809,14 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
Suggests: %{name}-webtool%{?_isa} = %{version}-%{release}
%endif
-Provides: emacs-common-erlang = %{version}-%{release}
+Provides: emacs-common-erlang = %{version}-%{release}
%description tools
A set of programming tools including a coverage analyzer etc.
%package typer
-Summary: TYPe annotator for ERlang programs
-Group: Development/Languages
+Summary: TYPe annotator for ERlang programs
+Group: Development/Languages
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-dialyzer%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
@@ -839,8 +828,8 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
TYPe annotator for ERlang programs.
%package webtool
-Summary: A tool that simplifying the use of web based Erlang tools
-Group: Development/Languages
+Summary: A tool that simplifying the use of web based Erlang tools
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -851,21 +840,21 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
A tool that simplifying the use of web based Erlang tools.
%package wx
-Summary: A library for wxWidgets support in Erlang
-Group: Development/Languages
+Summary: A library for wxWidgets support in Erlang
+Group: Development/Languages
+BuildRequires: wxGTK-devel
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Requires: mesa-libGL
-Requires: mesa-libGLU
-BuildRequires: wxGTK-devel
+Requires: mesa-libGL
+Requires: mesa-libGLU
%description wx
A Graphics System used to write platform independent user interfaces.
%package xmerl
-Summary: Provides support for XML 1.0
-Group: Development/Languages
+Summary: Provides support for XML 1.0
+Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -874,24 +863,28 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Provides support for XML 1.0.
%package -n xemacs-erlang
-Summary: Compiled elisp files for erlang-mode under XEmacs
-Requires: emacs-common-erlang = %{version}-%{release}
-Group: Applications/Editors
-BuildArch: noarch
-Requires: xemacs(bin) >= %{_xemacs_version}
+Summary: Compiled elisp files for erlang-mode under XEmacs
+Group: Applications/Editors
+BuildRequires: xemacs
+BuildRequires: xemacs-packages-extra-el
+Requires: emacs-common-erlang = %{version}-%{release}
+Requires: xemacs(bin) >= %{_xemacs_version}
+BuildArch: noarch
%description -n xemacs-erlang
Erlang mode for XEmacs.
%package -n xemacs-erlang-el
-Summary: Elisp source files for erlang-mode under XEmacs
-Requires: xemacs-erlang = %{version}-%{release}
-Group: Applications/Editors
-BuildArch: noarch
+Summary: Elisp source files for erlang-mode under XEmacs
+Group: Applications/Editors
+Requires: xemacs-erlang = %{version}-%{release}
+BuildArch: noarch
%description -n xemacs-erlang-el
Erlang mode for XEmacs (source lisp files).
+### END OF AUTOGENERATED LIST ###
+
%prep
%setup -q -n otp-OTP-%{version}
@@ -903,12 +896,9 @@ Erlang mode for XEmacs (source lisp files).
%patch5 -p1 -b .Do_not_install_nteventlog_and_related_doc_files_on_n
%patch6 -p1 -b .Do_not_install_erlang_sources
%patch7 -p1 -b .Split_off_webtool_dependency_from_tools
-%patch8 -p1 -b .Introduce_os_getenv_2
-%patch9 -p1 -b .Patch_removes_support_for_SSLv3_protocol_because_it_
+%patch8 -p1 -b .Add_patch_to_crash_dump_on_large_distribution
# end of autogenerated prep patch list
-%patch10 -p1
-
# FIXME we should come up with a better solution
# remove shipped zlib sources
#rm -f erts/emulator/zlib/*.[ch]
@@ -1021,7 +1011,7 @@ for i in erts-* ; do mv -v $i/doc $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/$
cd $RPM_BUILD_ROOT%{_libdir}/erlang/lib
for i in * ; do mv -v $i/doc $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/lib/$i || true ; done
popd
-cp -av AUTHORS EPLICENCE README.md $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
+cp -av AUTHORS LICENSE.txt README.md $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/PR.template $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/README $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/COPYRIGHT $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
@@ -1098,7 +1088,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%dir %{_docdir}/%{name}-%{version}/
%doc %{_docdir}/%{name}-%{version}/AUTHORS
%doc %{_docdir}/%{name}-%{version}/COPYRIGHT
-%doc %{_docdir}/%{name}-%{version}/EPLICENCE
+%doc %{_docdir}/%{name}-%{version}/LICENSE.txt
%doc %{_docdir}/%{name}-%{version}/PR.template
%doc %{_docdir}/%{name}-%{version}/README
%doc %{_docdir}/%{name}-%{version}/README.md
@@ -1458,11 +1448,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%files examples
%{_libdir}/erlang/lib/asn1-*/examples/
-#%{_libdir}/erlang/lib/cosFileTransfer-*/examples/
-#%{_libdir}/erlang/lib/cosNotification-*/examples/
-#%{_libdir}/erlang/lib/cosProperty-*/examples/
-#%{_libdir}/erlang/lib/cosTime-*/examples/
-#%{_libdir}/erlang/lib/cosTransactions-*/examples/
%{_libdir}/erlang/lib/diameter-*/examples/
%{_libdir}/erlang/lib/et-*/examples/
%{_libdir}/erlang/lib/eunit-*/examples/
@@ -1478,7 +1463,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/lib/runtime_tools-*/examples/
%{_libdir}/erlang/lib/sasl-*/examples/
%{_libdir}/erlang/lib/snmp-*/examples/
-#%{_libdir}/erlang/lib/ssh-*/examples/
%{_libdir}/erlang/lib/ssl-*/examples/
%{_libdir}/erlang/lib/stdlib-*/examples/
%{_libdir}/erlang/lib/syntax_tools-*/examples/
@@ -1524,7 +1508,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/http_uri.*
%{_libdir}/erlang/man/man3/httpc.*
%{_libdir}/erlang/man/man3/httpd.*
-%{_libdir}/erlang/man/man3/httpd_conf.*
+%{_libdir}/erlang/man/man3/httpd_custom_api.*
%{_libdir}/erlang/man/man3/httpd_socket.*
%{_libdir}/erlang/man/man3/httpd_util.*
%{_libdir}/erlang/man/man3/inets.*
@@ -1605,7 +1589,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%files mnesia
%dir %{_libdir}/erlang/lib/mnesia-*/
%{_libdir}/erlang/lib/mnesia-*/ebin
-#%{_libdir}/erlang/lib/mnesia-*/include
%{_libdir}/erlang/lib/mnesia-*/src
%if %{with doc}
%{_libdir}/erlang/man/man3/mnesia.*
@@ -1831,6 +1814,8 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/lib/ssl-*/src
%if %{with doc}
%{_libdir}/erlang/man/man3/ssl.*
+%{_libdir}/erlang/man/man3/ssl_crl_cache.*
+%{_libdir}/erlang/man/man3/ssl_crl_cache_api.*
%{_libdir}/erlang/man/man3/ssl_session_cache_api.*
%{_libdir}/erlang/man/man6/ssl.*
%endif
@@ -1852,6 +1837,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/digraph.*
%{_libdir}/erlang/man/man3/digraph_utils.*
%{_libdir}/erlang/man/man3/epp.*
+%{_libdir}/erlang/man/man3/erl_anno.*
%{_libdir}/erlang/man/man3/erl_eval.*
%{_libdir}/erlang/man/man3/erl_expand_records.*
%{_libdir}/erlang/man/man3/erl_id_trans.*
@@ -1880,12 +1866,12 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/ms_transform.*
%{_libdir}/erlang/man/man3/orddict.*
%{_libdir}/erlang/man/man3/ordsets.*
-%{_libdir}/erlang/man/man3/pg.*
%{_libdir}/erlang/man/man3/pool.*
%{_libdir}/erlang/man/man3/proc_lib.*
%{_libdir}/erlang/man/man3/proplists.*
%{_libdir}/erlang/man/man3/qlc.*
%{_libdir}/erlang/man/man3/queue.*
+%{_libdir}/erlang/man/man3/rand.*
%{_libdir}/erlang/man/man3/random.*
%{_libdir}/erlang/man/man3/re.*
%{_libdir}/erlang/man/man3/sets.*
@@ -1906,6 +1892,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%files syntax_tools
%dir %{_libdir}/erlang/lib/syntax_tools-*/
%{_libdir}/erlang/lib/syntax_tools-*/ebin
+%{_libdir}/erlang/lib/syntax_tools-*/include
%if %{with doc}
%{_libdir}/erlang/man/man3/epp_dodger.*
%{_libdir}/erlang/man/man3/erl_comment_scan.*
@@ -1915,6 +1902,8 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/erl_syntax_lib.*
%{_libdir}/erlang/man/man3/erl_tidy.*
%{_libdir}/erlang/man/man3/igor.*
+%{_libdir}/erlang/man/man3/merl.*
+%{_libdir}/erlang/man/man3/merl_transform.*
%{_libdir}/erlang/man/man3/prettypr.*
%endif
@@ -1952,7 +1941,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/erts-*/bin/typer
%dir %{_libdir}/erlang/lib/typer-*/
%{_libdir}/erlang/lib/typer-*/ebin/
-#%{_libdir}/erlang/lib/typer-*/src/
%files webtool
%{_libdir}/erlang/lib/webtool-*/
@@ -1983,6 +1971,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/wxAuiNotebook.*
%{_libdir}/erlang/man/man3/wxAuiNotebookEvent.*
%{_libdir}/erlang/man/man3/wxAuiPaneInfo.*
+%{_libdir}/erlang/man/man3/wxAuiSimpleTabArt.*
%{_libdir}/erlang/man/man3/wxAuiTabArt.*
%{_libdir}/erlang/man/man3/wxBitmap.*
%{_libdir}/erlang/man/man3/wxBitmapButton.*
@@ -2019,6 +2008,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/wxDateEvent.*
%{_libdir}/erlang/man/man3/wxDatePickerCtrl.*
%{_libdir}/erlang/man/man3/wxDC.*
+%{_libdir}/erlang/man/man3/wxDCOverlay.*
%{_libdir}/erlang/man/man3/wxDialog.*
%{_libdir}/erlang/man/man3/wxDirDialog.*
%{_libdir}/erlang/man/man3/wxDirPickerCtrl.*
@@ -2105,6 +2095,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/wxMiniFrame.*
%{_libdir}/erlang/man/man3/wxMirrorDC.*
%{_libdir}/erlang/man/man3/wxMouseCaptureChangedEvent.*
+%{_libdir}/erlang/man/man3/wxMouseCaptureLostEvent.*
%{_libdir}/erlang/man/man3/wxMouseEvent.*
%{_libdir}/erlang/man/man3/wxMoveEvent.*
%{_libdir}/erlang/man/man3/wxMultiChoiceDialog.*
@@ -2112,6 +2103,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/wxNotebook.*
%{_libdir}/erlang/man/man3/wxNotebookEvent.*
%{_libdir}/erlang/man/man3/wxNotifyEvent.*
+%{_libdir}/erlang/man/man3/wxOverlay.*
%{_libdir}/erlang/man/man3/wxPageSetupDialog.*
%{_libdir}/erlang/man/man3/wxPageSetupDialogData.*
%{_libdir}/erlang/man/man3/wxPaintDC.*
@@ -2227,6 +2219,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Mon Jan 11 2016 Peter Lemenkov - 18.2.2-1
+- Ver. 18.2.2
+
* Tue Aug 18 2015 John Eckersberg - 17.4-5
- Disable docs by default on ARM until I figure out why fop hangs
diff --git a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
index 6aeadc8..2602d40 100644
--- a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
+++ b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Do not format man-pages and do not install miscellaneous
Signed-off-by: Peter Lemenkov
diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in
-index 0cf965f..94e82a8 100644
+index 8e55fa7..9512faa 100644
--- a/erts/etc/common/Makefile.in
+++ b/erts/etc/common/Makefile.in
-@@ -550,10 +550,6 @@ endif
+@@ -551,10 +551,6 @@ endif
ifneq ($(INSTALL_TOP_BIN),)
$(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)"
endif
@@ -21,10 +21,10 @@ index 0cf965f..94e82a8 100644
$(INSTALL_DIR) "$(RELEASE_PATH)/erts-$(VSN)/src"
$(INSTALL_DATA) $(INSTALL_SRC) "$(RELEASE_PATH)/erts-$(VSN)/src"
diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src
-index 8eb1db7..9e340bb 100644
+index 6634ae3..fa18956 100644
--- a/erts/etc/unix/Install.src
+++ b/erts/etc/unix/Install.src
-@@ -140,14 +140,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot .
+@@ -141,14 +141,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot .
cp -p ../releases/%I_SYSTEM_VSN%/no_dot_erlang.boot .
cp -p $Name.boot start.boot
cp -p ../releases/%I_SYSTEM_VSN%/$Name.script start.script
diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch
index 492734f..77418af 100644
--- a/otp-0002-Remove-rpath.patch
+++ b/otp-0002-Remove-rpath.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Remove rpath
Signed-off-by: Peter Lemenkov
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
-index 8c92b5b..5b36c19 100644
+index e66c0ca..574cdf5 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
-@@ -89,7 +89,7 @@ endif
+@@ -90,7 +90,7 @@ endif
DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
@@ -18,10 +18,10 @@ index 8c92b5b..5b36c19 100644
EXTRA_FLAGS = -DHAVE_DYNAMIC_CRYPTO_LIB
else
diff --git a/lib/crypto/priv/Makefile b/lib/crypto/priv/Makefile
-index 0989f14..0d29444 100644
+index ff9d3e1..d3aba77 100644
--- a/lib/crypto/priv/Makefile
+++ b/lib/crypto/priv/Makefile
-@@ -60,7 +60,7 @@ OBJS = $(OBJDIR)/crypto.o
+@@ -61,7 +61,7 @@ OBJS = $(OBJDIR)/crypto.o
# ----------------------------------------------------
$(SO_NIFLIB): $(OBJS)
diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch
index f89bcb7..d4abd19 100644
--- a/otp-0003-Do-not-install-C-sources.patch
+++ b/otp-0003-Do-not-install-C-sources.patch
@@ -14,10 +14,10 @@ https://bugzilla.redhat.com/818419
Signed-off-by: Peter Lemenkov
diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile
-index a7cd03f..6da4d75 100644
+index 2b72e1a..0522562 100644
--- a/lib/asn1/c_src/Makefile
+++ b/lib/asn1/c_src/Makefile
-@@ -142,8 +142,6 @@ release_spec: opt
+@@ -143,8 +143,6 @@ release_spec: opt
ifneq ($(findstring ose,$(TARGET)),ose)
$(INSTALL_PROGRAM) $(NIF_SHARED_OBJ_FILE) "$(RELSYSDIR)/priv/lib"
endif
@@ -27,10 +27,10 @@ index a7cd03f..6da4d75 100644
release_docs_spec:
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
-index 5b36c19..470821e 100644
+index 574cdf5..428c316 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
-@@ -199,14 +199,10 @@ docs:
+@@ -200,14 +200,10 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -46,10 +46,10 @@ index 5b36c19..470821e 100644
endif
endif
diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
-index 7c09b60..2c14f9e 100644
+index 777d709..57917ae 100644
--- a/lib/erl_interface/src/Makefile.in
+++ b/lib/erl_interface/src/Makefile.in
-@@ -904,14 +904,14 @@ ifneq ($(EXE_TARGETS),)
+@@ -905,14 +905,14 @@ ifneq ($(EXE_TARGETS),)
$(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin"
endif
$(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src"
@@ -73,10 +73,10 @@ index 7c09b60..2c14f9e 100644
release_docs:
diff --git a/lib/ic/c_src/Makefile.in b/lib/ic/c_src/Makefile.in
-index ed860ab..96206ae 100644
+index b9f92a0..9612f24 100644
--- a/lib/ic/c_src/Makefile.in
+++ b/lib/ic/c_src/Makefile.in
-@@ -144,12 +144,10 @@ $(OBJDIR)/%.o: %.c
+@@ -145,12 +145,10 @@ $(OBJDIR)/%.o: %.c
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -90,10 +90,10 @@ index ed860ab..96206ae 100644
$(INSTALL_DATA) $(LIBRARY) "$(RELSYSDIR)/priv/lib"
$(INSTALL_DATA) $(IDL_FILES) $(H_FILES) "$(RELEASE_PATH)/usr/include"
diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
-index 6111cf2..bd62e8b 100644
+index 045b6d8..39be02a 100644
--- a/lib/megaco/src/flex/Makefile.in
+++ b/lib/megaco/src/flex/Makefile.in
-@@ -270,7 +270,7 @@ release_spec: opt
+@@ -271,7 +271,7 @@ release_spec: opt
$(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/flex"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true)
@@ -103,10 +103,10 @@ index 6111cf2..bd62e8b 100644
endif
diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in
-index 6572d28..c7093ae 100644
+index 685eb5d..6c8a432 100644
--- a/lib/odbc/c_src/Makefile.in
+++ b/lib/odbc/c_src/Makefile.in
-@@ -128,11 +128,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -129,11 +129,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
ifdef EXE_TARGET
@@ -119,10 +119,10 @@ index 6572d28..c7093ae 100644
endif
diff --git a/lib/os_mon/c_src/Makefile.in b/lib/os_mon/c_src/Makefile.in
-index f84ccf7..05d194f 100644
+index e9fc5f4..ac9fb73 100644
--- a/lib/os_mon/c_src/Makefile.in
+++ b/lib/os_mon/c_src/Makefile.in
-@@ -125,8 +125,6 @@ $(OBJDIR)/memsup.o: memsup.h
+@@ -126,8 +126,6 @@ $(OBJDIR)/memsup.o: memsup.h
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -132,10 +132,10 @@ index f84ccf7..05d194f 100644
$(INSTALL_PROGRAM) $(TARGET_FILES) "$(RELSYSDIR)/priv/bin"
diff --git a/lib/runtime_tools/c_src/Makefile.in b/lib/runtime_tools/c_src/Makefile.in
-index d46b499..4309aae 100644
+index 448b8c6..860d504 100644
--- a/lib/runtime_tools/c_src/Makefile.in
+++ b/lib/runtime_tools/c_src/Makefile.in
-@@ -156,10 +156,8 @@ docs:
+@@ -157,10 +157,8 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -147,10 +147,10 @@ index d46b499..4309aae 100644
endif
diff --git a/lib/tools/c_src/Makefile.in b/lib/tools/c_src/Makefile.in
-index b1eb69f..1acfdbf 100644
+index 66bba22..eea37fc 100644
--- a/lib/tools/c_src/Makefile.in
+++ b/lib/tools/c_src/Makefile.in
-@@ -197,8 +197,6 @@ include ../vsn.mk
+@@ -198,8 +198,6 @@ include ../vsn.mk
RELSYSDIR = $(RELEASE_PATH)/lib/tools-$(TOOLS_VSN)
release_spec: all
diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch
index 65323fa..d9ba9c4 100644
--- a/otp-0004-Do-not-install-Java-sources.patch
+++ b/otp-0004-Do-not-install-Java-sources.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Do not install Java sources
Signed-off-by: Peter Lemenkov
diff --git a/lib/ic/java_src/com/ericsson/otp/ic/Makefile b/lib/ic/java_src/com/ericsson/otp/ic/Makefile
-index 273614e..5b1fb57 100644
+index d9100cf..6886c71 100644
--- a/lib/ic/java_src/com/ericsson/otp/ic/Makefile
+++ b/lib/ic/java_src/com/ericsson/otp/ic/Makefile
-@@ -112,8 +112,6 @@ docs:
+@@ -113,8 +113,6 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -18,10 +18,10 @@ index 273614e..5b1fb57 100644
$(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv"
diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
-index ea3ab77..e95757e 100644
+index 1c8364e..34b64a8 100644
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
-@@ -119,8 +119,6 @@ release release_docs release_tests release_html:
+@@ -120,8 +120,6 @@ release release_docs release_tests release_html:
$(V_at)$(MAKE) $(MFLAGS) RELEASE_PATH="$(RELEASE_PATH)" $(TARGET_MAKEFILE) $@_spec
release_spec: opt
diff --git a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
index cf8e970..b0c843e 100644
--- a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
+++ b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Do not install nteventlog and related doc-files on non-win32
Signed-off-by: Peter Lemenkov
diff --git a/lib/os_mon/doc/src/Makefile b/lib/os_mon/doc/src/Makefile
-index 08fd23e..5606cfc 100644
+index 0c5acd9..5f8f1e3 100644
--- a/lib/os_mon/doc/src/Makefile
+++ b/lib/os_mon/doc/src/Makefile
-@@ -35,12 +35,17 @@ RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN)
+@@ -36,12 +36,17 @@ RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN)
# Target Specs
# ----------------------------------------------------
XML_APPLICATION_FILES = ref_man.xml
@@ -29,10 +29,10 @@ index 08fd23e..5606cfc 100644
XML_REF6_FILES = os_mon_app.xml
diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
-index cd2dade..4e78cf8 100644
+index 9aa068c..1003d24 100644
--- a/lib/os_mon/src/Makefile
+++ b/lib/os_mon/src/Makefile
-@@ -33,8 +33,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/os_mon-$(VSN)
+@@ -34,8 +34,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/os_mon-$(VSN)
# ----------------------------------------------------
# Target Specs
# ----------------------------------------------------
@@ -47,7 +47,7 @@ index cd2dade..4e78cf8 100644
INCLUDE=../include
CSRC=../c_src
-@@ -78,7 +83,11 @@ docs:
+@@ -79,7 +84,11 @@ docs:
# ----------------------------------------------------
$(APP_TARGET): $(APP_SRC) ../vsn.mk
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index 9e0e3a9..933787e 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -8,10 +8,10 @@ Signed-off-by: Peter Lemenkov
Signed-off-by: Hans Ulrich Niedermann
diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile
-index 4ea2d41..e1466c1 100644
+index 52034a0..56d91b9 100644
--- a/erts/preloaded/src/Makefile
+++ b/erts/preloaded/src/Makefile
-@@ -85,8 +85,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk
+@@ -86,8 +86,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: $(APP_TARGET)
@@ -21,10 +21,10 @@ index 4ea2d41..e1466c1 100644
$(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile
-index 6798da0..4e3ae0e 100644
+index 5b34017..d4677d6 100644
--- a/lib/asn1/src/Makefile
+++ b/lib/asn1/src/Makefile
-@@ -154,7 +154,7 @@ release_spec: opt
+@@ -155,7 +155,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -34,10 +34,10 @@ index 6798da0..4e3ae0e 100644
$(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples"
diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile
-index 8d74546..a25d85d 100644
+index 987345c..f53546a 100644
--- a/lib/common_test/src/Makefile
+++ b/lib/common_test/src/Makefile
-@@ -140,7 +140,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -144,7 +144,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -47,10 +47,10 @@ index 8d74546..a25d85d 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile
-index c6d09d8..46dcdf4 100644
+index 299b289..36a048b 100644
--- a/lib/compiler/src/Makefile
+++ b/lib/compiler/src/Makefile
-@@ -165,8 +165,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -172,8 +172,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -62,10 +62,10 @@ index c6d09d8..46dcdf4 100644
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/cosEvent/src/Makefile b/lib/cosEvent/src/Makefile
-index 2864ee0..0e27bb6 100644
+index b79f0ec..30d1a1d 100644
--- a/lib/cosEvent/src/Makefile
+++ b/lib/cosEvent/src/Makefile
-@@ -202,7 +202,7 @@ release_spec: opt
+@@ -203,7 +203,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -75,10 +75,10 @@ index 2864ee0..0e27bb6 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosEventDomain/src/Makefile b/lib/cosEventDomain/src/Makefile
-index b4b74bd..420f566 100644
+index da8dcf0..88b3993 100644
--- a/lib/cosEventDomain/src/Makefile
+++ b/lib/cosEventDomain/src/Makefile
-@@ -171,7 +171,7 @@ release_spec: opt
+@@ -172,7 +172,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -88,10 +88,10 @@ index b4b74bd..420f566 100644
$(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosFileTransfer/src/Makefile b/lib/cosFileTransfer/src/Makefile
-index 9d3abb9..c3d83a5 100644
+index f9107ff..74d337d 100644
--- a/lib/cosFileTransfer/src/Makefile
+++ b/lib/cosFileTransfer/src/Makefile
-@@ -179,9 +179,7 @@ release_spec: opt
+@@ -180,9 +180,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -103,10 +103,10 @@ index 9d3abb9..c3d83a5 100644
release_docs_spec:
diff --git a/lib/cosNotification/src/Makefile b/lib/cosNotification/src/Makefile
-index 13153bd..0860700 100644
+index 72b063f..0fdb82e 100644
--- a/lib/cosNotification/src/Makefile
+++ b/lib/cosNotification/src/Makefile
-@@ -370,8 +370,7 @@ release_spec: opt
+@@ -371,8 +371,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -117,10 +117,10 @@ index 13153bd..0860700 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosProperty/src/Makefile b/lib/cosProperty/src/Makefile
-index d7b75d8..fba8746 100644
+index cd559e1..bdf035e 100644
--- a/lib/cosProperty/src/Makefile
+++ b/lib/cosProperty/src/Makefile
-@@ -179,8 +179,7 @@ release_spec: opt
+@@ -180,8 +180,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -131,10 +131,10 @@ index d7b75d8..fba8746 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosTime/src/Makefile b/lib/cosTime/src/Makefile
-index 0ab2b41..c29caeb 100644
+index 7a14db6..4b55398 100644
--- a/lib/cosTime/src/Makefile
+++ b/lib/cosTime/src/Makefile
-@@ -198,8 +198,7 @@ release_spec: opt
+@@ -199,8 +199,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -145,10 +145,10 @@ index 0ab2b41..c29caeb 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosTransactions/src/Makefile b/lib/cosTransactions/src/Makefile
-index 7b4a9cf..290707c 100644
+index 90e1e51..05826e0 100644
--- a/lib/cosTransactions/src/Makefile
+++ b/lib/cosTransactions/src/Makefile
-@@ -173,7 +173,7 @@ release_spec: opt
+@@ -174,7 +174,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -158,10 +158,10 @@ index 7b4a9cf..290707c 100644
$(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile
-index c185c15..68bacba 100644
+index 6e4008e..c2d00fc 100644
--- a/lib/crypto/src/Makefile
+++ b/lib/crypto/src/Makefile
-@@ -81,8 +81,6 @@ docs:
+@@ -82,8 +82,6 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -171,10 +171,10 @@ index c185c15..68bacba 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile
-index d61519f..bfdb0c9 100644
+index f115f49..e7dc360 100644
--- a/lib/debugger/src/Makefile
+++ b/lib/debugger/src/Makefile
-@@ -116,7 +116,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -184,10 +184,10 @@ index d61519f..bfdb0c9 100644
$(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile
-index 91fbdca..01fb30c 100644
+index 770af21..4f8a6d8 100644
--- a/lib/dialyzer/src/Makefile
+++ b/lib/dialyzer/src/Makefile
-@@ -151,7 +151,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -152,7 +152,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -197,10 +197,10 @@ index 91fbdca..01fb30c 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile
-index 9afccf2..107d65b 100644
+index e0bbbdf..10771b2 100644
--- a/lib/diameter/src/Makefile
+++ b/lib/diameter/src/Makefile
-@@ -250,11 +250,8 @@ release_spec: opt
+@@ -251,11 +251,8 @@ release_spec: opt
$(MAKE) $(EXAMPLE_DIRS:%/=release_examples_%)
$(TARGET_DIRS:%/=release_src_%): release_src_%:
@@ -228,10 +228,10 @@ index 4e5a418..c0bb0c3 100644
release_docs_spec:
diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile
-index 2e1110e..b7f9b09 100644
+index cd3c102..b55c513 100644
--- a/lib/eldap/src/Makefile
+++ b/lib/eldap/src/Makefile
-@@ -98,10 +98,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -99,10 +99,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
@@ -243,10 +243,10 @@ index 2e1110e..b7f9b09 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile
-index ef96f5d..d9a2f0d 100644
+index 7d41506..3f3562f 100644
--- a/lib/erl_docgen/src/Makefile
+++ b/lib/erl_docgen/src/Makefile
-@@ -89,8 +89,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+@@ -90,8 +90,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -256,10 +256,10 @@ index ef96f5d..d9a2f0d 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile
-index 377e593..668e278 100644
+index 461a52d..1f2e885 100644
--- a/lib/et/src/Makefile
+++ b/lib/et/src/Makefile
-@@ -108,7 +108,6 @@ release_spec: opt
+@@ -109,7 +109,6 @@ release_spec: opt
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -268,7 +268,7 @@ index 377e593..668e278 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile
-index 47aef10..78ddc74 100644
+index 86a6d88..5732fd8 100644
--- a/lib/eunit/src/Makefile
+++ b/lib/eunit/src/Makefile
@@ -120,7 +120,6 @@ release_spec: opt
@@ -280,10 +280,10 @@ index 47aef10..78ddc74 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
diff --git a/lib/gs/src/Makefile b/lib/gs/src/Makefile
-index f0200ca..86d3f74 100644
+index ff3080e..60337dd 100644
--- a/lib/gs/src/Makefile
+++ b/lib/gs/src/Makefile
-@@ -108,8 +108,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -109,8 +109,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -295,10 +295,10 @@ index f0200ca..86d3f74 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/bitmap"
diff --git a/lib/hipe/cerl/Makefile b/lib/hipe/cerl/Makefile
-index d13dfb3..b09d62b 100644
+index 0938010..134ed7b 100644
--- a/lib/hipe/cerl/Makefile
+++ b/lib/hipe/cerl/Makefile
-@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/cerl"
@@ -308,10 +308,10 @@ index d13dfb3..b09d62b 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/flow/Makefile b/lib/hipe/flow/Makefile
-index 75e156b..5e394ca 100644
+index f0af6ac..16b512e 100644
--- a/lib/hipe/flow/Makefile
+++ b/lib/hipe/flow/Makefile
-@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/flow"
@@ -321,10 +321,10 @@ index 75e156b..5e394ca 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/icode/Makefile b/lib/hipe/icode/Makefile
-index 87015aa..84f870d 100644
+index a82e28c..f364a53 100644
--- a/lib/hipe/icode/Makefile
+++ b/lib/hipe/icode/Makefile
-@@ -119,7 +119,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -120,7 +120,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/icode"
@@ -334,10 +334,10 @@ index 87015aa..84f870d 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/llvm/Makefile b/lib/hipe/llvm/Makefile
-index 92f3789..82f3e77 100644
+index f6f6f6b..4369923 100644
--- a/lib/hipe/llvm/Makefile
+++ b/lib/hipe/llvm/Makefile
-@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -103,7 +103,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) $(RELSYSDIR)/llvm
@@ -347,10 +347,10 @@ index 92f3789..82f3e77 100644
$(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin
diff --git a/lib/hipe/main/Makefile b/lib/hipe/main/Makefile
-index 66e4c3e..2f11670 100644
+index d44be2d..ed81f10 100644
--- a/lib/hipe/main/Makefile
+++ b/lib/hipe/main/Makefile
-@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -118,7 +118,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DATA) ../vsn.mk "$(RELSYSDIR)"
$(INSTALL_DIR) "$(RELSYSDIR)/main"
@@ -360,10 +360,10 @@ index 66e4c3e..2f11670 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/misc/Makefile b/lib/hipe/misc/Makefile
-index 16166f5..0ba5845 100644
+index be5c9bc..d40b322 100644
--- a/lib/hipe/misc/Makefile
+++ b/lib/hipe/misc/Makefile
-@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/misc"
@@ -373,10 +373,10 @@ index 16166f5..0ba5845 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile
-index 751e876..98b7911 100644
+index 1bf52fe..5049bec 100644
--- a/lib/hipe/rtl/Makefile
+++ b/lib/hipe/rtl/Makefile
-@@ -104,7 +104,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -105,7 +105,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/rtl"
@@ -386,10 +386,10 @@ index 751e876..98b7911 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/util/Makefile b/lib/hipe/util/Makefile
-index a5ee232..f03e41d 100644
+index 4a78ad7..1b1ce05 100644
--- a/lib/hipe/util/Makefile
+++ b/lib/hipe/util/Makefile
-@@ -49,7 +49,6 @@ HIPE_MODULES =
+@@ -50,7 +50,6 @@ HIPE_MODULES =
endif
MODULES = hipe_timing hipe_dot hipe_digraph $(HIPE_MODULES)
@@ -397,7 +397,7 @@ index a5ee232..f03e41d 100644
ERL_FILES= $(MODULES:%=%.erl)
TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR))
DOC_FILES= $(MODULES:%=$(DOCS)/%.html)
-@@ -103,8 +102,6 @@ $(DOCS)/%.html:%.erl
+@@ -104,8 +103,6 @@ $(DOCS)/%.html:%.erl
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -407,10 +407,10 @@ index a5ee232..f03e41d 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/ic/src/Makefile b/lib/ic/src/Makefile
-index e8769d2..965d0e7 100644
+index a6da81a..60870be 100644
--- a/lib/ic/src/Makefile
+++ b/lib/ic/src/Makefile
-@@ -199,7 +199,7 @@ release_spec: opt
+@@ -200,7 +200,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -420,10 +420,10 @@ index e8769d2..965d0e7 100644
$(INSTALL_DIR) "$(RELSYSDIR)/examples/c-client"
$(INSTALL_DATA) $(CCL_EX_FILES) "$(RELSYSDIR)/examples/c-client"
diff --git a/lib/inets/src/ftp/Makefile b/lib/inets/src/ftp/Makefile
-index 2c3d2b6..de0450e 100644
+index f8daa2b..48e5d49 100644
--- a/lib/inets/src/ftp/Makefile
+++ b/lib/inets/src/ftp/Makefile
-@@ -90,7 +90,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -91,7 +91,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/ftp"
@@ -433,10 +433,10 @@ index 2c3d2b6..de0450e 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile
-index f0d4ce1..35c4ffc 100644
+index cb97b52..cb13dfb 100644
--- a/lib/inets/src/http_client/Makefile
+++ b/lib/inets/src/http_client/Makefile
-@@ -91,7 +91,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -92,7 +92,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/http_client"
@@ -446,10 +446,10 @@ index f0d4ce1..35c4ffc 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile
-index 51167b3..a623824 100644
+index 4a4eef9..c779c8e 100644
--- a/lib/inets/src/http_lib/Makefile
+++ b/lib/inets/src/http_lib/Makefile
-@@ -89,7 +89,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -90,7 +90,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/http_lib"
@@ -459,23 +459,23 @@ index 51167b3..a623824 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile
-index 2660d04..c873a27 100644
+index 1c05d45..88f9f62 100644
--- a/lib/inets/src/http_server/Makefile
+++ b/lib/inets/src/http_server/Makefile
-@@ -126,7 +126,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/http_server"
- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_server"
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_server"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
- $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile
-index 22426ee..0b0cfb8 100644
+index 82cda6a..edfebd2 100644
--- a/lib/inets/src/inets_app/Makefile
+++ b/lib/inets/src/inets_app/Makefile
-@@ -113,7 +113,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -116,7 +116,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/inets_app"
@@ -485,10 +485,10 @@ index 22426ee..0b0cfb8 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/tftp/Makefile b/lib/inets/src/tftp/Makefile
-index b368b12..5eddaf0 100644
+index d5d94e1..5583064 100644
--- a/lib/inets/src/tftp/Makefile
+++ b/lib/inets/src/tftp/Makefile
-@@ -95,7 +95,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -96,7 +96,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/tftp"
@@ -498,10 +498,10 @@ index b368b12..5eddaf0 100644
$(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile
-index c7c70ad..3e1792f 100644
+index 57daceb..1cebd80 100644
--- a/lib/kernel/src/Makefile
+++ b/lib/kernel/src/Makefile
-@@ -199,7 +199,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -200,7 +200,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -510,10 +510,10 @@ index c7c70ad..3e1792f 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/megaco/src/app/Makefile b/lib/megaco/src/app/Makefile
-index d18da53..4a9f4d2 100644
+index 8f8e6ec..9e0bc82 100644
--- a/lib/megaco/src/app/Makefile
+++ b/lib/megaco/src/app/Makefile
-@@ -113,7 +113,7 @@ release_spec: opt
+@@ -114,7 +114,7 @@ release_spec: opt
$(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/app"
@@ -523,10 +523,10 @@ index d18da53..4a9f4d2 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile
-index c1fd66b..0699ffa 100644
+index 711fbb7..1db4593 100644
--- a/lib/megaco/src/binary/Makefile
+++ b/lib/megaco/src/binary/Makefile
-@@ -175,7 +175,7 @@ release_spec: opt
+@@ -176,7 +176,7 @@ release_spec: opt
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/binary"
@@ -536,10 +536,10 @@ index c1fd66b..0699ffa 100644
release_docs_spec:
diff --git a/lib/megaco/src/engine/Makefile b/lib/megaco/src/engine/Makefile
-index 7cecef1..841a88a 100644
+index 208942c..d5b7218 100644
--- a/lib/megaco/src/engine/Makefile
+++ b/lib/megaco/src/engine/Makefile
-@@ -101,7 +101,7 @@ release_spec: opt
+@@ -102,7 +102,7 @@ release_spec: opt
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/engine"
@@ -549,23 +549,22 @@ index 7cecef1..841a88a 100644
diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
-index bd62e8b..cce5a8d 100644
+index 39be02a..8c6ba31 100644
--- a/lib/megaco/src/flex/Makefile.in
+++ b/lib/megaco/src/flex/Makefile.in
-@@ -267,8 +267,6 @@ release_spec: opt
+@@ -268,7 +268,6 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src/flex"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/flex"
-- $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
+ $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true)
$(INSTALL_DATA) $(FLEX_FILES) "$(RELSYSDIR)/src/flex"
- $(INSTALL_PROGRAM) $(SOLIBS) "$(RELSYSDIR)/priv/lib"
diff --git a/lib/megaco/src/tcp/Makefile b/lib/megaco/src/tcp/Makefile
-index 0c30aba..aa553ff 100644
+index 0c546a8..78f659a 100644
--- a/lib/megaco/src/tcp/Makefile
+++ b/lib/megaco/src/tcp/Makefile
-@@ -93,7 +93,7 @@ release_spec: opt
+@@ -94,7 +94,7 @@ release_spec: opt
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/tcp"
@@ -575,10 +574,10 @@ index 0c30aba..aa553ff 100644
release_docs_spec:
diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile
-index cab4256..d5cf217 100644
+index f4fc56a..1cc73fd 100644
--- a/lib/megaco/src/text/Makefile
+++ b/lib/megaco/src/text/Makefile
-@@ -134,7 +134,7 @@ release_spec: opt
+@@ -135,7 +135,7 @@ release_spec: opt
$(INSTALL_DATA) $(BEAM_TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/text"
@@ -588,10 +587,10 @@ index cab4256..d5cf217 100644
release_docs_spec:
diff --git a/lib/megaco/src/udp/Makefile b/lib/megaco/src/udp/Makefile
-index 9486804..ea4830c 100644
+index 7288c20..aefd9f3 100644
--- a/lib/megaco/src/udp/Makefile
+++ b/lib/megaco/src/udp/Makefile
-@@ -93,7 +93,7 @@ release_spec: opt
+@@ -94,7 +94,7 @@ release_spec: opt
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/udp"
@@ -601,10 +600,10 @@ index 9486804..ea4830c 100644
release_docs_spec:
diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile
-index ac38fa0..20bce7e 100644
+index dae0df7..6294ae9 100644
--- a/lib/mnesia/src/Makefile
+++ b/lib/mnesia/src/Makefile
-@@ -132,7 +132,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -133,7 +133,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -614,10 +613,10 @@ index ac38fa0..20bce7e 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile
-index c120865..6831d23 100644
+index 2d42510..7579014 100644
--- a/lib/observer/src/Makefile
+++ b/lib/observer/src/Makefile
-@@ -149,7 +149,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -152,7 +152,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -626,10 +625,10 @@ index c120865..6831d23 100644
$(INSTALL_DIR) "$(RELSYSDIR)/examples"
$(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples"
diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile
-index bfbda8a..6e4ad54 100644
+index 51c9ed3..50a4c10 100644
--- a/lib/odbc/src/Makefile
+++ b/lib/odbc/src/Makefile
-@@ -109,7 +109,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -110,7 +110,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -639,10 +638,10 @@ index bfbda8a..6e4ad54 100644
$(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/orber/COSS/CosNaming/Makefile b/lib/orber/COSS/CosNaming/Makefile
-index 8140620..73df530 100644
+index 0eca8dd..18d9627 100644
--- a/lib/orber/COSS/CosNaming/Makefile
+++ b/lib/orber/COSS/CosNaming/Makefile
-@@ -144,8 +144,8 @@ release_spec: opt
+@@ -145,8 +145,8 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/COSS/CosNaming"
@@ -654,10 +653,10 @@ index 8140620..73df530 100644
release_docs_spec:
diff --git a/lib/orber/src/Makefile b/lib/orber/src/Makefile
-index 398e481..f079e77 100644
+index 30b74c4..9c6708f 100644
--- a/lib/orber/src/Makefile
+++ b/lib/orber/src/Makefile
-@@ -252,7 +252,7 @@ release_spec: opt
+@@ -253,7 +253,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -667,10 +666,10 @@ index 398e481..f079e77 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) $(GEN_HRL_FILES_EXT) "$(RELSYSDIR)/include"
diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
-index 4e78cf8..69d434c 100644
+index 1003d24..1b12154 100644
--- a/lib/os_mon/src/Makefile
+++ b/lib/os_mon/src/Makefile
-@@ -104,7 +104,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -105,7 +105,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -679,10 +678,10 @@ index 4e78cf8..69d434c 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/ose/src/Makefile b/lib/ose/src/Makefile
-index 88f8957..ab08a88 100644
+index a89e939..224d944 100644
--- a/lib/ose/src/Makefile
+++ b/lib/ose/src/Makefile
-@@ -93,9 +93,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+@@ -94,9 +94,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -693,10 +692,10 @@ index 88f8957..ab08a88 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/otp_mibs/src/Makefile b/lib/otp_mibs/src/Makefile
-index 6096240..cbc41e6 100644
+index 03892cd..c3ad326 100644
--- a/lib/otp_mibs/src/Makefile
+++ b/lib/otp_mibs/src/Makefile
-@@ -95,8 +95,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+@@ -96,8 +96,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -706,10 +705,10 @@ index 6096240..cbc41e6 100644
$(INSTALL_DATA) $(TARGETS) "$(RELSYSDIR)/ebin"
diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile
-index 2ee2285..ea075ed 100644
+index dbecdd2..1d45801 100644
--- a/lib/parsetools/src/Makefile
+++ b/lib/parsetools/src/Makefile
-@@ -90,8 +90,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+@@ -91,8 +91,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -719,10 +718,10 @@ index 2ee2285..ea075ed 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/percept/src/Makefile b/lib/percept/src/Makefile
-index 0282d63..5902da3 100644
+index 9b963e0..deeb75c 100644
--- a/lib/percept/src/Makefile
+++ b/lib/percept/src/Makefile
-@@ -96,7 +96,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -97,7 +97,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -731,10 +730,10 @@ index 0282d63..5902da3 100644
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
# $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile
-index c1b3bc8..3d021cf 100644
+index 7474297..a510658 100644
--- a/lib/public_key/asn1/Makefile
+++ b/lib/public_key/asn1/Makefile
-@@ -95,8 +95,8 @@ release_spec: opt
+@@ -96,8 +96,8 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/asn1"
@@ -746,19 +745,10 @@ index c1b3bc8..3d021cf 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile
-index 09393e8..eb4c54d 100644
+index 786f244..0463c67 100644
--- a/lib/public_key/src/Makefile
+++ b/lib/public_key/src/Makefile
-@@ -49,8 +49,6 @@ MODULES = \
-
- HRL_FILES = $(INCLUDE)/public_key.hrl
-
--INTERNAL_HRL_FILES =
--
- ERL_FILES = $(MODULES:%=%.erl)
-
- TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR))
-@@ -103,8 +101,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+@@ -109,8 +109,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -768,10 +758,10 @@ index 09393e8..eb4c54d 100644
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile
-index b8387ff..2012af9 100644
+index 1fea415..a756470 100644
--- a/lib/reltool/src/Makefile
+++ b/lib/reltool/src/Makefile
-@@ -99,7 +99,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -100,7 +100,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -781,10 +771,10 @@ index b8387ff..2012af9 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/runtime_tools/src/Makefile b/lib/runtime_tools/src/Makefile
-index 8d2bcfe..d1a9cac 100644
+index 99b90f9..25b3ebb 100644
--- a/lib/runtime_tools/src/Makefile
+++ b/lib/runtime_tools/src/Makefile
-@@ -96,8 +96,6 @@ docs:
+@@ -97,8 +97,6 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -794,10 +784,10 @@ index 8d2bcfe..d1a9cac 100644
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/examples"
diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile
-index ab2d3a3..bb53a67 100644
+index 7ff6a03..a304900 100644
--- a/lib/sasl/src/Makefile
+++ b/lib/sasl/src/Makefile
-@@ -92,7 +92,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -93,7 +93,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -806,10 +796,10 @@ index ab2d3a3..bb53a67 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/snmp/src/agent/Makefile b/lib/snmp/src/agent/Makefile
-index beed696..752072d 100644
+index 89037b3..01de885 100644
--- a/lib/snmp/src/agent/Makefile
+++ b/lib/snmp/src/agent/Makefile
-@@ -130,7 +130,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -131,7 +131,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/agent"
@@ -819,10 +809,10 @@ index beed696..752072d 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile
-index b8cc4b8..d806efb 100644
+index 7972d95..78a9f2b 100644
--- a/lib/snmp/src/app/Makefile
+++ b/lib/snmp/src/app/Makefile
-@@ -131,7 +131,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -132,7 +132,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/app"
@@ -832,10 +822,10 @@ index b8cc4b8..d806efb 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/snmp/src/compile/Makefile b/lib/snmp/src/compile/Makefile
-index f63fc18..9759451 100644
+index 54f2e22..488faa4 100644
--- a/lib/snmp/src/compile/Makefile
+++ b/lib/snmp/src/compile/Makefile
-@@ -122,7 +122,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -123,7 +123,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/compiler"
@@ -845,10 +835,10 @@ index f63fc18..9759451 100644
$(INSTALL_DATA) $(EBIN_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/bin"
diff --git a/lib/snmp/src/manager/Makefile b/lib/snmp/src/manager/Makefile
-index c76dbac..548823a 100644
+index 382f83b..db50c26 100644
--- a/lib/snmp/src/manager/Makefile
+++ b/lib/snmp/src/manager/Makefile
-@@ -113,7 +113,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -114,7 +114,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/manager"
@@ -858,10 +848,10 @@ index c76dbac..548823a 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile
-index 698c341..3344a0c 100644
+index c71ecf9..d17e699 100644
--- a/lib/snmp/src/misc/Makefile
+++ b/lib/snmp/src/misc/Makefile
-@@ -111,7 +111,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -112,7 +112,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/misc"
@@ -871,7 +861,7 @@ index 698c341..3344a0c 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile
-index 90d7110..e725c6c 100644
+index b44c8ee..8f8b58d 100644
--- a/lib/ssh/src/Makefile
+++ b/lib/ssh/src/Makefile
@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -884,10 +874,10 @@ index 90d7110..e725c6c 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index 0c00a65..acec405 100644
+index 790328d..db08822 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
-@@ -137,7 +137,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -141,7 +141,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -897,10 +887,10 @@ index 0c00a65..acec405 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile
-index 9ab2cd4..876bfd2 100644
+index 9f4a446..50ac11e 100644
--- a/lib/stdlib/src/Makefile
+++ b/lib/stdlib/src/Makefile
-@@ -203,7 +203,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -207,7 +207,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -909,23 +899,23 @@ index 9ab2cd4..876bfd2 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/syntax_tools/src/Makefile b/lib/syntax_tools/src/Makefile
-index c9fbad8..2fc7f18 100644
+index 2e91adf..0085fca 100644
--- a/lib/syntax_tools/src/Makefile
+++ b/lib/syntax_tools/src/Makefile
-@@ -82,8 +82,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -100,8 +100,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin"
- $(INSTALL_DIR) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) $(SOURCES) "$(RELSYSDIR)/src"
-
- release_docs_spec:
+ $(INSTALL_DIR) "$(RELSYSDIR)/include"
+ $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
diff --git a/lib/test_server/src/Makefile b/lib/test_server/src/Makefile
-index 35bbad3..deb7caf 100644
+index 6a26ee2..7336477 100644
--- a/lib/test_server/src/Makefile
+++ b/lib/test_server/src/Makefile
-@@ -123,7 +123,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -124,7 +124,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -934,10 +924,10 @@ index 35bbad3..deb7caf 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile
-index e606b97..1beb8cc 100644
+index 9fcfb79..b30b173 100644
--- a/lib/tools/src/Makefile
+++ b/lib/tools/src/Makefile
-@@ -106,7 +106,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -107,7 +107,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -947,10 +937,10 @@ index e606b97..1beb8cc 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/typer/src/Makefile b/lib/typer/src/Makefile
-index a7059de..0b1ae2a 100644
+index 620ca21..9c9390e 100644
--- a/lib/typer/src/Makefile
+++ b/lib/typer/src/Makefile
-@@ -101,9 +101,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+@@ -102,9 +102,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -961,10 +951,10 @@ index a7059de..0b1ae2a 100644
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/webtool/src/Makefile b/lib/webtool/src/Makefile
-index af565c8..6c65b26 100644
+index a5a8eaf..be80ba7 100644
--- a/lib/webtool/src/Makefile
+++ b/lib/webtool/src/Makefile
-@@ -87,8 +87,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
+@@ -88,8 +88,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -974,10 +964,10 @@ index af565c8..6c65b26 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile
-index 26574ed..266a5d6 100644
+index b345e34..153a270 100644
--- a/lib/wx/src/Makefile
+++ b/lib/wx/src/Makefile
-@@ -121,9 +121,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES)
+@@ -122,9 +122,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES)
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -990,10 +980,10 @@ index 26574ed..266a5d6 100644
$(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile
-index d5ce3fe..e21e4b1 100644
+index f8f0320..099513e 100644
--- a/lib/xmerl/src/Makefile
+++ b/lib/xmerl/src/Makefile
-@@ -217,9 +217,7 @@ release_spec: opt
+@@ -218,9 +218,7 @@ release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/src"
diff --git a/otp-0007-Split-off-webtool-dependency-from-tools.patch b/otp-0007-Split-off-webtool-dependency-from-tools.patch
index f2de8ac..9a06884 100644
--- a/otp-0007-Split-off-webtool-dependency-from-tools.patch
+++ b/otp-0007-Split-off-webtool-dependency-from-tools.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Split off webtool dependency from tools
Signed-off-by: Peter Lemenkov
diff --git a/lib/tools/src/cover_web.erl b/lib/tools/src/cover_web.erl
-index 69f2f3b..9085300 100644
+index ae8b3f2..539ca96 100644
--- a/lib/tools/src/cover_web.erl
+++ b/lib/tools/src/cover_web.erl
-@@ -50,14 +50,25 @@
+@@ -51,14 +51,25 @@
%%%----------------------------------------------------------------------
%% Start webtool and webcover from erlang shell
start() ->
diff --git a/otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch b/otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
new file mode 100644
index 0000000..9a60730
--- /dev/null
+++ b/otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
@@ -0,0 +1,31 @@
+From: John Eckersberg
+Date: Wed, 16 Dec 2015 11:03:42 -0500
+Subject: [PATCH] Add patch to crash dump on large distribution
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1291822
+https://bugzilla.redhat.com/show_bug.cgi?id=1291855
+https://bugzilla.redhat.com/show_bug.cgi?id=1291856
+https://bugzilla.redhat.com/show_bug.cgi?id=1291857
+
+diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c
+index 7be2b77..c3b6a7d 100644
+--- a/erts/emulator/beam/dist.c
++++ b/erts/emulator/beam/dist.c
+@@ -1980,7 +1980,7 @@ dist_port_command(Port *prt, ErtsDistOutputBuf *obuf)
+ ERTS_SMP_LC_ASSERT(erts_lc_is_port_locked(prt));
+
+ if (size > (Uint) INT_MAX)
+- erl_exit(ERTS_ABORT_EXIT,
++ erl_exit(ERTS_DUMP_EXIT,
+ "Absurdly large distribution output data buffer "
+ "(%beu bytes) passed.\n",
+ size);
+@@ -2020,7 +2020,7 @@ dist_port_commandv(Port *prt, ErtsDistOutputBuf *obuf)
+ ERTS_SMP_LC_ASSERT(erts_lc_is_port_locked(prt));
+
+ if (size > (Uint) INT_MAX)
+- erl_exit(ERTS_ABORT_EXIT,
++ erl_exit(ERTS_DUMP_EXIT,
+ "Absurdly large distribution output data buffer "
+ "(%beu bytes) passed.\n",
+ size);
diff --git a/otp-0008-Introduce-os-getenv-2.patch b/otp-0008-Introduce-os-getenv-2.patch
deleted file mode 100644
index 6c48db2..0000000
--- a/otp-0008-Introduce-os-getenv-2.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From: Peter Lemenkov
-Date: Sat, 8 Nov 2014 15:11:04 +0300
-Subject: [PATCH] Introduce os:getenv/2
-
-Signed-off-by: Peter Lemenkov
-
-diff --git a/lib/kernel/doc/src/os.xml b/lib/kernel/doc/src/os.xml
-index 2b57e75..8b85f24 100644
---- a/lib/kernel/doc/src/os.xml
-+++ b/lib/kernel/doc/src/os.xml
-@@ -100,6 +100,19 @@ DirOut = os:cmd("dir"), % on Win32 platform
-
-
-
-+
-+ Get the value of an environment variable
-+
-+ Returns the Value of the environment variable
-+ VarName , or DefaultValue if the environment variable
-+ is undefined.
-+ If Unicode file name encoding is in effect (see the erl manual
-+ page ), the strings (both VarName and
-+ Value ) may contain characters with codepoints > 255.
-+
-+
-+
-
- Return the process identifier of the emulator process
-
-diff --git a/lib/kernel/src/os.erl b/lib/kernel/src/os.erl
-index 187fd00..8aaf13b 100644
---- a/lib/kernel/src/os.erl
-+++ b/lib/kernel/src/os.erl
-@@ -26,7 +26,7 @@
-
- %%% BIFs
-
---export([getenv/0, getenv/1, getpid/0, putenv/2, timestamp/0, unsetenv/1]).
-+-export([getenv/0, getenv/1, getenv/2, getpid/0, putenv/2, timestamp/0, unsetenv/1]).
-
- -spec getenv() -> [string()].
-
-@@ -39,6 +39,19 @@ getenv() -> erlang:nif_error(undef).
- getenv(_) ->
- erlang:nif_error(undef).
-
-+-spec getenv(VarName, DefaultValue) -> Value when
-+ VarName :: string(),
-+ DefaultValue :: string(),
-+ Value :: string().
-+
-+getenv(VarName, DefaultValue) ->
-+ case os:getenv(VarName) of
-+ false ->
-+ DefaultValue;
-+ Value ->
-+ Value
-+ end.
-+
- -spec getpid() -> Value when
- Value :: string().
-
diff --git a/otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch b/otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
deleted file mode 100644
index fa55663..0000000
--- a/otp-0009-Patch-removes-support-for-SSLv3-protocol-because-it-.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From: Sergei Golovan
-Date: Sun, 30 Nov 2014 20:20:41 +0300
-Subject: [PATCH] Patch removes support for SSLv3 protocol because it is proved
- to be insecure and nobody should use it anymore.
-
-
-diff --git a/lib/ssl/doc/src/ssl.xml b/lib/ssl/doc/src/ssl.xml
-index b53344e..b245621 100644
---- a/lib/ssl/doc/src/ssl.xml
-+++ b/lib/ssl/doc/src/ssl.xml
-@@ -123,7 +123,7 @@
-
- sslsocket() - opaque to the user.
-
-- protocol() = sslv3 | tlsv1 | 'tlsv1.1' | 'tlsv1.2'
-+ protocol() = tlsv1 | 'tlsv1.1' | 'tlsv1.2'
-
- ciphers() = [ciphersuite()] | string() (according to old API)
-
-diff --git a/lib/ssl/doc/src/ssl_app.xml b/lib/ssl/doc/src/ssl_app.xml
-index 43cb393..ff12e04 100644
---- a/lib/ssl/doc/src/ssl_app.xml
-+++ b/lib/ssl/doc/src/ssl_app.xml
-@@ -47,10 +47,10 @@
-
- Note that the environment parameters can be set on the command line,
- for instance,
-- erl ... -ssl protocol_version '[sslv3, tlsv1]' ... .
-+
erl ... -ssl protocol_version '[tlsv1.1, tlsv1]' ... .
-
-
-- ]]> .
-+ ]]> .
- -
-
Protocol that will be supported by started clients and
- servers. If this option is not set it will default to all
-@@ -58,6 +58,9 @@
- Note that this option may be overridden by the version option
- to ssl:connect/[2,3] and ssl:listen/2.
-
-+ For Debian GNU/Linux distribution the sslv3 protocol was
-+ disabled due to its security issues.
-+
-
-
- ]]>
-diff --git a/lib/ssl/src/ssl_internal.hrl b/lib/ssl/src/ssl_internal.hrl
-index 75efb64..155fa81 100644
---- a/lib/ssl/src/ssl_internal.hrl
-+++ b/lib/ssl/src/ssl_internal.hrl
-@@ -67,8 +67,8 @@
- -define(TRUE, 0).
- -define(FALSE, 1).
-
---define(ALL_SUPPORTED_VERSIONS, ['tlsv1.2', 'tlsv1.1', tlsv1, sslv3]).
---define(MIN_SUPPORTED_VERSIONS, ['tlsv1.1', tlsv1, sslv3]).
-+-define(ALL_SUPPORTED_VERSIONS, ['tlsv1.2', 'tlsv1.1', tlsv1]).
-+-define(MIN_SUPPORTED_VERSIONS, ['tlsv1.1', tlsv1]).
- -define(ALL_DATAGRAM_SUPPORTED_VERSIONS, ['dtlsv1.2', dtlsv1]).
- -define(MIN_DATAGRAM_SUPPORTED_VERSIONS, ['dtlsv1.2', dtlsv1]).
-
-diff --git a/lib/ssl/src/ssl_record.hrl b/lib/ssl/src/ssl_record.hrl
-index 6aab35d..1511abd 100644
---- a/lib/ssl/src/ssl_record.hrl
-+++ b/lib/ssl/src/ssl_record.hrl
-@@ -144,6 +144,7 @@
- %% }).
-
- -define(LOWEST_MAJOR_SUPPORTED_VERSION, 3).
-+-define(LOWEST_MINOR_SUPPORTED_VERSION, 1).
-
-
- -record(generic_stream_cipher, {
-diff --git a/lib/ssl/src/tls_record.erl b/lib/ssl/src/tls_record.erl
-index f50ea22..aa4fc8d 100644
---- a/lib/ssl/src/tls_record.erl
-+++ b/lib/ssl/src/tls_record.erl
-@@ -276,14 +276,20 @@ supported_protocol_versions([_|_] = Vsns) ->
- %%--------------------------------------------------------------------
- -spec is_acceptable_version(tls_version()) -> boolean().
- is_acceptable_version({N,_})
-- when N >= ?LOWEST_MAJOR_SUPPORTED_VERSION ->
-+ when N > ?LOWEST_MAJOR_SUPPORTED_VERSION ->
-+ true;
-+is_acceptable_version({N,M})
-+ when N == ?LOWEST_MAJOR_SUPPORTED_VERSION andalso M >= ?LOWEST_MINOR_SUPPORTED_VERSION ->
- true;
- is_acceptable_version(_) ->
- false.
-
- -spec is_acceptable_version(tls_version(), Supported :: [tls_version()]) -> boolean().
- is_acceptable_version({N,_} = Version, Versions)
-- when N >= ?LOWEST_MAJOR_SUPPORTED_VERSION ->
-+ when N > ?LOWEST_MAJOR_SUPPORTED_VERSION ->
-+ lists:member(Version, Versions);
-+is_acceptable_version({N,M} = Version, Versions)
-+ when N == ?LOWEST_MAJOR_SUPPORTED_VERSION andalso M >= ?LOWEST_MINOR_SUPPORTED_VERSION ->
- lists:member(Version, Versions);
- is_acceptable_version(_,_) ->
- false.
diff --git a/otp-0010-ssl-Reenable-padding-check-for-TLS-1.0-and-provide-b.patch b/otp-0010-ssl-Reenable-padding-check-for-TLS-1.0-and-provide-b.patch
deleted file mode 100644
index 04dd246..0000000
--- a/otp-0010-ssl-Reenable-padding-check-for-TLS-1.0-and-provide-b.patch
+++ /dev/null
@@ -1,576 +0,0 @@
-diff -Naur otp-OTP-17.4.orig/lib/ssl/doc/src/ssl.xml otp-OTP-17.4/lib/ssl/doc/src/ssl.xml
---- otp-OTP-17.4.orig/lib/ssl/doc/src/ssl.xml 2015-08-05 16:52:39.988500514 -0400
-+++ otp-OTP-17.4/lib/ssl/doc/src/ssl.xml 2015-08-05 16:52:50.478441422 -0400
-@@ -4,7 +4,7 @@
-
-
-
-- 1999 2014
-+ 1999 2015
- Ericsson AB. All Rights Reserved.
-
-
-@@ -348,11 +348,23 @@
-
-
-
-+ {padding_check, boolean()}
-+ -
-+
This option only affects TLS-1.0 connections.
-+ If set to false it disables the block cipher padding check
-+ to be able to interoperate with legacy software.
-+
-+
-+ Using this option makes TLS vulnerable to
-+ the Poodle attack
-+
-+
-+
-
--
-+
-
--
--
-+
-+
- SSL OPTION DESCRIPTIONS - CLIENT SIDE
-
- Options described here are client specific or has a slightly different
-diff -Naur otp-OTP-17.4.orig/lib/ssl/src/dtls_record.erl otp-OTP-17.4/lib/ssl/src/dtls_record.erl
---- otp-OTP-17.4.orig/lib/ssl/src/dtls_record.erl 2015-08-05 16:52:39.989500508 -0400
-+++ otp-OTP-17.4/lib/ssl/src/dtls_record.erl 2015-08-05 16:52:50.478441422 -0400
-@@ -1,7 +1,7 @@
- %%
- %% %CopyrightBegin%
- %%
--%% Copyright Ericsson AB 2013-2014. All Rights Reserved.
-+%% Copyright Ericsson AB 2013-2015. All Rights Reserved.
- %%
- %% The contents of this file are subject to the Erlang Public License,
- %% Version 1.1, (the "License"); you may not use this file except in
-@@ -146,7 +146,7 @@
- = ConnnectionStates0) ->
- CompressAlg = SecParams#security_parameters.compression_algorithm,
- {PlainFragment, Mac, ReadState1} = ssl_record:decipher(dtls_v1:corresponding_tls_version(Version),
-- CipherFragment, ReadState0),
-+ CipherFragment, ReadState0, true),
- MacHash = calc_mac_hash(ReadState1, Type, Version, Epoch, Seq, PlainFragment),
- case ssl_record:is_correct_mac(Mac, MacHash) of
- true ->
-diff -Naur otp-OTP-17.4.orig/lib/ssl/src/ssl_cipher.erl otp-OTP-17.4/lib/ssl/src/ssl_cipher.erl
---- otp-OTP-17.4.orig/lib/ssl/src/ssl_cipher.erl 2015-08-05 16:52:39.989500508 -0400
-+++ otp-OTP-17.4/lib/ssl/src/ssl_cipher.erl 2015-08-05 16:52:50.479441417 -0400
-@@ -1,7 +1,7 @@
- %%
- %% %CopyrightBegin%
- %%
--%% Copyright Ericsson AB 2007-2014. All Rights Reserved.
-+%% Copyright Ericsson AB 2007-2015. All Rights Reserved.
- %%
- %% The contents of this file are subject to the Erlang Public License,
- %% Version 1.1, (the "License"); you may not use this file except in
-@@ -33,8 +33,7 @@
- -include_lib("public_key/include/public_key.hrl").
-
- -export([security_parameters/2, security_parameters/3, suite_definition/1,
-- decipher/5, cipher/5,
-- suite/1, suites/1, all_suites/1,
-+ decipher/6, cipher/5, suite/1, suites/1, all_suites/1,
- ec_keyed_suites/0, anonymous_suites/0, psk_suites/1, srp_suites/0,
- openssl_suite/1, openssl_suite_name/1, filter/2, filter_suites/1,
- hash_algorithm/1, sign_algorithm/1, is_acceptable_hash/2]).
-@@ -143,17 +142,18 @@
- {T, CS0#cipher_state{iv=NextIV}}.
-
- %%--------------------------------------------------------------------
---spec decipher(cipher_enum(), integer(), #cipher_state{}, binary(), ssl_record:ssl_version()) ->
-+-spec decipher(cipher_enum(), integer(), #cipher_state{}, binary(),
-+ ssl_record:ssl_version(), boolean()) ->
- {binary(), binary(), #cipher_state{}} | #alert{}.
- %%
- %% Description: Decrypts the data and the MAC using cipher described
- %% by cipher_enum() and updating the cipher state.
- %%-------------------------------------------------------------------
--decipher(?NULL, _HashSz, CipherState, Fragment, _) ->
-+decipher(?NULL, _HashSz, CipherState, Fragment, _, _) ->
- {Fragment, <<>>, CipherState};
--decipher(?RC4, HashSz, CipherState, Fragment, _) ->
-+decipher(?RC4, HashSz, CipherState, Fragment, _, _) ->
- State0 = case CipherState#cipher_state.state of
-- undefined -> crypto:stream_init(rc4, CipherState#cipher_state.key);
-+ undefined -> crypto:stream_init(rc4, CipherState#cipher_state.key);
- S -> S
- end,
- try crypto:stream_decrypt(State0, Fragment) of
-@@ -171,23 +171,23 @@
- ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC)
- end;
-
--decipher(?DES, HashSz, CipherState, Fragment, Version) ->
-+decipher(?DES, HashSz, CipherState, Fragment, Version, PaddingCheck) ->
- block_decipher(fun(Key, IV, T) ->
- crypto:block_decrypt(des_cbc, Key, IV, T)
-- end, CipherState, HashSz, Fragment, Version);
--decipher(?'3DES', HashSz, CipherState, Fragment, Version) ->
-+ end, CipherState, HashSz, Fragment, Version, PaddingCheck);
-+decipher(?'3DES', HashSz, CipherState, Fragment, Version, PaddingCheck) ->
- block_decipher(fun(<>, IV, T) ->
- crypto:block_decrypt(des3_cbc, [K1, K2, K3], IV, T)
-- end, CipherState, HashSz, Fragment, Version);
--decipher(?AES, HashSz, CipherState, Fragment, Version) ->
-+ end, CipherState, HashSz, Fragment, Version, PaddingCheck);
-+decipher(?AES, HashSz, CipherState, Fragment, Version, PaddingCheck) ->
- block_decipher(fun(Key, IV, T) when byte_size(Key) =:= 16 ->
- crypto:block_decrypt(aes_cbc128, Key, IV, T);
- (Key, IV, T) when byte_size(Key) =:= 32 ->
- crypto:block_decrypt(aes_cbc256, Key, IV, T)
-- end, CipherState, HashSz, Fragment, Version).
-+ end, CipherState, HashSz, Fragment, Version, PaddingCheck).
-
- block_decipher(Fun, #cipher_state{key=Key, iv=IV} = CipherState0,
-- HashSz, Fragment, Version) ->
-+ HashSz, Fragment, Version, PaddingCheck) ->
- try
- Text = Fun(Key, IV, Fragment),
- NextIV = next_iv(Fragment, IV),
-@@ -195,7 +195,7 @@
- Content = GBC#generic_block_cipher.content,
- Mac = GBC#generic_block_cipher.mac,
- CipherState1 = CipherState0#cipher_state{iv=GBC#generic_block_cipher.next_iv},
-- case is_correct_padding(GBC, Version) of
-+ case is_correct_padding(GBC, Version, PaddingCheck) of
- true ->
- {Content, Mac, CipherState1};
- false ->
-@@ -1288,16 +1288,18 @@
- #generic_stream_cipher{content=Content,
- mac=Mac}.
-
--%% For interoperability reasons we do not check the padding content in
--%% SSL 3.0 and TLS 1.0 as it is not strictly required and breaks
--%% interopability with for instance Google.
- is_correct_padding(#generic_block_cipher{padding_length = Len,
-- padding = Padding}, {3, N})
-- when N == 0; N == 1 ->
-- Len == byte_size(Padding);
--%% Padding must be check in TLS 1.1 and after
-+ padding = Padding}, {3, 0}, _) ->
-+ Len == byte_size(Padding); %% Only length check is done in SSL 3.0 spec
-+%% For interoperability reasons it is possible to disable
-+%% the padding check when using TLS 1.0, as it is not strictly required
-+%% in the spec (only recommended), howerver this makes TLS 1.0 vunrable to the Poodle attack
-+%% so by default this clause will not match
-+is_correct_padding(GenBlockCipher, {3, 1}, false) ->
-+ is_correct_padding(GenBlockCipher, {3, 0}, false);
-+%% Padding must be checked in TLS 1.1 and after
- is_correct_padding(#generic_block_cipher{padding_length = Len,
-- padding = Padding}, _) ->
-+ padding = Padding}, _, _) ->
- Len == byte_size(Padding) andalso
- list_to_binary(lists:duplicate(Len, Len)) == Padding.
-
-diff -Naur otp-OTP-17.4.orig/lib/ssl/src/ssl.erl otp-OTP-17.4/lib/ssl/src/ssl.erl
---- otp-OTP-17.4.orig/lib/ssl/src/ssl.erl 2015-08-05 16:52:39.989500508 -0400
-+++ otp-OTP-17.4/lib/ssl/src/ssl.erl 2015-08-05 16:52:50.479441417 -0400
-@@ -1,7 +1,7 @@
- %%
- %% %CopyrightBegin%
- %%
--%% Copyright Ericsson AB 1999-2014. All Rights Reserved.
-+%% Copyright Ericsson AB 1999-2015. All Rights Reserved.
- %%
- %% The contents of this file are subject to the Erlang Public License,
- %% Version 1.1, (the "License"); you may not use this file except in
-@@ -656,7 +656,8 @@
- log_alert = handle_option(log_alert, Opts, true),
- server_name_indication = handle_option(server_name_indication, Opts, undefined),
- honor_cipher_order = handle_option(honor_cipher_order, Opts, false),
-- protocol = proplists:get_value(protocol, Opts, tls)
-+ protocol = proplists:get_value(protocol, Opts, tls),
-+ padding_check = proplists:get_value(padding_check, Opts, true)
- },
-
- CbInfo = proplists:get_value(cb_info, Opts, {gen_tcp, tcp, tcp_closed, tcp_error}),
-@@ -669,7 +670,7 @@
- cb_info, renegotiate_at, secure_renegotiate, hibernate_after,
- erl_dist, next_protocols_advertised,
- client_preferred_next_protocols, log_alert,
-- server_name_indication, honor_cipher_order],
-+ server_name_indication, honor_cipher_order, padding_check],
-
- SockOpts = lists:foldl(fun(Key, PropList) ->
- proplists:delete(Key, PropList)
-@@ -847,6 +848,8 @@
- undefined;
- validate_option(honor_cipher_order, Value) when is_boolean(Value) ->
- Value;
-+validate_option(padding_check, Value) when is_boolean(Value) ->
-+ Value;
- validate_option(Opt, Value) ->
- throw({error, {options, {Opt, Value}}}).
-
-diff -Naur otp-OTP-17.4.orig/lib/ssl/src/ssl_internal.hrl otp-OTP-17.4/lib/ssl/src/ssl_internal.hrl
---- otp-OTP-17.4.orig/lib/ssl/src/ssl_internal.hrl 2015-08-05 16:52:39.990500503 -0400
-+++ otp-OTP-17.4/lib/ssl/src/ssl_internal.hrl 2015-08-05 16:52:50.479441417 -0400
-@@ -1,7 +1,7 @@
- %%
- %% %CopyrightBegin%
- %%
--%% Copyright Ericsson AB 2007-2014. All Rights Reserved.
-+%% Copyright Ericsson AB 2007-2015. All Rights Reserved.
- %%
- %% The contents of this file are subject to the Erlang Public License,
- %% Version 1.1, (the "License"); you may not use this file except in
-@@ -117,7 +117,8 @@
- server_name_indication = undefined,
- %% Should the server prefer its own cipher order over the one provided by
- %% the client?
-- honor_cipher_order = false
-+ honor_cipher_order = false,
-+ padding_check = true
- }).
-
- -record(socket_options,
-diff -Naur otp-OTP-17.4.orig/lib/ssl/src/ssl_record.erl otp-OTP-17.4/lib/ssl/src/ssl_record.erl
---- otp-OTP-17.4.orig/lib/ssl/src/ssl_record.erl 2015-08-05 16:52:39.989500508 -0400
-+++ otp-OTP-17.4/lib/ssl/src/ssl_record.erl 2015-08-05 16:52:50.479441417 -0400
-@@ -1,7 +1,7 @@
- %%
- %% %CopyrightBegin%
- %%
--%% Copyright Ericsson AB 2013-2014. All Rights Reserved.
-+%% Copyright Ericsson AB 2013-2015. All Rights Reserved.
- %%
- %% The contents of this file are subject to the Erlang Public License,
- %% Version 1.1, (the "License"); you may not use this file except in
-@@ -48,7 +48,7 @@
- -export([compress/3, uncompress/3, compressions/0]).
-
- %% Payload encryption/decryption
---export([cipher/4, decipher/3, is_correct_mac/2]).
-+-export([cipher/4, decipher/4, is_correct_mac/2]).
-
- -export_type([ssl_version/0, ssl_atom_version/0]).
-
-@@ -376,8 +376,9 @@
- {CipherFragment, CipherS1} =
- ssl_cipher:cipher(BulkCipherAlgo, CipherS0, MacHash, Fragment, Version),
- {CipherFragment, WriteState0#connection_state{cipher_state = CipherS1}}.
-+
- %%--------------------------------------------------------------------
---spec decipher(ssl_version(), binary(), #connection_state{}) -> {binary(), binary(), #connection_state{}} | #alert{}.
-+-spec decipher(ssl_version(), binary(), #connection_state{}, boolean()) -> {binary(), binary(), #connection_state{}} | #alert{}.
- %%
- %% Description: Payload decryption
- %%--------------------------------------------------------------------
-@@ -387,8 +388,8 @@
- BulkCipherAlgo,
- hash_size = HashSz},
- cipher_state = CipherS0
-- } = ReadState) ->
-- case ssl_cipher:decipher(BulkCipherAlgo, HashSz, CipherS0, CipherFragment, Version) of
-+ } = ReadState, PaddingCheck) ->
-+ case ssl_cipher:decipher(BulkCipherAlgo, HashSz, CipherS0, CipherFragment, Version, PaddingCheck) of
- {PlainFragment, Mac, CipherS1} ->
- CS1 = ReadState#connection_state{cipher_state = CipherS1},
- {PlainFragment, Mac, CS1};
-diff -Naur otp-OTP-17.4.orig/lib/ssl/src/tls_connection.erl otp-OTP-17.4/lib/ssl/src/tls_connection.erl
---- otp-OTP-17.4.orig/lib/ssl/src/tls_connection.erl 2015-08-05 16:52:39.990500503 -0400
-+++ otp-OTP-17.4/lib/ssl/src/tls_connection.erl 2015-08-05 16:52:50.479441417 -0400
-@@ -1,7 +1,7 @@
- %%
- %% %CopyrightBegin%
- %%
--%% Copyright Ericsson AB 2007-2014. All Rights Reserved.
-+%% Copyright Ericsson AB 2007-2015. All Rights Reserved.
- %%
- %% The contents of this file are subject to the Erlang Public License,
- %% Version 1.1, (the "License"); you may not use this file except in
-@@ -482,8 +482,9 @@
- next_record(#state{protocol_buffers =
- #protocol_buffers{tls_packets = [], tls_cipher_texts = [CT | Rest]}
- = Buffers,
-- connection_states = ConnStates0} = State) ->
-- case tls_record:decode_cipher_text(CT, ConnStates0) of
-+ connection_states = ConnStates0,
-+ ssl_options = #ssl_options{padding_check = Check}} = State) ->
-+ case tls_record:decode_cipher_text(CT, ConnStates0, Check) of
- {Plain, ConnStates} ->
- {Plain, State#state{protocol_buffers =
- Buffers#protocol_buffers{tls_cipher_texts = Rest},
-diff -Naur otp-OTP-17.4.orig/lib/ssl/src/tls_record.erl otp-OTP-17.4/lib/ssl/src/tls_record.erl
---- otp-OTP-17.4.orig/lib/ssl/src/tls_record.erl 2015-08-05 16:52:39.990500503 -0400
-+++ otp-OTP-17.4/lib/ssl/src/tls_record.erl 2015-08-05 16:52:50.480441411 -0400
-@@ -1,7 +1,7 @@
- %%
- %% %CopyrightBegin%
- %%
--%% Copyright Ericsson AB 2007-2014. All Rights Reserved.
-+%% Copyright Ericsson AB 2007-2015. All Rights Reserved.
- %%
- %% The contents of this file are subject to the Erlang Public License,
- %% Version 1.1, (the "License"); you may not use this file except in
-@@ -34,7 +34,7 @@
- -export([get_tls_records/2]).
-
- %% Decoding
---export([decode_cipher_text/2]).
-+-export([decode_cipher_text/3]).
-
- %% Encoding
- -export([encode_plain_text/4]).
-@@ -142,19 +142,21 @@
- {CipherText, ConnectionStates#connection_states{current_write = WriteState#connection_state{sequence_number = Seq +1}}}.
-
- %%--------------------------------------------------------------------
---spec decode_cipher_text(#ssl_tls{}, #connection_states{}) ->
-+-spec decode_cipher_text(#ssl_tls{}, #connection_states{}, boolean()) ->
- {#ssl_tls{}, #connection_states{}}| #alert{}.
- %%
- %% Description: Decode cipher text
- %%--------------------------------------------------------------------
- decode_cipher_text(#ssl_tls{type = Type, version = Version,
-- fragment = CipherFragment} = CipherText, ConnnectionStates0) ->
-- ReadState0 = ConnnectionStates0#connection_states.current_read,
-- #connection_state{compression_state = CompressionS0,
-- sequence_number = Seq,
-- security_parameters = SecParams} = ReadState0,
-- CompressAlg = SecParams#security_parameters.compression_algorithm,
-- case ssl_record:decipher(Version, CipherFragment, ReadState0) of
-+ fragment = CipherFragment} = CipherText,
-+ #connection_states{current_read =
-+ #connection_state{
-+ compression_state = CompressionS0,
-+ sequence_number = Seq,
-+ security_parameters=
-+ #security_parameters{compression_algorithm = CompressAlg}
-+ } = ReadState0} = ConnnectionStates0, PaddingCheck) ->
-+ case ssl_record:decipher(Version, CipherFragment, ReadState0, PaddingCheck) of
- {PlainFragment, Mac, ReadState1} ->
- MacHash = calc_mac_hash(Type, Version, PlainFragment, ReadState1),
- case ssl_record:is_correct_mac(Mac, MacHash) of
-diff -Naur otp-OTP-17.4.orig/lib/ssl/test/ssl_cipher_SUITE.erl otp-OTP-17.4/lib/ssl/test/ssl_cipher_SUITE.erl
---- otp-OTP-17.4.orig/lib/ssl/test/ssl_cipher_SUITE.erl 2015-08-05 16:52:39.990500503 -0400
-+++ otp-OTP-17.4/lib/ssl/test/ssl_cipher_SUITE.erl 2015-08-05 16:52:50.480441411 -0400
-@@ -1,7 +1,7 @@
- %%
- %% %CopyrightBegin%
- %%
--%% Copyright Ericsson AB 2008-2013. All Rights Reserved.
-+%% Copyright Ericsson AB 2008-2015. All Rights Reserved.
- %%
- %% The contents of this file are subject to the Erlang Public License,
- %% Version 1.1, (the "License"); you may not use this file except in
-@@ -38,7 +38,7 @@
- suite() -> [{ct_hooks,[ts_install_cth]}].
-
- all() ->
-- [aes_decipher_good, aes_decipher_good_tls11, aes_decipher_fail, aes_decipher_fail_tls11].
-+ [aes_decipher_good, aes_decipher_fail, padding_test].
-
- groups() ->
- [].
-@@ -73,93 +73,123 @@
- %% Test Cases --------------------------------------------------------
- %%--------------------------------------------------------------------
- aes_decipher_good() ->
-- [{doc,"Decipher a known cryptotext."}].
-+ [{doc,"Decipher a known cryptotext using a correct key"}].
-
- aes_decipher_good(Config) when is_list(Config) ->
- HashSz = 32,
-- CipherState = #cipher_state{iv = <<59,201,85,117,188,206,224,136,5,109,46,70,104,79,4,9>>,
-- key = <<72,196,247,97,62,213,222,109,210,204,217,186,172,184,197,148>>},
-- Fragment = <<220,193,179,139,171,33,143,245,202,47,123,251,13,232,114,8,
-- 190,162,74,31,186,227,119,155,94,74,119,79,169,193,240,160,
-- 198,181,81,19,98,162,213,228,74,224,253,168,156,59,195,122,
-- 108,101,107,242,20,15,169,150,163,107,101,94,93,104,241,165>>,
-- Content = <<183,139,16,132,10,209,67,86,168,100,61,217,145,57,36,56, "HELLO\n">>,
-- Mac = <<71,136,212,107,223,200,70,232,127,116,148,205,232,35,158,113,237,174,15,217,192,168,35,8,6,107,107,233,25,174,90,111>>,
-- Version = {3,0},
-- {Content, Mac, _} = ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version),
-- Version1 = {3,1},
-- {Content, Mac, _} = ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version1),
-- ok.
--
--%%--------------------------------------------------------------------
--
--aes_decipher_good_tls11() ->
-- [{doc,"Decipher a known TLS 1.1 cryptotext."}].
--
--%% the fragment is actuall a TLS 1.1 record, with
--%% Version = TLS 1.1, we get the correct NextIV in #cipher_state
--aes_decipher_good_tls11(Config) when is_list(Config) ->
-- HashSz = 32,
-- CipherState = #cipher_state{iv = <<59,201,85,117,188,206,224,136,5,109,46,70,104,79,4,9>>,
-- key = <<72,196,247,97,62,213,222,109,210,204,217,186,172,184,197,148>>},
-- Fragment = <<220,193,179,139,171,33,143,245,202,47,123,251,13,232,114,8,
-- 190,162,74,31,186,227,119,155,94,74,119,79,169,193,240,160,
-- 198,181,81,19,98,162,213,228,74,224,253,168,156,59,195,122,
-- 108,101,107,242,20,15,169,150,163,107,101,94,93,104,241,165>>,
-- Content = <<"HELLO\n">>,
-- NextIV = <<183,139,16,132,10,209,67,86,168,100,61,217,145,57,36,56>>,
-- Mac = <<71,136,212,107,223,200,70,232,127,116,148,205,232,35,158,113,237,174,15,217,192,168,35,8,6,107,107,233,25,174,90,111>>,
-- Version = {3,2},
-- {Content, Mac, #cipher_state{iv = NextIV}} = ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version),
-- Version1 = {3,2},
-- {Content, Mac, #cipher_state{iv = NextIV}} = ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version1),
-- ok.
-+ CipherState = correct_cipher_state(),
-+ decipher_check_good(HashSz, CipherState, {3,0}),
-+ decipher_check_good(HashSz, CipherState, {3,1}),
-+ decipher_check_good(HashSz, CipherState, {3,2}),
-+ decipher_check_good(HashSz, CipherState, {3,3}).
-
- %%--------------------------------------------------------------------
-
- aes_decipher_fail() ->
-- [{doc,"Decipher a known cryptotext."}].
-+ [{doc,"Decipher a known cryptotext using a incorrect key"}].
-
--%% same as above, last byte of key replaced
- aes_decipher_fail(Config) when is_list(Config) ->
- HashSz = 32,
-- CipherState = #cipher_state{iv = <<59,201,85,117,188,206,224,136,5,109,46,70,104,79,4,9>>,
-- key = <<72,196,247,97,62,213,222,109,210,204,217,186,172,184,197,254>>},
-- Fragment = <<220,193,179,139,171,33,143,245,202,47,123,251,13,232,114,8,
-- 190,162,74,31,186,227,119,155,94,74,119,79,169,193,240,160,
-- 198,181,81,19,98,162,213,228,74,224,253,168,156,59,195,122,
-- 108,101,107,242,20,15,169,150,163,107,101,94,93,104,241,165>>,
-- Version = {3,0},
-- {Content, Mac, _} = ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version),
-- 32 = byte_size(Content),
-- 32 = byte_size(Mac),
-- Version1 = {3,1},
-- {Content1, Mac1, _} = ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version1),
-- 32 = byte_size(Content1),
-- 32 = byte_size(Mac1),
-- ok.
-
--%%--------------------------------------------------------------------
--
--aes_decipher_fail_tls11() ->
-- [{doc,"Decipher a known TLS 1.1 cryptotext."}].
--
--%% same as above, last byte of key replaced
--%% stricter padding checks in TLS 1.1 mean we get an alert instead
--aes_decipher_fail_tls11(Config) when is_list(Config) ->
-- HashSz = 32,
-- CipherState = #cipher_state{iv = <<59,201,85,117,188,206,224,136,5,109,46,70,104,79,4,9>>,
-- key = <<72,196,247,97,62,213,222,109,210,204,217,186,172,184,197,254>>},
-- Fragment = <<220,193,179,139,171,33,143,245,202,47,123,251,13,232,114,8,
-- 190,162,74,31,186,227,119,155,94,74,119,79,169,193,240,160,
-- 198,181,81,19,98,162,213,228,74,224,253,168,156,59,195,122,
-- 108,101,107,242,20,15,169,150,163,107,101,94,93,104,241,165>>,
-- Version = {3,2},
-- #alert{level = ?FATAL, description = ?BAD_RECORD_MAC} =
-- ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version),
-- Version1 = {3,3},
-- #alert{level = ?FATAL, description = ?BAD_RECORD_MAC} =
-- ssl_cipher:decipher(?AES, HashSz, CipherState, Fragment, Version1),
-- ok.
--
--%%--------------------------------------------------------------------
-+ CipherState = incorrect_cipher_state(),
-+ decipher_check_fail(HashSz, CipherState, {3,0}),
-+ decipher_check_fail(HashSz, CipherState, {3,1}),
-+ decipher_check_fail(HashSz, CipherState, {3,2}),
-+ decipher_check_fail(HashSz, CipherState, {3,3}).
-+
-+%%--------------------------------------------------------------------
-+padding_test(Config) when is_list(Config) ->
-+ HashSz = 16,
-+ CipherState = correct_cipher_state(),
-+ pad_test(HashSz, CipherState, {3,0}),
-+ pad_test(HashSz, CipherState, {3,1}),
-+ pad_test(HashSz, CipherState, {3,2}),
-+ pad_test(HashSz, CipherState, {3,3}).
-+
-+%%--------------------------------------------------------------------
-+% Internal functions --------------------------------------------------------
-+%%--------------------------------------------------------------------
-+decipher_check_good(HashSz, CipherState, Version) ->
-+ {Content, NextIV, Mac} = content_nextiv_mac(Version),
-+ {Content, Mac, #cipher_state{iv = NextIV}} =
-+ ssl_cipher:decipher(?AES, HashSz, CipherState, aes_fragment(Version), Version, true).
-+
-+decipher_check_fail(HashSz, CipherState, Version) ->
-+ {Content, NextIV, Mac} = content_nextiv_mac(Version),
-+ true = {Content, Mac, #cipher_state{iv = NextIV}} =/=
-+ ssl_cipher:decipher(?AES, HashSz, CipherState, aes_fragment(Version), Version, true).
-+
-+pad_test(HashSz, CipherState, {3,0} = Version) ->
-+ %% 3.0 does not have padding test
-+ {Content, NextIV, Mac} = badpad_content_nextiv_mac(Version),
-+ {Content, Mac, #cipher_state{iv = NextIV}} =
-+ ssl_cipher:decipher(?AES, HashSz, CipherState, badpad_aes_fragment({3,0}), {3,0}, true),
-+ {Content, Mac, #cipher_state{iv = NextIV}} =
-+ ssl_cipher:decipher(?AES, HashSz, CipherState, badpad_aes_fragment({3,0}), {3,0}, false);
-+pad_test(HashSz, CipherState, {3,1} = Version) ->
-+ %% 3.1 should have padding test, but may be disabled
-+ {Content, NextIV, Mac} = badpad_content_nextiv_mac(Version),
-+ BadCont = badpad_content(Content),
-+ {Content, Mac, #cipher_state{iv = NextIV}} =
-+ ssl_cipher:decipher(?AES, HashSz, CipherState, badpad_aes_fragment({3,1}) , {3,1}, false),
-+ {BadCont, Mac, #cipher_state{iv = NextIV}} =
-+ ssl_cipher:decipher(?AES, HashSz, CipherState, badpad_aes_fragment({3,1}), {3,1}, true);
-+pad_test(HashSz, CipherState, Version) ->
-+ %% 3.2 and 3.3 must have padding test
-+ {Content, NextIV, Mac} = badpad_content_nextiv_mac(Version),
-+ BadCont = badpad_content(Content),
-+ {BadCont, Mac, #cipher_state{iv = NextIV}} = ssl_cipher:decipher(?AES, HashSz, CipherState,
-+ badpad_aes_fragment(Version), Version, false),
-+ {BadCont, Mac, #cipher_state{iv = NextIV}} = ssl_cipher:decipher(?AES, HashSz, CipherState,
-+ badpad_aes_fragment(Version), Version, true).
-+
-+aes_fragment({3,N}) when N == 0; N == 1->
-+ <<197,9,6,109,242,87,80,154,85,250,110,81,119,95,65,185,53,206,216,153,246,169,
-+ 119,177,178,238,248,174,253,220,242,81,33,0,177,251,91,44,247,53,183,198,165,
-+ 63,20,194,159,107>>;
-+
-+aes_fragment(_) ->
-+ <<220,193,179,139,171,33,143,245,202,47,123,251,13,232,114,8,
-+ 190,162,74,31,186,227,119,155,94,74,119,79,169,193,240,160,
-+ 198,181,81,19,98,162,213,228,74,224,253,168,156,59,195,122,
-+ 108,101,107,242,20,15,169,150,163,107,101,94,93,104,241,165>>.
-+
-+badpad_aes_fragment({3,N}) when N == 0; N == 1 ->
-+ <<186,139,125,10,118,21,26,248,120,108,193,104,87,118,145,79,225,55,228,10,105,
-+ 30,190,37,1,88,139,243,210,99,65,41>>;
-+badpad_aes_fragment(_) ->
-+ <<137,31,14,77,228,80,76,103,183,125,55,250,68,190,123,131,117,23,229,180,207,
-+ 94,121,137,117,157,109,99,113,61,190,138,131,229,201,120,142,179,172,48,77,
-+ 234,19,240,33,38,91,93>>.
-+
-+content_nextiv_mac({3,N}) when N == 0; N == 1 ->
-+ {<<"HELLO\n">>,
-+ <<33,0, 177,251, 91,44, 247,53, 183,198, 165,63, 20,194, 159,107>>,
-+ <<71,136,212,107,223,200,70,232,127,116,148,205,232,35,158,113,237,174,15,217,192,168,35,8,6,107,107,233,25,174,90,111>>};
-+content_nextiv_mac(_) ->
-+ {<<"HELLO\n">>,
-+ <<183,139,16,132,10,209,67,86,168,100,61,217,145,57,36,56>>,
-+ <<71,136,212,107,223,200,70,232,127,116,148,205,232,35,158,113,237,174,15,217,192,168,35,8,6,107,107,233,25,174,90,111>>}.
-+
-+badpad_content_nextiv_mac({3,N}) when N == 0; N == 1 ->
-+ {<<"HELLO\n">>,
-+ <<225,55,228,10,105,30,190,37,1,88,139,243,210,99,65,41>>,
-+ <<183,139,16,132,10,209,67,86,168,100,61,217,145,57,36,56>>
-+ };
-+badpad_content_nextiv_mac(_) ->
-+ {<<"HELLO\n">>,
-+ <<133,211,45,189,179,229,56,86,11,178,239,159,14,160,253,140>>,
-+ <<183,139,16,132,10,209,67,86,168,100,61,217,145,57,36,56>>
-+ }.
-+
-+badpad_content(Content) ->
-+ %% BadContent will fail mac test
-+ <<16#F0, Content/binary>>.
-+
-+correct_cipher_state() ->
-+ #cipher_state{iv = <<59,201,85,117,188,206,224,136,5,109,46,70,104,79,4,9>>,
-+ key = <<72,196,247,97,62,213,222,109,210,204,217,186,172,184,197,148>>}.
-+
-+incorrect_cipher_state() ->
-+ #cipher_state{iv = <<59,201,85,117,188,206,224,136,5,109,46,70,104,79,4,9>>,
-+ key = <<72,196,247,97,62,213,222,109,210,204,217,186,172,184,197,254>>}.
diff --git a/otp-make-subpackages.py b/otp-make-subpackages.py
new file mode 100644
index 0000000..67c21c9
--- /dev/null
+++ b/otp-make-subpackages.py
@@ -0,0 +1,150 @@
+import glob
+import os
+import re
+import rpm
+import sys
+
+ts = rpm.TransactionSet()
+
+packages = []
+for arg in sys.argv[1:]:
+ packages += glob.glob(arg)
+
+erlang_provides = {}
+erlang_requires = {}
+
+package_names = []
+package_headers = {}
+
+##
+## Custom tweaks begins here
+##
+
+# These packages should be marked as noarch
+package_noarch = ["emacs-erlang", "emacs-erlang-el", "erlang-doc", "xemacs-erlang", "xemacs-erlang-el"]
+
+# These are additional Requires which cannot be picked up automatically (yet).
+# TODO these should be added automatically
+package_additional_requires = {
+ "emacs-erlang": ["emacs-common-erlang = %{version}-%{release}", "emacs(bin) >= %{_emacs_version}" ],
+ "emacs-erlang-el": ["emacs-erlang = %{version}-%{release}"],
+ "erlang-dialyzer": ["graphviz"],
+ "erlang-erl_interface": ["%{name}-erts%{?_isa} = %{version}-%{release}"],
+ # This library is dlopened so it can't be picked up automatically by the RPM
+ # dependency checker
+ "erlang-erts": ["lksctp-tools"],
+ "erlang-gs": ["tk"],
+ # FIXME stores files/links in jpackage-utils' directory "erlang-ic": ["jpackage-utils"],
+ # FIXME stores files/links in jpackage-utils' directory "erlang-jinterface": ["%{name}-erts%{?_isa} = %{version}-%{release}, "jpackage-utils"],
+ "erlang-jinterface": ["%{name}-erts%{?_isa} = %{version}-%{release}"],
+ "erlang-wx": ["mesa-libGL", "mesa-libGLU"],
+ "xemacs-erlang": ["emacs-common-erlang = %{version}-%{release}", "xemacs(bin) >= %{_xemacs_version}"],
+ "xemacs-erlang-el": ["xemacs-erlang = %{version}-%{release}"]
+ }
+
+package_additional_buildrequires = {
+ "erlang-diameter": ["ed"],
+ "erlang-gs": ["tcl-devel", "tk-devel"],
+ # in EPEL6 on arches different from %{ix86} x86_64 we have to
+ # use java-devel-gcj, so technically this requirement makes it
+ # impossible to build Java support there. (Un)Fortunately we
+ # already dropped full support for EPEL6
+ "erlang-ic": ["java-devel"],
+ "erlang-jinterface": ["java-devel"],
+ "erlang-odbc": ["unixODBC-devel"],
+ "erlang-wx": ["wxGTK-devel"],
+ }
+
+package_additional_obsoletes = {
+ "erlang-erts": ["erlang-appmon", "erlang-docbuilder", "erlang-inviso", "erlang-pman", "erlang-toolbar", "erlang-tv"],
+ }
+
+##
+## Custom tweaks ends here
+##
+
+# To match 'erlang(asn1ct_eval_ext:transform_to_EXTERNAL1994/1)'
+prog = re.compile("^erlang(.*:.*/\d+)")
+rpmmask = re.compile(".*\.rpm")
+
+# iterate over all rpms
+for package in sorted([p for p in packages if rpmmask.match(p)]):
+ fd = os.open(package, os.O_RDONLY)
+ h = ts.hdrFromFdno(fd)
+ os.close(fd)
+
+ rpm_name = h[rpm.RPMTAG_NAME]
+
+ # Let's calculate provides
+ # We'll create dictionary to speedup future use
+ # FIXME duplicate provides
+ local_provides = [p for p in h[rpm.RPMTAG_PROVIDENAME] if prog.match(p)]
+ erlang_provides.update({k: rpm_name for k in local_provides})
+
+ # Let's calculate requires
+ erlang_requires.update({rpm_name: [r for r in h[rpm.RPMTAG_REQUIRENAME] if prog.match(r) and not r in local_provides]})
+
+ package_headers.update({rpm_name: h})
+
+ package_names.append(rpm_name)
+
+namemask = re.compile("^erlang-[a-zA-Z0-9_]*$")
+
+print "### BEGIN OF AUTOGENERATED LIST ###"
+print ""
+
+for name in package_names:
+ h = package_headers[name]
+
+ if name == "erlang-doc":
+ # Additional ifdef just for this sub-package (see below)
+ print "%if %{with doc}"
+
+ if namemask.match(name):
+ print "%%package %s" % name.replace("erlang-", "")
+ else:
+ print "%%package -n %s" % name
+
+ print "Summary: %s" % h[rpm.RPMTAG_SUMMARY]
+ print "Group: %s" % h[rpm.RPMTAG_GROUP]
+
+ rawdeps = [erlang_provides.get(r, "Error: missing requires: %s" % r) for r in erlang_requires[name]]
+
+ deps = set()
+ dependency_add = deps.add
+ [x for x in rawdeps if not (x in deps or dependency_add(x))]
+
+ # Additional BuildRequires (if any):
+ for br in package_additional_buildrequires.get(name, []):
+ print "BuildRequires: %s" % br
+
+ # Add basic autogenerated Requires:
+ for r in sorted(deps):
+ #Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
+ print "Requires: %s%%{?_isa} = %%{version}-%%{release}" % r.replace("erlang-", "%{name}-")
+
+ # Add custom additional Requires (if any):
+ for r in package_additional_requires.get(name, []):
+ print "Requires: %s" % r
+
+ # Add custom additional Obsoletes (if any):
+ for os in package_additional_obsoletes.get(name, []):
+ print "Obsoletes: %s" % os
+
+ if name in package_noarch:
+ print "BuildArch: noarch"
+
+ print ""
+ if namemask.match(name):
+ print "%%description %s" % name.replace("erlang-", "")
+ else:
+ print "%%description -n %s" % name
+ print "%s" % h[rpm.RPMTAG_DESCRIPTION]
+
+ if name == "erlang-doc":
+ # Additional ifdef just for this sub-package (see above)
+ print "%endif"
+
+ print ""
+
+print "### END OF AUTOGENERATED LIST ###"
diff --git a/sources b/sources
index b22e8a6..7a59318 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-0d06e7d3802d63992535116e4d37c1a4 otp-OTP-17.4.tar.gz
+49d9ef3ccffc028100e35ff80e7d4d06 otp-OTP-18.2.2.tar.gz
From b2acbda3c9ea1caa793218e855cdd9ebc11f0b5e Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 15 Jan 2016 17:02:31 +0300
Subject: [PATCH 046/322] Update autogenerated subpackages list
Signed-off-by: Peter Lemenkov
---
erlang.spec | 10 ++++-----
otp-make-subpackages.py | 46 ++++++++++++++++++++++++++++++++++-------
2 files changed, 42 insertions(+), 14 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 0ed6ce9..3850bf9 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -75,11 +75,8 @@ Patch8: otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
# end of autogenerated patch tag list
BuildRequires: flex
-%if %{with doc}
-# BEWARE. No fop for EPEL5, and only for x86/x86_64 in EPEL6, so we cannot regenerate docs here
-BuildRequires: fop
-BuildRequires: libxslt
+%if %{with doc}
%if 0%{?need_bootstrap} < 1
# Required for building docs (escript)
BuildRequires: erlang
@@ -363,6 +360,8 @@ Diameter (RFC 3588) library
%package doc
Summary: Erlang documentation
Group: Development/Languages
+BuildRequires: fop
+BuildRequires: libxslt
BuildArch: noarch
%description doc
@@ -1054,12 +1053,11 @@ install -m 0755 -d "$RPM_BUILD_ROOT%{_javadir}/%{name}"
# erlang-ic
ic_lib_dir="$(ls -d1 $RPM_BUILD_ROOT%{_libdir}/erlang/lib/ic-*/ | sed "s,^$RPM_BUILD_ROOT,,")"
test -d "$RPM_BUILD_ROOT$ic_lib_dir"
-ln -s "${ic_lib_dir}/priv/ic.jar" "$RPM_BUILD_ROOT%{_javadir}/%{name}/"
+ln -s "${ic_lib_dir}priv/ic.jar" "$RPM_BUILD_ROOT%{_javadir}/%{name}/"
# erlang-jinterface
jinterface_lib_dir="$(ls -d1 $RPM_BUILD_ROOT%{_libdir}/erlang/lib/jinterface-*/ | sed "s,^$RPM_BUILD_ROOT,,")"
test -d "$RPM_BUILD_ROOT$jinterface_lib_dir"
-install -m 0755 -d "$RPM_BUILD_ROOT%{_javadir}"
ln -s "${jinterface_lib_dir}priv/OtpErlang.jar" "$RPM_BUILD_ROOT%{_javadir}/%{name}/"
# systemd-related stuff
diff --git a/otp-make-subpackages.py b/otp-make-subpackages.py
index 67c21c9..e004bf3 100644
--- a/otp-make-subpackages.py
+++ b/otp-make-subpackages.py
@@ -21,7 +21,12 @@ package_headers = {}
##
# These packages should be marked as noarch
-package_noarch = ["emacs-erlang", "emacs-erlang-el", "erlang-doc", "xemacs-erlang", "xemacs-erlang-el"]
+package_noarch = [
+ "emacs-erlang",
+ "emacs-erlang-el",
+ "erlang-doc",
+ "xemacs-erlang",
+ "xemacs-erlang-el"]
# These are additional Requires which cannot be picked up automatically (yet).
# TODO these should be added automatically
@@ -30,33 +35,53 @@ package_additional_requires = {
"emacs-erlang-el": ["emacs-erlang = %{version}-%{release}"],
"erlang-dialyzer": ["graphviz"],
"erlang-erl_interface": ["%{name}-erts%{?_isa} = %{version}-%{release}"],
- # This library is dlopened so it can't be picked up automatically by the RPM
- # dependency checker
+ # This library (lksctp-tools) is dlopened so it can't be picked
+ # up automatically by the RPM dependency checker
"erlang-erts": ["lksctp-tools"],
"erlang-gs": ["tk"],
- # FIXME stores files/links in jpackage-utils' directory "erlang-ic": ["jpackage-utils"],
- # FIXME stores files/links in jpackage-utils' directory "erlang-jinterface": ["%{name}-erts%{?_isa} = %{version}-%{release}, "jpackage-utils"],
- "erlang-jinterface": ["%{name}-erts%{?_isa} = %{version}-%{release}"],
+ # Stores files/links in /usr/share/java so has to depend on jpackage-utils
+ "erlang-ic": ["jpackage-utils"],
+ # Stores files/links in /usr/share/java so has to depend on jpackage-utils
+ "erlang-jinterface": ["%{name}-erts%{?_isa} = %{version}-%{release}", "jpackage-utils"],
"erlang-wx": ["mesa-libGL", "mesa-libGLU"],
"xemacs-erlang": ["emacs-common-erlang = %{version}-%{release}", "xemacs(bin) >= %{_xemacs_version}"],
"xemacs-erlang-el": ["xemacs-erlang = %{version}-%{release}"]
}
package_additional_buildrequires = {
+ "emacs-erlang": ["emacs", "emacs-el"],
+ "erlang-crypto": ["openssl-devel"],
"erlang-diameter": ["ed"],
+
+ # BEWARE. No fop for EPEL5, and only for x86/x86_64 in EPEL6,
+ # so we cannot regenerate docs here. (Un)Fortunately we dropped
+ # support for EPEL6 and older versions.
+ # FIXME add bootstrap condition first.
+ "erlang-doc": ["fop", "libxslt"],
+
+ "erlang-erts": ["lksctp-tools-devel", "m4", "ncurses-devel", "zlib-devel"],
"erlang-gs": ["tcl-devel", "tk-devel"],
+
# in EPEL6 on arches different from %{ix86} x86_64 we have to
# use java-devel-gcj, so technically this requirement makes it
# impossible to build Java support there. (Un)Fortunately we
- # already dropped full support for EPEL6
+ # already dropped full support for EPEL6 and older versions.
"erlang-ic": ["java-devel"],
"erlang-jinterface": ["java-devel"],
+
"erlang-odbc": ["unixODBC-devel"],
"erlang-wx": ["wxGTK-devel"],
+ "xemacs-erlang": ["xemacs", "xemacs-packages-extra-el"],
}
package_additional_obsoletes = {
- "erlang-erts": ["erlang-appmon", "erlang-docbuilder", "erlang-inviso", "erlang-pman", "erlang-toolbar", "erlang-tv"],
+ "erlang-erts": [
+ "erlang-appmon",
+ "erlang-docbuilder",
+ "erlang-inviso",
+ "erlang-pman",
+ "erlang-toolbar",
+ "erlang-tv"],
}
##
@@ -69,6 +94,11 @@ rpmmask = re.compile(".*\.rpm")
# iterate over all rpms
for package in sorted([p for p in packages if rpmmask.match(p)]):
+
+ # A tricky part. We are processing packages, rebuilt with
+ # %{__erlang_provides_requires}. Otherwise we won't get information
+ # about imports/exports (until we learn how to parse Erlang BEAM file
+ # headers with Python.
fd = os.open(package, os.O_RDONLY)
h = ts.hdrFromFdno(fd)
os.close(fd)
From 0a27f9ce58e03c2bf5898b30e86504e857b59e5a Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 15 Jan 2016 17:52:56 +0300
Subject: [PATCH 047/322] Add notice about bundled library - pcre
Signed-off-by: Peter Lemenkov
---
erlang.spec | 1 +
1 file changed, 1 insertion(+)
diff --git a/erlang.spec b/erlang.spec
index 3850bf9..bf50a3b 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -428,6 +428,7 @@ Provides: erlang(erl_drv_version) = 3.2
# See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version).
#Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt)
Provides: erlang(erl_nif_version) = 2.9
+Provides: bundled(pcre) = 8.33
Obsoletes: erlang-appmon
Obsoletes: erlang-docbuilder
Obsoletes: erlang-inviso
From 9b16dc497fad450d95fa1ccd2f81391de07fc9b2 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Sat, 16 Jan 2016 21:35:57 +0300
Subject: [PATCH 048/322] Possible workaround for build failures on i686
See this link for further details:
http://thread.gmane.org/gmane.linux.redhat.fedora.devel/215700
Signed-off-by: Peter Lemenkov
---
erlang.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index bf50a3b..4c859f2 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -952,7 +952,7 @@ make
%if %{with doc}
# should use FOP_OPTS after #832323 is resolved
%ifnarch ppc %{power64}
-export BASE_OPTIONS=-Xmx1024m
+export BASE_OPTIONS=-Xmx512m
%else
export BASE_OPTIONS=-Xmx1536m
%endif
From da1dfd6d90b984354abb0f6dcb0d7a9b7dd489da Mon Sep 17 00:00:00 2001
From: John Eckersberg
Date: Sun, 17 Jan 2016 16:53:54 -0500
Subject: [PATCH 049/322] Add patch for epmd ipv6 support
Resolves: rhbz#1299253
---
erlang.spec | 9 +-
...-epmd-support-IPv6-node-registration.patch | 701 ++++++++++++++++++
2 files changed, 709 insertions(+), 1 deletion(-)
create mode 100644 otp-0009-epmd-support-IPv6-node-registration.patch
diff --git a/erlang.spec b/erlang.spec
index 4c859f2..bb87f85 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -16,7 +16,7 @@
Name: erlang
Version: 18.2.2
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -72,6 +72,9 @@ Patch7: otp-0007-Split-off-webtool-dependency-from-tools.patch
# Fedora specific patch
# Add patch to crash dump on large distribution
Patch8: otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
+# Fedora specific patch
+# epmd: support IPv6 node registration
+Patch9: otp-0009-epmd-support-IPv6-node-registration.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -897,6 +900,7 @@ Erlang mode for XEmacs (source lisp files).
%patch6 -p1 -b .Do_not_install_erlang_sources
%patch7 -p1 -b .Split_off_webtool_dependency_from_tools
%patch8 -p1 -b .Add_patch_to_crash_dump_on_large_distribution
+%patch9 -p1 -b .epmd_support_IPv6_node_registration
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2218,6 +2222,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Sun Jan 17 2016 John Eckersberg - 18.2.2-2
+- Add patch for epmd ipv6 support (rhbz#1299253)
+
* Mon Jan 11 2016 Peter Lemenkov - 18.2.2-1
- Ver. 18.2.2
diff --git a/otp-0009-epmd-support-IPv6-node-registration.patch b/otp-0009-epmd-support-IPv6-node-registration.patch
new file mode 100644
index 0000000..0347c7e
--- /dev/null
+++ b/otp-0009-epmd-support-IPv6-node-registration.patch
@@ -0,0 +1,701 @@
+From: Michael Santos
+Date: Sun, 18 Oct 2015 16:20:37 -0400
+Subject: [PATCH] epmd: support IPv6 node registration
+
+Allow IPv6 nodes to register with and query epmd. On systems with
+IPv6 support:
+
+* epmd listens on both the IPv4 and IPv6 ANY or loopback sockets
+
+* the epmd cli client connects to epmd over the IPv6 loopback
+
+* distributed nodes started with "-proto_dist inet6_tcp" will register
+ with epmd over IPv6
+
+To work on IPv6 capable systems that have IPv6 support disabled,
+epmd ignores errors opening the socket if the protocol is not
+supported. Similarly, the epmd client will fall back to IPv4 if the IPv6
+socket is not available.
+
+The interaction between IPv4 and IPv6 sockets depends on the platform:
+
+* FreeBSD allows multiple "specific" sockets to bind the same port (such
+ as 2 sockets listening to the same port on ANY and the loopback).
+ Binding port 4369 to IPv4 and IPv6 sockets simulataneously is allowed.
+
+* Linux does not allow the same port to be bound by different sockets.
+ Setting the IPV6_V6ONLY socket option is required.
+
+* Windows
+
+ The behaviour differs depending on the version of Windows:
+
+ http://msdn.microsoft.com/en-us/library/windows/desktop/bb513665(v=vs.85).aspx
+
+ According to the site, sockets on Windows XP with Service Pack 1 (SP1)
+ and Windows Server 2003 will only listen on either IPv4 or IPv6, so
+ creating two sockets is required to service IPv4 and IPv6 traffic on
+ the same port. The IPV6_V6ONLY socket option is not supported.
+
+ For Windows Vista and later, a single socket can handle IPv4 and IPv6
+ traffic for the same port. The IPV6_V6ONLY socket option is supported
+ and is enabled for IPv6 sockets by default.
+
+diff --git a/erts/doc/src/epmd.xml b/erts/doc/src/epmd.xml
+index 28fcc8f..7f61804 100644
+--- a/erts/doc/src/epmd.xml
++++ b/erts/doc/src/epmd.xml
+@@ -37,7 +37,7 @@
+
+ Erlang Port Mapper Daemon
+
+-
++
+ -
+
Starts the port mapper daemon
+
+diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
+index ec4a0de..cdf8aef 100644
+--- a/erts/doc/src/erl.xml
++++ b/erts/doc/src/erl.xml
+@@ -382,6 +382,28 @@
+ similar to . See
+ code(3) .
+
++
++ -
++
Specify a protocol for Erlang distribution.
++
++ inet_tcp
++ -
++
TCP over IPv4 (the default)
++
++ inet_tls
++ -
++
distribution over TLS/SSL
++
++ inet6_tcp
++ -
++
TCP over IPv6
++
++
++ For example, to start up IPv6 distributed nodes:
++
++% erl -name test@ipv6node.example.com -proto_dist inet6_tcp
++
++
+
+ -
+
Starts Erlang with a remote shell connected to .
+diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c
+index 63ec18d..5513cb2 100644
+--- a/erts/epmd/src/epmd.c
++++ b/erts/epmd/src/epmd.c
+@@ -343,7 +343,7 @@ static void run_daemon(EpmdVars *g)
+ for (fd = 0; fd < g->max_conn ; fd++) /* close all files ... */
+ close(fd);
+ /* Syslog on linux will try to write to whatever if we dont
+- inform it of that the log is closed. */
++ inform it that the log is closed. */
+ closelog();
+
+ /* These shouldn't be needed but for safety... */
+diff --git a/erts/epmd/src/epmd_cli.c b/erts/epmd/src/epmd_cli.c
+index a8fe865..6fc05e1 100644
+--- a/erts/epmd/src/epmd_cli.c
++++ b/erts/epmd/src/epmd_cli.c
+@@ -136,19 +136,33 @@ void epmd_call(EpmdVars *g,int what)
+ static int conn_to_epmd(EpmdVars *g)
+ {
+ struct EPMD_SOCKADDR_IN address;
++ size_t salen = 0;
+ int connect_sock;
+-
+- connect_sock = socket(FAMILY, SOCK_STREAM, 0);
+- if (connect_sock<0)
+- goto error;
++ unsigned short sport = g->port;
++
++#if defined(EPMD6)
++ SET_ADDR6(address, in6addr_loopback, sport);
++ salen = sizeof(struct sockaddr_in6);
++
++ connect_sock = socket(AF_INET6, SOCK_STREAM, 0);
++ if (connect_sock>=0) {
++
++ if (connect(connect_sock, (struct sockaddr*)&address, salen) == 0)
++ return connect_sock;
+
+- { /* store port number in unsigned short */
+- unsigned short sport = g->port;
+- SET_ADDR(address, EPMD_ADDR_LOOPBACK, sport);
++ close(connect_sock);
+ }
++#endif
++ SET_ADDR(address, htonl(INADDR_LOOPBACK), sport);
++ salen = sizeof(struct sockaddr_in);
+
+- if (connect(connect_sock, (struct sockaddr*)&address, sizeof address) < 0)
++ connect_sock = socket(AF_INET, SOCK_STREAM, 0);
++ if (connect_sock<0)
+ goto error;
++
++ if (connect(connect_sock, (struct sockaddr*)&address, salen) < 0)
++ goto error;
++
+ return connect_sock;
+
+ error:
+diff --git a/erts/epmd/src/epmd_int.h b/erts/epmd/src/epmd_int.h
+index 26100af..8f44c2a 100644
+--- a/erts/epmd/src/epmd_int.h
++++ b/erts/epmd/src/epmd_int.h
+@@ -55,6 +55,7 @@
+ # ifndef WINDOWS_H_INCLUDES_WINSOCK2_H
+ # include
+ # endif
++# include
+ # include
+ # include
+ #endif
+@@ -130,6 +131,12 @@
+ # include
+ #endif /* HAVE_SYSTEMD_DAEMON */
+
++#if defined(HAVE_IN6) && defined(AF_INET6)
++#if !defined(__WIN32__)
++# define EPMD6
++#endif
++#endif
++
+ /* ************************************************************************ */
+ /* Replace some functions by others by making the function name a macro */
+
+@@ -183,33 +190,53 @@
+ /* ************************************************************************ */
+ /* Macros that let us use IPv6 */
+
+-#if defined(HAVE_IN6) && defined(AF_INET6) && defined(EPMD6)
++#if HAVE_IN6
++# if ! defined(HAVE_IN6ADDR_ANY) || ! HAVE_IN6ADDR_ANY
++# if HAVE_DECL_IN6ADDR_ANY_INIT
++static const struct in6_addr in6addr_any = { { IN6ADDR_ANY_INIT } };
++# else
++static const struct in6_addr in6addr_any =
++ { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } };
++# endif /* HAVE_IN6ADDR_ANY_INIT */
++# endif /* ! HAVE_DECL_IN6ADDR_ANY */
++
++# if ! defined(HAVE_IN6ADDR_LOOPBACK) || ! HAVE_IN6ADDR_LOOPBACK
++# if HAVE_DECL_IN6ADDR_LOOPBACK_INIT
++static const struct in6_addr in6addr_loopback =
++ { { IN6ADDR_LOOPBACK_INIT } };
++# else
++static const struct in6_addr in6addr_loopback =
++ { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } };
++# endif /* HAVE_IN6ADDR_LOOPBACK_INIT */
++# endif /* ! HAVE_DECL_IN6ADDR_LOOPBACK */
++#endif /* HAVE_IN6 */
++
++#define IS_ADDR_LOOPBACK(addr) ((addr).s_addr == htonl(INADDR_LOOPBACK))
+
+-#define EPMD_SOCKADDR_IN sockaddr_in6
+-#define EPMD_IN_ADDR in6_addr
+-#define EPMD_S_ADDR s6_addr
+-#define EPMD_ADDR_LOOPBACK in6addr_loopback.s6_addr
+-#define EPMD_ADDR_ANY in6addr_any.s6_addr
++#if defined(EPMD6)
++
++#define EPMD_SOCKADDR_IN sockaddr_storage
+ #define FAMILY AF_INET6
+
+-#define SET_ADDR(dst, addr, port) do { \
+- memset((char*)&(dst), 0, sizeof(dst)); \
+- memcpy((char*)&(dst).sin6_addr.s6_addr, (char*)&(addr), 16); \
+- (dst).sin6_family = AF_INET6; \
+- (dst).sin6_flowinfo = 0; \
+- (dst).sin6_port = htons(port); \
++#define SET_ADDR6(dst, addr, port) do { \
++ struct sockaddr_in6 *sa = (struct sockaddr_in6 *)&(dst); \
++ memset(sa, 0, sizeof(dst)); \
++ sa->sin6_family = AF_INET6; \
++ sa->sin6_addr = (addr); \
++ sa->sin6_port = htons(port); \
+ } while(0)
+
+-#define IS_ADDR_LOOPBACK(addr) \
+- (memcmp((addr).s6_addr, in6addr_loopback.s6_addr, 16) == 0)
++#define SET_ADDR(dst, addr, port) do { \
++ struct sockaddr_in *sa = (struct sockaddr_in *)&(dst); \
++ memset(sa, 0, sizeof(dst)); \
++ sa->sin_family = AF_INET; \
++ sa->sin_addr.s_addr = (addr); \
++ sa->sin_port = htons(port); \
++ } while(0)
+
+ #else /* Not IP v6 */
+
+ #define EPMD_SOCKADDR_IN sockaddr_in
+-#define EPMD_IN_ADDR in_addr
+-#define EPMD_S_ADDR s_addr
+-#define EPMD_ADDR_LOOPBACK htonl(INADDR_LOOPBACK)
+-#define EPMD_ADDR_ANY htonl(INADDR_ANY)
+ #define FAMILY AF_INET
+
+ #define SET_ADDR(dst, addr, port) do { \
+@@ -219,8 +246,6 @@
+ (dst).sin_port = htons(port); \
+ } while(0)
+
+-#define IS_ADDR_LOOPBACK(addr) ((addr).s_addr == htonl(INADDR_LOOPBACK))
+-
+ #endif /* Not IP v6 */
+
+ /* ************************************************************************ */
+diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c
+index 8c8d730..28a2968 100644
+--- a/erts/epmd/src/epmd_srv.c
++++ b/erts/epmd/src/epmd_srv.c
+@@ -76,6 +76,7 @@ static time_t current_time(EpmdVars*);
+
+ static Connection *conn_init(EpmdVars*);
+ static int conn_open(EpmdVars*,int);
++static int conn_local_peer_check(EpmdVars*, int);
+ static int conn_close_fd(EpmdVars*,int);
+
+ static void node_init(EpmdVars*);
+@@ -206,10 +207,11 @@ void run(EpmdVars *g)
+ {
+ struct EPMD_SOCKADDR_IN iserv_addr[MAX_LISTEN_SOCKETS];
+ int listensock[MAX_LISTEN_SOCKETS];
+- int num_sockets;
++ int num_sockets = 0;
+ int i;
+ int opt;
+ unsigned short sport = g->port;
++ int bound = 0;
+
+ node_init(g);
+ g->conn = conn_init(g);
+@@ -252,64 +254,82 @@ void run(EpmdVars *g)
+ if (g->addresses != NULL && /* String contains non-separator characters if: */
+ g->addresses[strspn(g->addresses," ,")] != '\000')
+ {
+- char *tmp;
+- char *token;
+- int loopback_ok = 0;
++ char *tmp = NULL;
++ char *token = NULL;
++
++ /* Always listen on the loopback. */
++ SET_ADDR(iserv_addr[num_sockets],htonl(INADDR_LOOPBACK),sport);
++ num_sockets++;
++#if defined(EPMD6)
++ SET_ADDR6(iserv_addr[num_sockets],in6addr_loopback,sport);
++ num_sockets++;
++#endif
+
+- if ((tmp = (char *)malloc(strlen(g->addresses) + 1)) == NULL)
++ if ((tmp = strdup(g->addresses)) == NULL)
+ {
+ dbg_perror(g,"cannot allocate memory");
+ epmd_cleanup_exit(g,1);
+ }
+- strcpy(tmp,g->addresses);
+
+- for(token = strtok(tmp,", "), num_sockets = 0;
++ for(token = strtok(tmp,", ");
+ token != NULL;
+- token = strtok(NULL,", "), num_sockets++)
++ token = strtok(NULL,", "))
+ {
+- struct EPMD_IN_ADDR addr;
+-#ifdef HAVE_INET_PTON
+- int ret;
++ struct in_addr addr;
++#if defined(EPMD6)
++ struct in6_addr addr6;
++ struct sockaddr_storage *sa = &iserv_addr[num_sockets];
+
+- if ((ret = inet_pton(FAMILY,token,&addr)) == -1)
++ if (inet_pton(AF_INET6,token,&addr6) == 1)
+ {
+- dbg_perror(g,"cannot convert IP address to network format");
+- epmd_cleanup_exit(g,1);
++ SET_ADDR6(iserv_addr[num_sockets],addr6,sport);
++ }
++ else if (inet_pton(AF_INET,token,&addr) == 1)
++ {
++ SET_ADDR(iserv_addr[num_sockets],addr.s_addr,sport);
++ }
++ else
++#else
++ if ((addr.s_addr = inet_addr(token)) != INADDR_NONE)
++ {
++ SET_ADDR(iserv_addr[num_sockets],addr.s_addr,sport);
+ }
+- else if (ret == 0)
+-#elif !defined(EPMD6)
+- if ((addr.EPMD_S_ADDR = inet_addr(token)) == INADDR_NONE)
++ else
+ #endif
+ {
+ dbg_tty_printf(g,0,"cannot parse IP address \"%s\"",token);
+ epmd_cleanup_exit(g,1);
+ }
+
++#if defined(EPMD6)
++ if (sa->ss_family == AF_INET6 && IN6_IS_ADDR_LOOPBACK(&addr6))
++ continue;
++
++ if (sa->ss_family == AF_INET)
++#endif
+ if (IS_ADDR_LOOPBACK(addr))
+- loopback_ok = 1;
++ continue;
++
++ num_sockets++;
+
+- if (num_sockets - loopback_ok == MAX_LISTEN_SOCKETS - 1)
++ if (num_sockets >= MAX_LISTEN_SOCKETS)
+ {
+ dbg_tty_printf(g,0,"cannot listen on more than %d IP addresses",
+ MAX_LISTEN_SOCKETS);
+ epmd_cleanup_exit(g,1);
+ }
+-
+- SET_ADDR(iserv_addr[num_sockets],addr.EPMD_S_ADDR,sport);
+ }
+
+ free(tmp);
+-
+- if (!loopback_ok)
+- {
+- SET_ADDR(iserv_addr[num_sockets],EPMD_ADDR_LOOPBACK,sport);
+- num_sockets++;
+- }
+ }
+ else
+ {
+- SET_ADDR(iserv_addr[0],EPMD_ADDR_ANY,sport);
+- num_sockets = 1;
++ SET_ADDR(iserv_addr[num_sockets],htonl(INADDR_ANY),sport);
++ num_sockets++;
++#if defined(EPMD6)
++ SET_ADDR6(iserv_addr[num_sockets],in6addr_any,sport);
++ num_sockets++;
++#endif
+ }
+ #ifdef HAVE_SYSTEMD_DAEMON
+ }
+@@ -340,13 +360,39 @@ void run(EpmdVars *g)
+ #endif /* HAVE_SYSTEMD_DAEMON */
+ for (i = 0; i < num_sockets; i++)
+ {
+- if ((listensock[i] = socket(FAMILY,SOCK_STREAM,0)) < 0)
++ struct sockaddr *sa = (struct sockaddr *)&iserv_addr[i];
++#if defined(EPMD6)
++ size_t salen = (sa->sa_family == AF_INET6 ?
++ sizeof(struct sockaddr_in6) :
++ sizeof(struct sockaddr_in));
++#else
++ size_t salen = sizeof(struct sockaddr_in);
++#endif
++
++ if ((listensock[i] = socket(sa->sa_family,SOCK_STREAM,0)) < 0)
+ {
+- dbg_perror(g,"error opening stream socket");
+- epmd_cleanup_exit(g,1);
++ switch (errno) {
++ case EAFNOSUPPORT:
++ case EPROTONOSUPPORT:
++ continue;
++ default:
++ dbg_perror(g,"error opening stream socket");
++ epmd_cleanup_exit(g,1);
++ }
+ }
+ g->listenfd[i] = listensock[i];
+-
++
++#if HAVE_DECL_IPV6_V6ONLY
++ opt = 1;
++ if (sa->sa_family == AF_INET6 &&
++ setsockopt(listensock[i],IPPROTO_IPV6,IPV6_V6ONLY,&opt,
++ sizeof(opt)) <0)
++ {
++ dbg_perror(g,"can't set IPv6 only socket option");
++ epmd_cleanup_exit(g,1);
++ }
++#endif
++
+ /*
+ * Note that we must not enable the SO_REUSEADDR on Windows,
+ * because addresses will be reused even if they are still in use.
+@@ -378,8 +424,7 @@ void run(EpmdVars *g)
+ dbg_perror(g,"failed to set non-blocking mode of listening socket %d",
+ listensock[i]);
+
+- if (bind(listensock[i], (struct sockaddr*) &iserv_addr[i],
+- sizeof(iserv_addr[i])) < 0)
++ if (bind(listensock[i], (struct sockaddr*) &iserv_addr[i], salen) < 0)
+ {
+ if (errno == EADDRINUSE)
+ {
+@@ -394,12 +439,18 @@ void run(EpmdVars *g)
+ }
+ }
+
++ bound++;
++
+ if(listen(listensock[i], SOMAXCONN) < 0) {
+ dbg_perror(g,"failed to listen on socket");
+ epmd_cleanup_exit(g,1);
+ }
+ select_fd_set(g, listensock[i]);
+ }
++ if (bound == 0) {
++ dbg_perror(g,"unable to bind any address");
++ epmd_cleanup_exit(g,1);
++ }
+ #ifdef HAVE_SYSTEMD_DAEMON
+ }
+ sd_notifyf(0, "READY=1\n"
+@@ -1007,15 +1058,6 @@ static int conn_open(EpmdVars *g,int fd)
+
+ for (i = 0; i < g->max_conn; i++) {
+ if (g->conn[i].open == EPMD_FALSE) {
+- struct sockaddr_in si;
+- struct sockaddr_in di;
+-#ifdef HAVE_SOCKLEN_T
+- socklen_t st;
+-#else
+- int st;
+-#endif
+- st = sizeof(si);
+-
+ g->active_conn++;
+ s = &g->conn[i];
+
+@@ -1026,20 +1068,7 @@ static int conn_open(EpmdVars *g,int fd)
+ s->open = EPMD_TRUE;
+ s->keep = EPMD_FALSE;
+
+- /* Determine if connection is from localhost */
+- if (getpeername(s->fd,(struct sockaddr*) &si,&st) ||
+- st < sizeof(si)) {
+- /* Failure to get peername is regarded as non local host */
+- s->local_peer = EPMD_FALSE;
+- } else {
+- /* Only 127.x.x.x and connections from the host's IP address
+- allowed, no false positives */
+- s->local_peer =
+- (((((unsigned) ntohl(si.sin_addr.s_addr)) & 0xFF000000U) ==
+- 0x7F000000U) ||
+- (getsockname(s->fd,(struct sockaddr*) &di,&st) ?
+- EPMD_FALSE : si.sin_addr.s_addr == di.sin_addr.s_addr));
+- }
++ s->local_peer = conn_local_peer_check(g, s->fd);
+ dbg_tty_printf(g,2,(s->local_peer) ? "Local peer connected" :
+ "Non-local peer connected");
+
+@@ -1047,7 +1076,7 @@ static int conn_open(EpmdVars *g,int fd)
+ s->got = 0;
+ s->mod_time = current_time(g); /* Note activity */
+
+- s->buf = (char *)malloc(INBUF_SIZE);
++ s->buf = malloc(INBUF_SIZE);
+
+ if (s->buf == NULL) {
+ dbg_printf(g,0,"epmd: Insufficient memory");
+@@ -1065,6 +1094,60 @@ static int conn_open(EpmdVars *g,int fd)
+ return EPMD_FALSE;
+ }
+
++static int conn_local_peer_check(EpmdVars *g, int fd)
++{
++ struct EPMD_SOCKADDR_IN si;
++ struct EPMD_SOCKADDR_IN di;
++
++ struct sockaddr_in *si4 = (struct sockaddr_in *)&si;
++ struct sockaddr_in *di4 = (struct sockaddr_in *)&di;
++
++#if defined(EPMD6)
++ struct sockaddr_in6 *si6 = (struct sockaddr_in6 *)&si;
++ struct sockaddr_in6 *di6 = (struct sockaddr_in6 *)&di;
++#endif
++
++#ifdef HAVE_SOCKLEN_T
++ socklen_t st;
++#else
++ int st;
++#endif
++
++ st = sizeof(si);
++
++ /* Determine if connection is from localhost */
++ if (getpeername(fd,(struct sockaddr*) &si,&st) ||
++ st > sizeof(si)) {
++ /* Failure to get peername is regarded as non local host */
++ return EPMD_FALSE;
++ }
++
++ /* Only 127.x.x.x and connections from the host's IP address
++ allowed, no false positives */
++#if defined(EPMD6)
++ if (si.ss_family == AF_INET6 && IN6_IS_ADDR_LOOPBACK(&(si6->sin6_addr)))
++ return EPMD_TRUE;
++
++ if (si.ss_family == AF_INET)
++#endif
++ if ((((unsigned) ntohl(si4->sin_addr.s_addr)) & 0xFF000000U) ==
++ 0x7F000000U)
++ return EPMD_TRUE;
++
++ if (getsockname(fd,(struct sockaddr*) &di,&st))
++ return EPMD_FALSE;
++
++#if defined(EPMD6)
++ if (si.ss_family == AF_INET6)
++ return IN6_ARE_ADDR_EQUAL( &(si6->sin6_addr), &(di6->sin6_addr));
++ if (si.ss_family == AF_INET)
++#endif
++ return si4->sin_addr.s_addr == di4->sin_addr.s_addr;
++#if defined(EPMD6)
++ return EPMD_FALSE;
++#endif
++}
++
+ static int conn_close_fd(EpmdVars *g,int fd)
+ {
+ int i;
+diff --git a/erts/epmd/test/epmd_SUITE.erl b/erts/epmd/test/epmd_SUITE.erl
+index e8bbfdb..f3c0ada 100644
+--- a/erts/epmd/test/epmd_SUITE.erl
++++ b/erts/epmd/test/epmd_SUITE.erl
+@@ -43,6 +43,7 @@
+ -export(
+ [
+ register_name/1,
++ register_name_ipv6/1,
+ register_names_1/1,
+ register_names_2/1,
+ register_duplicate_name/1,
+@@ -111,7 +112,8 @@
+ suite() -> [{ct_hooks,[ts_install_cth]}].
+
+ all() ->
+- [register_name, register_names_1, register_names_2,
++ [register_name, register_name_ipv6,
++ register_names_1, register_names_2,
+ register_duplicate_name, unicode_name, long_unicode_name,
+ get_port_nr, slow_get_port_nr,
+ unregister_others_name_1, unregister_others_name_2,
+@@ -169,6 +171,24 @@ register_name(Config) when is_list(Config) ->
+ ?line ok = close(Sock), % Unregister
+ ok.
+
++register_name_ipv6(doc) ->
++ ["Register a name over IPv6"];
++register_name_ipv6(suite) ->
++ [];
++register_name_ipv6(Config) when is_list(Config) ->
++ % Test if the host has an IPv6 loopback address
++ Res = gen_tcp:listen(0, [inet6, {ip, {0,0,0,0,0,0,0,1}}]),
++ case Res of
++ {ok,LSock} ->
++ gen_tcp:close(LSock),
++ ?line ok = epmdrun(),
++ ?line {ok,Sock} = register_node6("foobar6"),
++ ?line ok = close(Sock), % Unregister
++ ok;
++ _Error ->
++ {skip, "Host does not have an IPv6 loopback address"}
++ end.
++
+ register_names_1(doc) ->
+ ["Register and unregister two nodes"];
+ register_names_1(suite) ->
+@@ -242,13 +262,18 @@ register_node(Name) ->
+ register_node(Name,Port) ->
+ register_node_v2(Port,$M,0,5,5,Name,"").
+
++register_node6(Name) ->
++ register_node_v2({0,0,0,0,0,0,0,1},?DUMMY_PORT,$M,0,5,5,Name,"").
++
+ register_node_v2(Port, NodeType, Prot, HVsn, LVsn, Name, Extra) ->
++ register_node_v2("localhost", Port, NodeType, Prot, HVsn, LVsn, Name, Extra).
++register_node_v2(Addr, Port, NodeType, Prot, HVsn, LVsn, Name, Extra) ->
+ Utf8Name = unicode:characters_to_binary(Name),
+ Req = [?EPMD_ALIVE2_REQ, put16(Port), NodeType, Prot,
+ put16(HVsn), put16(LVsn),
+ put16(size(Utf8Name)), binary_to_list(Utf8Name),
+ size16(Extra), Extra],
+- case send_req(Req) of
++ case send_req(Req, Addr) of
+ {ok,Sock} ->
+ case recv(Sock,4) of
+ {ok, [?EPMD_ALIVE2_RESP,_Res=0,_C0,_C1]} ->
+@@ -1151,7 +1176,9 @@ send_direct(Sock, Bytes) ->
+ end.
+
+ send_req(Req) ->
+- case connect() of
++ send_req(Req, "localhost").
++send_req(Req, Addr) ->
++ case connect(Addr) of
+ {ok,Sock} ->
+ case send(Sock, [size16(Req), Req]) of
+ ok ->
+diff --git a/lib/kernel/src/erl_epmd.erl b/lib/kernel/src/erl_epmd.erl
+index 55ce9a7..c6202dd 100644
+--- a/lib/kernel/src/erl_epmd.erl
++++ b/lib/kernel/src/erl_epmd.erl
+@@ -32,7 +32,7 @@
+ %% External exports
+ -export([start/0, start_link/0, stop/0, port_please/2,
+ port_please/3, names/0, names/1,
+- register_node/2, open/0, open/1, open/2]).
++ register_node/2, register_node/3, open/0, open/1, open/2]).
+
+ %% gen_server callbacks
+ -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
+@@ -102,7 +102,9 @@ names(EpmdAddr) ->
+
+
+ register_node(Name, PortNo) ->
+- gen_server:call(erl_epmd, {register, Name, PortNo}, infinity).
++ register_node(Name, PortNo, inet).
++register_node(Name, PortNo, Family) ->
++ gen_server:call(erl_epmd, {register, Name, PortNo, Family}, infinity).
+
+ %%%----------------------------------------------------------------------
+ %%% Callback functions from gen_server
+@@ -120,10 +122,10 @@ init(_) ->
+ -spec handle_call(calls(), term(), state()) ->
+ {'reply', term(), state()} | {'stop', 'shutdown', 'ok', state()}.
+
+-handle_call({register, Name, PortNo}, _From, State) ->
++handle_call({register, Name, PortNo, Family}, _From, State) ->
+ case State#state.socket of
+ P when P < 0 ->
+- case do_register_node(Name, PortNo) of
++ case do_register_node(Name, PortNo, Family) of
+ {alive, Socket, Creation} ->
+ S = State#state{socket = Socket,
+ port_no = PortNo,
+@@ -206,8 +208,12 @@ open({A,B,C,D,E,F,G,H}=EpmdAddr, Timeout) when ?ip6(A,B,C,D,E,F,G,H) ->
+ close(Socket) ->
+ gen_tcp:close(Socket).
+
+-do_register_node(NodeName, TcpPort) ->
+- case open() of
++do_register_node(NodeName, TcpPort, Family) ->
++ Localhost = case Family of
++ inet -> open({127,0,0,1});
++ inet6 -> open({0,0,0,0,0,0,0,1})
++ end,
++ case Localhost of
+ {ok, Socket} ->
+ Name = to_string(NodeName),
+ Extra = "",
From 0fa35dd5bddcd00326797afa292886d228ebfbae Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 22 Jan 2016 23:12:38 +0300
Subject: [PATCH 050/322] Disable optimizations for Intel Atom CPU on ix86
arches
See https://bugzilla.redhat.com/1240487#c13
Signed-off-by: Peter Lemenkov
---
erlang.spec | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index bb87f85..d1af693 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -16,7 +16,7 @@
Name: erlang
Version: 18.2.2
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -915,9 +915,17 @@ Erlang mode for XEmacs (source lisp files).
%ifarch sparcv9 sparc64
CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe}
%else
+
+%ifarch %{ix86}
+# We have to disable optimizations for Intel Atom
+# See https://bugzilla.redhat.com/1240487#c13
+CFLAGS="${RPM_OPT_FLAGS/-mtune=atom/-mtune=generic} -fno-strict-aliasing" CXXFLAGS="${RPM_OPT_FLAGS/-mtune=atom/-mtune=generic}" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe}
+%else
CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe}
%endif
+%endif
+
# Remove pre-built BEAM files
make clean
@@ -956,7 +964,7 @@ make
%if %{with doc}
# should use FOP_OPTS after #832323 is resolved
%ifnarch ppc %{power64}
-export BASE_OPTIONS=-Xmx512m
+export BASE_OPTIONS=-Xmx1024m
%else
export BASE_OPTIONS=-Xmx1536m
%endif
@@ -2222,6 +2230,10 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Fri Jan 22 2016 Peter Lemenkov - 18.2.2-3
+- Disable optimizations for Intel Atom CPU on ix86 arches
+- Restore Java memory limits, applied during docs building, back
+
* Sun Jan 17 2016 John Eckersberg - 18.2.2-2
- Add patch for epmd ipv6 support (rhbz#1299253)
From af96aadbce4e308b29a2229554f1be352a813703 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 22 Jan 2016 23:53:38 +0300
Subject: [PATCH 051/322] Decrease Java memory limits again
Signed-off-by: Peter Lemenkov
---
erlang.spec | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index d1af693..dc56562 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -964,7 +964,7 @@ make
%if %{with doc}
# should use FOP_OPTS after #832323 is resolved
%ifnarch ppc %{power64}
-export BASE_OPTIONS=-Xmx1024m
+export BASE_OPTIONS=-Xmx512m
%else
export BASE_OPTIONS=-Xmx1536m
%endif
@@ -2232,7 +2232,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
* Fri Jan 22 2016 Peter Lemenkov - 18.2.2-3
- Disable optimizations for Intel Atom CPU on ix86 arches
-- Restore Java memory limits, applied during docs building, back
* Sun Jan 17 2016 John Eckersberg - 18.2.2-2
- Add patch for epmd ipv6 support (rhbz#1299253)
From 4244d3482c1aec2f8d8dc85f69d195eacbe9b99f Mon Sep 17 00:00:00 2001
From: Dennis Gilmore
Date: Wed, 3 Feb 2016 19:54:32 +0000
Subject: [PATCH 052/322] - Rebuilt for
https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
---
erlang.spec | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index dc56562..d029675 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -16,7 +16,7 @@
Name: erlang
Version: 18.2.2
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2230,6 +2230,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Feb 03 2016 Fedora Release Engineering - 18.2.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
* Fri Jan 22 2016 Peter Lemenkov - 18.2.2-3
- Disable optimizations for Intel Atom CPU on ix86 arches
From bc2facf340b2fecf8e5cfdfa4493b04c9cdc83eb Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 9 Feb 2016 16:21:43 +0300
Subject: [PATCH 053/322] Ver. 18.2.3
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 17 ++++++++++++-----
otp-0006-Do-not-install-erlang-sources.patch | 4 ++--
sources | 2 +-
4 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/.gitignore b/.gitignore
index 8477df3..d0b1f42 100644
--- a/.gitignore
+++ b/.gitignore
@@ -56,3 +56,4 @@ otp_src_R14A.tar.gz
/otp-OTP-17.3.4.tar.gz
/otp-OTP-17.4.tar.gz
/otp-OTP-18.2.2.tar.gz
+/otp-OTP-18.2.3.tar.gz
diff --git a/erlang.spec b/erlang.spec
index d029675..bc3f5be 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -15,8 +15,8 @@
%endif
Name: erlang
-Version: 18.2.2
-Release: 4%{?dist}
+Version: 18.2.3
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -912,20 +912,24 @@ Erlang mode for XEmacs (source lisp files).
%build
+
+# Set up proper cflags/cxxflags first
%ifarch sparcv9 sparc64
-CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe}
+ERL_FLAGS="${RPM_OPT_FLAGS} -mcpu=ultrasparc -fno-strict-aliasing"
%else
%ifarch %{ix86}
# We have to disable optimizations for Intel Atom
# See https://bugzilla.redhat.com/1240487#c13
-CFLAGS="${RPM_OPT_FLAGS/-mtune=atom/-mtune=generic} -fno-strict-aliasing" CXXFLAGS="${RPM_OPT_FLAGS/-mtune=atom/-mtune=generic}" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe}
+ERL_FLAGS="${RPM_OPT_FLAGS/-mtune=atom/-mtune=generic} -fno-strict-aliasing"
%else
-CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe}
+ERL_FLAGS="${RPM_OPT_FLAGS} -fno-strict-aliasing"
%endif
%endif
+CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe}
+
# Remove pre-built BEAM files
make clean
@@ -2230,6 +2234,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Tue Feb 9 2016 Peter Lemenkov - 18.2.3-1
+- Ver. 18.2.3
+
* Wed Feb 03 2016 Fedora Release Engineering - 18.2.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index 933787e..3091632 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -472,10 +472,10 @@ index 1c05d45..88f9f62 100644
$(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile
-index 82cda6a..edfebd2 100644
+index 0a4b625..1b1d83d 100644
--- a/lib/inets/src/inets_app/Makefile
+++ b/lib/inets/src/inets_app/Makefile
-@@ -116,7 +116,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -115,7 +115,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/inets_app"
diff --git a/sources b/sources
index 7a59318..b3b8f94 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-49d9ef3ccffc028100e35ff80e7d4d06 otp-OTP-18.2.2.tar.gz
+236741d3893b09cdd1699edd1549db6b otp-OTP-18.2.3.tar.gz
From 2038287893c4b997147523a50c833c10bfd5d009 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 10 Feb 2016 13:58:34 +0300
Subject: [PATCH 054/322] Workaround for broken cmpxchg8b inlining on ix86
- Workaround for broken cmpxchg8b inlining on ix86
- Don't use generic optimization on ix86
- Increase memory up to 1024 mbytes while generating docs on non-ppc
arches
Signed-off-by: Peter Lemenkov
---
erlang.spec | 16 ++++++++---
...xchg8b-inline-asm-when-pic-and-gcc-5.patch | 27 +++++++++++++++++++
2 files changed, 40 insertions(+), 3 deletions(-)
create mode 100644 otp-0010-Quickfix-for-cmpxchg8b-inline-asm-when-pic-and-gcc-5.patch
diff --git a/erlang.spec b/erlang.spec
index bc3f5be..7d3aa37 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -16,7 +16,7 @@
Name: erlang
Version: 18.2.3
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -75,6 +75,9 @@ Patch8: otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
# Fedora specific patch
# epmd: support IPv6 node registration
Patch9: otp-0009-epmd-support-IPv6-node-registration.patch
+# Fedora specific patch
+# Quickfix for cmpxchg8b inline asm when pic and gcc >= 5.0 is
+Patch10: otp-0010-Quickfix-for-cmpxchg8b-inline-asm-when-pic-and-gcc-5.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -901,6 +904,7 @@ Erlang mode for XEmacs (source lisp files).
%patch7 -p1 -b .Split_off_webtool_dependency_from_tools
%patch8 -p1 -b .Add_patch_to_crash_dump_on_large_distribution
%patch9 -p1 -b .epmd_support_IPv6_node_registration
+%patch10 -p1 -b .Quickfix_for_cmpxchg8b_inline_asm_when_pic_and_gcc_5
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -921,7 +925,8 @@ ERL_FLAGS="${RPM_OPT_FLAGS} -mcpu=ultrasparc -fno-strict-aliasing"
%ifarch %{ix86}
# We have to disable optimizations for Intel Atom
# See https://bugzilla.redhat.com/1240487#c13
-ERL_FLAGS="${RPM_OPT_FLAGS/-mtune=atom/-mtune=generic} -fno-strict-aliasing"
+#ERL_FLAGS="${RPM_OPT_FLAGS/-mtune=atom/-mtune=generic} -fno-strict-aliasing"
+ERL_FLAGS="${RPM_OPT_FLAGS} -fno-strict-aliasing"
%else
ERL_FLAGS="${RPM_OPT_FLAGS} -fno-strict-aliasing"
%endif
@@ -968,7 +973,7 @@ make
%if %{with doc}
# should use FOP_OPTS after #832323 is resolved
%ifnarch ppc %{power64}
-export BASE_OPTIONS=-Xmx512m
+export BASE_OPTIONS=-Xmx1024m
%else
export BASE_OPTIONS=-Xmx1536m
%endif
@@ -2234,6 +2239,11 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Feb 10 2016 Peter Lemenkov - 18.2.3-2
+- Workaround for broken cmpxchg8b inlining on ix86 (rhbz#1240487)
+- Don't use generic optimization on ix86
+- Increase memory up to 1024 mbytes while generating docs on non-ppc arches
+
* Tue Feb 9 2016 Peter Lemenkov - 18.2.3-1
- Ver. 18.2.3
diff --git a/otp-0010-Quickfix-for-cmpxchg8b-inline-asm-when-pic-and-gcc-5.patch b/otp-0010-Quickfix-for-cmpxchg8b-inline-asm-when-pic-and-gcc-5.patch
new file mode 100644
index 0000000..cc8a9d1
--- /dev/null
+++ b/otp-0010-Quickfix-for-cmpxchg8b-inline-asm-when-pic-and-gcc-5.patch
@@ -0,0 +1,27 @@
+From: Rickard Green
+Date: Tue, 9 Feb 2016 18:23:26 +0100
+Subject: [PATCH] Quickfix for cmpxchg8b inline asm when pic and gcc >= 5.0 is
+ used
+
+
+diff --git a/erts/include/internal/i386/ethr_dw_atomic.h b/erts/include/internal/i386/ethr_dw_atomic.h
+index e8c4119..caba633 100644
+--- a/erts/include/internal/i386/ethr_dw_atomic.h
++++ b/erts/include/internal/i386/ethr_dw_atomic.h
+@@ -115,6 +115,8 @@ ethr_native_dw_atomic_addr(ethr_native_dw_atomic_t *var)
+ return (ethr_sint_t *) ETHR_DW_NATMC_MEM__(var);
+ }
+
++#if !ETHR_AT_LEAST_GCC_VSN__(5, 0, 0)
++
+ #if ETHR_SIZEOF_PTR == 4 && defined(__PIC__) && __PIC__
+ /*
+ * When position independent code is used in 32-bit mode, the EBX register
+@@ -138,6 +140,7 @@ ethr_native_dw_atomic_addr(ethr_native_dw_atomic_t *var)
+ # endif
+ #endif
+
++#endif /* < gcc-5.0 */
+
+ #define ETHR_HAVE_ETHR_NATIVE_DW_ATOMIC_CMPXCHG_MB
+
From cf1ebfcf6cd75786ebb80fca876dfd17a1146261 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 19 Feb 2016 18:42:20 +0300
Subject: [PATCH 055/322] Add missing dependency
Signed-off-by: Peter Lemenkov
---
erlang.spec | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 7d3aa37..83c691c 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -16,7 +16,7 @@
Name: erlang
Version: 18.2.3
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -425,6 +425,8 @@ BuildRequires: lksctp-tools-devel
BuildRequires: m4
BuildRequires: ncurses-devel
BuildRequires: zlib-devel
+# epmd user, epmd group
+Requires(pre): shadow-utils
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: lksctp-tools
@@ -921,16 +923,7 @@ Erlang mode for XEmacs (source lisp files).
%ifarch sparcv9 sparc64
ERL_FLAGS="${RPM_OPT_FLAGS} -mcpu=ultrasparc -fno-strict-aliasing"
%else
-
-%ifarch %{ix86}
-# We have to disable optimizations for Intel Atom
-# See https://bugzilla.redhat.com/1240487#c13
-#ERL_FLAGS="${RPM_OPT_FLAGS/-mtune=atom/-mtune=generic} -fno-strict-aliasing"
ERL_FLAGS="${RPM_OPT_FLAGS} -fno-strict-aliasing"
-%else
-ERL_FLAGS="${RPM_OPT_FLAGS} -fno-strict-aliasing"
-%endif
-
%endif
CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe}
@@ -2239,6 +2232,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Fri Feb 19 2016 Peter Lemenkov - 18.2.3-3
+- Add missing dependency
+
* Wed Feb 10 2016 Peter Lemenkov - 18.2.3-2
- Workaround for broken cmpxchg8b inlining on ix86 (rhbz#1240487)
- Don't use generic optimization on ix86
From dca1aea1d4760405a0cd2d61454ecd30b412462d Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 23 Feb 2016 15:14:54 +0300
Subject: [PATCH 056/322] Ver. 18.2.4
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 11 ++++++++---
sources | 2 +-
3 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/.gitignore b/.gitignore
index d0b1f42..0e151bd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -57,3 +57,4 @@ otp_src_R14A.tar.gz
/otp-OTP-17.4.tar.gz
/otp-OTP-18.2.2.tar.gz
/otp-OTP-18.2.3.tar.gz
+/otp-OTP-18.2.4.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 83c691c..244f220 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -15,8 +15,8 @@
%endif
Name: erlang
-Version: 18.2.3
-Release: 3%{?dist}
+Version: 18.2.4
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -850,7 +850,7 @@ A tool that simplifying the use of web based Erlang tools.
%package wx
Summary: A library for wxWidgets support in Erlang
Group: Development/Languages
-BuildRequires: wxGTK-devel
+BuildRequires: wxGTK3-devel
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -2232,6 +2232,11 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Tue Feb 23 2016 Peter Lemenkov - 18.2.4-1
+- Ver. 18.2.4
+- Build against wxGTK-3.x.y as recommended by upstream. This change won't
+ affect "headless" installations.
+
* Fri Feb 19 2016 Peter Lemenkov - 18.2.3-3
- Add missing dependency
diff --git a/sources b/sources
index b3b8f94..92f198a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-236741d3893b09cdd1699edd1549db6b otp-OTP-18.2.3.tar.gz
+0ea13f170092d73f014c27296825bfc9 otp-OTP-18.2.4.tar.gz
From 6beeb43ea16ed67d993186ff268d39bbeee09cfe Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 23 Feb 2016 15:35:58 +0300
Subject: [PATCH 057/322] Add missing BuildRequires
Signed-off-by: Peter Lemenkov
---
erlang.spec | 2 ++
1 file changed, 2 insertions(+)
diff --git a/erlang.spec b/erlang.spec
index 244f220..390471f 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -97,6 +97,8 @@ Requires(preun):systemd
Requires(postun):systemd
Requires: systemd
%endif
+BuildRequires: autoconf
+BuildRequires: automake
BuildRequires: erlang-rpm-macros
Requires: %{name}-asn1%{?_isa} = %{version}-%{release}
From 2b7cc88703677d871551257827d3723683a85fc1 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 23 Feb 2016 16:25:11 +0300
Subject: [PATCH 058/322] Use proper wx-config path for wxWidgets-3.x.y
Signed-off-by: Peter Lemenkov
---
erlang.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index 390471f..5264f1a 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -928,7 +928,7 @@ ERL_FLAGS="${RPM_OPT_FLAGS} -mcpu=ultrasparc -fno-strict-aliasing"
ERL_FLAGS="${RPM_OPT_FLAGS} -fno-strict-aliasing"
%endif
-CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe}
+CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe} --with-wx-config=/usr/bin/wx-config-3.0
# Remove pre-built BEAM files
make clean
From 7f00bd87226a953ee41efdd55c57cc0011bbc32d Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Sun, 28 Feb 2016 00:05:49 +0300
Subject: [PATCH 059/322] Fixed issue with nodes registration over IPv6
Signed-off-by: Peter Lemenkov
---
erlang.spec | 5 +-
...-epmd-support-IPv6-node-registration.patch | 172 +++++++++++-------
2 files changed, 108 insertions(+), 69 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 5264f1a..81c2a53 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -16,7 +16,7 @@
Name: erlang
Version: 18.2.4
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2234,6 +2234,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Sun Feb 28 2016 Peter Lemenkov - 18.2.4-2
+- Fixed issue with nodes registration over IPv6
+
* Tue Feb 23 2016 Peter Lemenkov - 18.2.4-1
- Ver. 18.2.4
- Build against wxGTK-3.x.y as recommended by upstream. This change won't
diff --git a/otp-0009-epmd-support-IPv6-node-registration.patch b/otp-0009-epmd-support-IPv6-node-registration.patch
index 0347c7e..b6c98b2 100644
--- a/otp-0009-epmd-support-IPv6-node-registration.patch
+++ b/otp-0009-epmd-support-IPv6-node-registration.patch
@@ -17,30 +17,22 @@ epmd ignores errors opening the socket if the protocol is not
supported. Similarly, the epmd client will fall back to IPv4 if the IPv6
socket is not available.
-The interaction between IPv4 and IPv6 sockets depends on the platform:
-
-* FreeBSD allows multiple "specific" sockets to bind the same port (such
- as 2 sockets listening to the same port on ANY and the loopback).
- Binding port 4369 to IPv4 and IPv6 sockets simulataneously is allowed.
-
-* Linux does not allow the same port to be bound by different sockets.
- Setting the IPV6_V6ONLY socket option is required.
-
-* Windows
-
- The behaviour differs depending on the version of Windows:
-
- http://msdn.microsoft.com/en-us/library/windows/desktop/bb513665(v=vs.85).aspx
-
- According to the site, sockets on Windows XP with Service Pack 1 (SP1)
- and Windows Server 2003 will only listen on either IPv4 or IPv6, so
- creating two sockets is required to service IPv4 and IPv6 traffic on
- the same port. The IPV6_V6ONLY socket option is not supported.
-
- For Windows Vista and later, a single socket can handle IPv4 and IPv6
- traffic for the same port. The IPV6_V6ONLY socket option is supported
- and is enabled for IPv6 sockets by default.
+Update the minimum supported version of Windows to Windows Vista to
+support IPv6.
+diff --git a/erts/configure.in b/erts/configure.in
+index 4fb725f..368c563 100644
+--- a/erts/configure.in
++++ b/erts/configure.in
+@@ -468,7 +468,7 @@ case $host_os in
+ win32)
+ # The ethread library requires _WIN32_WINNT of at least 0x0403.
+ # -D_WIN32_WINNT=* from CPPFLAGS is saved in ETHR_DEFS.
+- CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0501 -DWINVER=0x0501"
++ CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0600 -DWINVER=0x0600"
+ ;;
+ darwin*)
+ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE"
diff --git a/erts/doc/src/epmd.xml b/erts/doc/src/epmd.xml
index 28fcc8f..7f61804 100644
--- a/erts/doc/src/epmd.xml
@@ -55,13 +47,18 @@ index 28fcc8f..7f61804 100644
Starts the port mapper daemon
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
-index ec4a0de..cdf8aef 100644
+index ec4a0de..9016a94 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
-@@ -382,6 +382,28 @@
+@@ -382,6 +382,33 @@
similar to . See
code(3) .
++
++ -
++
Replaces the path specified in the boot script. See
++ script(4) .
++
+
+ -
+
Specify a protocol for Erlang distribution.
@@ -80,9 +77,9 @@ index ec4a0de..cdf8aef 100644
+
+
+ For example, to start up IPv6 distributed nodes:
-+
-+% erl -name test@ipv6node.example.com -proto_dist inet6_tcp
-+
++
++ % erl -name test@ipv6node.example.com -proto_dist inet6_tcp
++
+
-
@@ -147,7 +144,7 @@ index a8fe865..6fc05e1 100644
error:
diff --git a/erts/epmd/src/epmd_int.h b/erts/epmd/src/epmd_int.h
-index 26100af..8f44c2a 100644
+index 26100af..0931709 100644
--- a/erts/epmd/src/epmd_int.h
+++ b/erts/epmd/src/epmd_int.h
@@ -55,6 +55,7 @@
@@ -158,20 +155,18 @@ index 26100af..8f44c2a 100644
# include
# include
#endif
-@@ -130,6 +131,12 @@
+@@ -130,6 +131,10 @@
# include
#endif /* HAVE_SYSTEMD_DAEMON */
-+#if defined(HAVE_IN6) && defined(AF_INET6)
-+#if !defined(__WIN32__)
++#if defined(HAVE_IN6) && defined(AF_INET6) && defined(HAVE_INET_PTON)
+# define EPMD6
+#endif
-+#endif
+
/* ************************************************************************ */
/* Replace some functions by others by making the function name a macro */
-@@ -183,33 +190,53 @@
+@@ -183,33 +188,53 @@
/* ************************************************************************ */
/* Macros that let us use IPv6 */
@@ -198,14 +193,14 @@ index 26100af..8f44c2a 100644
+#endif /* HAVE_IN6 */
+
+#define IS_ADDR_LOOPBACK(addr) ((addr).s_addr == htonl(INADDR_LOOPBACK))
++
++#if defined(EPMD6)
-#define EPMD_SOCKADDR_IN sockaddr_in6
-#define EPMD_IN_ADDR in6_addr
-#define EPMD_S_ADDR s6_addr
-#define EPMD_ADDR_LOOPBACK in6addr_loopback.s6_addr
-#define EPMD_ADDR_ANY in6addr_any.s6_addr
-+#if defined(EPMD6)
-+
+#define EPMD_SOCKADDR_IN sockaddr_storage
#define FAMILY AF_INET6
@@ -243,7 +238,7 @@ index 26100af..8f44c2a 100644
#define FAMILY AF_INET
#define SET_ADDR(dst, addr, port) do { \
-@@ -219,8 +246,6 @@
+@@ -219,8 +244,6 @@
(dst).sin_port = htons(port); \
} while(0)
@@ -253,7 +248,7 @@ index 26100af..8f44c2a 100644
/* ************************************************************************ */
diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c
-index 8c8d730..28a2968 100644
+index 8c8d730..d092d98 100644
--- a/erts/epmd/src/epmd_srv.c
+++ b/erts/epmd/src/epmd_srv.c
@@ -76,6 +76,7 @@ static time_t current_time(EpmdVars*);
@@ -353,10 +348,10 @@ index 8c8d730..28a2968 100644
if (IS_ADDR_LOOPBACK(addr))
- loopback_ok = 1;
+ continue;
-+
-+ num_sockets++;
- if (num_sockets - loopback_ok == MAX_LISTEN_SOCKETS - 1)
++ num_sockets++;
++
+ if (num_sockets >= MAX_LISTEN_SOCKETS)
{
dbg_tty_printf(g,0,"cannot listen on more than %d IP addresses",
@@ -405,7 +400,6 @@ index 8c8d730..28a2968 100644
+ if ((listensock[i] = socket(sa->sa_family,SOCK_STREAM,0)) < 0)
{
- dbg_perror(g,"error opening stream socket");
-- epmd_cleanup_exit(g,1);
+ switch (errno) {
+ case EAFNOSUPPORT:
+ case EPROTONOSUPPORT:
@@ -414,9 +408,8 @@ index 8c8d730..28a2968 100644
+ dbg_perror(g,"error opening stream socket");
+ epmd_cleanup_exit(g,1);
+ }
- }
- g->listenfd[i] = listensock[i];
--
++ }
++ g->listenfd[bound++] = listensock[i];
+
+#if HAVE_DECL_IPV6_V6ONLY
+ opt = 1;
@@ -425,8 +418,10 @@ index 8c8d730..28a2968 100644
+ sizeof(opt)) <0)
+ {
+ dbg_perror(g,"can't set IPv6 only socket option");
-+ epmd_cleanup_exit(g,1);
-+ }
+ epmd_cleanup_exit(g,1);
+ }
+- g->listenfd[i] = listensock[i];
+-
+#endif
+
/*
@@ -442,15 +437,7 @@ index 8c8d730..28a2968 100644
{
if (errno == EADDRINUSE)
{
-@@ -394,12 +439,18 @@ void run(EpmdVars *g)
- }
- }
-
-+ bound++;
-+
- if(listen(listensock[i], SOMAXCONN) < 0) {
- dbg_perror(g,"failed to listen on socket");
- epmd_cleanup_exit(g,1);
+@@ -400,6 +445,11 @@ void run(EpmdVars *g)
}
select_fd_set(g, listensock[i]);
}
@@ -458,10 +445,22 @@ index 8c8d730..28a2968 100644
+ dbg_perror(g,"unable to bind any address");
+ epmd_cleanup_exit(g,1);
+ }
++ num_sockets = bound;
#ifdef HAVE_SYSTEMD_DAEMON
}
sd_notifyf(0, "READY=1\n"
-@@ -1007,15 +1058,6 @@ static int conn_open(EpmdVars *g,int fd)
+@@ -444,8 +494,8 @@ void run(EpmdVars *g)
+ }
+
+ for (i = 0; i < num_sockets; i++)
+- if (FD_ISSET(listensock[i],&read_mask)) {
+- if (do_accept(g, listensock[i]) && g->active_conn < g->max_conn) {
++ if (FD_ISSET(g->listenfd[i],&read_mask)) {
++ if (do_accept(g, g->listenfd[i]) && g->active_conn < g->max_conn) {
+ /*
+ * The accept() succeeded, and we have at least one file
+ * descriptor still free, which means that another accept()
+@@ -1007,15 +1057,6 @@ static int conn_open(EpmdVars *g,int fd)
for (i = 0; i < g->max_conn; i++) {
if (g->conn[i].open == EPMD_FALSE) {
@@ -477,7 +476,7 @@ index 8c8d730..28a2968 100644
g->active_conn++;
s = &g->conn[i];
-@@ -1026,20 +1068,7 @@ static int conn_open(EpmdVars *g,int fd)
+@@ -1026,20 +1067,7 @@ static int conn_open(EpmdVars *g,int fd)
s->open = EPMD_TRUE;
s->keep = EPMD_FALSE;
@@ -499,7 +498,7 @@ index 8c8d730..28a2968 100644
dbg_tty_printf(g,2,(s->local_peer) ? "Local peer connected" :
"Non-local peer connected");
-@@ -1047,7 +1076,7 @@ static int conn_open(EpmdVars *g,int fd)
+@@ -1047,7 +1075,7 @@ static int conn_open(EpmdVars *g,int fd)
s->got = 0;
s->mod_time = current_time(g); /* Note activity */
@@ -508,7 +507,7 @@ index 8c8d730..28a2968 100644
if (s->buf == NULL) {
dbg_printf(g,0,"epmd: Insufficient memory");
-@@ -1065,6 +1094,60 @@ static int conn_open(EpmdVars *g,int fd)
+@@ -1065,6 +1093,60 @@ static int conn_open(EpmdVars *g,int fd)
return EPMD_FALSE;
}
@@ -570,7 +569,7 @@ index 8c8d730..28a2968 100644
{
int i;
diff --git a/erts/epmd/test/epmd_SUITE.erl b/erts/epmd/test/epmd_SUITE.erl
-index e8bbfdb..f3c0ada 100644
+index e8bbfdb..58fe23c 100644
--- a/erts/epmd/test/epmd_SUITE.erl
+++ b/erts/epmd/test/epmd_SUITE.erl
@@ -43,6 +43,7 @@
@@ -616,7 +615,7 @@ index e8bbfdb..f3c0ada 100644
register_names_1(doc) ->
["Register and unregister two nodes"];
register_names_1(suite) ->
-@@ -242,13 +262,18 @@ register_node(Name) ->
+@@ -242,13 +262,14 @@ register_node(Name) ->
register_node(Name,Port) ->
register_node_v2(Port,$M,0,5,5,Name,"").
@@ -624,19 +623,20 @@ index e8bbfdb..f3c0ada 100644
+ register_node_v2({0,0,0,0,0,0,0,1},?DUMMY_PORT,$M,0,5,5,Name,"").
+
register_node_v2(Port, NodeType, Prot, HVsn, LVsn, Name, Extra) ->
+- Utf8Name = unicode:characters_to_binary(Name),
+- Req = [?EPMD_ALIVE2_REQ, put16(Port), NodeType, Prot,
+- put16(HVsn), put16(LVsn),
+- put16(size(Utf8Name)), binary_to_list(Utf8Name),
+- size16(Extra), Extra],
+- case send_req(Req) of
+ register_node_v2("localhost", Port, NodeType, Prot, HVsn, LVsn, Name, Extra).
+register_node_v2(Addr, Port, NodeType, Prot, HVsn, LVsn, Name, Extra) ->
- Utf8Name = unicode:characters_to_binary(Name),
- Req = [?EPMD_ALIVE2_REQ, put16(Port), NodeType, Prot,
- put16(HVsn), put16(LVsn),
- put16(size(Utf8Name)), binary_to_list(Utf8Name),
- size16(Extra), Extra],
-- case send_req(Req) of
++ Req = alive2_req(Port, NodeType, Prot, HVsn, LVsn, Name, Extra),
+ case send_req(Req, Addr) of
{ok,Sock} ->
case recv(Sock,4) of
{ok, [?EPMD_ALIVE2_RESP,_Res=0,_C0,_C1]} ->
-@@ -1151,7 +1176,9 @@ send_direct(Sock, Bytes) ->
+@@ -1151,7 +1172,9 @@ send_direct(Sock, Bytes) ->
end.
send_req(Req) ->
@@ -647,6 +647,19 @@ index e8bbfdb..f3c0ada 100644
{ok,Sock} ->
case send(Sock, [size16(Req), Req]) of
ok ->
+diff --git a/lib/erl_interface/configure.in b/lib/erl_interface/configure.in
+index 3ac9212..7a3b5ce 100644
+--- a/lib/erl_interface/configure.in
++++ b/lib/erl_interface/configure.in
+@@ -251,7 +251,7 @@ case "$threads_disabled" in
+ ;;
+ win32_threads)
+ EI_THREADS="true"
+- THR_DEFS="$THR_DEFS -D_WIN32_WINNT=0x0500 -DWINVER=0x0500"
++ THR_DEFS="$THR_DEFS -D_WIN32_WINNT=0x0600 -DWINVER=0x0600"
+ ;;
+ pthread)
+ EI_THREADS="true"
diff --git a/lib/kernel/src/erl_epmd.erl b/lib/kernel/src/erl_epmd.erl
index 55ce9a7..c6202dd 100644
--- a/lib/kernel/src/erl_epmd.erl
@@ -699,3 +712,26 @@ index 55ce9a7..c6202dd 100644
{ok, Socket} ->
Name = to_string(NodeName),
Extra = "",
+diff --git a/lib/wx/configure.in b/lib/wx/configure.in
+index 48fcca6..bf27b72 100644
+--- a/lib/wx/configure.in
++++ b/lib/wx/configure.in
+@@ -164,14 +164,14 @@ case $host_os in
+ CPPFLAGS="$CPPFLAGS -D_MACOSX $PTHR_CFLAGS"
+ ;;
+ mingw32)
+- CFLAGS="$CFLAGS -DWIN32 -DWINVER=0x0500 -D_WINDOWS -D_UNICODE -DUNICODE"
+- CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0500"
++ CFLAGS="$CFLAGS -DWIN32 -DWINVER=0x0600 -D_WINDOWS -D_UNICODE -DUNICODE"
++ CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0600"
+ AC_MSG_WARN([Reverting to 32-bit time_t])
+ CPPFLAGS="$CPPFLAGS -D_USE_32BIT_TIME_T"
+ ;;
+ win32)
+- CFLAGS="$CFLAGS -DWIN32 -DWINVER=0x0500 -D_WINDOWS -D_UNICODE -DUNICODE"
+- CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0500"
++ CFLAGS="$CFLAGS -DWIN32 -DWINVER=0x0600 -D_WINDOWS -D_UNICODE -DUNICODE"
++ CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0600"
+ ;;
+ *)
+ CFLAGS="$CFLAGS -Wno-deprecated-declarations"
From 07f0adc4db6733d310887343ef14177b313cbeda Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 24 Mar 2016 22:47:57 +0300
Subject: [PATCH 060/322] Ver. 18.3
Signed-off-by: Peter Lemenkov
---
erlang.spec | 24 +-
otp-0006-Do-not-install-erlang-sources.patch | 4 +-
...-to-crash-dump-on-large-distribution.patch | 10 +-
...-epmd-support-IPv6-node-registration.patch | 737 ------------------
...xchg8b-inline-asm-when-pic-and-gcc-5.patch | 27 -
5 files changed, 19 insertions(+), 783 deletions(-)
delete mode 100644 otp-0009-epmd-support-IPv6-node-registration.patch
delete mode 100644 otp-0010-Quickfix-for-cmpxchg8b-inline-asm-when-pic-and-gcc-5.patch
diff --git a/erlang.spec b/erlang.spec
index 81c2a53..a89db79 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -2,11 +2,16 @@
%{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}}
+%global __minimal 0
+
%ifarch %{arm}
# For some reason, fop hangs on arm, so for now don't generate docs by
# default
%bcond_with doc
%else
+%if 0%{__minimal}
+%bcond_with doc
+%else
%bcond_without doc
%endif
@@ -15,8 +20,8 @@
%endif
Name: erlang
-Version: 18.2.4
-Release: 2%{?dist}
+Version: 18.3
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -72,12 +77,6 @@ Patch7: otp-0007-Split-off-webtool-dependency-from-tools.patch
# Fedora specific patch
# Add patch to crash dump on large distribution
Patch8: otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
-# Fedora specific patch
-# epmd: support IPv6 node registration
-Patch9: otp-0009-epmd-support-IPv6-node-registration.patch
-# Fedora specific patch
-# Quickfix for cmpxchg8b inline asm when pic and gcc >= 5.0 is
-Patch10: otp-0010-Quickfix-for-cmpxchg8b-inline-asm-when-pic-and-gcc-5.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -434,10 +433,10 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: lksctp-tools
# See erts/emulator/beam/erl_driver.h or call erlang:system_info(driver_version).
#Provides: erlang(erl_drv_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(driver_version)).' -s erlang halt)
-Provides: erlang(erl_drv_version) = 3.2
+Provides: erlang(erl_drv_version) = 3.3
# See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version).
#Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt)
-Provides: erlang(erl_nif_version) = 2.9
+Provides: erlang(erl_nif_version) = 2.10
Provides: bundled(pcre) = 8.33
Obsoletes: erlang-appmon
Obsoletes: erlang-docbuilder
@@ -907,8 +906,6 @@ Erlang mode for XEmacs (source lisp files).
%patch6 -p1 -b .Do_not_install_erlang_sources
%patch7 -p1 -b .Split_off_webtool_dependency_from_tools
%patch8 -p1 -b .Add_patch_to_crash_dump_on_large_distribution
-%patch9 -p1 -b .epmd_support_IPv6_node_registration
-%patch10 -p1 -b .Quickfix_for_cmpxchg8b_inline_asm_when_pic_and_gcc_5
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2234,6 +2231,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Thu Mar 24 2016 Peter Lemenkov - 18.3-1
+- Ver. 18.3
+
* Sun Feb 28 2016 Peter Lemenkov - 18.2.4-2
- Fixed issue with nodes registration over IPv6
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index 3091632..00038c5 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -874,10 +874,10 @@ index b44c8ee..8f8b58d 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index 790328d..db08822 100644
+index 7a7a373..419fa9e 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
-@@ -141,7 +141,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -142,7 +142,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
diff --git a/otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch b/otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
index 9a60730..d148331 100644
--- a/otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
+++ b/otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
@@ -8,15 +8,15 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1291856
https://bugzilla.redhat.com/show_bug.cgi?id=1291857
diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c
-index 7be2b77..c3b6a7d 100644
+index 787241b..069d80a 100644
--- a/erts/emulator/beam/dist.c
+++ b/erts/emulator/beam/dist.c
@@ -1980,7 +1980,7 @@ dist_port_command(Port *prt, ErtsDistOutputBuf *obuf)
ERTS_SMP_LC_ASSERT(erts_lc_is_port_locked(prt));
if (size > (Uint) INT_MAX)
-- erl_exit(ERTS_ABORT_EXIT,
-+ erl_exit(ERTS_DUMP_EXIT,
+- erts_exit(ERTS_ABORT_EXIT,
++ erts_exit(ERTS_DUMP_EXIT,
"Absurdly large distribution output data buffer "
"(%beu bytes) passed.\n",
size);
@@ -24,8 +24,8 @@ index 7be2b77..c3b6a7d 100644
ERTS_SMP_LC_ASSERT(erts_lc_is_port_locked(prt));
if (size > (Uint) INT_MAX)
-- erl_exit(ERTS_ABORT_EXIT,
-+ erl_exit(ERTS_DUMP_EXIT,
+- erts_exit(ERTS_ABORT_EXIT,
++ erts_exit(ERTS_DUMP_EXIT,
"Absurdly large distribution output data buffer "
"(%beu bytes) passed.\n",
size);
diff --git a/otp-0009-epmd-support-IPv6-node-registration.patch b/otp-0009-epmd-support-IPv6-node-registration.patch
deleted file mode 100644
index b6c98b2..0000000
--- a/otp-0009-epmd-support-IPv6-node-registration.patch
+++ /dev/null
@@ -1,737 +0,0 @@
-From: Michael Santos
-Date: Sun, 18 Oct 2015 16:20:37 -0400
-Subject: [PATCH] epmd: support IPv6 node registration
-
-Allow IPv6 nodes to register with and query epmd. On systems with
-IPv6 support:
-
-* epmd listens on both the IPv4 and IPv6 ANY or loopback sockets
-
-* the epmd cli client connects to epmd over the IPv6 loopback
-
-* distributed nodes started with "-proto_dist inet6_tcp" will register
- with epmd over IPv6
-
-To work on IPv6 capable systems that have IPv6 support disabled,
-epmd ignores errors opening the socket if the protocol is not
-supported. Similarly, the epmd client will fall back to IPv4 if the IPv6
-socket is not available.
-
-Update the minimum supported version of Windows to Windows Vista to
-support IPv6.
-
-diff --git a/erts/configure.in b/erts/configure.in
-index 4fb725f..368c563 100644
---- a/erts/configure.in
-+++ b/erts/configure.in
-@@ -468,7 +468,7 @@ case $host_os in
- win32)
- # The ethread library requires _WIN32_WINNT of at least 0x0403.
- # -D_WIN32_WINNT=* from CPPFLAGS is saved in ETHR_DEFS.
-- CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0501 -DWINVER=0x0501"
-+ CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0600 -DWINVER=0x0600"
- ;;
- darwin*)
- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE"
-diff --git a/erts/doc/src/epmd.xml b/erts/doc/src/epmd.xml
-index 28fcc8f..7f61804 100644
---- a/erts/doc/src/epmd.xml
-+++ b/erts/doc/src/epmd.xml
-@@ -37,7 +37,7 @@
-
- Erlang Port Mapper Daemon
-
--
-+
- -
-
Starts the port mapper daemon
-
-diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
-index ec4a0de..9016a94 100644
---- a/erts/doc/src/erl.xml
-+++ b/erts/doc/src/erl.xml
-@@ -382,6 +382,33 @@
- similar to . See
- code(3) .
-
-+
-+ -
-+
Replaces the path specified in the boot script. See
-+ script(4) .
-+
-+
-+ -
-+
Specify a protocol for Erlang distribution.
-+
-+ inet_tcp
-+ -
-+
TCP over IPv4 (the default)
-+
-+ inet_tls
-+ -
-+
distribution over TLS/SSL
-+
-+ inet6_tcp
-+ -
-+
TCP over IPv6
-+
-+
-+ For example, to start up IPv6 distributed nodes:
-+
-+ % erl -name test@ipv6node.example.com -proto_dist inet6_tcp
-+
-+
-
- -
-
Starts Erlang with a remote shell connected to .
-diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c
-index 63ec18d..5513cb2 100644
---- a/erts/epmd/src/epmd.c
-+++ b/erts/epmd/src/epmd.c
-@@ -343,7 +343,7 @@ static void run_daemon(EpmdVars *g)
- for (fd = 0; fd < g->max_conn ; fd++) /* close all files ... */
- close(fd);
- /* Syslog on linux will try to write to whatever if we dont
-- inform it of that the log is closed. */
-+ inform it that the log is closed. */
- closelog();
-
- /* These shouldn't be needed but for safety... */
-diff --git a/erts/epmd/src/epmd_cli.c b/erts/epmd/src/epmd_cli.c
-index a8fe865..6fc05e1 100644
---- a/erts/epmd/src/epmd_cli.c
-+++ b/erts/epmd/src/epmd_cli.c
-@@ -136,19 +136,33 @@ void epmd_call(EpmdVars *g,int what)
- static int conn_to_epmd(EpmdVars *g)
- {
- struct EPMD_SOCKADDR_IN address;
-+ size_t salen = 0;
- int connect_sock;
--
-- connect_sock = socket(FAMILY, SOCK_STREAM, 0);
-- if (connect_sock<0)
-- goto error;
-+ unsigned short sport = g->port;
-+
-+#if defined(EPMD6)
-+ SET_ADDR6(address, in6addr_loopback, sport);
-+ salen = sizeof(struct sockaddr_in6);
-+
-+ connect_sock = socket(AF_INET6, SOCK_STREAM, 0);
-+ if (connect_sock>=0) {
-+
-+ if (connect(connect_sock, (struct sockaddr*)&address, salen) == 0)
-+ return connect_sock;
-
-- { /* store port number in unsigned short */
-- unsigned short sport = g->port;
-- SET_ADDR(address, EPMD_ADDR_LOOPBACK, sport);
-+ close(connect_sock);
- }
-+#endif
-+ SET_ADDR(address, htonl(INADDR_LOOPBACK), sport);
-+ salen = sizeof(struct sockaddr_in);
-
-- if (connect(connect_sock, (struct sockaddr*)&address, sizeof address) < 0)
-+ connect_sock = socket(AF_INET, SOCK_STREAM, 0);
-+ if (connect_sock<0)
- goto error;
-+
-+ if (connect(connect_sock, (struct sockaddr*)&address, salen) < 0)
-+ goto error;
-+
- return connect_sock;
-
- error:
-diff --git a/erts/epmd/src/epmd_int.h b/erts/epmd/src/epmd_int.h
-index 26100af..0931709 100644
---- a/erts/epmd/src/epmd_int.h
-+++ b/erts/epmd/src/epmd_int.h
-@@ -55,6 +55,7 @@
- # ifndef WINDOWS_H_INCLUDES_WINSOCK2_H
- # include
- # endif
-+# include
- # include
- # include
- #endif
-@@ -130,6 +131,10 @@
- # include
- #endif /* HAVE_SYSTEMD_DAEMON */
-
-+#if defined(HAVE_IN6) && defined(AF_INET6) && defined(HAVE_INET_PTON)
-+# define EPMD6
-+#endif
-+
- /* ************************************************************************ */
- /* Replace some functions by others by making the function name a macro */
-
-@@ -183,33 +188,53 @@
- /* ************************************************************************ */
- /* Macros that let us use IPv6 */
-
--#if defined(HAVE_IN6) && defined(AF_INET6) && defined(EPMD6)
-+#if HAVE_IN6
-+# if ! defined(HAVE_IN6ADDR_ANY) || ! HAVE_IN6ADDR_ANY
-+# if HAVE_DECL_IN6ADDR_ANY_INIT
-+static const struct in6_addr in6addr_any = { { IN6ADDR_ANY_INIT } };
-+# else
-+static const struct in6_addr in6addr_any =
-+ { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } };
-+# endif /* HAVE_IN6ADDR_ANY_INIT */
-+# endif /* ! HAVE_DECL_IN6ADDR_ANY */
-+
-+# if ! defined(HAVE_IN6ADDR_LOOPBACK) || ! HAVE_IN6ADDR_LOOPBACK
-+# if HAVE_DECL_IN6ADDR_LOOPBACK_INIT
-+static const struct in6_addr in6addr_loopback =
-+ { { IN6ADDR_LOOPBACK_INIT } };
-+# else
-+static const struct in6_addr in6addr_loopback =
-+ { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } };
-+# endif /* HAVE_IN6ADDR_LOOPBACK_INIT */
-+# endif /* ! HAVE_DECL_IN6ADDR_LOOPBACK */
-+#endif /* HAVE_IN6 */
-+
-+#define IS_ADDR_LOOPBACK(addr) ((addr).s_addr == htonl(INADDR_LOOPBACK))
-+
-+#if defined(EPMD6)
-
--#define EPMD_SOCKADDR_IN sockaddr_in6
--#define EPMD_IN_ADDR in6_addr
--#define EPMD_S_ADDR s6_addr
--#define EPMD_ADDR_LOOPBACK in6addr_loopback.s6_addr
--#define EPMD_ADDR_ANY in6addr_any.s6_addr
-+#define EPMD_SOCKADDR_IN sockaddr_storage
- #define FAMILY AF_INET6
-
--#define SET_ADDR(dst, addr, port) do { \
-- memset((char*)&(dst), 0, sizeof(dst)); \
-- memcpy((char*)&(dst).sin6_addr.s6_addr, (char*)&(addr), 16); \
-- (dst).sin6_family = AF_INET6; \
-- (dst).sin6_flowinfo = 0; \
-- (dst).sin6_port = htons(port); \
-+#define SET_ADDR6(dst, addr, port) do { \
-+ struct sockaddr_in6 *sa = (struct sockaddr_in6 *)&(dst); \
-+ memset(sa, 0, sizeof(dst)); \
-+ sa->sin6_family = AF_INET6; \
-+ sa->sin6_addr = (addr); \
-+ sa->sin6_port = htons(port); \
- } while(0)
-
--#define IS_ADDR_LOOPBACK(addr) \
-- (memcmp((addr).s6_addr, in6addr_loopback.s6_addr, 16) == 0)
-+#define SET_ADDR(dst, addr, port) do { \
-+ struct sockaddr_in *sa = (struct sockaddr_in *)&(dst); \
-+ memset(sa, 0, sizeof(dst)); \
-+ sa->sin_family = AF_INET; \
-+ sa->sin_addr.s_addr = (addr); \
-+ sa->sin_port = htons(port); \
-+ } while(0)
-
- #else /* Not IP v6 */
-
- #define EPMD_SOCKADDR_IN sockaddr_in
--#define EPMD_IN_ADDR in_addr
--#define EPMD_S_ADDR s_addr
--#define EPMD_ADDR_LOOPBACK htonl(INADDR_LOOPBACK)
--#define EPMD_ADDR_ANY htonl(INADDR_ANY)
- #define FAMILY AF_INET
-
- #define SET_ADDR(dst, addr, port) do { \
-@@ -219,8 +244,6 @@
- (dst).sin_port = htons(port); \
- } while(0)
-
--#define IS_ADDR_LOOPBACK(addr) ((addr).s_addr == htonl(INADDR_LOOPBACK))
--
- #endif /* Not IP v6 */
-
- /* ************************************************************************ */
-diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c
-index 8c8d730..d092d98 100644
---- a/erts/epmd/src/epmd_srv.c
-+++ b/erts/epmd/src/epmd_srv.c
-@@ -76,6 +76,7 @@ static time_t current_time(EpmdVars*);
-
- static Connection *conn_init(EpmdVars*);
- static int conn_open(EpmdVars*,int);
-+static int conn_local_peer_check(EpmdVars*, int);
- static int conn_close_fd(EpmdVars*,int);
-
- static void node_init(EpmdVars*);
-@@ -206,10 +207,11 @@ void run(EpmdVars *g)
- {
- struct EPMD_SOCKADDR_IN iserv_addr[MAX_LISTEN_SOCKETS];
- int listensock[MAX_LISTEN_SOCKETS];
-- int num_sockets;
-+ int num_sockets = 0;
- int i;
- int opt;
- unsigned short sport = g->port;
-+ int bound = 0;
-
- node_init(g);
- g->conn = conn_init(g);
-@@ -252,64 +254,82 @@ void run(EpmdVars *g)
- if (g->addresses != NULL && /* String contains non-separator characters if: */
- g->addresses[strspn(g->addresses," ,")] != '\000')
- {
-- char *tmp;
-- char *token;
-- int loopback_ok = 0;
-+ char *tmp = NULL;
-+ char *token = NULL;
-+
-+ /* Always listen on the loopback. */
-+ SET_ADDR(iserv_addr[num_sockets],htonl(INADDR_LOOPBACK),sport);
-+ num_sockets++;
-+#if defined(EPMD6)
-+ SET_ADDR6(iserv_addr[num_sockets],in6addr_loopback,sport);
-+ num_sockets++;
-+#endif
-
-- if ((tmp = (char *)malloc(strlen(g->addresses) + 1)) == NULL)
-+ if ((tmp = strdup(g->addresses)) == NULL)
- {
- dbg_perror(g,"cannot allocate memory");
- epmd_cleanup_exit(g,1);
- }
-- strcpy(tmp,g->addresses);
-
-- for(token = strtok(tmp,", "), num_sockets = 0;
-+ for(token = strtok(tmp,", ");
- token != NULL;
-- token = strtok(NULL,", "), num_sockets++)
-+ token = strtok(NULL,", "))
- {
-- struct EPMD_IN_ADDR addr;
--#ifdef HAVE_INET_PTON
-- int ret;
-+ struct in_addr addr;
-+#if defined(EPMD6)
-+ struct in6_addr addr6;
-+ struct sockaddr_storage *sa = &iserv_addr[num_sockets];
-
-- if ((ret = inet_pton(FAMILY,token,&addr)) == -1)
-+ if (inet_pton(AF_INET6,token,&addr6) == 1)
- {
-- dbg_perror(g,"cannot convert IP address to network format");
-- epmd_cleanup_exit(g,1);
-+ SET_ADDR6(iserv_addr[num_sockets],addr6,sport);
-+ }
-+ else if (inet_pton(AF_INET,token,&addr) == 1)
-+ {
-+ SET_ADDR(iserv_addr[num_sockets],addr.s_addr,sport);
-+ }
-+ else
-+#else
-+ if ((addr.s_addr = inet_addr(token)) != INADDR_NONE)
-+ {
-+ SET_ADDR(iserv_addr[num_sockets],addr.s_addr,sport);
- }
-- else if (ret == 0)
--#elif !defined(EPMD6)
-- if ((addr.EPMD_S_ADDR = inet_addr(token)) == INADDR_NONE)
-+ else
- #endif
- {
- dbg_tty_printf(g,0,"cannot parse IP address \"%s\"",token);
- epmd_cleanup_exit(g,1);
- }
-
-+#if defined(EPMD6)
-+ if (sa->ss_family == AF_INET6 && IN6_IS_ADDR_LOOPBACK(&addr6))
-+ continue;
-+
-+ if (sa->ss_family == AF_INET)
-+#endif
- if (IS_ADDR_LOOPBACK(addr))
-- loopback_ok = 1;
-+ continue;
-
-- if (num_sockets - loopback_ok == MAX_LISTEN_SOCKETS - 1)
-+ num_sockets++;
-+
-+ if (num_sockets >= MAX_LISTEN_SOCKETS)
- {
- dbg_tty_printf(g,0,"cannot listen on more than %d IP addresses",
- MAX_LISTEN_SOCKETS);
- epmd_cleanup_exit(g,1);
- }
--
-- SET_ADDR(iserv_addr[num_sockets],addr.EPMD_S_ADDR,sport);
- }
-
- free(tmp);
--
-- if (!loopback_ok)
-- {
-- SET_ADDR(iserv_addr[num_sockets],EPMD_ADDR_LOOPBACK,sport);
-- num_sockets++;
-- }
- }
- else
- {
-- SET_ADDR(iserv_addr[0],EPMD_ADDR_ANY,sport);
-- num_sockets = 1;
-+ SET_ADDR(iserv_addr[num_sockets],htonl(INADDR_ANY),sport);
-+ num_sockets++;
-+#if defined(EPMD6)
-+ SET_ADDR6(iserv_addr[num_sockets],in6addr_any,sport);
-+ num_sockets++;
-+#endif
- }
- #ifdef HAVE_SYSTEMD_DAEMON
- }
-@@ -340,13 +360,39 @@ void run(EpmdVars *g)
- #endif /* HAVE_SYSTEMD_DAEMON */
- for (i = 0; i < num_sockets; i++)
- {
-- if ((listensock[i] = socket(FAMILY,SOCK_STREAM,0)) < 0)
-+ struct sockaddr *sa = (struct sockaddr *)&iserv_addr[i];
-+#if defined(EPMD6)
-+ size_t salen = (sa->sa_family == AF_INET6 ?
-+ sizeof(struct sockaddr_in6) :
-+ sizeof(struct sockaddr_in));
-+#else
-+ size_t salen = sizeof(struct sockaddr_in);
-+#endif
-+
-+ if ((listensock[i] = socket(sa->sa_family,SOCK_STREAM,0)) < 0)
- {
-- dbg_perror(g,"error opening stream socket");
-+ switch (errno) {
-+ case EAFNOSUPPORT:
-+ case EPROTONOSUPPORT:
-+ continue;
-+ default:
-+ dbg_perror(g,"error opening stream socket");
-+ epmd_cleanup_exit(g,1);
-+ }
-+ }
-+ g->listenfd[bound++] = listensock[i];
-+
-+#if HAVE_DECL_IPV6_V6ONLY
-+ opt = 1;
-+ if (sa->sa_family == AF_INET6 &&
-+ setsockopt(listensock[i],IPPROTO_IPV6,IPV6_V6ONLY,&opt,
-+ sizeof(opt)) <0)
-+ {
-+ dbg_perror(g,"can't set IPv6 only socket option");
- epmd_cleanup_exit(g,1);
- }
-- g->listenfd[i] = listensock[i];
--
-+#endif
-+
- /*
- * Note that we must not enable the SO_REUSEADDR on Windows,
- * because addresses will be reused even if they are still in use.
-@@ -378,8 +424,7 @@ void run(EpmdVars *g)
- dbg_perror(g,"failed to set non-blocking mode of listening socket %d",
- listensock[i]);
-
-- if (bind(listensock[i], (struct sockaddr*) &iserv_addr[i],
-- sizeof(iserv_addr[i])) < 0)
-+ if (bind(listensock[i], (struct sockaddr*) &iserv_addr[i], salen) < 0)
- {
- if (errno == EADDRINUSE)
- {
-@@ -400,6 +445,11 @@ void run(EpmdVars *g)
- }
- select_fd_set(g, listensock[i]);
- }
-+ if (bound == 0) {
-+ dbg_perror(g,"unable to bind any address");
-+ epmd_cleanup_exit(g,1);
-+ }
-+ num_sockets = bound;
- #ifdef HAVE_SYSTEMD_DAEMON
- }
- sd_notifyf(0, "READY=1\n"
-@@ -444,8 +494,8 @@ void run(EpmdVars *g)
- }
-
- for (i = 0; i < num_sockets; i++)
-- if (FD_ISSET(listensock[i],&read_mask)) {
-- if (do_accept(g, listensock[i]) && g->active_conn < g->max_conn) {
-+ if (FD_ISSET(g->listenfd[i],&read_mask)) {
-+ if (do_accept(g, g->listenfd[i]) && g->active_conn < g->max_conn) {
- /*
- * The accept() succeeded, and we have at least one file
- * descriptor still free, which means that another accept()
-@@ -1007,15 +1057,6 @@ static int conn_open(EpmdVars *g,int fd)
-
- for (i = 0; i < g->max_conn; i++) {
- if (g->conn[i].open == EPMD_FALSE) {
-- struct sockaddr_in si;
-- struct sockaddr_in di;
--#ifdef HAVE_SOCKLEN_T
-- socklen_t st;
--#else
-- int st;
--#endif
-- st = sizeof(si);
--
- g->active_conn++;
- s = &g->conn[i];
-
-@@ -1026,20 +1067,7 @@ static int conn_open(EpmdVars *g,int fd)
- s->open = EPMD_TRUE;
- s->keep = EPMD_FALSE;
-
-- /* Determine if connection is from localhost */
-- if (getpeername(s->fd,(struct sockaddr*) &si,&st) ||
-- st < sizeof(si)) {
-- /* Failure to get peername is regarded as non local host */
-- s->local_peer = EPMD_FALSE;
-- } else {
-- /* Only 127.x.x.x and connections from the host's IP address
-- allowed, no false positives */
-- s->local_peer =
-- (((((unsigned) ntohl(si.sin_addr.s_addr)) & 0xFF000000U) ==
-- 0x7F000000U) ||
-- (getsockname(s->fd,(struct sockaddr*) &di,&st) ?
-- EPMD_FALSE : si.sin_addr.s_addr == di.sin_addr.s_addr));
-- }
-+ s->local_peer = conn_local_peer_check(g, s->fd);
- dbg_tty_printf(g,2,(s->local_peer) ? "Local peer connected" :
- "Non-local peer connected");
-
-@@ -1047,7 +1075,7 @@ static int conn_open(EpmdVars *g,int fd)
- s->got = 0;
- s->mod_time = current_time(g); /* Note activity */
-
-- s->buf = (char *)malloc(INBUF_SIZE);
-+ s->buf = malloc(INBUF_SIZE);
-
- if (s->buf == NULL) {
- dbg_printf(g,0,"epmd: Insufficient memory");
-@@ -1065,6 +1093,60 @@ static int conn_open(EpmdVars *g,int fd)
- return EPMD_FALSE;
- }
-
-+static int conn_local_peer_check(EpmdVars *g, int fd)
-+{
-+ struct EPMD_SOCKADDR_IN si;
-+ struct EPMD_SOCKADDR_IN di;
-+
-+ struct sockaddr_in *si4 = (struct sockaddr_in *)&si;
-+ struct sockaddr_in *di4 = (struct sockaddr_in *)&di;
-+
-+#if defined(EPMD6)
-+ struct sockaddr_in6 *si6 = (struct sockaddr_in6 *)&si;
-+ struct sockaddr_in6 *di6 = (struct sockaddr_in6 *)&di;
-+#endif
-+
-+#ifdef HAVE_SOCKLEN_T
-+ socklen_t st;
-+#else
-+ int st;
-+#endif
-+
-+ st = sizeof(si);
-+
-+ /* Determine if connection is from localhost */
-+ if (getpeername(fd,(struct sockaddr*) &si,&st) ||
-+ st > sizeof(si)) {
-+ /* Failure to get peername is regarded as non local host */
-+ return EPMD_FALSE;
-+ }
-+
-+ /* Only 127.x.x.x and connections from the host's IP address
-+ allowed, no false positives */
-+#if defined(EPMD6)
-+ if (si.ss_family == AF_INET6 && IN6_IS_ADDR_LOOPBACK(&(si6->sin6_addr)))
-+ return EPMD_TRUE;
-+
-+ if (si.ss_family == AF_INET)
-+#endif
-+ if ((((unsigned) ntohl(si4->sin_addr.s_addr)) & 0xFF000000U) ==
-+ 0x7F000000U)
-+ return EPMD_TRUE;
-+
-+ if (getsockname(fd,(struct sockaddr*) &di,&st))
-+ return EPMD_FALSE;
-+
-+#if defined(EPMD6)
-+ if (si.ss_family == AF_INET6)
-+ return IN6_ARE_ADDR_EQUAL( &(si6->sin6_addr), &(di6->sin6_addr));
-+ if (si.ss_family == AF_INET)
-+#endif
-+ return si4->sin_addr.s_addr == di4->sin_addr.s_addr;
-+#if defined(EPMD6)
-+ return EPMD_FALSE;
-+#endif
-+}
-+
- static int conn_close_fd(EpmdVars *g,int fd)
- {
- int i;
-diff --git a/erts/epmd/test/epmd_SUITE.erl b/erts/epmd/test/epmd_SUITE.erl
-index e8bbfdb..58fe23c 100644
---- a/erts/epmd/test/epmd_SUITE.erl
-+++ b/erts/epmd/test/epmd_SUITE.erl
-@@ -43,6 +43,7 @@
- -export(
- [
- register_name/1,
-+ register_name_ipv6/1,
- register_names_1/1,
- register_names_2/1,
- register_duplicate_name/1,
-@@ -111,7 +112,8 @@
- suite() -> [{ct_hooks,[ts_install_cth]}].
-
- all() ->
-- [register_name, register_names_1, register_names_2,
-+ [register_name, register_name_ipv6,
-+ register_names_1, register_names_2,
- register_duplicate_name, unicode_name, long_unicode_name,
- get_port_nr, slow_get_port_nr,
- unregister_others_name_1, unregister_others_name_2,
-@@ -169,6 +171,24 @@ register_name(Config) when is_list(Config) ->
- ?line ok = close(Sock), % Unregister
- ok.
-
-+register_name_ipv6(doc) ->
-+ ["Register a name over IPv6"];
-+register_name_ipv6(suite) ->
-+ [];
-+register_name_ipv6(Config) when is_list(Config) ->
-+ % Test if the host has an IPv6 loopback address
-+ Res = gen_tcp:listen(0, [inet6, {ip, {0,0,0,0,0,0,0,1}}]),
-+ case Res of
-+ {ok,LSock} ->
-+ gen_tcp:close(LSock),
-+ ?line ok = epmdrun(),
-+ ?line {ok,Sock} = register_node6("foobar6"),
-+ ?line ok = close(Sock), % Unregister
-+ ok;
-+ _Error ->
-+ {skip, "Host does not have an IPv6 loopback address"}
-+ end.
-+
- register_names_1(doc) ->
- ["Register and unregister two nodes"];
- register_names_1(suite) ->
-@@ -242,13 +262,14 @@ register_node(Name) ->
- register_node(Name,Port) ->
- register_node_v2(Port,$M,0,5,5,Name,"").
-
-+register_node6(Name) ->
-+ register_node_v2({0,0,0,0,0,0,0,1},?DUMMY_PORT,$M,0,5,5,Name,"").
-+
- register_node_v2(Port, NodeType, Prot, HVsn, LVsn, Name, Extra) ->
-- Utf8Name = unicode:characters_to_binary(Name),
-- Req = [?EPMD_ALIVE2_REQ, put16(Port), NodeType, Prot,
-- put16(HVsn), put16(LVsn),
-- put16(size(Utf8Name)), binary_to_list(Utf8Name),
-- size16(Extra), Extra],
-- case send_req(Req) of
-+ register_node_v2("localhost", Port, NodeType, Prot, HVsn, LVsn, Name, Extra).
-+register_node_v2(Addr, Port, NodeType, Prot, HVsn, LVsn, Name, Extra) ->
-+ Req = alive2_req(Port, NodeType, Prot, HVsn, LVsn, Name, Extra),
-+ case send_req(Req, Addr) of
- {ok,Sock} ->
- case recv(Sock,4) of
- {ok, [?EPMD_ALIVE2_RESP,_Res=0,_C0,_C1]} ->
-@@ -1151,7 +1172,9 @@ send_direct(Sock, Bytes) ->
- end.
-
- send_req(Req) ->
-- case connect() of
-+ send_req(Req, "localhost").
-+send_req(Req, Addr) ->
-+ case connect(Addr) of
- {ok,Sock} ->
- case send(Sock, [size16(Req), Req]) of
- ok ->
-diff --git a/lib/erl_interface/configure.in b/lib/erl_interface/configure.in
-index 3ac9212..7a3b5ce 100644
---- a/lib/erl_interface/configure.in
-+++ b/lib/erl_interface/configure.in
-@@ -251,7 +251,7 @@ case "$threads_disabled" in
- ;;
- win32_threads)
- EI_THREADS="true"
-- THR_DEFS="$THR_DEFS -D_WIN32_WINNT=0x0500 -DWINVER=0x0500"
-+ THR_DEFS="$THR_DEFS -D_WIN32_WINNT=0x0600 -DWINVER=0x0600"
- ;;
- pthread)
- EI_THREADS="true"
-diff --git a/lib/kernel/src/erl_epmd.erl b/lib/kernel/src/erl_epmd.erl
-index 55ce9a7..c6202dd 100644
---- a/lib/kernel/src/erl_epmd.erl
-+++ b/lib/kernel/src/erl_epmd.erl
-@@ -32,7 +32,7 @@
- %% External exports
- -export([start/0, start_link/0, stop/0, port_please/2,
- port_please/3, names/0, names/1,
-- register_node/2, open/0, open/1, open/2]).
-+ register_node/2, register_node/3, open/0, open/1, open/2]).
-
- %% gen_server callbacks
- -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
-@@ -102,7 +102,9 @@ names(EpmdAddr) ->
-
-
- register_node(Name, PortNo) ->
-- gen_server:call(erl_epmd, {register, Name, PortNo}, infinity).
-+ register_node(Name, PortNo, inet).
-+register_node(Name, PortNo, Family) ->
-+ gen_server:call(erl_epmd, {register, Name, PortNo, Family}, infinity).
-
- %%%----------------------------------------------------------------------
- %%% Callback functions from gen_server
-@@ -120,10 +122,10 @@ init(_) ->
- -spec handle_call(calls(), term(), state()) ->
- {'reply', term(), state()} | {'stop', 'shutdown', 'ok', state()}.
-
--handle_call({register, Name, PortNo}, _From, State) ->
-+handle_call({register, Name, PortNo, Family}, _From, State) ->
- case State#state.socket of
- P when P < 0 ->
-- case do_register_node(Name, PortNo) of
-+ case do_register_node(Name, PortNo, Family) of
- {alive, Socket, Creation} ->
- S = State#state{socket = Socket,
- port_no = PortNo,
-@@ -206,8 +208,12 @@ open({A,B,C,D,E,F,G,H}=EpmdAddr, Timeout) when ?ip6(A,B,C,D,E,F,G,H) ->
- close(Socket) ->
- gen_tcp:close(Socket).
-
--do_register_node(NodeName, TcpPort) ->
-- case open() of
-+do_register_node(NodeName, TcpPort, Family) ->
-+ Localhost = case Family of
-+ inet -> open({127,0,0,1});
-+ inet6 -> open({0,0,0,0,0,0,0,1})
-+ end,
-+ case Localhost of
- {ok, Socket} ->
- Name = to_string(NodeName),
- Extra = "",
-diff --git a/lib/wx/configure.in b/lib/wx/configure.in
-index 48fcca6..bf27b72 100644
---- a/lib/wx/configure.in
-+++ b/lib/wx/configure.in
-@@ -164,14 +164,14 @@ case $host_os in
- CPPFLAGS="$CPPFLAGS -D_MACOSX $PTHR_CFLAGS"
- ;;
- mingw32)
-- CFLAGS="$CFLAGS -DWIN32 -DWINVER=0x0500 -D_WINDOWS -D_UNICODE -DUNICODE"
-- CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0500"
-+ CFLAGS="$CFLAGS -DWIN32 -DWINVER=0x0600 -D_WINDOWS -D_UNICODE -DUNICODE"
-+ CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0600"
- AC_MSG_WARN([Reverting to 32-bit time_t])
- CPPFLAGS="$CPPFLAGS -D_USE_32BIT_TIME_T"
- ;;
- win32)
-- CFLAGS="$CFLAGS -DWIN32 -DWINVER=0x0500 -D_WINDOWS -D_UNICODE -DUNICODE"
-- CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0500"
-+ CFLAGS="$CFLAGS -DWIN32 -DWINVER=0x0600 -D_WINDOWS -D_UNICODE -DUNICODE"
-+ CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0600"
- ;;
- *)
- CFLAGS="$CFLAGS -Wno-deprecated-declarations"
diff --git a/otp-0010-Quickfix-for-cmpxchg8b-inline-asm-when-pic-and-gcc-5.patch b/otp-0010-Quickfix-for-cmpxchg8b-inline-asm-when-pic-and-gcc-5.patch
deleted file mode 100644
index cc8a9d1..0000000
--- a/otp-0010-Quickfix-for-cmpxchg8b-inline-asm-when-pic-and-gcc-5.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From: Rickard Green
-Date: Tue, 9 Feb 2016 18:23:26 +0100
-Subject: [PATCH] Quickfix for cmpxchg8b inline asm when pic and gcc >= 5.0 is
- used
-
-
-diff --git a/erts/include/internal/i386/ethr_dw_atomic.h b/erts/include/internal/i386/ethr_dw_atomic.h
-index e8c4119..caba633 100644
---- a/erts/include/internal/i386/ethr_dw_atomic.h
-+++ b/erts/include/internal/i386/ethr_dw_atomic.h
-@@ -115,6 +115,8 @@ ethr_native_dw_atomic_addr(ethr_native_dw_atomic_t *var)
- return (ethr_sint_t *) ETHR_DW_NATMC_MEM__(var);
- }
-
-+#if !ETHR_AT_LEAST_GCC_VSN__(5, 0, 0)
-+
- #if ETHR_SIZEOF_PTR == 4 && defined(__PIC__) && __PIC__
- /*
- * When position independent code is used in 32-bit mode, the EBX register
-@@ -138,6 +140,7 @@ ethr_native_dw_atomic_addr(ethr_native_dw_atomic_t *var)
- # endif
- #endif
-
-+#endif /* < gcc-5.0 */
-
- #define ETHR_HAVE_ETHR_NATIVE_DW_ATOMIC_CMPXCHG_MB
-
From b6c7bd6af47eabac0fbcbb398c7e4c49d48b492d Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 24 Mar 2016 23:04:16 +0300
Subject: [PATCH 061/322] Leftover
Signed-off-by: Peter Lemenkov
---
erlang.spec | 5 -----
1 file changed, 5 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index a89db79..4c830f3 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -2,16 +2,11 @@
%{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}}
-%global __minimal 0
-
%ifarch %{arm}
# For some reason, fop hangs on arm, so for now don't generate docs by
# default
%bcond_with doc
%else
-%if 0%{__minimal}
-%bcond_with doc
-%else
%bcond_without doc
%endif
From e6fdb0b601d2e3f1cd3d61e1043a132e1d6d5df0 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 24 Mar 2016 23:14:57 +0300
Subject: [PATCH 062/322] Uploaded sources
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
sources | 1 +
2 files changed, 2 insertions(+)
diff --git a/.gitignore b/.gitignore
index 0e151bd..91ca00d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -58,3 +58,4 @@ otp_src_R14A.tar.gz
/otp-OTP-18.2.2.tar.gz
/otp-OTP-18.2.3.tar.gz
/otp-OTP-18.2.4.tar.gz
+/otp-OTP-18.3.tar.gz
diff --git a/sources b/sources
index 92f198a..5588a52 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
0ea13f170092d73f014c27296825bfc9 otp-OTP-18.2.4.tar.gz
+9302351b5dcd74d86fb67d8c28ad94d2 otp-OTP-18.3.tar.gz
From 8d530e97f03c8d7bd950f28619d7b43dc19405bb Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 31 Mar 2016 14:18:34 +0300
Subject: [PATCH 063/322] Disallow epmd to send systemd notifications every
time
Signed-off-by: Peter Lemenkov
---
erlang.spec | 10 +++-
...nd-unasked-for-systemd-notifications.patch | 56 +++++++++++++++++++
2 files changed, 65 insertions(+), 1 deletion(-)
create mode 100644 otp-0009-Don-t-send-unasked-for-systemd-notifications.patch
diff --git a/erlang.spec b/erlang.spec
index 4c830f3..16192d8 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -16,7 +16,7 @@
Name: erlang
Version: 18.3
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -72,6 +72,9 @@ Patch7: otp-0007-Split-off-webtool-dependency-from-tools.patch
# Fedora specific patch
# Add patch to crash dump on large distribution
Patch8: otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
+# Fedora specific patch
+# Don't send unasked for systemd notifications
+Patch9: otp-0009-Don-t-send-unasked-for-systemd-notifications.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -901,6 +904,7 @@ Erlang mode for XEmacs (source lisp files).
%patch6 -p1 -b .Do_not_install_erlang_sources
%patch7 -p1 -b .Split_off_webtool_dependency_from_tools
%patch8 -p1 -b .Add_patch_to_crash_dump_on_large_distribution
+%patch9 -p1 -b .Don_t_send_unasked_for_systemd_notifications
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2226,6 +2230,10 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Thu Mar 31 2016 Peter Lemenkov - 18.3-2
+- Added patch to suppress sending systemd notifications from epmd if not
+ started as a systemd service.
+
* Thu Mar 24 2016 Peter Lemenkov - 18.3-1
- Ver. 18.3
diff --git a/otp-0009-Don-t-send-unasked-for-systemd-notifications.patch b/otp-0009-Don-t-send-unasked-for-systemd-notifications.patch
new file mode 100644
index 0000000..1d19ace
--- /dev/null
+++ b/otp-0009-Don-t-send-unasked-for-systemd-notifications.patch
@@ -0,0 +1,56 @@
+From: Alexey Lebedeff
+Date: Tue, 29 Mar 2016 20:30:22 +0300
+Subject: [PATCH] Don't send unasked for systemd notifications
+
+Suppose we have some erlang system that uses systemd unit with
+Type=notify - so this should send startup confirmation itself. But if
+systemd-enabled epmd will be started as a first step of that system
+startup, empd startup confirmation will be misinterpeted by systemd. And
+our erlang service will be considered 'ready' to early. Also this will
+interefere with systemd MAINPID detection: systemd will be monitoring
+`epmd` process instead of `beam` one.
+
+For example, rabbitmq works around this issue by starting epmd using
+separate short-lived beam process, with NOTIFY_SOCKET environment
+variable reset - only in this way we could be sure that epmd will not
+interfere with rabbit startup sequence.
+
+This patch disables indiscriminate confirmation sending, and does it
+only when it was explicitly asked to do so.
+
+diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c
+index 5513cb2..4740ce8 100644
+--- a/erts/epmd/src/epmd.c
++++ b/erts/epmd/src/epmd.c
+@@ -592,8 +592,10 @@ void epmd_cleanup_exit(EpmdVars *g, int exitval)
+ free(g->argv);
+ }
+ #ifdef HAVE_SYSTEMD_DAEMON
+- sd_notifyf(0, "STATUS=Exited.\n"
+- "ERRNO=%i", exitval);
++ if (g->is_systemd){
++ sd_notifyf(0, "STATUS=Exited.\n"
++ "ERRNO=%i", exitval);
++ }
+ #endif /* HAVE_SYSTEMD_DAEMON */
+ exit(exitval);
+ }
+diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c
+index e1bac99..59d59ad 100644
+--- a/erts/epmd/src/epmd_srv.c
++++ b/erts/epmd/src/epmd_srv.c
+@@ -452,9 +452,11 @@ void run(EpmdVars *g)
+ num_sockets = bound;
+ #ifdef HAVE_SYSTEMD_DAEMON
+ }
+- sd_notifyf(0, "READY=1\n"
+- "STATUS=Processing port mapping requests...\n"
+- "MAINPID=%lu", (unsigned long) getpid());
++ if (g->is_systemd) {
++ sd_notifyf(0, "READY=1\n"
++ "STATUS=Processing port mapping requests...\n"
++ "MAINPID=%lu", (unsigned long) getpid());
++ }
+ #endif /* HAVE_SYSTEMD_DAEMON */
+
+ dbg_tty_printf(g,2,"entering the main select() loop");
From 008a6c63fbd747ac1e313d0bb2b648ae371ed6f8 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 7 Apr 2016 12:15:04 +0300
Subject: [PATCH 064/322] Ver. 18.3.1
Signed-off-by: Peter Lemenkov
---
erlang.spec | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 16192d8..49ad40b 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -15,8 +15,8 @@
%endif
Name: erlang
-Version: 18.3
-Release: 2%{?dist}
+Version: 18.3.1
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2230,6 +2230,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Thu Apr 7 2016 Peter Lemenkov - 18.3.1-1
+- Ver. 18.3.1
+
* Thu Mar 31 2016 Peter Lemenkov - 18.3-2
- Added patch to suppress sending systemd notifications from epmd if not
started as a systemd service.
From 63f978a130cfa8642242d08e79d97344f5f4a743 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 7 Apr 2016 12:19:26 +0300
Subject: [PATCH 065/322] Forgot to upload sources
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
sources | 3 +--
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index 91ca00d..2fc3419 100644
--- a/.gitignore
+++ b/.gitignore
@@ -59,3 +59,4 @@ otp_src_R14A.tar.gz
/otp-OTP-18.2.3.tar.gz
/otp-OTP-18.2.4.tar.gz
/otp-OTP-18.3.tar.gz
+/otp-OTP-18.3.1.tar.gz
diff --git a/sources b/sources
index 5588a52..a073951 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-0ea13f170092d73f014c27296825bfc9 otp-OTP-18.2.4.tar.gz
-9302351b5dcd74d86fb67d8c28ad94d2 otp-OTP-18.3.tar.gz
+03fd1ccf4e82bc093dd0e514275909df otp-OTP-18.3.1.tar.gz
From 835935939d225f717aedd434f058696066fc1445 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 11 Apr 2016 10:27:19 +0300
Subject: [PATCH 066/322] Enable selective building
Signed-off-by: Peter Lemenkov
---
erlang.spec | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 225 insertions(+), 7 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 49ad40b..de69c4d 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -14,9 +14,62 @@
%global __with_hipe 1
%endif
+##
+## Optional components
+##
+
+%global __with_emacs 1
+%global __with_examples 1
+%global __with_java 1
+%global __with_tcltk 1
+#
+# wxWidgets plugin blocks the following ones:
+#
+# * debugger - https://bugzilla.redhat.com/1095715
+# * dialyzer - https://bugzilla.redhat.com/1095717
+# * et - https://bugzilla.redhat.com/1095718
+# * observer - https://bugzilla.redhat.com/1095721
+# * reltool - https://bugzilla.redhat.com/1095727
+#
+# debugger blocks:
+#
+# * common_test
+# * megaco
+#
+# dialyzer blocks:
+#
+# * typer
+#
+# et blocks:
+#
+# * megaco
+#
+# observer blocks:
+#
+# * common_test
+# * test_server
+# * webtool
+#
+# So finally we have to disable the following plugins:
+#
+# common_test
+# debugger
+# dialyzer
+# et
+# megaco
+# observer
+# reltool (*)
+# test_server
+# typer
+# webtool
+# wx
+#
+%global __with_wxwidgets 1
+
+
Name: erlang
Version: 18.3.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -89,6 +142,7 @@ BuildRequires: erlang
%if 0%{?el7}%{?fedora}
# for
BuildRequires: systemd-devel
+BuildRequires: systemd
Requires(post): systemd
Requires(preun):systemd
Requires(postun):systemd
@@ -96,10 +150,12 @@ Requires: systemd
%endif
BuildRequires: autoconf
BuildRequires: automake
-BuildRequires: erlang-rpm-macros
+#BuildRequires: erlang-rpm-macros
Requires: %{name}-asn1%{?_isa} = %{version}-%{release}
+%if %{__with_wxwidgets}
Requires: %{name}-common_test%{?_isa} = %{version}-%{release}
+%endif %{__with_wxwidgets}
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-cosEvent%{?_isa} = %{version}-%{release}
Requires: %{name}-cosEventDomain%{?_isa} = %{version}-%{release}
@@ -109,25 +165,41 @@ Requires: %{name}-cosProperty%{?_isa} = %{version}-%{release}
Requires: %{name}-cosTime%{?_isa} = %{version}-%{release}
Requires: %{name}-cosTransactions%{?_isa} = %{version}-%{release}
Requires: %{name}-crypto%{?_isa} = %{version}-%{release}
+%if %{__with_wxwidgets}
Requires: %{name}-debugger%{?_isa} = %{version}-%{release}
+%endif %{__with_wxwidgets}
+%if %{__with_wxwidgets}
Requires: %{name}-dialyzer%{?_isa} = %{version}-%{release}
+%endif %{__with_wxwidgets}
Requires: %{name}-diameter%{?_isa} = %{version}-%{release}
Requires: %{name}-edoc%{?_isa} = %{version}-%{release}
Requires: %{name}-eldap%{?_isa} = %{version}-%{release}
Requires: %{name}-erl_docgen%{?_isa} = %{version}-%{release}
Requires: %{name}-erl_interface%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
+%if %{__with_wxwidgets}
Requires: %{name}-et%{?_isa} = %{version}-%{release}
+%endif %{__with_wxwidgets}
Requires: %{name}-eunit%{?_isa} = %{version}-%{release}
+%if %{__with_tcltk}
Requires: %{name}-gs%{?_isa} = %{version}-%{release}
+%endif %{__with_tcltk}
Requires: %{name}-hipe%{?_isa} = %{version}-%{release}
+%if %{__with_java}
Requires: %{name}-ic%{?_isa} = %{version}-%{release}
+%endif %{__with_java}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
+%if %{__with_java}
Requires: %{name}-jinterface%{?_isa} = %{version}-%{release}
+%endif %{__with_java}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
+%if %{__with_wxwidgets}
Requires: %{name}-megaco%{?_isa} = %{version}-%{release}
+%endif %{__with_wxwidgets}
Requires: %{name}-mnesia%{?_isa} = %{version}-%{release}
+%if %{__with_wxwidgets}
Requires: %{name}-observer%{?_isa} = %{version}-%{release}
+%endif %{__with_wxwidgets}
Requires: %{name}-odbc%{?_isa} = %{version}-%{release}
Requires: %{name}-orber%{?_isa} = %{version}-%{release}
Requires: %{name}-os_mon%{?_isa} = %{version}-%{release}
@@ -136,7 +208,9 @@ Requires: %{name}-otp_mibs%{?_isa} = %{version}-%{release}
Requires: %{name}-parsetools%{?_isa} = %{version}-%{release}
Requires: %{name}-percept%{?_isa} = %{version}-%{release}
Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
+%if %{__with_wxwidgets}
Requires: %{name}-reltool%{?_isa} = %{version}-%{release}
+%endif %{__with_wxwidgets}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
Requires: %{name}-snmp%{?_isa} = %{version}-%{release}
@@ -144,11 +218,19 @@ Requires: %{name}-ssh%{?_isa} = %{version}-%{release}
Requires: %{name}-ssl%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
+%if %{__with_wxwidgets}
Requires: %{name}-test_server%{?_isa} = %{version}-%{release}
+%endif %{__with_wxwidgets}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
+%if %{__with_wxwidgets}
Requires: %{name}-typer%{?_isa} = %{version}-%{release}
+%endif %{__with_wxwidgets}
+%if %{__with_wxwidgets}
Requires: %{name}-webtool%{?_isa} = %{version}-%{release}
+%endif %{__with_wxwidgets}
+%if %{__with_wxwidgets}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
+%endif %{__with_wxwidgets}
Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
%description
@@ -159,6 +241,7 @@ systems from Ericsson.
### BEGIN OF AUTOGENERATED LIST ###
+%if %{__with_emacs}
%package -n emacs-erlang
Summary: Compiled elisp files for erlang-mode under GNU Emacs
Group: Applications/Editors
@@ -179,6 +262,7 @@ BuildArch: noarch
%description -n emacs-erlang-el
Erlang mode for GNU Emacs (source lisp files).
+%endif %{__with_emacs}
%package asn1
Summary: Provides support for Abstract Syntax Notation One
@@ -190,6 +274,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description asn1
Provides support for Abstract Syntax Notation One.
+%if %{__with_wxwidgets}
%package common_test
Summary: A portable framework for automatic testing
Group: Development/Languages
@@ -211,6 +296,7 @@ Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
%description common_test
A portable framework for automatic testing.
+%endif %{__with_wxwidgets}
%package compiler
Summary: A byte code compiler for Erlang which produces highly compact code
@@ -320,6 +406,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description crypto
Cryptographical support.
+%if %{__with_wxwidgets}
%package debugger
Summary: A debugger for debugging and testing of Erlang programs
Group: Development/Languages
@@ -331,7 +418,9 @@ Requires: %{name}-wx%{?_isa} = %{version}-%{release}
%description debugger
A debugger for debugging and testing of Erlang programs.
+%endif %{__with_wxwidgets}
+%if %{__with_wxwidgets}
%package dialyzer
Summary: A DIscrepancy AnaLYZer for ERlang programs
Group: Development/Languages
@@ -346,6 +435,7 @@ Requires: graphviz
%description dialyzer
A DIscrepancy AnaLYZer for ERlang programs.
+%endif %{__with_wxwidgets}
%package diameter
Summary: Diameter (RFC 3588) library
@@ -446,6 +536,7 @@ Obsoletes: erlang-tv
%description erts
Functionality necessary to run the Erlang System itself.
+%if %{__with_wxwidgets}
%package et
Summary: An event tracer for Erlang programs
Group: Development/Languages
@@ -457,6 +548,7 @@ Requires: %{name}-wx%{?_isa} = %{version}-%{release}
%description et
An event tracer for Erlang programs.
+%endif %{__with_wxwidgets}
%package eunit
Summary: Support for unit testing
@@ -468,11 +560,14 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description eunit
Support for unit testing.
+%if %{__with_examples}
%package examples
Summary: Examples for some Erlang modules
Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
+%if %{__with_tcltk}
Requires: %{name}-gs%{?_isa} = %{version}-%{release}
+%endif %{__with_tcltk}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
@@ -481,7 +576,9 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description examples
Examples for some Erlang modules.
+%endif %{__with_examples}
+%if %{__with_tcltk}
%package gs
Summary: A library for Tcl/Tk support in Erlang
Group: Development/Languages
@@ -494,6 +591,7 @@ Requires: tk
%description gs
A Graphics System used to write platform independent user interfaces.
+%endif %{__with_tcltk}
%package hipe
Summary: High Performance Erlang
@@ -510,7 +608,9 @@ High Performance Erlang.
%package ic
Summary: IDL compiler
Group: Development/Languages
+%if %{__with_java}
BuildRequires: java-devel
+%endif %{__with_java}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -531,6 +631,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description inets
A set of services such as a Web server and a ftp client etc.
+%if %{__with_java}
%package jinterface
Summary: A library for accessing Java from Erlang
Group: Development/Languages
@@ -539,6 +640,7 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
%description jinterface
Low level interface to Java.
+%endif %{__with_java}
%package kernel
Summary: Main erlang library
@@ -549,6 +651,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description kernel
Main erlang library.
+%if %{__with_wxwidgets}
%package megaco
Summary: Megaco/H.248 support library
Group: Development/Languages
@@ -564,6 +667,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Megaco/H.248 is a protocol for control of elements in a physically
decomposed multimedia gateway, enabling separation of call control
from media conversion.
+%endif %{__with_wxwidgets}
%package mnesia
Summary: A heavy duty real-time distributed database
@@ -575,6 +679,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description mnesia
A heavy duty real-time distributed database.
+%if %{__with_wxwidgets}
%package observer
Summary: A set of tools for tracing and investigation of distributed systems
Group: Development/Languages
@@ -588,6 +693,7 @@ Requires: %{name}-wx%{?_isa} = %{version}-%{release}
%description observer
A set of tools for tracing and investigation of distributed systems.
+%endif %{__with_wxwidgets}
%package odbc
Summary: A library for unixODBC support in Erlang
@@ -683,6 +789,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description public_key
API to public key infrastructure.
+%if %{__with_wxwidgets}
%package reltool
Summary: A release management tool
Group: Development/Languages
@@ -700,6 +807,7 @@ between applications. The graphical frontend depicts the
dependencies and enables interactive customization of a
target system. The backend provides a batch interface
for generation of customized target systems.
+%endif %{__with_wxwidgets}
%package runtime_tools
Summary: A set of tools to include in a production system
@@ -786,6 +894,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
A utility used to handle abstract Erlang syntax trees,
reading source files differently, pretty-printing syntax trees.
+%if %{__with_wxwidgets}
%package test_server
Summary: The OTP Test Server
Group: Development/Languages
@@ -800,6 +909,7 @@ Requires: %{name}-tools%{?_isa} = %{version}-%{release}
%description test_server
The OTP Test Server.
+%endif %{__with_wxwidgets}
%package tools
Summary: A set of programming tools including a coverage analyzer etc
@@ -816,11 +926,14 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
Suggests: %{name}-webtool%{?_isa} = %{version}-%{release}
%endif
+%if %{__with_emacs}
Provides: emacs-common-erlang = %{version}-%{release}
+%endif %{__with_emacs}
%description tools
A set of programming tools including a coverage analyzer etc.
+%if %{__with_wxwidgets}
%package typer
Summary: TYPe annotator for ERlang programs
Group: Development/Languages
@@ -833,7 +946,9 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description typer
TYPe annotator for ERlang programs.
+%endif %{__with_wxwidgets}
+%if %{__with_wxwidgets}
%package webtool
Summary: A tool that simplifying the use of web based Erlang tools
Group: Development/Languages
@@ -845,7 +960,9 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description webtool
A tool that simplifying the use of web based Erlang tools.
+%endif %{__with_wxwidgets}
+%if %{__with_wxwidgets}
%package wx
Summary: A library for wxWidgets support in Erlang
Group: Development/Languages
@@ -858,6 +975,7 @@ Requires: mesa-libGLU
%description wx
A Graphics System used to write platform independent user interfaces.
+%endif %{__with_wxwidgets}
%package xmerl
Summary: Provides support for XML 1.0
@@ -869,6 +987,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description xmerl
Provides support for XML 1.0.
+%if %{__with_emacs}
%package -n xemacs-erlang
Summary: Compiled elisp files for erlang-mode under XEmacs
Group: Applications/Editors
@@ -889,6 +1008,7 @@ BuildArch: noarch
%description -n xemacs-erlang-el
Erlang mode for XEmacs (source lisp files).
+%endif %{__with_emacs}
### END OF AUTOGENERATED LIST ###
@@ -924,11 +1044,38 @@ ERL_FLAGS="${RPM_OPT_FLAGS} -mcpu=ultrasparc -fno-strict-aliasing"
ERL_FLAGS="${RPM_OPT_FLAGS} -fno-strict-aliasing"
%endif
-CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --enable-sctp --enable-systemd %{?__with_hipe:--enable-hipe} --with-wx-config=/usr/bin/wx-config-3.0
+CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --enable-sctp --enable-systemd \
+ %{?__with_hipe:--enable-hipe} \
+%if %{__with_java}
+ \
+%else
+ --without-jinterface \
+%endif %{__with_java}
+%if %{__with_tcltk}
+ \
+%else
+ --without-gs \
+%endif %{__with_tcltk}
+%if %{__with_wxwidgets}
+ --with-wx-config=/usr/bin/wx-config-3.0
+%else
+ --without-common_test \
+ --without-debugger \
+ --without-dialyzer \
+ --without-et \
+ --without-megaco \
+ --without-observer \
+ --without-reltool \
+ --without-test_server \
+ --without-typer \
+ --without-webtool \
+ --without-wx
+%endif %{__with_wxwidgets}
# Remove pre-built BEAM files
make clean
+%if %{__with_emacs}
# GNU Emacs/XEmacs related stuff
erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)"
@@ -958,6 +1105,7 @@ rm -f xemacs-erlang/erlang-flymake.el
pushd xemacs-erlang
%{_xemacs_bytecompile} *.el
popd
+%endif %{__with_emacs}
make
@@ -973,6 +1121,7 @@ make docs
%install
+%if %{__with_emacs}
# GNU Emacs/XEmacs related stuff
erlang_tools_vsn="$(sed -n 's/TOOLS_VSN = //p' lib/tools/vsn.mk)"
@@ -998,6 +1147,7 @@ for f in lib/tools/emacs/{README,*.el}; do
done
rm -f "$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/erlang/erlang-flymake.el"
install -m 0644 xemacs-erlang/*.elc "$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/erlang/"
+%endif %{__with_emacs}
make DESTDIR=$RPM_BUILD_ROOT install
@@ -1008,9 +1158,15 @@ env ERL_LIBS="$RPM_BUILD_ROOT%{_libdir}/erlang/lib" make DESTDIR=$RPM_BUILD_ROOT
# Do not install info files - they are almost empty and useless
find $RPM_BUILD_ROOT%{_libdir}/erlang -type f -name info -exec rm -f {} \;
+%if %{__with_examples}
# fix 0775 permission on some directories
find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/ssl-*/examples/ -type d -perm 0775 | xargs chmod 755
find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/kernel-*/examples/uds_dist -type d -perm 0775 | xargs chmod 755
+%else
+# Remove all examples
+find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/ -mindepth 1 -maxdepth 2 -type d -name examples -exec rm -rf {} \;
+%endif %{__with_examples}
+
chmod 0755 $RPM_BUILD_ROOT%{_libdir}/erlang/bin
# Relocate doc-files into the proper directory
@@ -1060,6 +1216,7 @@ do
fi
done
+%if %{__with_java}
# symlink *.jar files to appropriate places for subpackages
install -m 0755 -d "$RPM_BUILD_ROOT%{_javadir}/%{name}"
@@ -1072,6 +1229,7 @@ ln -s "${ic_lib_dir}priv/ic.jar" "$RPM_BUILD_ROOT%{_javadir}/%{name}/"
jinterface_lib_dir="$(ls -d1 $RPM_BUILD_ROOT%{_libdir}/erlang/lib/jinterface-*/ | sed "s,^$RPM_BUILD_ROOT,,")"
test -d "$RPM_BUILD_ROOT$jinterface_lib_dir"
ln -s "${jinterface_lib_dir}priv/OtpErlang.jar" "$RPM_BUILD_ROOT%{_javadir}/%{name}/"
+%endif %{__with_java}
# systemd-related stuff
%if 0%{?el7}%{?fedora}
@@ -1082,6 +1240,19 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_unitdir}/epmd@.socket
%endif
+%if %{__with_wxwidgets}
+echo "No need to fix additional scripts"
+%else
+# FIXME workaround for broken Erlang install procedure
+for exe in ct_run dialyzer typer
+do
+ rm -f $RPM_BUILD_ROOT/%{_bindir}/${exe}
+ rm -f $RPM_BUILD_ROOT/%{_libdir}/erlang/bin/${exe}
+ rm -f $RPM_BUILD_ROOT/%{_libdir}/erlang/erts-*/bin/${exe}
+done
+%endif %{__with_wxwidgets}
+
+
%check
# FIXME run tests somehow
# make tests || exit 0
@@ -1115,10 +1286,14 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/asn1rt.*
%endif
+%if %{__with_wxwidgets}
%files common_test
%{_bindir}/ct_run
+%{_libdir}/erlang/bin/ct_run
+%{_libdir}/erlang/erts-*/bin/ct_run
%{_libdir}/erlang/lib/common_test-*/
%if %{with doc}
+%{_libdir}/erlang/man/man1/ct_run.*
%{_libdir}/erlang/man/man3/ct.*
%{_libdir}/erlang/man/man3/ct_cover.*
%{_libdir}/erlang/man/man3/ct_ftp.*
@@ -1134,6 +1309,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/unix_telnet.*
%{_libdir}/erlang/man/man6/common_test.*
%endif
+%endif %{__with_wxwidgets}
%files compiler
%{_libdir}/erlang/lib/compiler-*/
@@ -1266,6 +1442,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man6/crypto.*
%endif
+%if %{__with_wxwidgets}
%files debugger
%{_libdir}/erlang/lib/debugger-*/
%if %{with doc}
@@ -1273,7 +1450,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/i.*
%{_libdir}/erlang/man/man3/int.*
%endif
+%endif %{__with_wxwidgets}
+%if %{__with_wxwidgets}
%files dialyzer
%{_bindir}/dialyzer
%{_libdir}/erlang/bin/dialyzer
@@ -1282,6 +1461,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%if %{with doc}
%{_libdir}/erlang/man/man3/dialyzer.*
%endif
+%endif %{__with_wxwidgets}
%files diameter
%dir %{_libdir}/erlang/lib/diameter-*/
@@ -1370,7 +1550,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_bindir}/escript
%{_bindir}/run_erl
%{_bindir}/to_erl
-%{_libdir}/erlang/bin/ct_run
%{_libdir}/erlang/bin/epmd
%{_libdir}/erlang/bin/erl
%{_libdir}/erlang/bin/erlc
@@ -1389,7 +1568,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/erts-*/bin/beam
%{_libdir}/erlang/erts-*/bin/beam.smp
%{_libdir}/erlang/erts-*/bin/child_setup
-%{_libdir}/erlang/erts-*/bin/ct_run
%{_libdir}/erlang/erts-*/bin/dyn_erl
%{_libdir}/erlang/erts-*/bin/epmd
%{_libdir}/erlang/erts-*/bin/erl
@@ -1409,7 +1587,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/erts-*/src/
%{_libdir}/erlang/lib/erts-*/
%if %{with doc}
-%{_libdir}/erlang/man/man1/ct_run.*
%{_libdir}/erlang/man/man1/epmd.*
%{_libdir}/erlang/man/man1/erl.*
%{_libdir}/erlang/man/man1/erlc.*
@@ -1435,6 +1612,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_unitdir}/epmd@.socket
%endif
+%if %{__with_wxwidgets}
%files et
%dir %{_libdir}/erlang/lib/et-*/
%{_libdir}/erlang/lib/et-*/ebin
@@ -1446,6 +1624,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/et_selector.*
%{_libdir}/erlang/man/man3/et_viewer.*
%endif
+%endif %{__with_wxwidgets}
%files eunit
%dir %{_libdir}/erlang/lib/eunit-*/
@@ -1457,20 +1636,31 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/eunit_surefire.*
%endif
+%if %{__with_examples}
%files examples
%{_libdir}/erlang/lib/asn1-*/examples/
%{_libdir}/erlang/lib/diameter-*/examples/
+%if %{__with_wxwidgets}
%{_libdir}/erlang/lib/et-*/examples/
+%endif %{__with_wxwidgets}
%{_libdir}/erlang/lib/eunit-*/examples/
+%if %{__with_tcltk}
%{_libdir}/erlang/lib/gs-*/examples/
+%endif %{__with_tcltk}
+%if %{__with_java}
%{_libdir}/erlang/lib/ic-*/examples/
+%endif %{__with_java}
%{_libdir}/erlang/lib/inets-*/examples/
%{_libdir}/erlang/lib/kernel-*/examples/
%{_libdir}/erlang/lib/megaco-*/examples/
%{_libdir}/erlang/lib/mnesia-*/examples/
+%if %{__with_wxwidgets}
%{_libdir}/erlang/lib/observer-*/examples/
+%endif %{__with_wxwidgets}
%{_libdir}/erlang/lib/orber-*/examples/
+%if %{__with_wxwidgets}
%{_libdir}/erlang/lib/reltool-*/examples/
+%endif %{__with_wxwidgets}
%{_libdir}/erlang/lib/runtime_tools-*/examples/
%{_libdir}/erlang/lib/sasl-*/examples/
%{_libdir}/erlang/lib/snmp-*/examples/
@@ -1478,8 +1668,12 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/lib/stdlib-*/examples/
%{_libdir}/erlang/lib/syntax_tools-*/examples/
%{_libdir}/erlang/lib/tools-*/examples/
+%if %{__with_wxwidgets}
%{_libdir}/erlang/lib/wx-*/examples/
+%endif %{__with_wxwidgets}
+%endif %{__with_examples}
+%if %{__with_tcltk}
%files gs
%dir %{_libdir}/erlang/lib/gs-*/
%{_libdir}/erlang/lib/gs-*/contribs
@@ -1489,6 +1683,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%if %{with doc}
%{_libdir}/erlang/man/man3/gs.*
%endif
+%endif %{__with_tcltk}
%files hipe
%{_libdir}/erlang/lib/hipe-*/
@@ -1501,7 +1696,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/lib/ic-*/src
# FIXME see erlang-jinterface also
#%dir %{_javadir}/%{name}/
+%if %{__with_java}
%{_javadir}/%{name}/ic.jar
+%endif %{__with_java}
%if %{with doc}
%{_libdir}/erlang/man/man3/ic.*
%{_libdir}/erlang/man/man3/ic_clib.*
@@ -1530,11 +1727,13 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/tftp.*
%endif
+%if %{__with_java}
%files jinterface
# FIXME see erlang-ic also
#%dir %{_javadir}/%{name}/
%{_javadir}/%{name}/OtpErlang.jar
%{_libdir}/erlang/lib/jinterface-*/
+%endif %{__with_java}
%files kernel
%dir %{_libdir}/erlang/lib/kernel-*/
@@ -1576,6 +1775,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man6/kernel.*
%endif
+%if %{__with_wxwidgets}
%files megaco
%dir %{_libdir}/erlang/lib/megaco-*/
%{_libdir}/erlang/lib/megaco-*/ebin
@@ -1596,6 +1796,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/megaco_udp.*
%{_libdir}/erlang/man/man3/megaco_user.*
%endif
+%endif %{__with_wxwidgets}
%files mnesia
%dir %{_libdir}/erlang/lib/mnesia-*/
@@ -1607,6 +1808,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/mnesia_registry.*
%endif
+%if %{__with_wxwidgets}
%files observer
%dir %{_libdir}/erlang/lib/observer-*/
%{_libdir}/erlang/lib/observer-*/ebin/
@@ -1616,10 +1818,12 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%if %{with doc}
%{_libdir}/erlang/man/man1/cdv.*
%{_libdir}/erlang/man/man3/crashdump.*
+%{_libdir}/erlang/man/man3/etop.*
%{_libdir}/erlang/man/man3/observer.*
%{_libdir}/erlang/man/man3/ttb.*
%{_libdir}/erlang/man/man6/observer.*
%endif
+%endif %{__with_wxwidgets}
%files odbc
%{_libdir}/erlang/lib/odbc-*/
@@ -1644,7 +1848,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/any.*
%{_libdir}/erlang/man/man3/corba.*
%{_libdir}/erlang/man/man3/corba_object.*
-%{_libdir}/erlang/man/man3/etop.*
%{_libdir}/erlang/man/man3/fixed.*
%{_libdir}/erlang/man/man3/interceptors.*
%{_libdir}/erlang/man/man3/lname.*
@@ -1703,6 +1906,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/public_key.*
%endif
+%if %{__with_wxwidgets}
%files reltool
%dir %{_libdir}/erlang/lib/reltool-*/
%{_libdir}/erlang/lib/reltool-*/ebin
@@ -1710,6 +1914,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%if %{with doc}
%{_libdir}/erlang/man/man3/reltool.*
%endif
+%endif %{__with_wxwidgets}
%files runtime_tools
%dir %{_libdir}/erlang/lib/runtime_tools-*/
@@ -1918,6 +2123,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/prettypr.*
%endif
+%if %{__with_wxwidgets}
%files test_server
%{_libdir}/erlang/lib/test_server-*/
%if %{with doc}
@@ -1925,6 +2131,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/test_server_ctrl.*
%{_libdir}/erlang/man/man6/test_server.*
%endif
+%endif %{__with_wxwidgets}
%files tools
%dir %{_libdir}/erlang/lib/tools-*/
@@ -1946,20 +2153,25 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/xref.*
%endif
+%if %{__with_wxwidgets}
%files typer
%{_bindir}/typer
%{_libdir}/erlang/bin/typer
%{_libdir}/erlang/erts-*/bin/typer
%dir %{_libdir}/erlang/lib/typer-*/
%{_libdir}/erlang/lib/typer-*/ebin/
+%endif %{__with_wxwidgets}
+%if %{__with_wxwidgets}
%files webtool
%{_libdir}/erlang/lib/webtool-*/
%if %{with doc}
%{_libdir}/erlang/man/man1/start_webtool.*
%{_libdir}/erlang/man/man3/webtool.*
%endif
+%endif %{__with_wxwidgets}
+%if %{__with_wxwidgets}
%files wx
%dir %{_libdir}/erlang/lib/wx-*/
%{_libdir}/erlang/lib/wx-*/ebin
@@ -2197,6 +2409,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/wxWindowDestroyEvent.*
%{_libdir}/erlang/man/man3/wxXmlResource.*
%endif
+%endif %{__with_wxwidgets}
%files xmerl
%{_libdir}/erlang/lib/xmerl-*/
@@ -2210,6 +2423,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/xmerl_xsd.*
%endif
+%if %{__with_emacs}
%files -n emacs-erlang
%dir %{_emacs_sitelispdir}/erlang
%doc %{_emacs_sitelispdir}/erlang/README
@@ -2227,9 +2441,13 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%files -n xemacs-erlang-el
%{_xemacs_sitelispdir}/erlang/*.el
+%endif %{__with_emacs}
%changelog
+* Sun Apr 10 2016 Peter Lemenkov - 18.3.1-2
+- Enable selective building
+
* Thu Apr 7 2016 Peter Lemenkov - 18.3.1-1
- Ver. 18.3.1
From 2eb1f1c08641335282b2465c6405c9f7b6bea098 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 27 Apr 2016 13:59:42 +0300
Subject: [PATCH 067/322] Ver. 18.3.2
Signed-off-by: Peter Lemenkov
---
erlang.spec | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index de69c4d..7cd0515 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -68,8 +68,8 @@
Name: erlang
-Version: 18.3.1
-Release: 2%{?dist}
+Version: 18.3.2
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2445,6 +2445,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Apr 27 2016 Peter Lemenkov - 18.3.2-1
+- Ver. 18.3.2
+
* Sun Apr 10 2016 Peter Lemenkov - 18.3.1-2
- Enable selective building
From 7dd309b317bc4f1f8cd9bbbca3d94b122808f08d Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 27 Apr 2016 16:47:46 +0300
Subject: [PATCH 068/322] Upload sources
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
sources | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 2fc3419..1288b54 100644
--- a/.gitignore
+++ b/.gitignore
@@ -60,3 +60,4 @@ otp_src_R14A.tar.gz
/otp-OTP-18.2.4.tar.gz
/otp-OTP-18.3.tar.gz
/otp-OTP-18.3.1.tar.gz
+/otp-OTP-18.3.2.tar.gz
diff --git a/sources b/sources
index a073951..25a955d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-03fd1ccf4e82bc093dd0e514275909df otp-OTP-18.3.1.tar.gz
+364da46692634bbf67da585540eda1cb otp-OTP-18.3.2.tar.gz
From 99e86faeb679ff6bdc0a2f4366df50dd1a052374 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 11 May 2016 13:12:35 +0300
Subject: [PATCH 069/322] Ver. 18.3.3
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
otp-0006-Do-not-install-erlang-sources.patch | 4 ++--
sources | 2 +-
4 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/.gitignore b/.gitignore
index 1288b54..4955ce0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -61,3 +61,4 @@ otp_src_R14A.tar.gz
/otp-OTP-18.3.tar.gz
/otp-OTP-18.3.1.tar.gz
/otp-OTP-18.3.2.tar.gz
+/otp-OTP-18.3.3.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 7cd0515..a5a987e 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -68,7 +68,7 @@
Name: erlang
-Version: 18.3.2
+Version: 18.3.3
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2445,6 +2445,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed May 11 2016 Peter Lemenkov - 18.3.3-1
+- Ver. 18.3.3
+
* Wed Apr 27 2016 Peter Lemenkov - 18.3.2-1
- Ver. 18.3.2
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index 00038c5..2af76d2 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -472,10 +472,10 @@ index 1c05d45..88f9f62 100644
$(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile
-index 0a4b625..1b1d83d 100644
+index 7f51676..093f462 100644
--- a/lib/inets/src/inets_app/Makefile
+++ b/lib/inets/src/inets_app/Makefile
-@@ -115,7 +115,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -116,7 +116,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/inets_app"
diff --git a/sources b/sources
index 25a955d..068a4eb 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-364da46692634bbf67da585540eda1cb otp-OTP-18.3.2.tar.gz
+34d812a7b27060659e592c33384ad11d otp-OTP-18.3.3.tar.gz
From 35d91694b32ea4e1f50dafe5d9e07ec4ea881950 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 13 Jun 2016 15:43:31 +0200
Subject: [PATCH 070/322] Fix regression with GCC 6.x.y
Signed-off-by: Peter Lemenkov
---
erlang.spec | 9 ++-
...-decoding-of-LLONG_MIN-in-erl_decode.patch | 69 +++++++++++++++++++
2 files changed, 77 insertions(+), 1 deletion(-)
create mode 100644 otp-0010-Fix-decoding-of-LLONG_MIN-in-erl_decode.patch
diff --git a/erlang.spec b/erlang.spec
index a5a987e..5b5fd1e 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -69,7 +69,7 @@
Name: erlang
Version: 18.3.3
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -128,6 +128,9 @@ Patch8: otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
# Fedora specific patch
# Don't send unasked for systemd notifications
Patch9: otp-0009-Don-t-send-unasked-for-systemd-notifications.patch
+# Fedora specific patch
+# Fix decoding of LLONG_MIN in erl_decode
+Patch10: otp-0010-Fix-decoding-of-LLONG_MIN-in-erl_decode.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -1025,6 +1028,7 @@ Erlang mode for XEmacs (source lisp files).
%patch7 -p1 -b .Split_off_webtool_dependency_from_tools
%patch8 -p1 -b .Add_patch_to_crash_dump_on_large_distribution
%patch9 -p1 -b .Don_t_send_unasked_for_systemd_notifications
+%patch10 -p1 -b .Fix_decoding_of_LLONG_MIN_in_erl_decode
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2445,6 +2449,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Mon Jun 13 2016 Peter Lemenkov - 18.3.3-2
+- Fix regression with GCC 6.x.y
+
* Wed May 11 2016 Peter Lemenkov - 18.3.3-1
- Ver. 18.3.3
diff --git a/otp-0010-Fix-decoding-of-LLONG_MIN-in-erl_decode.patch b/otp-0010-Fix-decoding-of-LLONG_MIN-in-erl_decode.patch
new file mode 100644
index 0000000..d832978
--- /dev/null
+++ b/otp-0010-Fix-decoding-of-LLONG_MIN-in-erl_decode.patch
@@ -0,0 +1,69 @@
+From: =?UTF-8?q?Bj=C3=B6rn-Egil=20Dahlberg?=
+Date: Fri, 10 Jun 2016 16:40:38 +0200
+Subject: [PATCH] Fix decoding of LLONG_MIN in erl_decode
+
+Reported-by: Peter Lemenkov
+
+diff --git a/lib/erl_interface/src/legacy/erl_marshal.c b/lib/erl_interface/src/legacy/erl_marshal.c
+index a4216c9..6a1b573 100644
+--- a/lib/erl_interface/src/legacy/erl_marshal.c
++++ b/lib/erl_interface/src/legacy/erl_marshal.c
+@@ -727,6 +727,13 @@ static ETERM *erl_decode_it(unsigned char **ext)
+ ((*ext)[2]) << 8 |((*ext)[3]);
+ *ext += 4;
+ big_cont:
++
++#ifdef _MSC_VER
++#define MAX_TO_NEGATE 0x8000000000000000Ui64
++#else
++#define MAX_TO_NEGATE 0x8000000000000000ULL
++#endif
++
+ sign = *(*ext)++;
+ if (arity > 8)
+ goto big_truncate;
+@@ -763,23 +770,28 @@ static ETERM *erl_decode_it(unsigned char **ext)
+ *ext += arity;
+ return ep;
+ } else {
+- /* Fits in a long long */
+- int x;
+- long long l = 0LL;
+-
+- for(x = 0 ; x < arity ; x++) {
+- l |= ((long long)(*ext)[x]) << ((long long)(8*x));
+- }
+- if (sign) {
+- l = -l;
+- if (l > 0) goto big_truncate;
+- }
+-
+- ERL_TYPE(ep) = ERL_LONGLONG;
+- ep->uval.llval.i = l;
+- *ext += arity;
+- return ep;
++ /* Fits in a signed long long */
++ int x;
++ unsigned long long l = 0LL;
++ long long sl;
++
++ for(x = 0 ; x < arity ; x++) {
++ l |= ((unsigned long long)(*ext)[x]) << ((unsigned long long)(8*x));
++ }
++
++ sl = (long long)l;
++
++ if (sign && l != MAX_TO_NEGATE) {
++ sl = -sl;
++ if (sl > 0) goto big_truncate;
++ }
++
++ ERL_TYPE(ep) = ERL_LONGLONG;
++ ep->uval.llval.i = sl;
++ *ext += arity;
++ return ep;
+ }
++#undef MAX_TO_NEGATE
+ big_truncate:
+ /* truncate to: (+/-) 1 */
+ #ifdef DEBUG
From a455cfc9726867ddf5a849ada4dd8c3c04fd7f38 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 14 Jun 2016 15:16:31 +0200
Subject: [PATCH 071/322] Ver. 18.3.4
Signed-off-by: Peter Lemenkov
---
erlang.spec | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 5b5fd1e..2924ec0 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -68,8 +68,8 @@
Name: erlang
-Version: 18.3.3
-Release: 2%{?dist}
+Version: 18.3.4
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2449,6 +2449,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Tue Jun 14 2016 Peter Lemenkov - 18.3.4-1
+- Ver. 18.3.4
+
* Mon Jun 13 2016 Peter Lemenkov - 18.3.3-2
- Fix regression with GCC 6.x.y
From 7baa91a7251e17a9c036027784f19d2344e7fd8f Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 14 Jun 2016 15:22:10 +0200
Subject: [PATCH 072/322] Forgot to upload tarball. As usual.
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
sources | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 4955ce0..49299e8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -62,3 +62,4 @@ otp_src_R14A.tar.gz
/otp-OTP-18.3.1.tar.gz
/otp-OTP-18.3.2.tar.gz
/otp-OTP-18.3.3.tar.gz
+/otp-OTP-18.3.4.tar.gz
diff --git a/sources b/sources
index 068a4eb..780d7be 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-34d812a7b27060659e592c33384ad11d otp-OTP-18.3.3.tar.gz
+4debfc36d9392b85006033af38637274 otp-OTP-18.3.4.tar.gz
From f866398479f7961914010e2c299b4b4c88afa210 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 15 Jul 2016 13:11:40 +0300
Subject: [PATCH 073/322] Ver. 18.3.4.1
- Ver. 18.3.4.1
- Allow node registration via IPv6 (PR erlang/otp#1129)
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 10 +++++-
...dist-switch-while-connection-to-EPMD.patch | 34 +++++++++++++++++++
sources | 2 +-
4 files changed, 45 insertions(+), 2 deletions(-)
create mode 100644 otp-0011-Respect-proto_dist-switch-while-connection-to-EPMD.patch
diff --git a/.gitignore b/.gitignore
index 49299e8..0d15586 100644
--- a/.gitignore
+++ b/.gitignore
@@ -63,3 +63,4 @@ otp_src_R14A.tar.gz
/otp-OTP-18.3.2.tar.gz
/otp-OTP-18.3.3.tar.gz
/otp-OTP-18.3.4.tar.gz
+/otp-OTP-18.3.4.1.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 2924ec0..94917c7 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -68,7 +68,7 @@
Name: erlang
-Version: 18.3.4
+Version: 18.3.4.1
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -131,6 +131,9 @@ Patch9: otp-0009-Don-t-send-unasked-for-systemd-notifications.patch
# Fedora specific patch
# Fix decoding of LLONG_MIN in erl_decode
Patch10: otp-0010-Fix-decoding-of-LLONG_MIN-in-erl_decode.patch
+# Fedora specific patch
+# Respect -proto_dist switch while connection to EPMD
+Patch11: otp-0011-Respect-proto_dist-switch-while-connection-to-EPMD.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -1029,6 +1032,7 @@ Erlang mode for XEmacs (source lisp files).
%patch8 -p1 -b .Add_patch_to_crash_dump_on_large_distribution
%patch9 -p1 -b .Don_t_send_unasked_for_systemd_notifications
%patch10 -p1 -b .Fix_decoding_of_LLONG_MIN_in_erl_decode
+%patch11 -p1 -b .Respect_proto_dist_switch_while_connection_to_EPMD
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2449,6 +2453,10 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Fri Jul 15 2016 Peter Lemenkov - 18.3.4.1-1
+- Ver. 18.3.4.1
+- Allow node registration via IPv6 (PR erlang/otp#1129)
+
* Tue Jun 14 2016 Peter Lemenkov - 18.3.4-1
- Ver. 18.3.4
diff --git a/otp-0011-Respect-proto_dist-switch-while-connection-to-EPMD.patch b/otp-0011-Respect-proto_dist-switch-while-connection-to-EPMD.patch
new file mode 100644
index 0000000..8b8fd0d
--- /dev/null
+++ b/otp-0011-Respect-proto_dist-switch-while-connection-to-EPMD.patch
@@ -0,0 +1,34 @@
+From: Peter Lemenkov
+Date: Thu, 14 Jul 2016 17:51:16 +0300
+Subject: [PATCH] Respect -proto_dist switch while connection to EPMD
+
+Signed-off-by: Peter Lemenkov
+
+diff --git a/lib/kernel/src/erl_epmd.erl b/lib/kernel/src/erl_epmd.erl
+index c6202dd..ec2e330 100644
+--- a/lib/kernel/src/erl_epmd.erl
++++ b/lib/kernel/src/erl_epmd.erl
+@@ -103,6 +103,10 @@ names(EpmdAddr) ->
+
+ register_node(Name, PortNo) ->
+ register_node(Name, PortNo, inet).
++register_node(Name, PortNo, inet_tcp) ->
++ register_node(Name, PortNo, inet);
++register_node(Name, PortNo, inet6_tcp) ->
++ register_node(Name, PortNo, inet6);
+ register_node(Name, PortNo, Family) ->
+ gen_server:call(erl_epmd, {register, Name, PortNo, Family}, infinity).
+
+diff --git a/lib/kernel/src/inet_tcp_dist.erl b/lib/kernel/src/inet_tcp_dist.erl
+index 64b28bb..ffbd5d5 100644
+--- a/lib/kernel/src/inet_tcp_dist.erl
++++ b/lib/kernel/src/inet_tcp_dist.erl
+@@ -73,7 +73,7 @@ gen_listen(Driver, Name) ->
+ {ok, Socket} ->
+ TcpAddress = get_tcp_address(Driver, Socket),
+ {_,Port} = TcpAddress#net_address.address,
+- case erl_epmd:register_node(Name, Port) of
++ case erl_epmd:register_node(Name, Port, Driver) of
+ {ok, Creation} ->
+ {ok, {Socket, TcpAddress, Creation}};
+ Error ->
diff --git a/sources b/sources
index 780d7be..bb0797a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-4debfc36d9392b85006033af38637274 otp-OTP-18.3.4.tar.gz
+d91205fe5b3a64a5105481e05adca005 otp-OTP-18.3.4.1.tar.gz
From a3bb2c2410368f07e5396090ee728b4c3062617f Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 26 Jul 2016 17:00:07 +0300
Subject: [PATCH 074/322] Ver. 18.3.4.2
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
sources | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index 0d15586..17c7274 100644
--- a/.gitignore
+++ b/.gitignore
@@ -64,3 +64,4 @@ otp_src_R14A.tar.gz
/otp-OTP-18.3.3.tar.gz
/otp-OTP-18.3.4.tar.gz
/otp-OTP-18.3.4.1.tar.gz
+/otp-OTP-18.3.4.2.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 94917c7..8d5649d 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -68,7 +68,7 @@
Name: erlang
-Version: 18.3.4.1
+Version: 18.3.4.2
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2453,6 +2453,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Tue Jul 26 2016 Peter Lemenkov - 18.3.4.2-1
+- Ver. 18.3.4.2
+
* Fri Jul 15 2016 Peter Lemenkov - 18.3.4.1-1
- Ver. 18.3.4.1
- Allow node registration via IPv6 (PR erlang/otp#1129)
diff --git a/sources b/sources
index bb0797a..1a7d38d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-d91205fe5b3a64a5105481e05adca005 otp-OTP-18.3.4.1.tar.gz
+fd9934b664769500f3216f688eb57493 otp-OTP-18.3.4.2.tar.gz
From 8a7b81063e0a4e3d94ec83a436d7001ea877b2b2 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 27 Jul 2016 14:14:07 +0300
Subject: [PATCH 075/322] Ver. 19.0.2
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 225 ++++-------------
...n-pages-and-do-not-install-miscellan.patch | 6 +-
otp-0002-Remove-rpath.patch | 2 +-
otp-0003-Do-not-install-C-sources.patch | 46 ++--
otp-0004-Do-not-install-Java-sources.patch | 4 +-
...teventlog-and-related-doc-files-on-n.patch | 4 +-
otp-0006-Do-not-install-erlang-sources.patch | 230 ++++++++----------
...dist-switch-while-connection-to-EPMD.patch | 25 +-
...it-off-webtool-dependency-from-tools.patch | 40 ---
...-to-crash-dump-on-large-distribution.patch | 31 ---
...nd-unasked-for-systemd-notifications.patch | 56 -----
...-decoding-of-LLONG_MIN-in-erl_decode.patch | 69 ------
sources | 2 +-
14 files changed, 195 insertions(+), 546 deletions(-)
rename otp-0011-Respect-proto_dist-switch-while-connection-to-EPMD.patch => otp-0007-Respect-proto_dist-switch-while-connection-to-EPMD.patch (54%)
delete mode 100644 otp-0007-Split-off-webtool-dependency-from-tools.patch
delete mode 100644 otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
delete mode 100644 otp-0009-Don-t-send-unasked-for-systemd-notifications.patch
delete mode 100644 otp-0010-Fix-decoding-of-LLONG_MIN-in-erl_decode.patch
diff --git a/.gitignore b/.gitignore
index 17c7274..bdf9fb8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -65,3 +65,4 @@ otp_src_R14A.tar.gz
/otp-OTP-18.3.4.tar.gz
/otp-OTP-18.3.4.1.tar.gz
/otp-OTP-18.3.4.2.tar.gz
+/otp-OTP-19.0.2.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 8d5649d..e22de86 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -47,8 +47,6 @@
# observer blocks:
#
# * common_test
-# * test_server
-# * webtool
#
# So finally we have to disable the following plugins:
#
@@ -59,16 +57,14 @@
# megaco
# observer
# reltool (*)
-# test_server
# typer
-# webtool
# wx
#
%global __with_wxwidgets 1
Name: erlang
-Version: 18.3.4.2
+Version: 19.0.2
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -120,20 +116,8 @@ Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
# Do not install erlang sources
Patch6: otp-0006-Do-not-install-erlang-sources.patch
# Fedora specific patch
-# Split off webtool dependency from tools
-Patch7: otp-0007-Split-off-webtool-dependency-from-tools.patch
-# Fedora specific patch
-# Add patch to crash dump on large distribution
-Patch8: otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
-# Fedora specific patch
-# Don't send unasked for systemd notifications
-Patch9: otp-0009-Don-t-send-unasked-for-systemd-notifications.patch
-# Fedora specific patch
-# Fix decoding of LLONG_MIN in erl_decode
-Patch10: otp-0010-Fix-decoding-of-LLONG_MIN-in-erl_decode.patch
-# Fedora specific patch
# Respect -proto_dist switch while connection to EPMD
-Patch11: otp-0011-Respect-proto_dist-switch-while-connection-to-EPMD.patch
+Patch7: otp-0007-Respect-proto_dist-switch-while-connection-to-EPMD.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -209,7 +193,6 @@ Requires: %{name}-observer%{?_isa} = %{version}-%{release}
Requires: %{name}-odbc%{?_isa} = %{version}-%{release}
Requires: %{name}-orber%{?_isa} = %{version}-%{release}
Requires: %{name}-os_mon%{?_isa} = %{version}-%{release}
-Requires: %{name}-ose%{?_isa} = %{version}-%{release}
Requires: %{name}-otp_mibs%{?_isa} = %{version}-%{release}
Requires: %{name}-parsetools%{?_isa} = %{version}-%{release}
Requires: %{name}-percept%{?_isa} = %{version}-%{release}
@@ -224,17 +207,11 @@ Requires: %{name}-ssh%{?_isa} = %{version}-%{release}
Requires: %{name}-ssl%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
-%if %{__with_wxwidgets}
-Requires: %{name}-test_server%{?_isa} = %{version}-%{release}
-%endif %{__with_wxwidgets}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
%if %{__with_wxwidgets}
Requires: %{name}-typer%{?_isa} = %{version}-%{release}
%endif %{__with_wxwidgets}
%if %{__with_wxwidgets}
-Requires: %{name}-webtool%{?_isa} = %{version}-%{release}
-%endif %{__with_wxwidgets}
-%if %{__with_wxwidgets}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
%endif %{__with_wxwidgets}
Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
@@ -247,29 +224,6 @@ systems from Ericsson.
### BEGIN OF AUTOGENERATED LIST ###
-%if %{__with_emacs}
-%package -n emacs-erlang
-Summary: Compiled elisp files for erlang-mode under GNU Emacs
-Group: Applications/Editors
-BuildRequires: emacs
-BuildRequires: emacs-el
-Requires: emacs-common-erlang = %{version}-%{release}
-Requires: emacs(bin) >= %{_emacs_version}
-BuildArch: noarch
-
-%description -n emacs-erlang
-Erlang mode for GNU Emacs.
-
-%package -n emacs-erlang-el
-Summary: Elisp source files for erlang-mode under GNU Emacs
-Group: Applications/Editors
-Requires: emacs-erlang = %{version}-%{release}
-BuildArch: noarch
-
-%description -n emacs-erlang-el
-Erlang mode for GNU Emacs (source lisp files).
-%endif %{__with_emacs}
-
%package asn1
Summary: Provides support for Abstract Syntax Notation One
Group: Development/Languages
@@ -296,9 +250,10 @@ Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
Requires: %{name}-snmp%{?_isa} = %{version}-%{release}
Requires: %{name}-ssh%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Requires: %{name}-test_server%{?_isa} = %{version}-%{release}
+Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
+Obsoletes: erlang-test_server
%description common_test
A portable framework for automatic testing.
@@ -530,14 +485,16 @@ Requires: lksctp-tools
Provides: erlang(erl_drv_version) = 3.3
# See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version).
#Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt)
-Provides: erlang(erl_nif_version) = 2.10
+Provides: erlang(erl_nif_version) = 2.11
Provides: bundled(pcre) = 8.33
Obsoletes: erlang-appmon
Obsoletes: erlang-docbuilder
Obsoletes: erlang-inviso
+Obsoletes: erlang-ose
Obsoletes: erlang-pman
Obsoletes: erlang-toolbar
Obsoletes: erlang-tv
+Obsoletes: erlang-webtool
%description erts
Functionality necessary to run the Erlang System itself.
@@ -740,15 +697,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description os_mon
A monitor which allows inspection of the underlying operating system.
-%package ose
-Summary: A module for interacting with Enea OSE
-Group: Development/Languages
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-
-%description ose
-A module for interacting with Enea OSE.
-
%package otp_mibs
Summary: SNMP management information base for Erlang/OTP nodes
Group: Development/Languages
@@ -900,42 +848,31 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
A utility used to handle abstract Erlang syntax trees,
reading source files differently, pretty-printing syntax trees.
-%if %{__with_wxwidgets}
-%package test_server
-Summary: The OTP Test Server
-Group: Development/Languages
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-inets%{?_isa} = %{version}-%{release}
-Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
-Requires: %{name}-observer%{?_isa} = %{version}-%{release}
-Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
-Requires: %{name}-tools%{?_isa} = %{version}-%{release}
-
-%description test_server
-The OTP Test Server.
-%endif %{__with_wxwidgets}
-
%package tools
Summary: A set of programming tools including a coverage analyzer etc
Group: Development/Languages
+%if %{__with_emacs}
+BuildRequires: emacs
+BuildRequires: emacs-el
+BuildRequires: xemacs
+BuildRequires: xemacs-packages-extra-el
+%endif %{__with_emacs}
Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-inets%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-# This is a weak dependency triggered by the "cover_web" application.
-# Unfortunately Recommends/Suggests tags are supported only in Fedora 21+ and
-# RHEL 8+ (eventually)
-%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
-Suggests: %{name}-webtool%{?_isa} = %{version}-%{release}
-%endif
%if %{__with_emacs}
-Provides: emacs-common-erlang = %{version}-%{release}
+Requires: emacs-filesystem
+Requires: xemacs-filesystem
+Obsoletes: emacs-erlang
+Obsoletes: emacs-erlang-el
+Obsoletes: xemacs-erlang
+Obsoletes: xemacs-erlang-el
%endif %{__with_emacs}
+
%description tools
A set of programming tools including a coverage analyzer etc.
@@ -954,20 +891,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
TYPe annotator for ERlang programs.
%endif %{__with_wxwidgets}
-%if %{__with_wxwidgets}
-%package webtool
-Summary: A tool that simplifying the use of web based Erlang tools
-Group: Development/Languages
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-inets%{?_isa} = %{version}-%{release}
-Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
-Requires: %{name}-observer%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-
-%description webtool
-A tool that simplifying the use of web based Erlang tools.
-%endif %{__with_wxwidgets}
-
%if %{__with_wxwidgets}
%package wx
Summary: A library for wxWidgets support in Erlang
@@ -993,29 +916,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description xmerl
Provides support for XML 1.0.
-%if %{__with_emacs}
-%package -n xemacs-erlang
-Summary: Compiled elisp files for erlang-mode under XEmacs
-Group: Applications/Editors
-BuildRequires: xemacs
-BuildRequires: xemacs-packages-extra-el
-Requires: emacs-common-erlang = %{version}-%{release}
-Requires: xemacs(bin) >= %{_xemacs_version}
-BuildArch: noarch
-
-%description -n xemacs-erlang
-Erlang mode for XEmacs.
-
-%package -n xemacs-erlang-el
-Summary: Elisp source files for erlang-mode under XEmacs
-Group: Applications/Editors
-Requires: xemacs-erlang = %{version}-%{release}
-BuildArch: noarch
-
-%description -n xemacs-erlang-el
-Erlang mode for XEmacs (source lisp files).
-%endif %{__with_emacs}
-
### END OF AUTOGENERATED LIST ###
%prep
@@ -1028,11 +928,7 @@ Erlang mode for XEmacs (source lisp files).
%patch4 -p1 -b .Do_not_install_Java_sources
%patch5 -p1 -b .Do_not_install_nteventlog_and_related_doc_files_on_n
%patch6 -p1 -b .Do_not_install_erlang_sources
-%patch7 -p1 -b .Split_off_webtool_dependency_from_tools
-%patch8 -p1 -b .Add_patch_to_crash_dump_on_large_distribution
-%patch9 -p1 -b .Don_t_send_unasked_for_systemd_notifications
-%patch10 -p1 -b .Fix_decoding_of_LLONG_MIN_in_erl_decode
-%patch11 -p1 -b .Respect_proto_dist_switch_while_connection_to_EPMD
+%patch7 -p1 -b .Respect_proto_dist_switch_while_connection_to_EPMD
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -1074,9 +970,7 @@ CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --
--without-megaco \
--without-observer \
--without-reltool \
- --without-test_server \
--without-typer \
- --without-webtool \
--without-wx
%endif %{__with_wxwidgets}
@@ -1109,7 +1003,7 @@ cat > xemacs-erlang-init.el << EOF
EOF
mkdir xemacs-erlang
cp lib/tools/emacs/*.el xemacs-erlang/
-rm -f xemacs-erlang/erlang-flymake.el
+rm -f xemacs-erlang/erlang-flymake.el xemacs-erlang/erlang-test.el
pushd xemacs-erlang
%{_xemacs_bytecompile} *.el
popd
@@ -1575,11 +1469,11 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%dir %{_libdir}/erlang/erts-*/bin/
%{_libdir}/erlang/erts-*/bin/beam
%{_libdir}/erlang/erts-*/bin/beam.smp
-%{_libdir}/erlang/erts-*/bin/child_setup
%{_libdir}/erlang/erts-*/bin/dyn_erl
%{_libdir}/erlang/erts-*/bin/epmd
%{_libdir}/erlang/erts-*/bin/erl
%{_libdir}/erlang/erts-*/bin/erl.src
+%{_libdir}/erlang/erts-*/bin/erl_child_setup
%{_libdir}/erlang/erts-*/bin/erlc
%{_libdir}/erlang/erts-*/bin/erlexec
%{_libdir}/erlang/erts-*/bin/escript
@@ -1606,6 +1500,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/erl_driver.*
%{_libdir}/erlang/man/man3/erl_nif.*
%{_libdir}/erlang/man/man3/erl_prim_loader.*
+%{_libdir}/erlang/man/man3/erl_tracer.*
%{_libdir}/erlang/man/man3/erlang.*
%{_libdir}/erlang/man/man3/erts_alloc.*
%{_libdir}/erlang/man/man3/init.*
@@ -1684,7 +1579,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%if %{__with_tcltk}
%files gs
%dir %{_libdir}/erlang/lib/gs-*/
-%{_libdir}/erlang/lib/gs-*/contribs
%{_libdir}/erlang/lib/gs-*/ebin
%{_libdir}/erlang/lib/gs-*/priv
%{_libdir}/erlang/lib/gs-*/src
@@ -1878,15 +1772,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man6/os_mon.*
%endif
-%files ose
-%dir %{_libdir}/erlang/lib/ose-*/
-%{_libdir}/erlang/lib/ose-*/ebin/
-%if %{with doc}
-%{_libdir}/erlang/man/man3/ose.*
-%{_libdir}/erlang/man/man3/ose_erl_driver.*
-%{_libdir}/erlang/man/man6/ose.*
-%endif
-
%files otp_mibs
%{_libdir}/erlang/lib/otp_mibs-*/
%if %{with doc}
@@ -1912,6 +1797,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/lib/public_key-*/
%if %{with doc}
%{_libdir}/erlang/man/man3/public_key.*
+%{_libdir}/erlang/man/man6/public_key.*
%endif
%if %{__with_wxwidgets}
@@ -1933,6 +1819,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/dbg.*
%{_libdir}/erlang/man/man3/dyntrace.*
%{_libdir}/erlang/man/man3/erts_alloc_config.*
+%{_libdir}/erlang/man/man3/msacc.*
%{_libdir}/erlang/man/man3/system_information.*
%{_libdir}/erlang/man/man6/runtime_tools.*
%endif
@@ -1943,7 +1830,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/lib/sasl-*/src
%if %{with doc}
%{_libdir}/erlang/man/man3/alarm_handler.*
-%{_libdir}/erlang/man/man3/overload.*
%{_libdir}/erlang/man/man3/rb.*
%{_libdir}/erlang/man/man3/release_handler.*
%{_libdir}/erlang/man/man3/systools.*
@@ -2080,6 +1966,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/gen_event.*
%{_libdir}/erlang/man/man3/gen_fsm.*
%{_libdir}/erlang/man/man3/gen_server.*
+%{_libdir}/erlang/man/man3/gen_statem.*
%{_libdir}/erlang/man/man3/io.*
%{_libdir}/erlang/man/man3/io_lib.*
%{_libdir}/erlang/man/man3/lib.*
@@ -2131,22 +2018,11 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/prettypr.*
%endif
-%if %{__with_wxwidgets}
-%files test_server
-%{_libdir}/erlang/lib/test_server-*/
-%if %{with doc}
-%{_libdir}/erlang/man/man3/test_server.*
-%{_libdir}/erlang/man/man3/test_server_ctrl.*
-%{_libdir}/erlang/man/man6/test_server.*
-%endif
-%endif %{__with_wxwidgets}
-
%files tools
%dir %{_libdir}/erlang/lib/tools-*/
%{_libdir}/erlang/lib/tools-*/bin
%{_libdir}/erlang/lib/tools-*/ebin
%{_libdir}/erlang/lib/tools-*/emacs
-%{_libdir}/erlang/lib/tools-*/priv
%{_libdir}/erlang/lib/tools-*/src
%if %{with doc}
%{_libdir}/erlang/man/man3/cover.*
@@ -2160,6 +2036,19 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/tags.*
%{_libdir}/erlang/man/man3/xref.*
%endif
+%if %{__with_emacs}
+%dir %{_emacs_sitelispdir}/erlang
+%dir %{_xemacs_sitelispdir}/erlang
+%doc %{_emacs_sitelispdir}/erlang/README
+%doc %{_xemacs_sitelispdir}/erlang/README
+%{_emacs_sitelispdir}/erlang/*.el
+%{_emacs_sitelispdir}/erlang/*.elc
+%{_emacs_sitestartdir}/erlang-init.el
+%{_xemacs_sitelispdir}/erlang/*.el
+%{_xemacs_sitelispdir}/erlang/*.elc
+%{_xemacs_sitestartdir}/erlang-init.el
+%endif %{__with_emacs}
+
%if %{__with_wxwidgets}
%files typer
@@ -2170,15 +2059,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/lib/typer-*/ebin/
%endif %{__with_wxwidgets}
-%if %{__with_wxwidgets}
-%files webtool
-%{_libdir}/erlang/lib/webtool-*/
-%if %{with doc}
-%{_libdir}/erlang/man/man1/start_webtool.*
-%{_libdir}/erlang/man/man3/webtool.*
-%endif
-%endif %{__with_wxwidgets}
-
%if %{__with_wxwidgets}
%files wx
%dir %{_libdir}/erlang/lib/wx-*/
@@ -2431,28 +2311,13 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/xmerl_xsd.*
%endif
-%if %{__with_emacs}
-%files -n emacs-erlang
-%dir %{_emacs_sitelispdir}/erlang
-%doc %{_emacs_sitelispdir}/erlang/README
-%{_emacs_sitelispdir}/erlang/*.elc
-%{_emacs_sitestartdir}/erlang-init.el
-
-%files -n emacs-erlang-el
-%{_emacs_sitelispdir}/erlang/*.el
-
-%files -n xemacs-erlang
-%dir %{_xemacs_sitelispdir}/erlang
-%doc %{_xemacs_sitelispdir}/erlang/README
-%{_xemacs_sitelispdir}/erlang/*.elc
-%{_xemacs_sitestartdir}/erlang-init.el
-
-%files -n xemacs-erlang-el
-%{_xemacs_sitelispdir}/erlang/*.el
-%endif %{__with_emacs}
-
%changelog
+* Wed Jul 27 2016 Peter Lemenkov - 19.0.2-1
+- Ver. 19.0.2
+- The following packages were removed - ose, test_server (merged into common_test), webtool
+- Merge (x)emacs subpackages into erlang-typer
+
* Tue Jul 26 2016 Peter Lemenkov - 18.3.4.2-1
- Ver. 18.3.4.2
diff --git a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
index 2602d40..0415370 100644
--- a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
+++ b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Do not format man-pages and do not install miscellaneous
Signed-off-by: Peter Lemenkov
diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in
-index 8e55fa7..9512faa 100644
+index cb053a1..024307b 100644
--- a/erts/etc/common/Makefile.in
+++ b/erts/etc/common/Makefile.in
-@@ -551,10 +551,6 @@ endif
+@@ -492,10 +492,6 @@ endif
ifneq ($(INSTALL_TOP_BIN),)
$(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)"
endif
@@ -21,7 +21,7 @@ index 8e55fa7..9512faa 100644
$(INSTALL_DIR) "$(RELEASE_PATH)/erts-$(VSN)/src"
$(INSTALL_DATA) $(INSTALL_SRC) "$(RELEASE_PATH)/erts-$(VSN)/src"
diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src
-index 6634ae3..fa18956 100644
+index e71308e..ae2c9cf 100644
--- a/erts/etc/unix/Install.src
+++ b/erts/etc/unix/Install.src
@@ -141,14 +141,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot .
diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch
index 77418af..e1eac8f 100644
--- a/otp-0002-Remove-rpath.patch
+++ b/otp-0002-Remove-rpath.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Remove rpath
Signed-off-by: Peter Lemenkov
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
-index e66c0ca..574cdf5 100644
+index c62f25b..bb28704 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
@@ -90,7 +90,7 @@ endif
diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch
index d4abd19..0f945b7 100644
--- a/otp-0003-Do-not-install-C-sources.patch
+++ b/otp-0003-Do-not-install-C-sources.patch
@@ -14,42 +14,41 @@ https://bugzilla.redhat.com/818419
Signed-off-by: Peter Lemenkov
diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile
-index 2b72e1a..0522562 100644
+index 1f714df..95835d6 100644
--- a/lib/asn1/c_src/Makefile
+++ b/lib/asn1/c_src/Makefile
-@@ -143,8 +143,6 @@ release_spec: opt
- ifneq ($(findstring ose,$(TARGET)),ose)
+@@ -136,8 +136,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+ release_spec: opt
+ $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
$(INSTALL_PROGRAM) $(NIF_SHARED_OBJ_FILE) "$(RELSYSDIR)/priv/lib"
- endif
- $(INSTALL_DIR) "$(RELSYSDIR)/c_src"
- $(INSTALL_DATA) *.c "$(RELSYSDIR)/c_src"
release_docs_spec:
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
-index 574cdf5..428c316 100644
+index bb28704..165a2e0 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
-@@ -200,14 +200,10 @@ docs:
+@@ -195,13 +195,9 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/priv/obj"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
- $(INSTALL_DATA) $(NIF_MAKEFILE) "$(RELSYSDIR)/priv/obj"
- ifneq ($(findstring ose,$(TARGET)),ose)
- $(INSTALL_PROGRAM) $(CRYPTO_OBJS) "$(RELSYSDIR)/priv/obj"
$(INSTALL_PROGRAM) $(NIF_LIB) "$(RELSYSDIR)/priv/lib"
ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
- $(INSTALL_PROGRAM) $(CALLBACK_OBJS) "$(RELSYSDIR)/priv/obj"
$(INSTALL_PROGRAM) $(CALLBACK_LIB) "$(RELSYSDIR)/priv/lib"
endif
- endif
+
diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
-index 777d709..57917ae 100644
+index 4f393e9..a9a7f7c 100644
--- a/lib/erl_interface/src/Makefile.in
+++ b/lib/erl_interface/src/Makefile.in
-@@ -905,14 +905,14 @@ ifneq ($(EXE_TARGETS),)
+@@ -842,14 +842,14 @@ ifneq ($(EXE_TARGETS),)
$(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin"
endif
$(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src"
@@ -73,7 +72,7 @@ index 777d709..57917ae 100644
release_docs:
diff --git a/lib/ic/c_src/Makefile.in b/lib/ic/c_src/Makefile.in
-index b9f92a0..9612f24 100644
+index c0dad59..9a19028 100644
--- a/lib/ic/c_src/Makefile.in
+++ b/lib/ic/c_src/Makefile.in
@@ -145,12 +145,10 @@ $(OBJDIR)/%.o: %.c
@@ -90,7 +89,7 @@ index b9f92a0..9612f24 100644
$(INSTALL_DATA) $(LIBRARY) "$(RELSYSDIR)/priv/lib"
$(INSTALL_DATA) $(IDL_FILES) $(H_FILES) "$(RELEASE_PATH)/usr/include"
diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
-index 045b6d8..39be02a 100644
+index c37ad4d..09bf1ef 100644
--- a/lib/megaco/src/flex/Makefile.in
+++ b/lib/megaco/src/flex/Makefile.in
@@ -271,7 +271,7 @@ release_spec: opt
@@ -103,7 +102,7 @@ index 045b6d8..39be02a 100644
endif
diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in
-index 685eb5d..6c8a432 100644
+index 784e73c..568c5e4 100644
--- a/lib/odbc/c_src/Makefile.in
+++ b/lib/odbc/c_src/Makefile.in
@@ -129,11 +129,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -119,7 +118,7 @@ index 685eb5d..6c8a432 100644
endif
diff --git a/lib/os_mon/c_src/Makefile.in b/lib/os_mon/c_src/Makefile.in
-index e9fc5f4..ac9fb73 100644
+index 27b156a..f11ff30 100644
--- a/lib/os_mon/c_src/Makefile.in
+++ b/lib/os_mon/c_src/Makefile.in
@@ -126,8 +126,6 @@ $(OBJDIR)/memsup.o: memsup.h
@@ -131,26 +130,11 @@ index e9fc5f4..ac9fb73 100644
$(INSTALL_DIR) "$(RELSYSDIR)/priv/bin"
$(INSTALL_PROGRAM) $(TARGET_FILES) "$(RELSYSDIR)/priv/bin"
-diff --git a/lib/runtime_tools/c_src/Makefile.in b/lib/runtime_tools/c_src/Makefile.in
-index 448b8c6..860d504 100644
---- a/lib/runtime_tools/c_src/Makefile.in
-+++ b/lib/runtime_tools/c_src/Makefile.in
-@@ -157,10 +157,8 @@ docs:
- include $(ERL_TOP)/make/otp_release_targets.mk
-
- release_spec: opt
-- $(INSTALL_DIR) "$(RELSYSDIR)/priv/obj"
- $(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
- ifneq ($(findstring ose,$(TARGET)),ose)
-- $(INSTALL_PROGRAM) $(DYNTRACE_OBJS) "$(RELSYSDIR)/priv/obj"
- $(INSTALL_PROGRAM) $(NIF_LIB) $(SOLIBS) "$(RELSYSDIR)/priv/lib"
- endif
-
diff --git a/lib/tools/c_src/Makefile.in b/lib/tools/c_src/Makefile.in
-index 66bba22..eea37fc 100644
+index cfe9191..735cdaa 100644
--- a/lib/tools/c_src/Makefile.in
+++ b/lib/tools/c_src/Makefile.in
-@@ -198,8 +198,6 @@ include ../vsn.mk
+@@ -190,8 +190,6 @@ include ../vsn.mk
RELSYSDIR = $(RELEASE_PATH)/lib/tools-$(TOOLS_VSN)
release_spec: all
diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch
index d9ba9c4..694a23f 100644
--- a/otp-0004-Do-not-install-Java-sources.patch
+++ b/otp-0004-Do-not-install-Java-sources.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Do not install Java sources
Signed-off-by: Peter Lemenkov
diff --git a/lib/ic/java_src/com/ericsson/otp/ic/Makefile b/lib/ic/java_src/com/ericsson/otp/ic/Makefile
-index d9100cf..6886c71 100644
+index 21c38e5..eeba2e4 100644
--- a/lib/ic/java_src/com/ericsson/otp/ic/Makefile
+++ b/lib/ic/java_src/com/ericsson/otp/ic/Makefile
@@ -113,8 +113,6 @@ docs:
@@ -18,7 +18,7 @@ index d9100cf..6886c71 100644
$(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv"
diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
-index 1c8364e..34b64a8 100644
+index e55cfa6..5e3a0a5 100644
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
@@ -120,8 +120,6 @@ release release_docs release_tests release_html:
diff --git a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
index b0c843e..52bd6f0 100644
--- a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
+++ b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Do not install nteventlog and related doc-files on non-win32
Signed-off-by: Peter Lemenkov
diff --git a/lib/os_mon/doc/src/Makefile b/lib/os_mon/doc/src/Makefile
-index 0c5acd9..5f8f1e3 100644
+index 91c7ae7..dc7bcf3 100644
--- a/lib/os_mon/doc/src/Makefile
+++ b/lib/os_mon/doc/src/Makefile
@@ -36,12 +36,17 @@ RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN)
@@ -29,7 +29,7 @@ index 0c5acd9..5f8f1e3 100644
XML_REF6_FILES = os_mon_app.xml
diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
-index 9aa068c..1003d24 100644
+index 3ff6320..29b53a8 100644
--- a/lib/os_mon/src/Makefile
+++ b/lib/os_mon/src/Makefile
@@ -34,8 +34,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/os_mon-$(VSN)
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index 2af76d2..564546a 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -8,10 +8,10 @@ Signed-off-by: Peter Lemenkov
Signed-off-by: Hans Ulrich Niedermann
diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile
-index 52034a0..56d91b9 100644
+index 4a447d3..eac5ae5 100644
--- a/erts/preloaded/src/Makefile
+++ b/erts/preloaded/src/Makefile
-@@ -86,8 +86,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk
+@@ -88,8 +88,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: $(APP_TARGET)
@@ -21,7 +21,7 @@ index 52034a0..56d91b9 100644
$(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile
-index 5b34017..d4677d6 100644
+index 38cf2d4..d4bb398 100644
--- a/lib/asn1/src/Makefile
+++ b/lib/asn1/src/Makefile
@@ -155,7 +155,7 @@ release_spec: opt
@@ -34,10 +34,10 @@ index 5b34017..d4677d6 100644
$(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples"
diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile
-index 987345c..f53546a 100644
+index 0f9e044..5039444 100644
--- a/lib/common_test/src/Makefile
+++ b/lib/common_test/src/Makefile
-@@ -144,7 +144,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -151,7 +151,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -46,11 +46,27 @@ index 987345c..f53546a 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
+diff --git a/lib/common_test/test_server/Makefile b/lib/common_test/test_server/Makefile
+index f015064..57f96d2 100644
+--- a/lib/common_test/test_server/Makefile
++++ b/lib/common_test/test_server/Makefile
+@@ -86,9 +86,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
+ release_tests_spec: opt
+ $(INSTALL_DIR) "$(RELEASE_PATH)/test_server"
+- $(INSTALL_DATA) $(TS_ERL_FILES) $(TS_HRL_FILES) \
++ $(INSTALL_DATA) $(TS_HRL_FILES) \
+ $(TS_TARGET_FILES) \
+- $(AUTOCONF_FILES) $(CONFIG) \
++ $(CONFIG) \
+ "$(RELEASE_PATH)/test_server"
+ $(INSTALL_SCRIPT) $(PROGRAMS) "$(RELEASE_PATH)/test_server"
+
diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile
-index 299b289..36a048b 100644
+index 518c89d..1bcd19c 100644
--- a/lib/compiler/src/Makefile
+++ b/lib/compiler/src/Makefile
-@@ -172,8 +172,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -174,8 +174,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -62,7 +78,7 @@ index 299b289..36a048b 100644
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/cosEvent/src/Makefile b/lib/cosEvent/src/Makefile
-index b79f0ec..30d1a1d 100644
+index 29d6223..cb43309 100644
--- a/lib/cosEvent/src/Makefile
+++ b/lib/cosEvent/src/Makefile
@@ -203,7 +203,7 @@ release_spec: opt
@@ -75,7 +91,7 @@ index b79f0ec..30d1a1d 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosEventDomain/src/Makefile b/lib/cosEventDomain/src/Makefile
-index da8dcf0..88b3993 100644
+index cdaf9e5..6e4e9b8 100644
--- a/lib/cosEventDomain/src/Makefile
+++ b/lib/cosEventDomain/src/Makefile
@@ -172,7 +172,7 @@ release_spec: opt
@@ -88,7 +104,7 @@ index da8dcf0..88b3993 100644
$(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosFileTransfer/src/Makefile b/lib/cosFileTransfer/src/Makefile
-index f9107ff..74d337d 100644
+index b396710..2678c2a 100644
--- a/lib/cosFileTransfer/src/Makefile
+++ b/lib/cosFileTransfer/src/Makefile
@@ -180,9 +180,7 @@ release_spec: opt
@@ -103,7 +119,7 @@ index f9107ff..74d337d 100644
release_docs_spec:
diff --git a/lib/cosNotification/src/Makefile b/lib/cosNotification/src/Makefile
-index 72b063f..0fdb82e 100644
+index 009c6be..83c2e26 100644
--- a/lib/cosNotification/src/Makefile
+++ b/lib/cosNotification/src/Makefile
@@ -371,8 +371,7 @@ release_spec: opt
@@ -117,7 +133,7 @@ index 72b063f..0fdb82e 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosProperty/src/Makefile b/lib/cosProperty/src/Makefile
-index cd559e1..bdf035e 100644
+index 1fdc258..90cf711 100644
--- a/lib/cosProperty/src/Makefile
+++ b/lib/cosProperty/src/Makefile
@@ -180,8 +180,7 @@ release_spec: opt
@@ -131,7 +147,7 @@ index cd559e1..bdf035e 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosTime/src/Makefile b/lib/cosTime/src/Makefile
-index 7a14db6..4b55398 100644
+index 55d59ba..f22e2c8 100644
--- a/lib/cosTime/src/Makefile
+++ b/lib/cosTime/src/Makefile
@@ -199,8 +199,7 @@ release_spec: opt
@@ -145,7 +161,7 @@ index 7a14db6..4b55398 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosTransactions/src/Makefile b/lib/cosTransactions/src/Makefile
-index 90e1e51..05826e0 100644
+index 4cc1e48..084f0a7 100644
--- a/lib/cosTransactions/src/Makefile
+++ b/lib/cosTransactions/src/Makefile
@@ -174,7 +174,7 @@ release_spec: opt
@@ -158,7 +174,7 @@ index 90e1e51..05826e0 100644
$(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile
-index 6e4008e..c2d00fc 100644
+index 456b8be..fcfa8de 100644
--- a/lib/crypto/src/Makefile
+++ b/lib/crypto/src/Makefile
@@ -82,8 +82,6 @@ docs:
@@ -171,7 +187,7 @@ index 6e4008e..c2d00fc 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile
-index f115f49..e7dc360 100644
+index 9594a0b..bc33e67 100644
--- a/lib/debugger/src/Makefile
+++ b/lib/debugger/src/Makefile
@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -184,10 +200,10 @@ index f115f49..e7dc360 100644
$(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile
-index 770af21..4f8a6d8 100644
+index 256f20f..2920c0f 100644
--- a/lib/dialyzer/src/Makefile
+++ b/lib/dialyzer/src/Makefile
-@@ -152,7 +152,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -154,7 +154,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -197,7 +213,7 @@ index 770af21..4f8a6d8 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile
-index e0bbbdf..10771b2 100644
+index 7f61620..cade771 100644
--- a/lib/diameter/src/Makefile
+++ b/lib/diameter/src/Makefile
@@ -251,11 +251,8 @@ release_spec: opt
@@ -228,22 +244,27 @@ index 4e5a418..c0bb0c3 100644
release_docs_spec:
diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile
-index cd3c102..b55c513 100644
+index b79a537..d0b231e 100644
--- a/lib/eldap/src/Makefile
+++ b/lib/eldap/src/Makefile
-@@ -99,10 +99,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -98,13 +98,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
- $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
+- $(INSTALL_DATA) $(ASN1_HRL) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
- $(INSTALL_DIR) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
- $(INSTALL_DIR) "$(RELSYSDIR)/asn1"
- $(INSTALL_DATA) ../asn1/$(ASN1_FILES) "$(RELSYSDIR)/asn1"
++ $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
- $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
+- $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
++ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
+
+ release_docs_spec:
diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile
-index 7d41506..3f3562f 100644
+index 82d051e..950fdbe 100644
--- a/lib/erl_docgen/src/Makefile
+++ b/lib/erl_docgen/src/Makefile
@@ -90,8 +90,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -256,7 +277,7 @@ index 7d41506..3f3562f 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile
-index 461a52d..1f2e885 100644
+index b6347d8..a695d2c 100644
--- a/lib/et/src/Makefile
+++ b/lib/et/src/Makefile
@@ -109,7 +109,6 @@ release_spec: opt
@@ -280,7 +301,7 @@ index 86a6d88..5732fd8 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
diff --git a/lib/gs/src/Makefile b/lib/gs/src/Makefile
-index ff3080e..60337dd 100644
+index e19ce82..6b7c96e 100644
--- a/lib/gs/src/Makefile
+++ b/lib/gs/src/Makefile
@@ -109,8 +109,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -295,7 +316,7 @@ index ff3080e..60337dd 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/bitmap"
diff --git a/lib/hipe/cerl/Makefile b/lib/hipe/cerl/Makefile
-index 0938010..134ed7b 100644
+index 9f50d6b..df92b84 100644
--- a/lib/hipe/cerl/Makefile
+++ b/lib/hipe/cerl/Makefile
@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -308,7 +329,7 @@ index 0938010..134ed7b 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/flow/Makefile b/lib/hipe/flow/Makefile
-index f0af6ac..16b512e 100644
+index d883eec..3119bc4 100644
--- a/lib/hipe/flow/Makefile
+++ b/lib/hipe/flow/Makefile
@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -321,7 +342,7 @@ index f0af6ac..16b512e 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/icode/Makefile b/lib/hipe/icode/Makefile
-index a82e28c..f364a53 100644
+index b220bc1..d407327 100644
--- a/lib/hipe/icode/Makefile
+++ b/lib/hipe/icode/Makefile
@@ -120,7 +120,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -334,10 +355,10 @@ index a82e28c..f364a53 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/llvm/Makefile b/lib/hipe/llvm/Makefile
-index f6f6f6b..4369923 100644
+index 88016a7..d8e8fa0 100644
--- a/lib/hipe/llvm/Makefile
+++ b/lib/hipe/llvm/Makefile
-@@ -103,7 +103,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) $(RELSYSDIR)/llvm
@@ -347,7 +368,7 @@ index f6f6f6b..4369923 100644
$(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin
diff --git a/lib/hipe/main/Makefile b/lib/hipe/main/Makefile
-index d44be2d..ed81f10 100644
+index 8ef31db..80d2881 100644
--- a/lib/hipe/main/Makefile
+++ b/lib/hipe/main/Makefile
@@ -118,7 +118,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -360,7 +381,7 @@ index d44be2d..ed81f10 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/misc/Makefile b/lib/hipe/misc/Makefile
-index be5c9bc..d40b322 100644
+index 72cfff2..e55223a 100644
--- a/lib/hipe/misc/Makefile
+++ b/lib/hipe/misc/Makefile
@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -373,7 +394,7 @@ index be5c9bc..d40b322 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile
-index 1bf52fe..5049bec 100644
+index b4cdf8b..f9ebcae 100644
--- a/lib/hipe/rtl/Makefile
+++ b/lib/hipe/rtl/Makefile
@@ -105,7 +105,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -386,7 +407,7 @@ index 1bf52fe..5049bec 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/util/Makefile b/lib/hipe/util/Makefile
-index 4a78ad7..1b1ce05 100644
+index 66e9421..1951742 100644
--- a/lib/hipe/util/Makefile
+++ b/lib/hipe/util/Makefile
@@ -50,7 +50,6 @@ HIPE_MODULES =
@@ -407,7 +428,7 @@ index 4a78ad7..1b1ce05 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/ic/src/Makefile b/lib/ic/src/Makefile
-index a6da81a..60870be 100644
+index 6ad2fbe..258517d 100644
--- a/lib/ic/src/Makefile
+++ b/lib/ic/src/Makefile
@@ -200,7 +200,7 @@ release_spec: opt
@@ -420,7 +441,7 @@ index a6da81a..60870be 100644
$(INSTALL_DIR) "$(RELSYSDIR)/examples/c-client"
$(INSTALL_DATA) $(CCL_EX_FILES) "$(RELSYSDIR)/examples/c-client"
diff --git a/lib/inets/src/ftp/Makefile b/lib/inets/src/ftp/Makefile
-index f8daa2b..48e5d49 100644
+index 6b99694..530a19e 100644
--- a/lib/inets/src/ftp/Makefile
+++ b/lib/inets/src/ftp/Makefile
@@ -91,7 +91,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -433,7 +454,7 @@ index f8daa2b..48e5d49 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile
-index cb97b52..cb13dfb 100644
+index a1c1f36..f2eb86f 100644
--- a/lib/inets/src/http_client/Makefile
+++ b/lib/inets/src/http_client/Makefile
@@ -92,7 +92,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -446,7 +467,7 @@ index cb97b52..cb13dfb 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile
-index 4a4eef9..c779c8e 100644
+index 8248e37..1f1b231 100644
--- a/lib/inets/src/http_lib/Makefile
+++ b/lib/inets/src/http_lib/Makefile
@@ -90,7 +90,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -472,10 +493,10 @@ index 1c05d45..88f9f62 100644
$(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile
-index 7f51676..093f462 100644
+index eb0098d..fff21ff 100644
--- a/lib/inets/src/inets_app/Makefile
+++ b/lib/inets/src/inets_app/Makefile
-@@ -116,7 +116,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -114,7 +114,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/src/inets_app"
@@ -485,7 +506,7 @@ index 7f51676..093f462 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/tftp/Makefile b/lib/inets/src/tftp/Makefile
-index d5d94e1..5583064 100644
+index 4eaa959..198fbf3 100644
--- a/lib/inets/src/tftp/Makefile
+++ b/lib/inets/src/tftp/Makefile
@@ -96,7 +96,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -498,10 +519,10 @@ index d5d94e1..5583064 100644
$(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile
-index 57daceb..1cebd80 100644
+index 2b72f78..31eed45 100644
--- a/lib/kernel/src/Makefile
+++ b/lib/kernel/src/Makefile
-@@ -200,7 +200,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -202,7 +202,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -510,7 +531,7 @@ index 57daceb..1cebd80 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/megaco/src/app/Makefile b/lib/megaco/src/app/Makefile
-index 8f8e6ec..9e0bc82 100644
+index ab45548..5c7a7f0 100644
--- a/lib/megaco/src/app/Makefile
+++ b/lib/megaco/src/app/Makefile
@@ -114,7 +114,7 @@ release_spec: opt
@@ -523,7 +544,7 @@ index 8f8e6ec..9e0bc82 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile
-index 711fbb7..1db4593 100644
+index b964366..5b5a4cf 100644
--- a/lib/megaco/src/binary/Makefile
+++ b/lib/megaco/src/binary/Makefile
@@ -176,7 +176,7 @@ release_spec: opt
@@ -536,7 +557,7 @@ index 711fbb7..1db4593 100644
release_docs_spec:
diff --git a/lib/megaco/src/engine/Makefile b/lib/megaco/src/engine/Makefile
-index 208942c..d5b7218 100644
+index 869b516..fa7d774 100644
--- a/lib/megaco/src/engine/Makefile
+++ b/lib/megaco/src/engine/Makefile
@@ -102,7 +102,7 @@ release_spec: opt
@@ -549,7 +570,7 @@ index 208942c..d5b7218 100644
diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
-index 39be02a..8c6ba31 100644
+index 09bf1ef..b320b2e 100644
--- a/lib/megaco/src/flex/Makefile.in
+++ b/lib/megaco/src/flex/Makefile.in
@@ -268,7 +268,6 @@ release_spec: opt
@@ -561,7 +582,7 @@ index 39be02a..8c6ba31 100644
ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true)
$(INSTALL_DATA) $(FLEX_FILES) "$(RELSYSDIR)/src/flex"
diff --git a/lib/megaco/src/tcp/Makefile b/lib/megaco/src/tcp/Makefile
-index 0c546a8..78f659a 100644
+index d07db3f..7f421d2 100644
--- a/lib/megaco/src/tcp/Makefile
+++ b/lib/megaco/src/tcp/Makefile
@@ -94,7 +94,7 @@ release_spec: opt
@@ -574,7 +595,7 @@ index 0c546a8..78f659a 100644
release_docs_spec:
diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile
-index f4fc56a..1cc73fd 100644
+index 8e7e82b..2a118d2 100644
--- a/lib/megaco/src/text/Makefile
+++ b/lib/megaco/src/text/Makefile
@@ -135,7 +135,7 @@ release_spec: opt
@@ -587,7 +608,7 @@ index f4fc56a..1cc73fd 100644
release_docs_spec:
diff --git a/lib/megaco/src/udp/Makefile b/lib/megaco/src/udp/Makefile
-index 7288c20..aefd9f3 100644
+index 028a63e..9e11e9b 100644
--- a/lib/megaco/src/udp/Makefile
+++ b/lib/megaco/src/udp/Makefile
@@ -94,7 +94,7 @@ release_spec: opt
@@ -600,10 +621,10 @@ index 7288c20..aefd9f3 100644
release_docs_spec:
diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile
-index dae0df7..6294ae9 100644
+index 08a00e6..a21ffb3 100644
--- a/lib/mnesia/src/Makefile
+++ b/lib/mnesia/src/Makefile
-@@ -133,7 +133,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -613,10 +634,10 @@ index dae0df7..6294ae9 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile
-index 2d42510..7579014 100644
+index dd7831f..1d5c505 100644
--- a/lib/observer/src/Makefile
+++ b/lib/observer/src/Makefile
-@@ -152,7 +152,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -153,7 +153,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -625,7 +646,7 @@ index 2d42510..7579014 100644
$(INSTALL_DIR) "$(RELSYSDIR)/examples"
$(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples"
diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile
-index 51c9ed3..50a4c10 100644
+index 7ca5949..a52ade2 100644
--- a/lib/odbc/src/Makefile
+++ b/lib/odbc/src/Makefile
@@ -110,7 +110,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -638,7 +659,7 @@ index 51c9ed3..50a4c10 100644
$(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/orber/COSS/CosNaming/Makefile b/lib/orber/COSS/CosNaming/Makefile
-index 0eca8dd..18d9627 100644
+index 1086633..553c9cd 100644
--- a/lib/orber/COSS/CosNaming/Makefile
+++ b/lib/orber/COSS/CosNaming/Makefile
@@ -145,8 +145,8 @@ release_spec: opt
@@ -653,7 +674,7 @@ index 0eca8dd..18d9627 100644
release_docs_spec:
diff --git a/lib/orber/src/Makefile b/lib/orber/src/Makefile
-index 30b74c4..9c6708f 100644
+index 7fec29a..a71b9f1 100644
--- a/lib/orber/src/Makefile
+++ b/lib/orber/src/Makefile
@@ -253,7 +253,7 @@ release_spec: opt
@@ -666,7 +687,7 @@ index 30b74c4..9c6708f 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) $(GEN_HRL_FILES_EXT) "$(RELSYSDIR)/include"
diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
-index 1003d24..1b12154 100644
+index 29b53a8..3ae2074 100644
--- a/lib/os_mon/src/Makefile
+++ b/lib/os_mon/src/Makefile
@@ -105,7 +105,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -677,22 +698,8 @@ index 1003d24..1b12154 100644
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
-diff --git a/lib/ose/src/Makefile b/lib/ose/src/Makefile
-index a89e939..224d944 100644
---- a/lib/ose/src/Makefile
-+++ b/lib/ose/src/Makefile
-@@ -94,9 +94,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
- include $(ERL_TOP)/make/otp_release_targets.mk
-
- release_spec: opt
-- $(INSTALL_DIR) "$(RELSYSDIR)/src"
-- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
-- $(INSTALL_DIR) "$(RELSYSDIR)/include"
- $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
- $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
-
diff --git a/lib/otp_mibs/src/Makefile b/lib/otp_mibs/src/Makefile
-index 03892cd..c3ad326 100644
+index 4023f50..864a0a5 100644
--- a/lib/otp_mibs/src/Makefile
+++ b/lib/otp_mibs/src/Makefile
@@ -96,8 +96,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -705,7 +712,7 @@ index 03892cd..c3ad326 100644
$(INSTALL_DATA) $(TARGETS) "$(RELSYSDIR)/ebin"
diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile
-index dbecdd2..1d45801 100644
+index dea29be..655aea9 100644
--- a/lib/parsetools/src/Makefile
+++ b/lib/parsetools/src/Makefile
@@ -91,8 +91,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -718,7 +725,7 @@ index dbecdd2..1d45801 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/percept/src/Makefile b/lib/percept/src/Makefile
-index 9b963e0..deeb75c 100644
+index b2ec87d..3153e34 100644
--- a/lib/percept/src/Makefile
+++ b/lib/percept/src/Makefile
@@ -97,7 +97,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -730,7 +737,7 @@ index 9b963e0..deeb75c 100644
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
# $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile
-index 7474297..a510658 100644
+index a920ea8..7672ef3 100644
--- a/lib/public_key/asn1/Makefile
+++ b/lib/public_key/asn1/Makefile
@@ -96,8 +96,8 @@ release_spec: opt
@@ -745,7 +752,7 @@ index 7474297..a510658 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile
-index 786f244..0463c67 100644
+index e61390b..6ed6c2c 100644
--- a/lib/public_key/src/Makefile
+++ b/lib/public_key/src/Makefile
@@ -109,8 +109,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -758,7 +765,7 @@ index 786f244..0463c67 100644
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile
-index 1fea415..a756470 100644
+index 4bddee4..c714255 100644
--- a/lib/reltool/src/Makefile
+++ b/lib/reltool/src/Makefile
@@ -100,7 +100,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -771,10 +778,10 @@ index 1fea415..a756470 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/runtime_tools/src/Makefile b/lib/runtime_tools/src/Makefile
-index 99b90f9..25b3ebb 100644
+index 2c90295..d674a8f 100644
--- a/lib/runtime_tools/src/Makefile
+++ b/lib/runtime_tools/src/Makefile
-@@ -97,8 +97,6 @@ docs:
+@@ -99,8 +99,6 @@ docs:
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
@@ -784,7 +791,7 @@ index 99b90f9..25b3ebb 100644
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/examples"
diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile
-index 7ff6a03..a304900 100644
+index ac7ee51..c53f661 100644
--- a/lib/sasl/src/Makefile
+++ b/lib/sasl/src/Makefile
@@ -93,7 +93,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -796,7 +803,7 @@ index 7ff6a03..a304900 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/snmp/src/agent/Makefile b/lib/snmp/src/agent/Makefile
-index 89037b3..01de885 100644
+index 2943a4d..8203e62 100644
--- a/lib/snmp/src/agent/Makefile
+++ b/lib/snmp/src/agent/Makefile
@@ -131,7 +131,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -809,7 +816,7 @@ index 89037b3..01de885 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile
-index 7972d95..78a9f2b 100644
+index 6f2b8a4..bd062a6 100644
--- a/lib/snmp/src/app/Makefile
+++ b/lib/snmp/src/app/Makefile
@@ -132,7 +132,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -822,7 +829,7 @@ index 7972d95..78a9f2b 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/snmp/src/compile/Makefile b/lib/snmp/src/compile/Makefile
-index 54f2e22..488faa4 100644
+index 4093ffa..18878aa 100644
--- a/lib/snmp/src/compile/Makefile
+++ b/lib/snmp/src/compile/Makefile
@@ -123,7 +123,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -835,7 +842,7 @@ index 54f2e22..488faa4 100644
$(INSTALL_DATA) $(EBIN_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/bin"
diff --git a/lib/snmp/src/manager/Makefile b/lib/snmp/src/manager/Makefile
-index 382f83b..db50c26 100644
+index 0cc8749..d203f28 100644
--- a/lib/snmp/src/manager/Makefile
+++ b/lib/snmp/src/manager/Makefile
@@ -114,7 +114,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -848,7 +855,7 @@ index 382f83b..db50c26 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile
-index c71ecf9..d17e699 100644
+index adc2c48..89ce954 100644
--- a/lib/snmp/src/misc/Makefile
+++ b/lib/snmp/src/misc/Makefile
@@ -112,7 +112,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -861,10 +868,10 @@ index c71ecf9..d17e699 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile
-index b44c8ee..8f8b58d 100644
+index 69d5a47..c79ffd1 100644
--- a/lib/ssh/src/Makefile
+++ b/lib/ssh/src/Makefile
-@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -136,7 +136,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -874,10 +881,10 @@ index b44c8ee..8f8b58d 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index 7a7a373..419fa9e 100644
+index b625db0..9172486 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
-@@ -142,7 +142,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -143,7 +143,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -887,10 +894,10 @@ index 7a7a373..419fa9e 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile
-index 9f4a446..50ac11e 100644
+index 302834f..53804f8 100644
--- a/lib/stdlib/src/Makefile
+++ b/lib/stdlib/src/Makefile
-@@ -207,7 +207,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -208,7 +208,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -899,7 +906,7 @@ index 9f4a446..50ac11e 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/syntax_tools/src/Makefile b/lib/syntax_tools/src/Makefile
-index 2e91adf..0085fca 100644
+index 8325db4..d17fdaa 100644
--- a/lib/syntax_tools/src/Makefile
+++ b/lib/syntax_tools/src/Makefile
@@ -100,8 +100,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -911,23 +918,11 @@ index 2e91adf..0085fca 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
-diff --git a/lib/test_server/src/Makefile b/lib/test_server/src/Makefile
-index 6a26ee2..7336477 100644
---- a/lib/test_server/src/Makefile
-+++ b/lib/test_server/src/Makefile
-@@ -124,7 +124,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
-
- release_spec: opt
- $(INSTALL_DIR) "$(RELSYSDIR)/src"
-- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src"
- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TS_HRL_FILES) "$(RELSYSDIR)/src"
- $(INSTALL_DIR) "$(RELSYSDIR)/include"
- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile
-index 9fcfb79..b30b173 100644
+index 032bd61..efb0309 100644
--- a/lib/tools/src/Makefile
+++ b/lib/tools/src/Makefile
-@@ -107,7 +107,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -106,7 +106,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -937,7 +932,7 @@ index 9fcfb79..b30b173 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/typer/src/Makefile b/lib/typer/src/Makefile
-index 620ca21..9c9390e 100644
+index 6c5d8b0..82f516a 100644
--- a/lib/typer/src/Makefile
+++ b/lib/typer/src/Makefile
@@ -102,9 +102,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -950,21 +945,8 @@ index 620ca21..9c9390e 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
-diff --git a/lib/webtool/src/Makefile b/lib/webtool/src/Makefile
-index a5a8eaf..be80ba7 100644
---- a/lib/webtool/src/Makefile
-+++ b/lib/webtool/src/Makefile
-@@ -88,8 +88,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
- include $(ERL_TOP)/make/otp_release_targets.mk
-
- release_spec: opt
-- $(INSTALL_DIR) "$(RELSYSDIR)/src"
-- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src"
- $(INSTALL_DIR) "$(RELSYSDIR)/ebin"
- $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
- "$(RELSYSDIR)/ebin"
diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile
-index b345e34..153a270 100644
+index 21b45af..a7bf34f 100644
--- a/lib/wx/src/Makefile
+++ b/lib/wx/src/Makefile
@@ -122,9 +122,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES)
@@ -980,7 +962,7 @@ index b345e34..153a270 100644
$(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile
-index f8f0320..099513e 100644
+index 51d9190..1ab65bd 100644
--- a/lib/xmerl/src/Makefile
+++ b/lib/xmerl/src/Makefile
@@ -218,9 +218,7 @@ release_spec: opt
diff --git a/otp-0011-Respect-proto_dist-switch-while-connection-to-EPMD.patch b/otp-0007-Respect-proto_dist-switch-while-connection-to-EPMD.patch
similarity index 54%
rename from otp-0011-Respect-proto_dist-switch-while-connection-to-EPMD.patch
rename to otp-0007-Respect-proto_dist-switch-while-connection-to-EPMD.patch
index 8b8fd0d..664f559 100644
--- a/otp-0011-Respect-proto_dist-switch-while-connection-to-EPMD.patch
+++ b/otp-0007-Respect-proto_dist-switch-while-connection-to-EPMD.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Respect -proto_dist switch while connection to EPMD
Signed-off-by: Peter Lemenkov
diff --git a/lib/kernel/src/erl_epmd.erl b/lib/kernel/src/erl_epmd.erl
-index c6202dd..ec2e330 100644
+index f8ef4a4..79a026a 100644
--- a/lib/kernel/src/erl_epmd.erl
+++ b/lib/kernel/src/erl_epmd.erl
@@ -103,6 +103,10 @@ names(EpmdAddr) ->
@@ -20,15 +20,28 @@ index c6202dd..ec2e330 100644
gen_server:call(erl_epmd, {register, Name, PortNo, Family}, infinity).
diff --git a/lib/kernel/src/inet_tcp_dist.erl b/lib/kernel/src/inet_tcp_dist.erl
-index 64b28bb..ffbd5d5 100644
+index f91d7ef..94bde55 100644
--- a/lib/kernel/src/inet_tcp_dist.erl
+++ b/lib/kernel/src/inet_tcp_dist.erl
-@@ -73,7 +73,7 @@ gen_listen(Driver, Name) ->
- {ok, Socket} ->
+@@ -74,7 +74,7 @@ gen_listen(Driver, Name) ->
TcpAddress = get_tcp_address(Driver, Socket),
{_,Port} = TcpAddress#net_address.address,
-- case erl_epmd:register_node(Name, Port) of
-+ case erl_epmd:register_node(Name, Port, Driver) of
+ ErlEpmd = net_kernel:epmd_module(),
+- case ErlEpmd:register_node(Name, Port) of
++ case ErlEpmd:register_node(Name, Port, Driver) of
{ok, Creation} ->
{ok, {Socket, TcpAddress, Creation}};
Error ->
+diff --git a/lib/ssl/src/ssl_tls_dist_proxy.erl b/lib/ssl/src/ssl_tls_dist_proxy.erl
+index a920f54..08947f2 100644
+--- a/lib/ssl/src/ssl_tls_dist_proxy.erl
++++ b/lib/ssl/src/ssl_tls_dist_proxy.erl
+@@ -117,7 +117,7 @@ handle_call({listen, Driver, Name}, _From, State) ->
+ {ok, WorldTcpAddress} = get_tcp_address(World),
+ {_,Port} = WorldTcpAddress#net_address.address,
+ ErlEpmd = net_kernel:epmd_module(),
+- case ErlEpmd:register_node(Name, Port) of
++ case ErlEpmd:register_node(Name, Port, Driver) of
+ {ok, Creation} ->
+ {reply, {ok, {Socket, TcpAddress, Creation}},
+ State#state{listen={Socket, World}}};
diff --git a/otp-0007-Split-off-webtool-dependency-from-tools.patch b/otp-0007-Split-off-webtool-dependency-from-tools.patch
deleted file mode 100644
index 9a06884..0000000
--- a/otp-0007-Split-off-webtool-dependency-from-tools.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From: Peter Lemenkov
-Date: Sat, 8 Nov 2014 22:54:57 +0300
-Subject: [PATCH] Split off webtool dependency from tools
-
-Signed-off-by: Peter Lemenkov
-
-diff --git a/lib/tools/src/cover_web.erl b/lib/tools/src/cover_web.erl
-index ae8b3f2..539ca96 100644
---- a/lib/tools/src/cover_web.erl
-+++ b/lib/tools/src/cover_web.erl
-@@ -51,14 +51,25 @@
- %%%----------------------------------------------------------------------
- %% Start webtool and webcover from erlang shell
- start() ->
-- webtool:start(),
-- webtool:start_tools([],"app=webcover"),
-+ try
-+ % Disable automatic dependency picking up
-+ erlang:apply(webtool, start, []),
-+ erlang:apply(webtool, start_tools, [[],"app=webcover"])
-+ catch
-+ error:undef -> error_logger:error_msg("No erlang-webtool found.~nPlease install erlang-webtool package first.~n")
-+ end,
- ok.
-
- %% Stop webtool and webcover from erlang shell
- stop() ->
-- webtool:stop_tools([],"app=webcover"),
-- webtool:stop().
-+ try
-+ % Disable automatic dependency picking up
-+ erlang:apply(webtool, stop_tools, [[],"app=webcover"]),
-+ erlang:apply(webtool, stop, [])
-+ catch
-+ error:undef -> error_logger:error_msg("No erlang-webtool found.~nPlease install erlang-webtool package first.~n")
-+ end,
-+ ok.
-
-
-
diff --git a/otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch b/otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
deleted file mode 100644
index d148331..0000000
--- a/otp-0008-Add-patch-to-crash-dump-on-large-distribution.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From: John Eckersberg
-Date: Wed, 16 Dec 2015 11:03:42 -0500
-Subject: [PATCH] Add patch to crash dump on large distribution
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1291822
-https://bugzilla.redhat.com/show_bug.cgi?id=1291855
-https://bugzilla.redhat.com/show_bug.cgi?id=1291856
-https://bugzilla.redhat.com/show_bug.cgi?id=1291857
-
-diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c
-index 787241b..069d80a 100644
---- a/erts/emulator/beam/dist.c
-+++ b/erts/emulator/beam/dist.c
-@@ -1980,7 +1980,7 @@ dist_port_command(Port *prt, ErtsDistOutputBuf *obuf)
- ERTS_SMP_LC_ASSERT(erts_lc_is_port_locked(prt));
-
- if (size > (Uint) INT_MAX)
-- erts_exit(ERTS_ABORT_EXIT,
-+ erts_exit(ERTS_DUMP_EXIT,
- "Absurdly large distribution output data buffer "
- "(%beu bytes) passed.\n",
- size);
-@@ -2020,7 +2020,7 @@ dist_port_commandv(Port *prt, ErtsDistOutputBuf *obuf)
- ERTS_SMP_LC_ASSERT(erts_lc_is_port_locked(prt));
-
- if (size > (Uint) INT_MAX)
-- erts_exit(ERTS_ABORT_EXIT,
-+ erts_exit(ERTS_DUMP_EXIT,
- "Absurdly large distribution output data buffer "
- "(%beu bytes) passed.\n",
- size);
diff --git a/otp-0009-Don-t-send-unasked-for-systemd-notifications.patch b/otp-0009-Don-t-send-unasked-for-systemd-notifications.patch
deleted file mode 100644
index 1d19ace..0000000
--- a/otp-0009-Don-t-send-unasked-for-systemd-notifications.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From: Alexey Lebedeff
-Date: Tue, 29 Mar 2016 20:30:22 +0300
-Subject: [PATCH] Don't send unasked for systemd notifications
-
-Suppose we have some erlang system that uses systemd unit with
-Type=notify - so this should send startup confirmation itself. But if
-systemd-enabled epmd will be started as a first step of that system
-startup, empd startup confirmation will be misinterpeted by systemd. And
-our erlang service will be considered 'ready' to early. Also this will
-interefere with systemd MAINPID detection: systemd will be monitoring
-`epmd` process instead of `beam` one.
-
-For example, rabbitmq works around this issue by starting epmd using
-separate short-lived beam process, with NOTIFY_SOCKET environment
-variable reset - only in this way we could be sure that epmd will not
-interfere with rabbit startup sequence.
-
-This patch disables indiscriminate confirmation sending, and does it
-only when it was explicitly asked to do so.
-
-diff --git a/erts/epmd/src/epmd.c b/erts/epmd/src/epmd.c
-index 5513cb2..4740ce8 100644
---- a/erts/epmd/src/epmd.c
-+++ b/erts/epmd/src/epmd.c
-@@ -592,8 +592,10 @@ void epmd_cleanup_exit(EpmdVars *g, int exitval)
- free(g->argv);
- }
- #ifdef HAVE_SYSTEMD_DAEMON
-- sd_notifyf(0, "STATUS=Exited.\n"
-- "ERRNO=%i", exitval);
-+ if (g->is_systemd){
-+ sd_notifyf(0, "STATUS=Exited.\n"
-+ "ERRNO=%i", exitval);
-+ }
- #endif /* HAVE_SYSTEMD_DAEMON */
- exit(exitval);
- }
-diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c
-index e1bac99..59d59ad 100644
---- a/erts/epmd/src/epmd_srv.c
-+++ b/erts/epmd/src/epmd_srv.c
-@@ -452,9 +452,11 @@ void run(EpmdVars *g)
- num_sockets = bound;
- #ifdef HAVE_SYSTEMD_DAEMON
- }
-- sd_notifyf(0, "READY=1\n"
-- "STATUS=Processing port mapping requests...\n"
-- "MAINPID=%lu", (unsigned long) getpid());
-+ if (g->is_systemd) {
-+ sd_notifyf(0, "READY=1\n"
-+ "STATUS=Processing port mapping requests...\n"
-+ "MAINPID=%lu", (unsigned long) getpid());
-+ }
- #endif /* HAVE_SYSTEMD_DAEMON */
-
- dbg_tty_printf(g,2,"entering the main select() loop");
diff --git a/otp-0010-Fix-decoding-of-LLONG_MIN-in-erl_decode.patch b/otp-0010-Fix-decoding-of-LLONG_MIN-in-erl_decode.patch
deleted file mode 100644
index d832978..0000000
--- a/otp-0010-Fix-decoding-of-LLONG_MIN-in-erl_decode.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From: =?UTF-8?q?Bj=C3=B6rn-Egil=20Dahlberg?=
-Date: Fri, 10 Jun 2016 16:40:38 +0200
-Subject: [PATCH] Fix decoding of LLONG_MIN in erl_decode
-
-Reported-by: Peter Lemenkov
-
-diff --git a/lib/erl_interface/src/legacy/erl_marshal.c b/lib/erl_interface/src/legacy/erl_marshal.c
-index a4216c9..6a1b573 100644
---- a/lib/erl_interface/src/legacy/erl_marshal.c
-+++ b/lib/erl_interface/src/legacy/erl_marshal.c
-@@ -727,6 +727,13 @@ static ETERM *erl_decode_it(unsigned char **ext)
- ((*ext)[2]) << 8 |((*ext)[3]);
- *ext += 4;
- big_cont:
-+
-+#ifdef _MSC_VER
-+#define MAX_TO_NEGATE 0x8000000000000000Ui64
-+#else
-+#define MAX_TO_NEGATE 0x8000000000000000ULL
-+#endif
-+
- sign = *(*ext)++;
- if (arity > 8)
- goto big_truncate;
-@@ -763,23 +770,28 @@ static ETERM *erl_decode_it(unsigned char **ext)
- *ext += arity;
- return ep;
- } else {
-- /* Fits in a long long */
-- int x;
-- long long l = 0LL;
--
-- for(x = 0 ; x < arity ; x++) {
-- l |= ((long long)(*ext)[x]) << ((long long)(8*x));
-- }
-- if (sign) {
-- l = -l;
-- if (l > 0) goto big_truncate;
-- }
--
-- ERL_TYPE(ep) = ERL_LONGLONG;
-- ep->uval.llval.i = l;
-- *ext += arity;
-- return ep;
-+ /* Fits in a signed long long */
-+ int x;
-+ unsigned long long l = 0LL;
-+ long long sl;
-+
-+ for(x = 0 ; x < arity ; x++) {
-+ l |= ((unsigned long long)(*ext)[x]) << ((unsigned long long)(8*x));
-+ }
-+
-+ sl = (long long)l;
-+
-+ if (sign && l != MAX_TO_NEGATE) {
-+ sl = -sl;
-+ if (sl > 0) goto big_truncate;
-+ }
-+
-+ ERL_TYPE(ep) = ERL_LONGLONG;
-+ ep->uval.llval.i = sl;
-+ *ext += arity;
-+ return ep;
- }
-+#undef MAX_TO_NEGATE
- big_truncate:
- /* truncate to: (+/-) 1 */
- #ifdef DEBUG
diff --git a/sources b/sources
index 1a7d38d..036b00a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-fd9934b664769500f3216f688eb57493 otp-OTP-18.3.4.2.tar.gz
+4f3ce6ba4288bda714e58d30ea9c2e69 otp-OTP-19.0.2.tar.gz
From 1dbb469f04f2b554ed363dddb1dd89db35cc5400 Mon Sep 17 00:00:00 2001
From: Michal Toman
Date: Fri, 12 Aug 2016 15:31:51 +0300
Subject: [PATCH 076/322] Disable doc on MIPS
---
erlang.spec | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index e22de86..0b0958f 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -2,7 +2,8 @@
%{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}}
-%ifarch %{arm}
+%ifarch %{arm} %{mips}
+# MIPS does not have all dependencies for fop yet
# For some reason, fop hangs on arm, so for now don't generate docs by
# default
%bcond_with doc
@@ -65,7 +66,7 @@
Name: erlang
Version: 19.0.2
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2313,6 +2314,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Fri Aug 12 2016 Michal Toman - 19.0.2-2
+- Disable doc on MIPS
+
* Wed Jul 27 2016 Peter Lemenkov - 19.0.2-1
- Ver. 19.0.2
- The following packages were removed - ose, test_server (merged into common_test), webtool
From c675b92935473afcfca05611f92493ed9ae0f824 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 16 Aug 2016 15:34:33 +0300
Subject: [PATCH 077/322] Ver. 19.0.4
Signed-off-by: Peter Lemenkov
---
erlang.spec | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 0b0958f..63937ec 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,8 +65,8 @@
Name: erlang
-Version: 19.0.2
-Release: 2%{?dist}
+Version: 19.0.4
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2314,6 +2314,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Tue Aug 16 2016 Peter Lemenkov - 19.0.4-1
+- Ver. 19.0.4
+
* Fri Aug 12 2016 Michal Toman - 19.0.2-2
- Disable doc on MIPS
From 8f2d59ec11bac95a16f9a230a94153338f2dcef7 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 16 Aug 2016 15:36:06 +0300
Subject: [PATCH 078/322] Forgot to upload sources as usual
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
sources | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index bdf9fb8..b30e413 100644
--- a/.gitignore
+++ b/.gitignore
@@ -66,3 +66,4 @@ otp_src_R14A.tar.gz
/otp-OTP-18.3.4.1.tar.gz
/otp-OTP-18.3.4.2.tar.gz
/otp-OTP-19.0.2.tar.gz
+/otp-OTP-19.0.4.tar.gz
diff --git a/sources b/sources
index 036b00a..675d895 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-4f3ce6ba4288bda714e58d30ea9c2e69 otp-OTP-19.0.2.tar.gz
+8ce215c1b501512038668c9907f64000 otp-OTP-19.0.4.tar.gz
From c275ae24448adc3003c86a8245e3cd1502941131 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 23 Aug 2016 15:23:02 +0300
Subject: [PATCH 079/322] Ver. 19.0.5
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
sources | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index b30e413..f3dbf29 100644
--- a/.gitignore
+++ b/.gitignore
@@ -67,3 +67,4 @@ otp_src_R14A.tar.gz
/otp-OTP-18.3.4.2.tar.gz
/otp-OTP-19.0.2.tar.gz
/otp-OTP-19.0.4.tar.gz
+/otp-OTP-19.0.5.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 63937ec..fdf7962 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.0.4
+Version: 19.0.5
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2314,6 +2314,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Tue Aug 23 2016 Peter Lemenkov - 19.0.5-1
+- Ver. 19.0.5
+
* Tue Aug 16 2016 Peter Lemenkov - 19.0.4-1
- Ver. 19.0.4
diff --git a/sources b/sources
index 675d895..082373f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-8ce215c1b501512038668c9907f64000 otp-OTP-19.0.4.tar.gz
+95f3a3c46d0e2879eb6ecb9ca98ad55e otp-OTP-19.0.5.tar.gz
From 8547d3fbbca7ffe44415c5b3fd9f7458a9579043 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 14 Sep 2016 13:49:12 +0300
Subject: [PATCH 080/322] Ver. 19.0.6
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
sources | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index f3dbf29..f6061a1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -68,3 +68,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.0.2.tar.gz
/otp-OTP-19.0.4.tar.gz
/otp-OTP-19.0.5.tar.gz
+/otp-OTP-19.0.6.tar.gz
diff --git a/erlang.spec b/erlang.spec
index fdf7962..ddd03ee 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.0.5
+Version: 19.0.6
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2314,6 +2314,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Sep 14 2016 Peter Lemenkov - 19.0.6-1
+- Ver. 19.0.6
+
* Tue Aug 23 2016 Peter Lemenkov - 19.0.5-1
- Ver. 19.0.5
diff --git a/sources b/sources
index 082373f..c001d10 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-95f3a3c46d0e2879eb6ecb9ca98ad55e otp-OTP-19.0.5.tar.gz
+a98b0f01a71d2f7e1ad6ccbee8cf7f5f otp-OTP-19.0.6.tar.gz
From ab704de8521e89ed5198b060b7500a50df50435d Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 14 Sep 2016 17:22:48 +0300
Subject: [PATCH 081/322] Ver. 19.0.7
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
sources | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index f6061a1..7ad148d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -69,3 +69,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.0.4.tar.gz
/otp-OTP-19.0.5.tar.gz
/otp-OTP-19.0.6.tar.gz
+/otp-OTP-19.0.7.tar.gz
diff --git a/erlang.spec b/erlang.spec
index ddd03ee..d5e456a 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.0.6
+Version: 19.0.7
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2314,6 +2314,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Sep 14 2016 Peter Lemenkov - 19.0.7-1
+- Ver. 19.0.7
+
* Wed Sep 14 2016 Peter Lemenkov - 19.0.6-1
- Ver. 19.0.6
diff --git a/sources b/sources
index c001d10..feafc4c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-a98b0f01a71d2f7e1ad6ccbee8cf7f5f otp-OTP-19.0.6.tar.gz
+a167a4e2a845ca1d86be4dcb7284b3f0 otp-OTP-19.0.7.tar.gz
From bf974e29d198d9ca2b38586e9928d4e41b62dd93 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 4 Oct 2016 14:58:17 +0200
Subject: [PATCH 082/322] Ver. 19.1.1
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 9 ++--
otp-0006-Do-not-install-erlang-sources.patch | 6 +--
...dist-switch-while-connection-to-EPMD.patch | 47 -------------------
sources | 2 +-
5 files changed, 9 insertions(+), 56 deletions(-)
delete mode 100644 otp-0007-Respect-proto_dist-switch-while-connection-to-EPMD.patch
diff --git a/.gitignore b/.gitignore
index 7ad148d..bba2587 100644
--- a/.gitignore
+++ b/.gitignore
@@ -70,3 +70,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.0.5.tar.gz
/otp-OTP-19.0.6.tar.gz
/otp-OTP-19.0.7.tar.gz
+/otp-OTP-19.1.1.tar.gz
diff --git a/erlang.spec b/erlang.spec
index d5e456a..53dc646 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.0.7
+Version: 19.1.1
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -116,9 +116,6 @@ Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
# Fedora specific patch
# Do not install erlang sources
Patch6: otp-0006-Do-not-install-erlang-sources.patch
-# Fedora specific patch
-# Respect -proto_dist switch while connection to EPMD
-Patch7: otp-0007-Respect-proto_dist-switch-while-connection-to-EPMD.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -929,7 +926,6 @@ Provides support for XML 1.0.
%patch4 -p1 -b .Do_not_install_Java_sources
%patch5 -p1 -b .Do_not_install_nteventlog_and_related_doc_files_on_n
%patch6 -p1 -b .Do_not_install_erlang_sources
-%patch7 -p1 -b .Respect_proto_dist_switch_while_connection_to_EPMD
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2314,6 +2310,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Tue Oct 4 2016 Peter Lemenkov - 19.1.1-1
+- Ver. 19.1.1
+
* Wed Sep 14 2016 Peter Lemenkov - 19.0.7-1
- Ver. 19.0.7
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index 564546a..ae403a8 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -8,10 +8,10 @@ Signed-off-by: Peter Lemenkov
Signed-off-by: Hans Ulrich Niedermann
diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile
-index 4a447d3..eac5ae5 100644
+index 2ab9eda..9b8ed35 100644
--- a/erts/preloaded/src/Makefile
+++ b/erts/preloaded/src/Makefile
-@@ -88,8 +88,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk
+@@ -90,8 +90,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk
include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: $(APP_TARGET)
@@ -213,7 +213,7 @@ index 256f20f..2920c0f 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile
-index 7f61620..cade771 100644
+index 6bf748a..962d7b7 100644
--- a/lib/diameter/src/Makefile
+++ b/lib/diameter/src/Makefile
@@ -251,11 +251,8 @@ release_spec: opt
diff --git a/otp-0007-Respect-proto_dist-switch-while-connection-to-EPMD.patch b/otp-0007-Respect-proto_dist-switch-while-connection-to-EPMD.patch
deleted file mode 100644
index 664f559..0000000
--- a/otp-0007-Respect-proto_dist-switch-while-connection-to-EPMD.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From: Peter Lemenkov
-Date: Thu, 14 Jul 2016 17:51:16 +0300
-Subject: [PATCH] Respect -proto_dist switch while connection to EPMD
-
-Signed-off-by: Peter Lemenkov
-
-diff --git a/lib/kernel/src/erl_epmd.erl b/lib/kernel/src/erl_epmd.erl
-index f8ef4a4..79a026a 100644
---- a/lib/kernel/src/erl_epmd.erl
-+++ b/lib/kernel/src/erl_epmd.erl
-@@ -103,6 +103,10 @@ names(EpmdAddr) ->
-
- register_node(Name, PortNo) ->
- register_node(Name, PortNo, inet).
-+register_node(Name, PortNo, inet_tcp) ->
-+ register_node(Name, PortNo, inet);
-+register_node(Name, PortNo, inet6_tcp) ->
-+ register_node(Name, PortNo, inet6);
- register_node(Name, PortNo, Family) ->
- gen_server:call(erl_epmd, {register, Name, PortNo, Family}, infinity).
-
-diff --git a/lib/kernel/src/inet_tcp_dist.erl b/lib/kernel/src/inet_tcp_dist.erl
-index f91d7ef..94bde55 100644
---- a/lib/kernel/src/inet_tcp_dist.erl
-+++ b/lib/kernel/src/inet_tcp_dist.erl
-@@ -74,7 +74,7 @@ gen_listen(Driver, Name) ->
- TcpAddress = get_tcp_address(Driver, Socket),
- {_,Port} = TcpAddress#net_address.address,
- ErlEpmd = net_kernel:epmd_module(),
-- case ErlEpmd:register_node(Name, Port) of
-+ case ErlEpmd:register_node(Name, Port, Driver) of
- {ok, Creation} ->
- {ok, {Socket, TcpAddress, Creation}};
- Error ->
-diff --git a/lib/ssl/src/ssl_tls_dist_proxy.erl b/lib/ssl/src/ssl_tls_dist_proxy.erl
-index a920f54..08947f2 100644
---- a/lib/ssl/src/ssl_tls_dist_proxy.erl
-+++ b/lib/ssl/src/ssl_tls_dist_proxy.erl
-@@ -117,7 +117,7 @@ handle_call({listen, Driver, Name}, _From, State) ->
- {ok, WorldTcpAddress} = get_tcp_address(World),
- {_,Port} = WorldTcpAddress#net_address.address,
- ErlEpmd = net_kernel:epmd_module(),
-- case ErlEpmd:register_node(Name, Port) of
-+ case ErlEpmd:register_node(Name, Port, Driver) of
- {ok, Creation} ->
- {reply, {ok, {Socket, TcpAddress, Creation}},
- State#state{listen={Socket, World}}};
diff --git a/sources b/sources
index feafc4c..702791c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-a167a4e2a845ca1d86be4dcb7284b3f0 otp-OTP-19.0.7.tar.gz
+4c5d86c58e4f667350026b997622dd5f otp-OTP-19.1.1.tar.gz
From 4dc5608c1acbaad3881e76f6002501ce62ae5b70 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 4 Oct 2016 16:32:18 +0200
Subject: [PATCH 083/322] Removed outdated README
Signed-off-by: Peter Lemenkov
---
erlang.spec | 2 --
1 file changed, 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 53dc646..fc1cf94 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -1080,7 +1080,6 @@ for i in * ; do mv -v $i/doc $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/lib/$i
popd
cp -av AUTHORS LICENSE.txt README.md $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/PR.template $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
-mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/README $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/COPYRIGHT $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
%endif
@@ -1171,7 +1170,6 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%doc %{_docdir}/%{name}-%{version}/COPYRIGHT
%doc %{_docdir}/%{name}-%{version}/LICENSE.txt
%doc %{_docdir}/%{name}-%{version}/PR.template
-%doc %{_docdir}/%{name}-%{version}/README
%doc %{_docdir}/%{name}-%{version}/README.md
%endif
From 0ea9e863ea941801d6d81783c381b8b940dca4e9 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 4 Oct 2016 17:12:41 +0200
Subject: [PATCH 084/322] Remove duplicated file
Signed-off-by: Peter Lemenkov
---
erlang.spec | 2 ++
1 file changed, 2 insertions(+)
diff --git a/erlang.spec b/erlang.spec
index fc1cf94..0150943 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -1081,6 +1081,8 @@ popd
cp -av AUTHORS LICENSE.txt README.md $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/PR.template $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
mv -v $RPM_BUILD_ROOT%{_libdir}/erlang/COPYRIGHT $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
+# We'll package it by marking it explicitly as doc - see below
+rm -f $RPM_BUILD_ROOT%{_libdir}/erlang/README.md
%endif
# Win32-specific man-pages
From dac92bc94fe845a05e1fa6392336d02a809dfcaa Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Thu, 6 Oct 2016 14:07:10 +0200
Subject: [PATCH 085/322] Ver. 19.1.2
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
sources | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index bba2587..97da459 100644
--- a/.gitignore
+++ b/.gitignore
@@ -71,3 +71,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.0.6.tar.gz
/otp-OTP-19.0.7.tar.gz
/otp-OTP-19.1.1.tar.gz
+/otp-OTP-19.1.2.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 0150943..d146b92 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.1.1
+Version: 19.1.2
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2310,6 +2310,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Thu Oct 6 2016 Peter Lemenkov - 19.1.2-1
+- Ver. 19.1.2
+
* Tue Oct 4 2016 Peter Lemenkov - 19.1.1-1
- Ver. 19.1.1
diff --git a/sources b/sources
index 702791c..4bdb136 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-4c5d86c58e4f667350026b997622dd5f otp-OTP-19.1.1.tar.gz
+da7912dbd1995d5ac955e324c1b3cd5f otp-OTP-19.1.2.tar.gz
From de72c4d8e2d072952fe6633c46ce851c8692f638 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 11 Oct 2016 18:55:18 +0300
Subject: [PATCH 086/322] Ver. 19.1.3
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
sources | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index 97da459..17e4424 100644
--- a/.gitignore
+++ b/.gitignore
@@ -72,3 +72,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.0.7.tar.gz
/otp-OTP-19.1.1.tar.gz
/otp-OTP-19.1.2.tar.gz
+/otp-OTP-19.1.3.tar.gz
diff --git a/erlang.spec b/erlang.spec
index d146b92..aad276c 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.1.2
+Version: 19.1.3
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2310,6 +2310,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Tue Oct 11 2016 Peter Lemenkov - 19.1.3-1
+- Ver. 19.1.3
+
* Thu Oct 6 2016 Peter Lemenkov - 19.1.2-1
- Ver. 19.1.2
diff --git a/sources b/sources
index 4bdb136..b79613b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-da7912dbd1995d5ac955e324c1b3cd5f otp-OTP-19.1.2.tar.gz
+8f75c23d9fba7d4d4922dafef7691859 otp-OTP-19.1.3.tar.gz
From 48b2d980bd5f9538b4df10fd606009b0d2c77c97 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 11 Oct 2016 19:55:54 +0300
Subject: [PATCH 087/322] Fix build failure
Signed-off-by: Peter Lemenkov
---
erlang.spec | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index aad276c..dc251e5 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -1059,8 +1059,8 @@ find $RPM_BUILD_ROOT%{_libdir}/erlang -type f -name info -exec rm -f {} \;
%if %{__with_examples}
# fix 0775 permission on some directories
-find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/ssl-*/examples/ -type d -perm 0775 | xargs chmod 755
-find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/kernel-*/examples/uds_dist -type d -perm 0775 | xargs chmod 755
+find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/ssl-*/examples/ -type d -perm 0775 -print -exec chmod 755 {} \;
+find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/kernel-*/examples/uds_dist -type d -perm 0775 -print -exec chmod 755 {} \;
%else
# Remove all examples
find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/ -mindepth 1 -maxdepth 2 -type d -name examples -exec rm -rf {} \;
From d02dbcf40ad1422e5d4300a37acd3b6d589b71da Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 14 Oct 2016 14:01:15 +0200
Subject: [PATCH 088/322] Ver. 19.1.4
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
sources | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index 17e4424..039b9cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -73,3 +73,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.1.1.tar.gz
/otp-OTP-19.1.2.tar.gz
/otp-OTP-19.1.3.tar.gz
+/otp-OTP-19.1.4.tar.gz
diff --git a/erlang.spec b/erlang.spec
index dc251e5..a1866b0 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.1.3
+Version: 19.1.4
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2310,6 +2310,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Fri Oct 14 2016 Peter Lemenkov - 19.1.4-1
+- Ver. 19.1.4
+
* Tue Oct 11 2016 Peter Lemenkov - 19.1.3-1
- Ver. 19.1.3
diff --git a/sources b/sources
index b79613b..7022abd 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-8f75c23d9fba7d4d4922dafef7691859 otp-OTP-19.1.3.tar.gz
+b52160849cdc64a6d6d75e8bef1173eb otp-OTP-19.1.4.tar.gz
From 82d77a4b1fe5080bed3b71f956a3c484ce98abaf Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 7 Nov 2016 18:30:52 +0300
Subject: [PATCH 089/322] Ver. 19.1.5
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
sources | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index 039b9cb..5779ce6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -74,3 +74,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.1.2.tar.gz
/otp-OTP-19.1.3.tar.gz
/otp-OTP-19.1.4.tar.gz
+/otp-OTP-19.1.5.tar.gz
diff --git a/erlang.spec b/erlang.spec
index a1866b0..a070b2a 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.1.4
+Version: 19.1.5
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2310,6 +2310,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Mon Nov 7 2016 Peter Lemenkov - 19.1.5-1
+- Ver. 19.1.5
+
* Fri Oct 14 2016 Peter Lemenkov - 19.1.4-1
- Ver. 19.1.4
diff --git a/sources b/sources
index 7022abd..cee9b2f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-b52160849cdc64a6d6d75e8bef1173eb otp-OTP-19.1.4.tar.gz
+4c89a2175aff7dde0bd5f30e2d2f49b4 otp-OTP-19.1.5.tar.gz
From 52fefe46a4250608014f1a712d460e6a2ec148a0 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 9 Nov 2016 15:12:54 +0300
Subject: [PATCH 090/322] Ver. 19.1.6
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
sources | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index 5779ce6..82ae981 100644
--- a/.gitignore
+++ b/.gitignore
@@ -75,3 +75,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.1.3.tar.gz
/otp-OTP-19.1.4.tar.gz
/otp-OTP-19.1.5.tar.gz
+/otp-OTP-19.1.6.tar.gz
diff --git a/erlang.spec b/erlang.spec
index a070b2a..ec13785 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.1.5
+Version: 19.1.6
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2310,6 +2310,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Nov 9 2016 Peter Lemenkov - 19.1.6-1
+- Ver. 19.1.6
+
* Mon Nov 7 2016 Peter Lemenkov - 19.1.5-1
- Ver. 19.1.5
diff --git a/sources b/sources
index cee9b2f..76873ad 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-4c89a2175aff7dde0bd5f30e2d2f49b4 otp-OTP-19.1.5.tar.gz
+2a69d8aa3b9312cea9b3b0813eead2bf otp-OTP-19.1.6.tar.gz
From d8d49b5b3e0aa526f62c5402ecc29dba1d74a4f1 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 23 Nov 2016 21:09:08 +0300
Subject: [PATCH 091/322] Disable -fpie
- Fix HiPE by disabling -fpie
- Fix dialyzer generation
Signed-off-by: Peter Lemenkov
---
erlang.spec | 14 +++++-
...rrect-link-flags-for-hipe_mkliterals.patch | 45 +++++++++++++++++++
...erts-Disable-fPIE-for-HiPE-on-x86_64.patch | 33 ++++++++++++++
3 files changed, 91 insertions(+), 1 deletion(-)
create mode 100644 otp-0007-erts-Fix-correct-link-flags-for-hipe_mkliterals.patch
create mode 100644 otp-0008-erts-Disable-fPIE-for-HiPE-on-x86_64.patch
diff --git a/erlang.spec b/erlang.spec
index ec13785..7c2cc31 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -66,7 +66,7 @@
Name: erlang
Version: 19.1.6
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -116,6 +116,12 @@ Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
# Fedora specific patch
# Do not install erlang sources
Patch6: otp-0006-Do-not-install-erlang-sources.patch
+# Fedora specific patch
+# erts: Fix correct link flags for hipe_mkliterals
+Patch7: otp-0007-erts-Fix-correct-link-flags-for-hipe_mkliterals.patch
+# Fedora specific patch
+# erts: Disable -fPIE for HiPE on x86_64
+Patch8: otp-0008-erts-Disable-fPIE-for-HiPE-on-x86_64.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -926,6 +932,8 @@ Provides support for XML 1.0.
%patch4 -p1 -b .Do_not_install_Java_sources
%patch5 -p1 -b .Do_not_install_nteventlog_and_related_doc_files_on_n
%patch6 -p1 -b .Do_not_install_erlang_sources
+%patch7 -p1 -b .erts_Fix_correct_link_flags_for_hipe_mkliterals
+%patch8 -p1 -b .erts_Disable_fPIE_for_HiPE_on_x86_64
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2310,6 +2318,10 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Nov 23 2016 Peter Lemenkov - 19.1.6-2
+- Fix HiPE by disabling -fpie
+- Fix dialyzer generation
+
* Wed Nov 9 2016 Peter Lemenkov - 19.1.6-1
- Ver. 19.1.6
diff --git a/otp-0007-erts-Fix-correct-link-flags-for-hipe_mkliterals.patch b/otp-0007-erts-Fix-correct-link-flags-for-hipe_mkliterals.patch
new file mode 100644
index 0000000..363777b
--- /dev/null
+++ b/otp-0007-erts-Fix-correct-link-flags-for-hipe_mkliterals.patch
@@ -0,0 +1,45 @@
+From: Sverker Eriksson
+Date: Wed, 9 Nov 2016 16:52:23 +0100
+Subject: [PATCH] erts: Fix correct link flags for hipe_mkliterals
+
+and no need for $(INCLUDED).
+
+diff --git a/erts/emulator/Makefile.in b/erts/emulator/Makefile.in
+index e026020..8772bef 100644
+--- a/erts/emulator/Makefile.in
++++ b/erts/emulator/Makefile.in
+@@ -49,6 +49,7 @@ CREATE_DIRS=
+ LDFLAGS=@LDFLAGS@
+ ARFLAGS=rc
+ OMIT_OMIT_FP=no
++TYPE_LIBS=
+
+ DIRTY_SCHEDULER_SUPPORT=@DIRTY_SCHEDULER_SUPPORT@
+ NEW_PURGE_STRATEGY=@NEW_PURGE_STRATEGY@
+@@ -90,7 +91,7 @@ PURIFY =
+ TYPEMARKER = .gcov
+ TYPE_FLAGS = $(DEBUG_CFLAGS) -DERTS_GCOV -DNO_JUMP_TABLE -fprofile-arcs -ftest-coverage -O0 -DERTS_CAN_INLINE=0 -DERTS_INLINE=
+ ifneq ($(findstring solaris,$(TARGET)),solaris)
+-LIBS += -lgcov
++TYPE_LIBS = -lgcov
+ endif
+ ENABLE_ALLOC_TYPE_VARS += debug
+ else
+@@ -146,6 +147,8 @@ endif
+ endif
+ endif
+
++LIBS += $(TYPE_LIBS)
++
+ comma:=,
+ space:=
+ space+=
+@@ -931,7 +934,7 @@ $(OBJDIR)/%.o: hipe/%.c
+ $(V_CC) $(subst O2,O3, $(CFLAGS)) $(INCLUDES) -c $< -o $@
+
+ $(BINDIR)/hipe_mkliterals$(TF_MARKER): $(OBJDIR)/hipe_mkliterals.o
+- $(ld_verbose)$(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
++ $(ld_verbose)$(CC) $(LDFLAGS) -o $@ $< $(TYPE_LIBS)
+
+ $(OBJDIR)/hipe_mkliterals.o: $(HIPE_ASM) $(TTF_DIR)/erl_alloc_types.h $(DTRACE_HEADERS) \
+ $(TTF_DIR)/OPCODES-GENERATED $(TARGET)/TABLES-GENERATED
diff --git a/otp-0008-erts-Disable-fPIE-for-HiPE-on-x86_64.patch b/otp-0008-erts-Disable-fPIE-for-HiPE-on-x86_64.patch
new file mode 100644
index 0000000..8f007ff
--- /dev/null
+++ b/otp-0008-erts-Disable-fPIE-for-HiPE-on-x86_64.patch
@@ -0,0 +1,33 @@
+From: Sverker Eriksson
+Date: Tue, 8 Nov 2016 16:52:32 +0100
+Subject: [PATCH] erts: Disable -fPIE for HiPE on x86_64
+
+
+diff --git a/erts/configure.in b/erts/configure.in
+index 7455516..7489f8a 100644
+--- a/erts/configure.in
++++ b/erts/configure.in
+@@ -2778,6 +2778,23 @@ if test "$cross_compiling" != "yes" && test X${enable_hipe} != Xno; then
+ fi
+ fi
+
++dnl Check to disable -fPIE and friends for HiPE on amd64
++if test X${enable_hipe} = Xyes && test X$ARCH = Xamd64; then
++ AC_TRY_COMPILE(, [#if defined(__pie__) || defined(__PIE__)
++ #error -fPIE is enabled by default
++ #endif],
++ [AC_MSG_NOTICE([No -fPIE enabled by default])],
++ [AC_MSG_WARN([Security feature -fPIE will be disabled for HiPE])
++ STATIC_CFLAGS="-fno-PIE $STATIC_CFLAGS"
++ saved_LDFLAGS=$LDFLAGS
++ LDFLAGS="-no-pie $LDFLAGS"
++ AC_TRY_LINK(,, [],
++ [AC_MSG_WARN([Linked does not accept option -no-pie])
++ LDFLAGS=$saved_LDFLAGS])])
++
++fi
++
++
+ if test X${enable_fp_exceptions} = Xauto ; then
+ case $host_os in
+ *linux*)
From 8bed1fa73a2201f82aa37540c021594ce8758b46 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 11 Jan 2017 19:39:49 +0300
Subject: [PATCH 092/322] Ver. 19.2
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 20 ++++-----
otp-0006-Do-not-install-erlang-sources.patch | 14 +++---
...rrect-link-flags-for-hipe_mkliterals.patch | 45 -------------------
...erts-Disable-fPIE-for-HiPE-on-x86_64.patch | 33 --------------
sources | 2 +-
6 files changed, 17 insertions(+), 98 deletions(-)
delete mode 100644 otp-0007-erts-Fix-correct-link-flags-for-hipe_mkliterals.patch
delete mode 100644 otp-0008-erts-Disable-fPIE-for-HiPE-on-x86_64.patch
diff --git a/.gitignore b/.gitignore
index 82ae981..2bc234d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -76,3 +76,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.1.4.tar.gz
/otp-OTP-19.1.5.tar.gz
/otp-OTP-19.1.6.tar.gz
+/otp-OTP-19.2.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 7c2cc31..dbabbba 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,8 +65,8 @@
Name: erlang
-Version: 19.1.6
-Release: 2%{?dist}
+Version: 19.2
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -116,12 +116,6 @@ Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
# Fedora specific patch
# Do not install erlang sources
Patch6: otp-0006-Do-not-install-erlang-sources.patch
-# Fedora specific patch
-# erts: Fix correct link flags for hipe_mkliterals
-Patch7: otp-0007-erts-Fix-correct-link-flags-for-hipe_mkliterals.patch
-# Fedora specific patch
-# erts: Disable -fPIE for HiPE on x86_64
-Patch8: otp-0008-erts-Disable-fPIE-for-HiPE-on-x86_64.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -363,7 +357,7 @@ Orber OMG Transaction Service.
%package crypto
Summary: Cryptographical support
Group: Development/Languages
-BuildRequires: openssl-devel
+BuildRequires: pkgconfig(openssl) < 1.1.0
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
@@ -932,8 +926,6 @@ Provides support for XML 1.0.
%patch4 -p1 -b .Do_not_install_Java_sources
%patch5 -p1 -b .Do_not_install_nteventlog_and_related_doc_files_on_n
%patch6 -p1 -b .Do_not_install_erlang_sources
-%patch7 -p1 -b .erts_Fix_correct_link_flags_for_hipe_mkliterals
-%patch8 -p1 -b .erts_Disable_fPIE_for_HiPE_on_x86_64
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -1008,7 +1000,7 @@ cat > xemacs-erlang-init.el << EOF
EOF
mkdir xemacs-erlang
cp lib/tools/emacs/*.el xemacs-erlang/
-rm -f xemacs-erlang/erlang-flymake.el xemacs-erlang/erlang-test.el
+rm -f xemacs-erlang/erlang-flymake.el xemacs-erlang/erlang-test.el xemacs-erlang/erldoc.el xemacs-erlang/erlang-edoc.el
pushd xemacs-erlang
%{_xemacs_bytecompile} *.el
popd
@@ -2129,6 +2121,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/wxDirDialog.*
%{_libdir}/erlang/man/man3/wxDirPickerCtrl.*
%{_libdir}/erlang/man/man3/wxDisplayChangedEvent.*
+%{_libdir}/erlang/man/man3/wxDropFilesEvent.*
%{_libdir}/erlang/man/man3/wxEraseEvent.*
%{_libdir}/erlang/man/man3/wxEvent.*
%{_libdir}/erlang/man/man3/wxEvtHandler.*
@@ -2318,6 +2311,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Jan 11 2017 Peter Lemenkov - 19.2-1
+- Ver. 19.2
+
* Wed Nov 23 2016 Peter Lemenkov - 19.1.6-2
- Fix HiPE by disabling -fpie
- Fix dialyzer generation
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index ae403a8..c3c4699 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -34,10 +34,10 @@ index 38cf2d4..d4bb398 100644
$(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples"
diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile
-index 0f9e044..5039444 100644
+index 9d75199..b96a112 100644
--- a/lib/common_test/src/Makefile
+++ b/lib/common_test/src/Makefile
-@@ -151,7 +151,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -152,7 +152,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -634,10 +634,10 @@ index 08a00e6..a21ffb3 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile
-index dd7831f..1d5c505 100644
+index ff2bcbd..4973158 100644
--- a/lib/observer/src/Makefile
+++ b/lib/observer/src/Makefile
-@@ -153,7 +153,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -149,7 +149,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
@@ -868,7 +868,7 @@ index adc2c48..89ce954 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile
-index 69d5a47..c79ffd1 100644
+index 7ab6f22..b57da4a 100644
--- a/lib/ssh/src/Makefile
+++ b/lib/ssh/src/Makefile
@@ -136,7 +136,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -881,10 +881,10 @@ index 69d5a47..c79ffd1 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index b625db0..9172486 100644
+index 3dda1a3..a1e3c7c 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
-@@ -143,7 +143,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -146,7 +146,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
diff --git a/otp-0007-erts-Fix-correct-link-flags-for-hipe_mkliterals.patch b/otp-0007-erts-Fix-correct-link-flags-for-hipe_mkliterals.patch
deleted file mode 100644
index 363777b..0000000
--- a/otp-0007-erts-Fix-correct-link-flags-for-hipe_mkliterals.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From: Sverker Eriksson
-Date: Wed, 9 Nov 2016 16:52:23 +0100
-Subject: [PATCH] erts: Fix correct link flags for hipe_mkliterals
-
-and no need for $(INCLUDED).
-
-diff --git a/erts/emulator/Makefile.in b/erts/emulator/Makefile.in
-index e026020..8772bef 100644
---- a/erts/emulator/Makefile.in
-+++ b/erts/emulator/Makefile.in
-@@ -49,6 +49,7 @@ CREATE_DIRS=
- LDFLAGS=@LDFLAGS@
- ARFLAGS=rc
- OMIT_OMIT_FP=no
-+TYPE_LIBS=
-
- DIRTY_SCHEDULER_SUPPORT=@DIRTY_SCHEDULER_SUPPORT@
- NEW_PURGE_STRATEGY=@NEW_PURGE_STRATEGY@
-@@ -90,7 +91,7 @@ PURIFY =
- TYPEMARKER = .gcov
- TYPE_FLAGS = $(DEBUG_CFLAGS) -DERTS_GCOV -DNO_JUMP_TABLE -fprofile-arcs -ftest-coverage -O0 -DERTS_CAN_INLINE=0 -DERTS_INLINE=
- ifneq ($(findstring solaris,$(TARGET)),solaris)
--LIBS += -lgcov
-+TYPE_LIBS = -lgcov
- endif
- ENABLE_ALLOC_TYPE_VARS += debug
- else
-@@ -146,6 +147,8 @@ endif
- endif
- endif
-
-+LIBS += $(TYPE_LIBS)
-+
- comma:=,
- space:=
- space+=
-@@ -931,7 +934,7 @@ $(OBJDIR)/%.o: hipe/%.c
- $(V_CC) $(subst O2,O3, $(CFLAGS)) $(INCLUDES) -c $< -o $@
-
- $(BINDIR)/hipe_mkliterals$(TF_MARKER): $(OBJDIR)/hipe_mkliterals.o
-- $(ld_verbose)$(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
-+ $(ld_verbose)$(CC) $(LDFLAGS) -o $@ $< $(TYPE_LIBS)
-
- $(OBJDIR)/hipe_mkliterals.o: $(HIPE_ASM) $(TTF_DIR)/erl_alloc_types.h $(DTRACE_HEADERS) \
- $(TTF_DIR)/OPCODES-GENERATED $(TARGET)/TABLES-GENERATED
diff --git a/otp-0008-erts-Disable-fPIE-for-HiPE-on-x86_64.patch b/otp-0008-erts-Disable-fPIE-for-HiPE-on-x86_64.patch
deleted file mode 100644
index 8f007ff..0000000
--- a/otp-0008-erts-Disable-fPIE-for-HiPE-on-x86_64.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From: Sverker Eriksson
-Date: Tue, 8 Nov 2016 16:52:32 +0100
-Subject: [PATCH] erts: Disable -fPIE for HiPE on x86_64
-
-
-diff --git a/erts/configure.in b/erts/configure.in
-index 7455516..7489f8a 100644
---- a/erts/configure.in
-+++ b/erts/configure.in
-@@ -2778,6 +2778,23 @@ if test "$cross_compiling" != "yes" && test X${enable_hipe} != Xno; then
- fi
- fi
-
-+dnl Check to disable -fPIE and friends for HiPE on amd64
-+if test X${enable_hipe} = Xyes && test X$ARCH = Xamd64; then
-+ AC_TRY_COMPILE(, [#if defined(__pie__) || defined(__PIE__)
-+ #error -fPIE is enabled by default
-+ #endif],
-+ [AC_MSG_NOTICE([No -fPIE enabled by default])],
-+ [AC_MSG_WARN([Security feature -fPIE will be disabled for HiPE])
-+ STATIC_CFLAGS="-fno-PIE $STATIC_CFLAGS"
-+ saved_LDFLAGS=$LDFLAGS
-+ LDFLAGS="-no-pie $LDFLAGS"
-+ AC_TRY_LINK(,, [],
-+ [AC_MSG_WARN([Linked does not accept option -no-pie])
-+ LDFLAGS=$saved_LDFLAGS])])
-+
-+fi
-+
-+
- if test X${enable_fp_exceptions} = Xauto ; then
- case $host_os in
- *linux*)
diff --git a/sources b/sources
index 76873ad..d5b5ab6 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-2a69d8aa3b9312cea9b3b0813eead2bf otp-OTP-19.1.6.tar.gz
+SHA512 (otp-OTP-19.2.tar.gz) = 8ad0fb2958bb35620e666522e09290f4fa4302c57e0bca7fc97abc77f8ec7401b73d8d346eef076e30a218683b182b275f8ecc3601a1048faa0e37aa544f3db9
From c2d1b1caed87430dda59c1cba122b55a06dd1c13 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 18 Jan 2017 14:51:14 +0300
Subject: [PATCH 093/322] Ver. 19.2.1
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
sources | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index 2bc234d..763a893 100644
--- a/.gitignore
+++ b/.gitignore
@@ -77,3 +77,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.1.5.tar.gz
/otp-OTP-19.1.6.tar.gz
/otp-OTP-19.2.tar.gz
+/otp-OTP-19.2.1.tar.gz
diff --git a/erlang.spec b/erlang.spec
index dbabbba..d025e53 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.2
+Version: 19.2.1
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2311,6 +2311,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Jan 18 2017 Peter Lemenkov - 19.2.1-1
+- Ver. 19.2.1
+
* Wed Jan 11 2017 Peter Lemenkov - 19.2-1
- Ver. 19.2
diff --git a/sources b/sources
index d5b5ab6..3ed0da5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.2.tar.gz) = 8ad0fb2958bb35620e666522e09290f4fa4302c57e0bca7fc97abc77f8ec7401b73d8d346eef076e30a218683b182b275f8ecc3601a1048faa0e37aa544f3db9
+SHA512 (otp-OTP-19.2.1.tar.gz) = 60b5889f16ae52418eb8a8c53ed7195096ea2e29bca85b62d4d6ddb70a028f6e1dd091ed1482983f5ca56b326748bb822fa7bcf0c869f66edf7bb8dfc5d6398d
From 95da270c187a3a034740e1cd556fa399186ab926 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 1 Feb 2017 15:16:30 +0300
Subject: [PATCH 094/322] Ver. 19.2.2
Signed-off-by: Peter Lemenkov
---
erlang.spec | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index d025e53..31e3d59 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.2.1
+Version: 19.2.2
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2311,6 +2311,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Feb 1 2017 Peter Lemenkov - 19.2.2-1
+- Ver. 19.2.2
+
* Wed Jan 18 2017 Peter Lemenkov - 19.2.1-1
- Ver. 19.2.1
From 702793bfad858b4aa8d3941329f968d174fd57a7 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 1 Feb 2017 15:22:39 +0300
Subject: [PATCH 095/322] Forgot to upload new sources. Again.
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
sources | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 763a893..cf513ad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -78,3 +78,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.1.6.tar.gz
/otp-OTP-19.2.tar.gz
/otp-OTP-19.2.1.tar.gz
+/otp-OTP-19.2.2.tar.gz
diff --git a/sources b/sources
index 3ed0da5..4329f35 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.2.1.tar.gz) = 60b5889f16ae52418eb8a8c53ed7195096ea2e29bca85b62d4d6ddb70a028f6e1dd091ed1482983f5ca56b326748bb822fa7bcf0c869f66edf7bb8dfc5d6398d
+SHA512 (otp-OTP-19.2.2.tar.gz) = 4432cb00bbd4a35264fb3960c9dd5a8d0974cb31dc181e9d9ba3d55ebc91e55d8e91fe8e39afbe1822148c2666903bbf6ee16ac095f07f559a1a945a884b6d1c
From 4a572cf7ca2b9a807a9b2e727d485dbc6617e718 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 8 Feb 2017 16:15:08 +0300
Subject: [PATCH 096/322] Ver. 19.2.3
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
sources | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index cf513ad..1b056ad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -79,3 +79,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.2.tar.gz
/otp-OTP-19.2.1.tar.gz
/otp-OTP-19.2.2.tar.gz
+/otp-OTP-19.2.3.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 31e3d59..6fc4a44 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.2.2
+Version: 19.2.3
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2311,6 +2311,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Feb 8 2017 Peter Lemenkov - 19.2.3-1
+- Ver. 19.2.3
+
* Wed Feb 1 2017 Peter Lemenkov - 19.2.2-1
- Ver. 19.2.2
diff --git a/sources b/sources
index 4329f35..167a36d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.2.2.tar.gz) = 4432cb00bbd4a35264fb3960c9dd5a8d0974cb31dc181e9d9ba3d55ebc91e55d8e91fe8e39afbe1822148c2666903bbf6ee16ac095f07f559a1a945a884b6d1c
+SHA512 (otp-OTP-19.2.3.tar.gz) = 3ec4f5f805eac14327ea370993afc2f0bb18c104b69e01e219cdc3bf5241ac0e1ac665d4aba00b2b544976fa475023254a744858e893efcf121cf357d7bd2d1c
From dd211a4ec21143e91b95b0dfa3b7fbe9e8e89043 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 15 Mar 2017 16:12:54 +0300
Subject: [PATCH 097/322] Ver. 19.3
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
otp-0006-Do-not-install-erlang-sources.patch | 4 ++--
sources | 2 +-
4 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/.gitignore b/.gitignore
index 1b056ad..0741f0b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -80,3 +80,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.2.1.tar.gz
/otp-OTP-19.2.2.tar.gz
/otp-OTP-19.2.3.tar.gz
+/otp-OTP-19.3.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 6fc4a44..370e51e 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.2.3
+Version: 19.3
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2311,6 +2311,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Wed Mar 15 2017 Peter Lemenkov - 19.3-1
+- Ver. 19.3
+
* Wed Feb 8 2017 Peter Lemenkov - 19.2.3-1
- Ver. 19.2.3
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index c3c4699..d2b6af7 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -881,10 +881,10 @@ index 7ab6f22..b57da4a 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index 3dda1a3..a1e3c7c 100644
+index 2e7df97..0cd43d3 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
-@@ -146,7 +146,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
+@@ -151,7 +151,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
release_spec: opt
$(INSTALL_DIR) "$(RELSYSDIR)/src"
diff --git a/sources b/sources
index 167a36d..8f91301 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.2.3.tar.gz) = 3ec4f5f805eac14327ea370993afc2f0bb18c104b69e01e219cdc3bf5241ac0e1ac665d4aba00b2b544976fa475023254a744858e893efcf121cf357d7bd2d1c
+SHA512 (otp-OTP-19.3.tar.gz) = 871daa5904ea93feedf9163ab0a6a8f14bb66c99d0057f929dd06130b7fa322607ecc62cf6c61c9b6464b4e9581a513bfc1aea004b00fd02c0c3a19bc38f5be7
From 97871d0d23d42cdcb63e13e3881bce4659e48269 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 15 Mar 2017 16:55:01 +0300
Subject: [PATCH 098/322] Missing man-page
Signed-off-by: Peter Lemenkov
---
erlang.spec | 1 +
1 file changed, 1 insertion(+)
diff --git a/erlang.spec b/erlang.spec
index 370e51e..4dd0e41 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -1205,6 +1205,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/man/man3/ct_snmp.*
%{_libdir}/erlang/man/man3/ct_ssh.*
%{_libdir}/erlang/man/man3/ct_telnet.*
+%{_libdir}/erlang/man/man3/ct_testspec.*
%{_libdir}/erlang/man/man3/unix_telnet.*
%{_libdir}/erlang/man/man6/common_test.*
%endif
From 776ede1a0c2fb5cc963fb489c4afd9ee34945384 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 21 Mar 2017 19:26:52 +0300
Subject: [PATCH 099/322] CVE-2016-10253
Signed-off-by: Peter Lemenkov
---
erlang.spec | 9 +-
otp-0007-Fix-CVE-2016-10253.patch | 318 ++++++++++++++++++++++++++++++
2 files changed, 326 insertions(+), 1 deletion(-)
create mode 100644 otp-0007-Fix-CVE-2016-10253.patch
diff --git a/erlang.spec b/erlang.spec
index 4dd0e41..5d66ef8 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -66,7 +66,7 @@
Name: erlang
Version: 19.3
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -116,6 +116,9 @@ Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
# Fedora specific patch
# Do not install erlang sources
Patch6: otp-0006-Do-not-install-erlang-sources.patch
+# Fedora specific patch
+# Fix CVE-2016-10253
+Patch7: otp-0007-Fix-CVE-2016-10253.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -926,6 +929,7 @@ Provides support for XML 1.0.
%patch4 -p1 -b .Do_not_install_Java_sources
%patch5 -p1 -b .Do_not_install_nteventlog_and_related_doc_files_on_n
%patch6 -p1 -b .Do_not_install_erlang_sources
+%patch7 -p1 -b .Fix_CVE_2016_10253
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2312,6 +2316,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Tue Mar 21 2017 Peter Lemenkov - 19.3-2
+- Fix for CVE-2016-10253
+
* Wed Mar 15 2017 Peter Lemenkov - 19.3-1
- Ver. 19.3
diff --git a/otp-0007-Fix-CVE-2016-10253.patch b/otp-0007-Fix-CVE-2016-10253.patch
new file mode 100644
index 0000000..bee9afb
--- /dev/null
+++ b/otp-0007-Fix-CVE-2016-10253.patch
@@ -0,0 +1,318 @@
+From: Zephyr Pellerin
+Date: Mon, 20 Mar 2017 15:36:41 -0700
+Subject: [PATCH] Fix CVE-2016-10253
+
+
+diff --git a/erts/emulator/pcre/pcre_compile.c b/erts/emulator/pcre/pcre_compile.c
+index d48126a..15a81fa 100644
+--- a/erts/emulator/pcre/pcre_compile.c
++++ b/erts/emulator/pcre/pcre_compile.c
+@@ -2335,34 +2335,36 @@ for (;;)
+ }
+ }
+
+-
+-
+ /*************************************************
+-* Scan compiled branch for non-emptiness *
+-*************************************************/
++ * Scan compiled branch for non-emptiness *
++ *************************************************/
+
+ /* This function scans through a branch of a compiled pattern to see whether it
+-can match the empty string or not. It is called from could_be_empty()
+-below and from compile_branch() when checking for an unlimited repeat of a
+-group that can match nothing. Note that first_significant_code() skips over
+-backward and negative forward assertions when its final argument is TRUE. If we
+-hit an unclosed bracket, we return "empty" - this means we've struck an inner
+-bracket whose current branch will already have been scanned.
+-
+-Arguments:
+- code points to start of search
+- endcode points to where to stop
+- utf TRUE if in UTF-8 / UTF-16 / UTF-32 mode
+- cd contains pointers to tables etc.
+-
+-Returns: TRUE if what is matched could be empty
++ can match the empty string or not. It is called from could_be_empty()
++ below and from compile_branch() when checking for an unlimited repeat of a
++ group that can match nothing. Note that first_significant_code() skips over
++ backward and negative forward assertions when its final argument is TRUE. If we
++ hit an unclosed bracket, we return "empty" - this means we've struck an inner
++ bracket whose current branch will already have been scanned.
++
++ Arguments:
++ code points to start of search
++ endcode points to where to stop
++ utf TRUE if in UTF-8 / UTF-16 / UTF-32 mode
++ cd contains pointers to tables etc.
++ recurses chain of recurse_check to catch mutual recursion
++
++ Returns: TRUE if what is matched could be empty
+ */
+
++
+ static BOOL
+ could_be_empty_branch(const pcre_uchar *code, const pcre_uchar *endcode,
+- BOOL utf, compile_data *cd)
++ BOOL utf, compile_data *cd, recurse_check *recurses)
+ {
+ register pcre_uchar c;
++recurse_check this_recurse;
++
+ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
+ code < endcode;
+ code = first_significant_code(code + PRIV(OP_lengths)[c], TRUE))
+@@ -2390,25 +2392,47 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
+
+ if (c == OP_RECURSE)
+ {
+- const pcre_uchar *scode;
++ const pcre_uchar *scode = cd->start_code + GET(code, 1);
++ const pcre_uchar *endgroup = scode;
+ BOOL empty_branch;
+
+- /* Test for forward reference */
++ /* Test for forward reference or uncompleted reference. This is disabled
++ when called to scan a completed pattern by setting cd->start_workspace to
++ NULL. */
+
+- for (scode = cd->start_workspace; scode < cd->hwm; scode += LINK_SIZE)
+- if ((int)GET(scode, 0) == (int)(code + 1 - cd->start_code)) return TRUE;
++ if (cd->start_workspace != NULL)
++ {
++ const pcre_uchar *tcode;
++ for (tcode = cd->start_workspace; tcode < cd->hwm; tcode += LINK_SIZE)
++ if ((int)GET(tcode, 0) == (int)(code + 1 - cd->start_code)) return TRUE;
++ if (GET(scode, 1) == 0) return TRUE; /* Unclosed */
++ }
+
+- /* Not a forward reference, test for completed backward reference */
++ /* If the reference is to a completed group, we need to detect whether this
++ is a recursive call, as otherwise there will be an infinite loop. If it is
++ a recursion, just skip over it. Simple recursions are easily detected. For
++ mutual recursions we keep a chain on the stack. */
+
+- empty_branch = FALSE;
+- scode = cd->start_code + GET(code, 1);
+- if (GET(scode, 1) == 0) return TRUE; /* Unclosed */
++ do endgroup += GET(endgroup, 1); while (*endgroup == OP_ALT);
++ if (code >= scode && code <= endgroup) continue; /* Simple recursion */
++ else
++ {
++ recurse_check *r = recurses;
++ for (r = recurses; r != NULL; r = r->prev)
++ if (r->group == scode) break;
++ if (r != NULL) continue; /* Mutual recursion */
++ }
++
++ /* Completed reference; scan the referenced group, remembering it on the
++ stack chain to detect mutual recursions. */
+
+- /* Completed backwards reference */
++ empty_branch = FALSE;
++ this_recurse.prev = recurses;
++ this_recurse.group = scode;
+
+ do
+ {
+- if (could_be_empty_branch(scode, endcode, utf, cd))
++ if (could_be_empty_branch(scode, endcode, utf, cd, &this_recurse))
+ {
+ empty_branch = TRUE;
+ break;
+@@ -2448,7 +2472,7 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
+ if (c == OP_BRA || c == OP_BRAPOS ||
+ c == OP_CBRA || c == OP_CBRAPOS ||
+ c == OP_ONCE || c == OP_ONCE_NC ||
+- c == OP_COND)
++ c == OP_COND || c == OP_SCOND)
+ {
+ BOOL empty_branch;
+ if (GET(code, 1) == 0) return TRUE; /* Hit unclosed bracket */
+@@ -2464,8 +2488,8 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
+ empty_branch = FALSE;
+ do
+ {
+- if (!empty_branch && could_be_empty_branch(code, endcode, utf, cd))
+- empty_branch = TRUE;
++ if (!empty_branch && could_be_empty_branch(code, endcode, utf, cd,
++ recurses)) empty_branch = TRUE;
+ code += GET(code, 1);
+ }
+ while (*code == OP_ALT);
+@@ -2522,34 +2546,57 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
+
+ /* Opcodes that must match a character */
+
++ case OP_ANY:
++ case OP_ALLANY:
++ case OP_ANYBYTE:
++
+ case OP_PROP:
+ case OP_NOTPROP:
++ case OP_ANYNL:
++
++ case OP_NOT_HSPACE:
++ case OP_HSPACE:
++ case OP_NOT_VSPACE:
++ case OP_VSPACE:
+ case OP_EXTUNI:
++
+ case OP_NOT_DIGIT:
+ case OP_DIGIT:
+ case OP_NOT_WHITESPACE:
+ case OP_WHITESPACE:
+ case OP_NOT_WORDCHAR:
+ case OP_WORDCHAR:
+- case OP_ANY:
+- case OP_ALLANY:
+- case OP_ANYBYTE:
++
+ case OP_CHAR:
+ case OP_CHARI:
+ case OP_NOT:
+ case OP_NOTI:
++
+ case OP_PLUS:
++ case OP_PLUSI:
+ case OP_MINPLUS:
+- case OP_POSPLUS:
+- case OP_EXACT:
++ case OP_MINPLUSI:
++
+ case OP_NOTPLUS:
++ case OP_NOTPLUSI:
+ case OP_NOTMINPLUS:
++ case OP_NOTMINPLUSI:
++
++ case OP_POSPLUS:
++ case OP_POSPLUSI:
+ case OP_NOTPOSPLUS:
++ case OP_NOTPOSPLUSI:
++
++ case OP_EXACT:
++ case OP_EXACTI:
+ case OP_NOTEXACT:
++ case OP_NOTEXACTI:
++
+ case OP_TYPEPLUS:
+ case OP_TYPEMINPLUS:
+ case OP_TYPEPOSPLUS:
+ case OP_TYPEEXACT:
++
+ return FALSE;
+
+ /* These are going to continue, as they may be empty, but we have to
+@@ -2583,30 +2630,58 @@ for (code = first_significant_code(code + PRIV(OP_lengths)[*code], TRUE);
+ return TRUE;
+
+ /* In UTF-8 mode, STAR, MINSTAR, POSSTAR, QUERY, MINQUERY, POSQUERY, UPTO,
+- MINUPTO, and POSUPTO may be followed by a multibyte character */
++ MINUPTO, and POSUPTO and their caseless and negative versions may be
++ followed by a multibyte character. */
+
+ #if defined SUPPORT_UTF && !defined COMPILE_PCRE32
+ case OP_STAR:
+ case OP_STARI:
++ case OP_NOTSTAR:
++ case OP_NOTSTARI:
++
+ case OP_MINSTAR:
+ case OP_MINSTARI:
++ case OP_NOTMINSTAR:
++ case OP_NOTMINSTARI:
++
+ case OP_POSSTAR:
+ case OP_POSSTARI:
++ case OP_NOTPOSSTAR:
++ case OP_NOTPOSSTARI:
++
+ case OP_QUERY:
+ case OP_QUERYI:
++ case OP_NOTQUERY:
++ case OP_NOTQUERYI:
++
+ case OP_MINQUERY:
+ case OP_MINQUERYI:
++ case OP_NOTMINQUERY:
++ case OP_NOTMINQUERYI:
++
+ case OP_POSQUERY:
+ case OP_POSQUERYI:
++ case OP_NOTPOSQUERY:
++ case OP_NOTPOSQUERYI:
++
+ if (utf && HAS_EXTRALEN(code[1])) code += GET_EXTRALEN(code[1]);
+ break;
+
+ case OP_UPTO:
+ case OP_UPTOI:
++ case OP_NOTUPTO:
++ case OP_NOTUPTOI:
++
+ case OP_MINUPTO:
+ case OP_MINUPTOI:
++ case OP_NOTMINUPTO:
++ case OP_NOTMINUPTOI:
++
+ case OP_POSUPTO:
+ case OP_POSUPTOI:
++ case OP_NOTPOSUPTO:
++ case OP_NOTPOSUPTOI:
++
+ if (utf && HAS_EXTRALEN(code[1 + IMM2_SIZE])) code += GET_EXTRALEN(code[1 + IMM2_SIZE]);
+ break;
+ #endif
+@@ -2632,7 +2707,6 @@ return TRUE;
+ }
+
+
+-
+ /*************************************************
+ * Scan compiled regex for non-emptiness *
+ *************************************************/
+@@ -2660,7 +2734,7 @@ could_be_empty(const pcre_uchar *code, const pcre_uchar *endcode,
+ {
+ while (bcptr != NULL && bcptr->current_branch >= code)
+ {
+- if (!could_be_empty_branch(bcptr->current_branch, endcode, utf, cd))
++ if (!could_be_empty_branch(bcptr->current_branch, endcode, utf, cd, NULL))
+ return FALSE;
+ bcptr = bcptr->outer;
+ }
+@@ -2668,7 +2742,6 @@ return TRUE;
+ }
+
+
+-
+ /*************************************************
+ * Check for POSIX class syntax *
+ *************************************************/
+@@ -5392,7 +5465,7 @@ for (;; ptr++)
+ pcre_uchar *scode = bracode;
+ do
+ {
+- if (could_be_empty_branch(scode, ketcode, utf, cd))
++ if (could_be_empty_branch(scode, ketcode, utf, cd, NULL))
+ {
+ *bracode += OP_SBRA - OP_BRA;
+ break;
+diff --git a/erts/emulator/pcre/pcre_internal.h b/erts/emulator/pcre/pcre_internal.h
+index af436bd..eb0db89 100644
+--- a/erts/emulator/pcre/pcre_internal.h
++++ b/erts/emulator/pcre/pcre_internal.h
+@@ -2455,6 +2455,13 @@ typedef struct branch_chain {
+ pcre_uchar *current_branch;
+ } branch_chain;
+
++/* Structure for mutual recursion detection. */
++
++typedef struct recurse_check {
++ struct recurse_check *prev;
++ const pcre_uchar *group;
++} recurse_check;
++
+ /* Structure for items in a linked list that represents an explicit recursive
+ call within the pattern; used by pcre_exec(). */
+
From e1916531546622c13fe3db3cc803f9994ec4e4b9 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 4 Apr 2017 17:34:06 +0300
Subject: [PATCH 100/322] Ver. 19.3.1
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 7 +++++--
sources | 2 +-
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/.gitignore b/.gitignore
index 0741f0b..db0ede8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -81,3 +81,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.2.2.tar.gz
/otp-OTP-19.2.3.tar.gz
/otp-OTP-19.3.tar.gz
+/otp-OTP-19.3.1.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 5d66ef8..37c787e 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,8 +65,8 @@
Name: erlang
-Version: 19.3
-Release: 2%{?dist}
+Version: 19.3.1
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2316,6 +2316,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Tue Apr 4 2017 Peter Lemenkov - 19.3.1-1
+- Ver. 19.3.1
+
* Tue Mar 21 2017 Peter Lemenkov - 19.3-2
- Fix for CVE-2016-10253
diff --git a/sources b/sources
index 8f91301..e8c5b3e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.3.tar.gz) = 871daa5904ea93feedf9163ab0a6a8f14bb66c99d0057f929dd06130b7fa322607ecc62cf6c61c9b6464b4e9581a513bfc1aea004b00fd02c0c3a19bc38f5be7
+SHA512 (otp-OTP-19.3.1.tar.gz) = d0db7654ee699b5ff23db9b563960a26338d209629115e2534fdbd3c08f42a9f0a59ebeb83f76c36e0944e24e429ec56a1b9e9430779193b0734648a94be88df
From 7ab86b5985989c76f87efb635090ff3cc5c34340 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 24 Apr 2017 13:04:10 +0300
Subject: [PATCH 101/322] Ver. 19.3.2
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 ++++-
sources | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index db0ede8..c90d412 100644
--- a/.gitignore
+++ b/.gitignore
@@ -82,3 +82,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.2.3.tar.gz
/otp-OTP-19.3.tar.gz
/otp-OTP-19.3.1.tar.gz
+/otp-OTP-19.3.2.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 37c787e..ab7e755 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.3.1
+Version: 19.3.2
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2316,6 +2316,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Mon Apr 24 2017 Peter Lemenkov - 19.3.2-1
+- Ver. 19.3.2
+
* Tue Apr 4 2017 Peter Lemenkov - 19.3.1-1
- Ver. 19.3.1
diff --git a/sources b/sources
index e8c5b3e..0c37bb0 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.3.1.tar.gz) = d0db7654ee699b5ff23db9b563960a26338d209629115e2534fdbd3c08f42a9f0a59ebeb83f76c36e0944e24e429ec56a1b9e9430779193b0734648a94be88df
+SHA512 (otp-OTP-19.3.2.tar.gz) = d895aa647fd5ad45a8733c9db846bc70d09cc03900fb9d09d6aa2e2448f92d5a13190c0d14d1e09ca46fb9088198175a0ea69e533ee9d8d8472250d66eab0c9a
From 57b0bc8600396bb0af9605d90f34abdf5e8bd0c7 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 2 May 2017 11:47:40 +0300
Subject: [PATCH 102/322] Ver. 19.3.3
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 5 +-
...n-pages-and-do-not-install-miscellan.patch | 4 +-
otp-0002-Remove-rpath.patch | 4 +-
otp-0003-Do-not-install-C-sources.patch | 16 +-
otp-0004-Do-not-install-Java-sources.patch | 4 +-
...teventlog-and-related-doc-files-on-n.patch | 4 +-
otp-0006-Do-not-install-erlang-sources.patch | 144 +++++++++---------
otp-0007-Fix-CVE-2016-10253.patch | 4 +-
sources | 2 +-
10 files changed, 96 insertions(+), 92 deletions(-)
diff --git a/.gitignore b/.gitignore
index c90d412..efb0f9d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -83,3 +83,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.3.tar.gz
/otp-OTP-19.3.1.tar.gz
/otp-OTP-19.3.2.tar.gz
+/otp-OTP-19.3.3.tar.gz
diff --git a/erlang.spec b/erlang.spec
index ab7e755..2dbc064 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.3.2
+Version: 19.3.3
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2316,6 +2316,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Tue May 2 2017 Peter Lemenkov - 19.3.3-1
+- Ver. 19.3.2
+
* Mon Apr 24 2017 Peter Lemenkov - 19.3.2-1
- Ver. 19.3.2
diff --git a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
index 0415370..fe09948 100644
--- a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
+++ b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Do not format man-pages and do not install miscellaneous
Signed-off-by: Peter Lemenkov
diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in
-index cb053a1..024307b 100644
+index cb053a1b7c..024307b9c9 100644
--- a/erts/etc/common/Makefile.in
+++ b/erts/etc/common/Makefile.in
@@ -492,10 +492,6 @@ endif
@@ -21,7 +21,7 @@ index cb053a1..024307b 100644
$(INSTALL_DIR) "$(RELEASE_PATH)/erts-$(VSN)/src"
$(INSTALL_DATA) $(INSTALL_SRC) "$(RELEASE_PATH)/erts-$(VSN)/src"
diff --git a/erts/etc/unix/Install.src b/erts/etc/unix/Install.src
-index e71308e..ae2c9cf 100644
+index e71308edbe..ae2c9cf251 100644
--- a/erts/etc/unix/Install.src
+++ b/erts/etc/unix/Install.src
@@ -141,14 +141,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot .
diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch
index e1eac8f..5d39eb0 100644
--- a/otp-0002-Remove-rpath.patch
+++ b/otp-0002-Remove-rpath.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Remove rpath
Signed-off-by: Peter Lemenkov
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
-index c62f25b..bb28704 100644
+index c62f25b3ee..bb28704c1e 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
@@ -90,7 +90,7 @@ endif
@@ -18,7 +18,7 @@ index c62f25b..bb28704 100644
EXTRA_FLAGS = -DHAVE_DYNAMIC_CRYPTO_LIB
else
diff --git a/lib/crypto/priv/Makefile b/lib/crypto/priv/Makefile
-index ff9d3e1..d3aba77 100644
+index ff9d3e1dc9..d3aba77808 100644
--- a/lib/crypto/priv/Makefile
+++ b/lib/crypto/priv/Makefile
@@ -61,7 +61,7 @@ OBJS = $(OBJDIR)/crypto.o
diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch
index 0f945b7..5d169b0 100644
--- a/otp-0003-Do-not-install-C-sources.patch
+++ b/otp-0003-Do-not-install-C-sources.patch
@@ -14,7 +14,7 @@ https://bugzilla.redhat.com/818419
Signed-off-by: Peter Lemenkov
diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile
-index 1f714df..95835d6 100644
+index 1f714df357..95835d6ed2 100644
--- a/lib/asn1/c_src/Makefile
+++ b/lib/asn1/c_src/Makefile
@@ -136,8 +136,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -27,7 +27,7 @@ index 1f714df..95835d6 100644
release_docs_spec:
diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
-index bb28704..165a2e0 100644
+index bb28704c1e..165a2e0cd5 100644
--- a/lib/crypto/c_src/Makefile.in
+++ b/lib/crypto/c_src/Makefile.in
@@ -195,13 +195,9 @@ docs:
@@ -45,7 +45,7 @@ index bb28704..165a2e0 100644
endif
diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
-index 4f393e9..a9a7f7c 100644
+index 4f393e952c..a9a7f7cc79 100644
--- a/lib/erl_interface/src/Makefile.in
+++ b/lib/erl_interface/src/Makefile.in
@@ -842,14 +842,14 @@ ifneq ($(EXE_TARGETS),)
@@ -72,7 +72,7 @@ index 4f393e9..a9a7f7c 100644
release_docs:
diff --git a/lib/ic/c_src/Makefile.in b/lib/ic/c_src/Makefile.in
-index c0dad59..9a19028 100644
+index c0dad59557..9a19028ff3 100644
--- a/lib/ic/c_src/Makefile.in
+++ b/lib/ic/c_src/Makefile.in
@@ -145,12 +145,10 @@ $(OBJDIR)/%.o: %.c
@@ -89,7 +89,7 @@ index c0dad59..9a19028 100644
$(INSTALL_DATA) $(LIBRARY) "$(RELSYSDIR)/priv/lib"
$(INSTALL_DATA) $(IDL_FILES) $(H_FILES) "$(RELEASE_PATH)/usr/include"
diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
-index c37ad4d..09bf1ef 100644
+index c37ad4d702..09bf1efe95 100644
--- a/lib/megaco/src/flex/Makefile.in
+++ b/lib/megaco/src/flex/Makefile.in
@@ -271,7 +271,7 @@ release_spec: opt
@@ -102,7 +102,7 @@ index c37ad4d..09bf1ef 100644
endif
diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in
-index 784e73c..568c5e4 100644
+index 784e73c47e..568c5e4c3e 100644
--- a/lib/odbc/c_src/Makefile.in
+++ b/lib/odbc/c_src/Makefile.in
@@ -129,11 +129,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -118,7 +118,7 @@ index 784e73c..568c5e4 100644
endif
diff --git a/lib/os_mon/c_src/Makefile.in b/lib/os_mon/c_src/Makefile.in
-index 27b156a..f11ff30 100644
+index 27b156a2c9..f11ff303b6 100644
--- a/lib/os_mon/c_src/Makefile.in
+++ b/lib/os_mon/c_src/Makefile.in
@@ -126,8 +126,6 @@ $(OBJDIR)/memsup.o: memsup.h
@@ -131,7 +131,7 @@ index 27b156a..f11ff30 100644
$(INSTALL_PROGRAM) $(TARGET_FILES) "$(RELSYSDIR)/priv/bin"
diff --git a/lib/tools/c_src/Makefile.in b/lib/tools/c_src/Makefile.in
-index cfe9191..735cdaa 100644
+index cfe91917f8..735cdaaaef 100644
--- a/lib/tools/c_src/Makefile.in
+++ b/lib/tools/c_src/Makefile.in
@@ -190,8 +190,6 @@ include ../vsn.mk
diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch
index 694a23f..9e3861e 100644
--- a/otp-0004-Do-not-install-Java-sources.patch
+++ b/otp-0004-Do-not-install-Java-sources.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Do not install Java sources
Signed-off-by: Peter Lemenkov
diff --git a/lib/ic/java_src/com/ericsson/otp/ic/Makefile b/lib/ic/java_src/com/ericsson/otp/ic/Makefile
-index 21c38e5..eeba2e4 100644
+index 21c38e54b5..eeba2e4eae 100644
--- a/lib/ic/java_src/com/ericsson/otp/ic/Makefile
+++ b/lib/ic/java_src/com/ericsson/otp/ic/Makefile
@@ -113,8 +113,6 @@ docs:
@@ -18,7 +18,7 @@ index 21c38e5..eeba2e4 100644
$(INSTALL_DATA) $(JAVA_DEST_ROOT)$(JARFILE) "$(RELSYSDIR)/priv"
diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
-index e55cfa6..5e3a0a5 100644
+index e55cfa62ea..5e3a0a5274 100644
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
@@ -120,8 +120,6 @@ release release_docs release_tests release_html:
diff --git a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
index 52bd6f0..bf1febc 100644
--- a/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
+++ b/otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Do not install nteventlog and related doc-files on non-win32
Signed-off-by: Peter Lemenkov
diff --git a/lib/os_mon/doc/src/Makefile b/lib/os_mon/doc/src/Makefile
-index 91c7ae7..dc7bcf3 100644
+index 91c7ae7bc3..dc7bcf3686 100644
--- a/lib/os_mon/doc/src/Makefile
+++ b/lib/os_mon/doc/src/Makefile
@@ -36,12 +36,17 @@ RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN)
@@ -29,7 +29,7 @@ index 91c7ae7..dc7bcf3 100644
XML_REF6_FILES = os_mon_app.xml
diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
-index 3ff6320..29b53a8 100644
+index 3ff63204c6..29b53a8188 100644
--- a/lib/os_mon/src/Makefile
+++ b/lib/os_mon/src/Makefile
@@ -34,8 +34,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/os_mon-$(VSN)
diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch
index d2b6af7..ba3c5fd 100644
--- a/otp-0006-Do-not-install-erlang-sources.patch
+++ b/otp-0006-Do-not-install-erlang-sources.patch
@@ -8,7 +8,7 @@ Signed-off-by: Peter Lemenkov
Signed-off-by: Hans Ulrich Niedermann
diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile
-index 2ab9eda..9b8ed35 100644
+index 2ab9edaf5e..9b8ed35d1a 100644
--- a/erts/preloaded/src/Makefile
+++ b/erts/preloaded/src/Makefile
@@ -90,8 +90,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk
@@ -21,7 +21,7 @@ index 2ab9eda..9b8ed35 100644
$(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile
-index 38cf2d4..d4bb398 100644
+index 38cf2d496a..d4bb3982d2 100644
--- a/lib/asn1/src/Makefile
+++ b/lib/asn1/src/Makefile
@@ -155,7 +155,7 @@ release_spec: opt
@@ -34,7 +34,7 @@ index 38cf2d4..d4bb398 100644
$(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples"
diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile
-index 9d75199..b96a112 100644
+index 9d751996ad..b96a11225c 100644
--- a/lib/common_test/src/Makefile
+++ b/lib/common_test/src/Makefile
@@ -152,7 +152,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -47,7 +47,7 @@ index 9d75199..b96a112 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/common_test/test_server/Makefile b/lib/common_test/test_server/Makefile
-index f015064..57f96d2 100644
+index f015064b39..57f96d2929 100644
--- a/lib/common_test/test_server/Makefile
+++ b/lib/common_test/test_server/Makefile
@@ -86,9 +86,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -63,7 +63,7 @@ index f015064..57f96d2 100644
$(INSTALL_SCRIPT) $(PROGRAMS) "$(RELEASE_PATH)/test_server"
diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile
-index 518c89d..1bcd19c 100644
+index 518c89d044..1bcd19cff7 100644
--- a/lib/compiler/src/Makefile
+++ b/lib/compiler/src/Makefile
@@ -174,8 +174,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -78,7 +78,7 @@ index 518c89d..1bcd19c 100644
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/cosEvent/src/Makefile b/lib/cosEvent/src/Makefile
-index 29d6223..cb43309 100644
+index 29d6223005..cb433090d2 100644
--- a/lib/cosEvent/src/Makefile
+++ b/lib/cosEvent/src/Makefile
@@ -203,7 +203,7 @@ release_spec: opt
@@ -91,7 +91,7 @@ index 29d6223..cb43309 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosEventDomain/src/Makefile b/lib/cosEventDomain/src/Makefile
-index cdaf9e5..6e4e9b8 100644
+index cdaf9e5f1f..6e4e9b8c52 100644
--- a/lib/cosEventDomain/src/Makefile
+++ b/lib/cosEventDomain/src/Makefile
@@ -172,7 +172,7 @@ release_spec: opt
@@ -104,7 +104,7 @@ index cdaf9e5..6e4e9b8 100644
$(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosFileTransfer/src/Makefile b/lib/cosFileTransfer/src/Makefile
-index b396710..2678c2a 100644
+index b3967101e9..2678c2a642 100644
--- a/lib/cosFileTransfer/src/Makefile
+++ b/lib/cosFileTransfer/src/Makefile
@@ -180,9 +180,7 @@ release_spec: opt
@@ -119,7 +119,7 @@ index b396710..2678c2a 100644
release_docs_spec:
diff --git a/lib/cosNotification/src/Makefile b/lib/cosNotification/src/Makefile
-index 009c6be..83c2e26 100644
+index 009c6be4a5..83c2e26057 100644
--- a/lib/cosNotification/src/Makefile
+++ b/lib/cosNotification/src/Makefile
@@ -371,8 +371,7 @@ release_spec: opt
@@ -133,7 +133,7 @@ index 009c6be..83c2e26 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosProperty/src/Makefile b/lib/cosProperty/src/Makefile
-index 1fdc258..90cf711 100644
+index 1fdc258a6d..90cf7116b7 100644
--- a/lib/cosProperty/src/Makefile
+++ b/lib/cosProperty/src/Makefile
@@ -180,8 +180,7 @@ release_spec: opt
@@ -147,7 +147,7 @@ index 1fdc258..90cf711 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosTime/src/Makefile b/lib/cosTime/src/Makefile
-index 55d59ba..f22e2c8 100644
+index 55d59baea3..f22e2c81db 100644
--- a/lib/cosTime/src/Makefile
+++ b/lib/cosTime/src/Makefile
@@ -199,8 +199,7 @@ release_spec: opt
@@ -161,7 +161,7 @@ index 55d59ba..f22e2c8 100644
$(INSTALL_DATA) $(GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/cosTransactions/src/Makefile b/lib/cosTransactions/src/Makefile
-index 4cc1e48..084f0a7 100644
+index 4cc1e487c2..084f0a7230 100644
--- a/lib/cosTransactions/src/Makefile
+++ b/lib/cosTransactions/src/Makefile
@@ -174,7 +174,7 @@ release_spec: opt
@@ -174,7 +174,7 @@ index 4cc1e48..084f0a7 100644
$(INSTALL_DATA) $(EXTERNAL_GEN_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile
-index 456b8be..fcfa8de 100644
+index 456b8be64d..fcfa8def89 100644
--- a/lib/crypto/src/Makefile
+++ b/lib/crypto/src/Makefile
@@ -82,8 +82,6 @@ docs:
@@ -187,7 +187,7 @@ index 456b8be..fcfa8de 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile
-index 9594a0b..bc33e67 100644
+index 9594a0bfe3..bc33e67e88 100644
--- a/lib/debugger/src/Makefile
+++ b/lib/debugger/src/Makefile
@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -200,7 +200,7 @@ index 9594a0b..bc33e67 100644
$(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile
-index 256f20f..2920c0f 100644
+index 256f20f549..2920c0f198 100644
--- a/lib/dialyzer/src/Makefile
+++ b/lib/dialyzer/src/Makefile
@@ -154,7 +154,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -213,7 +213,7 @@ index 256f20f..2920c0f 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile
-index 6bf748a..962d7b7 100644
+index 6bf748a727..962d7b75d6 100644
--- a/lib/diameter/src/Makefile
+++ b/lib/diameter/src/Makefile
@@ -251,11 +251,8 @@ release_spec: opt
@@ -231,7 +231,7 @@ index 6bf748a..962d7b7 100644
$(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%:
$(INSTALL_DIR) "$(RELSYSDIR)/examples/$*"
diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile
-index 4e5a418..c0bb0c3 100644
+index 4e5a4182da..c0bb0c32ec 100644
--- a/lib/edoc/src/Makefile
+++ b/lib/edoc/src/Makefile
@@ -88,7 +88,7 @@ release_spec: opt
@@ -244,7 +244,7 @@ index 4e5a418..c0bb0c3 100644
release_docs_spec:
diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile
-index b79a537..d0b231e 100644
+index b79a537424..d0b231e5fc 100644
--- a/lib/eldap/src/Makefile
+++ b/lib/eldap/src/Makefile
@@ -98,13 +98,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -264,7 +264,7 @@ index b79a537..d0b231e 100644
release_docs_spec:
diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile
-index 82d051e..950fdbe 100644
+index 82d051e9bb..950fdbe177 100644
--- a/lib/erl_docgen/src/Makefile
+++ b/lib/erl_docgen/src/Makefile
@@ -90,8 +90,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -277,7 +277,7 @@ index 82d051e..950fdbe 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile
-index b6347d8..a695d2c 100644
+index b6347d8b6d..a695d2cc2d 100644
--- a/lib/et/src/Makefile
+++ b/lib/et/src/Makefile
@@ -109,7 +109,6 @@ release_spec: opt
@@ -289,7 +289,7 @@ index b6347d8..a695d2c 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile
-index 86a6d88..5732fd8 100644
+index 86a6d8831e..5732fd85f3 100644
--- a/lib/eunit/src/Makefile
+++ b/lib/eunit/src/Makefile
@@ -120,7 +120,6 @@ release_spec: opt
@@ -301,7 +301,7 @@ index 86a6d88..5732fd8 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
diff --git a/lib/gs/src/Makefile b/lib/gs/src/Makefile
-index e19ce82..6b7c96e 100644
+index e19ce822b9..6b7c96ea68 100644
--- a/lib/gs/src/Makefile
+++ b/lib/gs/src/Makefile
@@ -109,8 +109,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -316,7 +316,7 @@ index e19ce82..6b7c96e 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/priv/bitmap"
diff --git a/lib/hipe/cerl/Makefile b/lib/hipe/cerl/Makefile
-index 9f50d6b..df92b84 100644
+index 9f50d6bf91..df92b84c0d 100644
--- a/lib/hipe/cerl/Makefile
+++ b/lib/hipe/cerl/Makefile
@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -329,7 +329,7 @@ index 9f50d6b..df92b84 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/flow/Makefile b/lib/hipe/flow/Makefile
-index d883eec..3119bc4 100644
+index d883eecf36..3119bc4638 100644
--- a/lib/hipe/flow/Makefile
+++ b/lib/hipe/flow/Makefile
@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -342,7 +342,7 @@ index d883eec..3119bc4 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/icode/Makefile b/lib/hipe/icode/Makefile
-index b220bc1..d407327 100644
+index b220bc16a0..d4073277be 100644
--- a/lib/hipe/icode/Makefile
+++ b/lib/hipe/icode/Makefile
@@ -120,7 +120,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -355,7 +355,7 @@ index b220bc1..d407327 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/llvm/Makefile b/lib/hipe/llvm/Makefile
-index 88016a7..d8e8fa0 100644
+index 88016a7d8b..d8e8fa0546 100644
--- a/lib/hipe/llvm/Makefile
+++ b/lib/hipe/llvm/Makefile
@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -368,7 +368,7 @@ index 88016a7..d8e8fa0 100644
$(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebin
diff --git a/lib/hipe/main/Makefile b/lib/hipe/main/Makefile
-index 8ef31db..80d2881 100644
+index 8ef31dbb46..80d28819f2 100644
--- a/lib/hipe/main/Makefile
+++ b/lib/hipe/main/Makefile
@@ -118,7 +118,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -381,7 +381,7 @@ index 8ef31db..80d2881 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/misc/Makefile b/lib/hipe/misc/Makefile
-index 72cfff2..e55223a 100644
+index 72cfff21a8..e55223a57d 100644
--- a/lib/hipe/misc/Makefile
+++ b/lib/hipe/misc/Makefile
@@ -102,7 +102,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -394,7 +394,7 @@ index 72cfff2..e55223a 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/rtl/Makefile b/lib/hipe/rtl/Makefile
-index b4cdf8b..f9ebcae 100644
+index b4cdf8b1f2..f9ebcaec30 100644
--- a/lib/hipe/rtl/Makefile
+++ b/lib/hipe/rtl/Makefile
@@ -105,7 +105,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -407,7 +407,7 @@ index b4cdf8b..f9ebcae 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/hipe/util/Makefile b/lib/hipe/util/Makefile
-index 66e9421..1951742 100644
+index 66e9421c25..19517427e6 100644
--- a/lib/hipe/util/Makefile
+++ b/lib/hipe/util/Makefile
@@ -50,7 +50,6 @@ HIPE_MODULES =
@@ -428,7 +428,7 @@ index 66e9421..1951742 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/ic/src/Makefile b/lib/ic/src/Makefile
-index 6ad2fbe..258517d 100644
+index 6ad2fbeeb7..258517da6f 100644
--- a/lib/ic/src/Makefile
+++ b/lib/ic/src/Makefile
@@ -200,7 +200,7 @@ release_spec: opt
@@ -441,7 +441,7 @@ index 6ad2fbe..258517d 100644
$(INSTALL_DIR) "$(RELSYSDIR)/examples/c-client"
$(INSTALL_DATA) $(CCL_EX_FILES) "$(RELSYSDIR)/examples/c-client"
diff --git a/lib/inets/src/ftp/Makefile b/lib/inets/src/ftp/Makefile
-index 6b99694..530a19e 100644
+index 6b99694ea7..530a19ecea 100644
--- a/lib/inets/src/ftp/Makefile
+++ b/lib/inets/src/ftp/Makefile
@@ -91,7 +91,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -454,7 +454,7 @@ index 6b99694..530a19e 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile
-index a1c1f36..f2eb86f 100644
+index a1c1f36b70..f2eb86f7ac 100644
--- a/lib/inets/src/http_client/Makefile
+++ b/lib/inets/src/http_client/Makefile
@@ -92,7 +92,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -467,7 +467,7 @@ index a1c1f36..f2eb86f 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile
-index 8248e37..1f1b231 100644
+index 8248e37c44..1f1b23184b 100644
--- a/lib/inets/src/http_lib/Makefile
+++ b/lib/inets/src/http_lib/Makefile
@@ -90,7 +90,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -480,7 +480,7 @@ index 8248e37..1f1b231 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile
-index 1c05d45..88f9f62 100644
+index 1c05d454a5..88f9f62d3b 100644
--- a/lib/inets/src/http_server/Makefile
+++ b/lib/inets/src/http_server/Makefile
@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -493,7 +493,7 @@ index 1c05d45..88f9f62 100644
$(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile
-index eb0098d..fff21ff 100644
+index eb0098dbee..fff21ff740 100644
--- a/lib/inets/src/inets_app/Makefile
+++ b/lib/inets/src/inets_app/Makefile
@@ -114,7 +114,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -506,7 +506,7 @@ index eb0098d..fff21ff 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/inets/src/tftp/Makefile b/lib/inets/src/tftp/Makefile
-index 4eaa959..198fbf3 100644
+index 4eaa959cce..198fbf3106 100644
--- a/lib/inets/src/tftp/Makefile
+++ b/lib/inets/src/tftp/Makefile
@@ -96,7 +96,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -519,7 +519,7 @@ index 4eaa959..198fbf3 100644
$(INSTALL_DATA) $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile
-index 2b72f78..31eed45 100644
+index 2b72f78dcf..31eed456ff 100644
--- a/lib/kernel/src/Makefile
+++ b/lib/kernel/src/Makefile
@@ -202,7 +202,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -531,7 +531,7 @@ index 2b72f78..31eed45 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/megaco/src/app/Makefile b/lib/megaco/src/app/Makefile
-index ab45548..5c7a7f0 100644
+index ab45548099..5c7a7f0be9 100644
--- a/lib/megaco/src/app/Makefile
+++ b/lib/megaco/src/app/Makefile
@@ -114,7 +114,7 @@ release_spec: opt
@@ -544,7 +544,7 @@ index ab45548..5c7a7f0 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile
-index b964366..5b5a4cf 100644
+index b9643669f6..5b5a4cf482 100644
--- a/lib/megaco/src/binary/Makefile
+++ b/lib/megaco/src/binary/Makefile
@@ -176,7 +176,7 @@ release_spec: opt
@@ -557,7 +557,7 @@ index b964366..5b5a4cf 100644
release_docs_spec:
diff --git a/lib/megaco/src/engine/Makefile b/lib/megaco/src/engine/Makefile
-index 869b516..fa7d774 100644
+index 869b516b05..fa7d774d84 100644
--- a/lib/megaco/src/engine/Makefile
+++ b/lib/megaco/src/engine/Makefile
@@ -102,7 +102,7 @@ release_spec: opt
@@ -570,7 +570,7 @@ index 869b516..fa7d774 100644
diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
-index 09bf1ef..b320b2e 100644
+index 09bf1efe95..b320b2e96f 100644
--- a/lib/megaco/src/flex/Makefile.in
+++ b/lib/megaco/src/flex/Makefile.in
@@ -268,7 +268,6 @@ release_spec: opt
@@ -582,7 +582,7 @@ index 09bf1ef..b320b2e 100644
ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true)
$(INSTALL_DATA) $(FLEX_FILES) "$(RELSYSDIR)/src/flex"
diff --git a/lib/megaco/src/tcp/Makefile b/lib/megaco/src/tcp/Makefile
-index d07db3f..7f421d2 100644
+index d07db3fa4b..7f421d24cc 100644
--- a/lib/megaco/src/tcp/Makefile
+++ b/lib/megaco/src/tcp/Makefile
@@ -94,7 +94,7 @@ release_spec: opt
@@ -595,7 +595,7 @@ index d07db3f..7f421d2 100644
release_docs_spec:
diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile
-index 8e7e82b..2a118d2 100644
+index 8e7e82b276..2a118d24e3 100644
--- a/lib/megaco/src/text/Makefile
+++ b/lib/megaco/src/text/Makefile
@@ -135,7 +135,7 @@ release_spec: opt
@@ -608,7 +608,7 @@ index 8e7e82b..2a118d2 100644
release_docs_spec:
diff --git a/lib/megaco/src/udp/Makefile b/lib/megaco/src/udp/Makefile
-index 028a63e..9e11e9b 100644
+index 028a63e98e..9e11e9bfb2 100644
--- a/lib/megaco/src/udp/Makefile
+++ b/lib/megaco/src/udp/Makefile
@@ -94,7 +94,7 @@ release_spec: opt
@@ -621,7 +621,7 @@ index 028a63e..9e11e9b 100644
release_docs_spec:
diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile
-index 08a00e6..a21ffb3 100644
+index 08a00e6aba..a21ffb3801 100644
--- a/lib/mnesia/src/Makefile
+++ b/lib/mnesia/src/Makefile
@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -634,7 +634,7 @@ index 08a00e6..a21ffb3 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile
-index ff2bcbd..4973158 100644
+index ff2bcbdb99..4973158705 100644
--- a/lib/observer/src/Makefile
+++ b/lib/observer/src/Makefile
@@ -149,7 +149,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -646,7 +646,7 @@ index ff2bcbd..4973158 100644
$(INSTALL_DIR) "$(RELSYSDIR)/examples"
$(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples"
diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile
-index 7ca5949..a52ade2 100644
+index 7ca59495ed..a52ade2fe3 100644
--- a/lib/odbc/src/Makefile
+++ b/lib/odbc/src/Makefile
@@ -110,7 +110,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -659,7 +659,7 @@ index 7ca5949..a52ade2 100644
$(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/orber/COSS/CosNaming/Makefile b/lib/orber/COSS/CosNaming/Makefile
-index 1086633..553c9cd 100644
+index 108663396c..553c9cdd01 100644
--- a/lib/orber/COSS/CosNaming/Makefile
+++ b/lib/orber/COSS/CosNaming/Makefile
@@ -145,8 +145,8 @@ release_spec: opt
@@ -674,7 +674,7 @@ index 1086633..553c9cd 100644
release_docs_spec:
diff --git a/lib/orber/src/Makefile b/lib/orber/src/Makefile
-index 7fec29a..a71b9f1 100644
+index 7fec29a000..a71b9f1227 100644
--- a/lib/orber/src/Makefile
+++ b/lib/orber/src/Makefile
@@ -253,7 +253,7 @@ release_spec: opt
@@ -687,7 +687,7 @@ index 7fec29a..a71b9f1 100644
$(INSTALL_DATA) $(EXTERNAL_HRL_FILES) $(GEN_HRL_FILES_EXT) "$(RELSYSDIR)/include"
diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
-index 29b53a8..3ae2074 100644
+index 29b53a8188..3ae2074f8c 100644
--- a/lib/os_mon/src/Makefile
+++ b/lib/os_mon/src/Makefile
@@ -105,7 +105,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -699,7 +699,7 @@ index 29b53a8..3ae2074 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/otp_mibs/src/Makefile b/lib/otp_mibs/src/Makefile
-index 4023f50..864a0a5 100644
+index 4023f50d48..864a0a53d8 100644
--- a/lib/otp_mibs/src/Makefile
+++ b/lib/otp_mibs/src/Makefile
@@ -96,8 +96,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -712,7 +712,7 @@ index 4023f50..864a0a5 100644
$(INSTALL_DATA) $(TARGETS) "$(RELSYSDIR)/ebin"
diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile
-index dea29be..655aea9 100644
+index dea29bee4c..655aea91ca 100644
--- a/lib/parsetools/src/Makefile
+++ b/lib/parsetools/src/Makefile
@@ -91,8 +91,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -725,7 +725,7 @@ index dea29be..655aea9 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/percept/src/Makefile b/lib/percept/src/Makefile
-index b2ec87d..3153e34 100644
+index b2ec87d08c..3153e34f7a 100644
--- a/lib/percept/src/Makefile
+++ b/lib/percept/src/Makefile
@@ -97,7 +97,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -737,7 +737,7 @@ index b2ec87d..3153e34 100644
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
# $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile
-index a920ea8..7672ef3 100644
+index a920ea87ea..7672ef3470 100644
--- a/lib/public_key/asn1/Makefile
+++ b/lib/public_key/asn1/Makefile
@@ -96,8 +96,8 @@ release_spec: opt
@@ -752,7 +752,7 @@ index a920ea8..7672ef3 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile
-index e61390b..6ed6c2c 100644
+index e61390bce3..6ed6c2cf9f 100644
--- a/lib/public_key/src/Makefile
+++ b/lib/public_key/src/Makefile
@@ -109,8 +109,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -765,7 +765,7 @@ index e61390b..6ed6c2c 100644
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile
-index 4bddee4..c714255 100644
+index 4bddee4664..c714255548 100644
--- a/lib/reltool/src/Makefile
+++ b/lib/reltool/src/Makefile
@@ -100,7 +100,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -778,7 +778,7 @@ index 4bddee4..c714255 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/runtime_tools/src/Makefile b/lib/runtime_tools/src/Makefile
-index 2c90295..d674a8f 100644
+index 2c902952a1..d674a8fe13 100644
--- a/lib/runtime_tools/src/Makefile
+++ b/lib/runtime_tools/src/Makefile
@@ -99,8 +99,6 @@ docs:
@@ -791,7 +791,7 @@ index 2c90295..d674a8f 100644
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/examples"
diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile
-index ac7ee51..c53f661 100644
+index ac7ee51100..c53f661675 100644
--- a/lib/sasl/src/Makefile
+++ b/lib/sasl/src/Makefile
@@ -93,7 +93,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -803,7 +803,7 @@ index ac7ee51..c53f661 100644
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/snmp/src/agent/Makefile b/lib/snmp/src/agent/Makefile
-index 2943a4d..8203e62 100644
+index 2943a4d550..8203e62361 100644
--- a/lib/snmp/src/agent/Makefile
+++ b/lib/snmp/src/agent/Makefile
@@ -131,7 +131,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -816,7 +816,7 @@ index 2943a4d..8203e62 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile
-index 6f2b8a4..bd062a6 100644
+index 6f2b8a4077..bd062a6473 100644
--- a/lib/snmp/src/app/Makefile
+++ b/lib/snmp/src/app/Makefile
@@ -132,7 +132,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -829,7 +829,7 @@ index 6f2b8a4..bd062a6 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/snmp/src/compile/Makefile b/lib/snmp/src/compile/Makefile
-index 4093ffa..18878aa 100644
+index 4093ffa9ca..18878aa5db 100644
--- a/lib/snmp/src/compile/Makefile
+++ b/lib/snmp/src/compile/Makefile
@@ -123,7 +123,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -842,7 +842,7 @@ index 4093ffa..18878aa 100644
$(INSTALL_DATA) $(EBIN_FILES) "$(RELSYSDIR)/ebin"
$(INSTALL_DIR) "$(RELSYSDIR)/bin"
diff --git a/lib/snmp/src/manager/Makefile b/lib/snmp/src/manager/Makefile
-index 0cc8749..d203f28 100644
+index 0cc87492f1..d203f2846a 100644
--- a/lib/snmp/src/manager/Makefile
+++ b/lib/snmp/src/manager/Makefile
@@ -114,7 +114,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -855,7 +855,7 @@ index 0cc8749..d203f28 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile
-index adc2c48..89ce954 100644
+index adc2c4858f..89ce954e99 100644
--- a/lib/snmp/src/misc/Makefile
+++ b/lib/snmp/src/misc/Makefile
@@ -112,7 +112,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -868,7 +868,7 @@ index adc2c48..89ce954 100644
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile
-index 7ab6f22..b57da4a 100644
+index 7ab6f22424..b57da4ad67 100644
--- a/lib/ssh/src/Makefile
+++ b/lib/ssh/src/Makefile
@@ -136,7 +136,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -881,7 +881,7 @@ index 7ab6f22..b57da4a 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/ssl/src/Makefile b/lib/ssl/src/Makefile
-index 2e7df97..0cd43d3 100644
+index 2e7df9792e..0cd43d3805 100644
--- a/lib/ssl/src/Makefile
+++ b/lib/ssl/src/Makefile
@@ -151,7 +151,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -894,7 +894,7 @@ index 2e7df97..0cd43d3 100644
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \
$(APPUP_TARGET) "$(RELSYSDIR)/ebin"
diff --git a/lib/stdlib/src/Makefile b/lib/stdlib/src/Makefile
-index 302834f..53804f8 100644
+index 302834f9d0..53804f81ff 100644
--- a/lib/stdlib/src/Makefile
+++ b/lib/stdlib/src/Makefile
@@ -208,7 +208,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -906,7 +906,7 @@ index 302834f..53804f8 100644
$(INSTALL_DIR) "$(RELSYSDIR)/include"
$(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include"
diff --git a/lib/syntax_tools/src/Makefile b/lib/syntax_tools/src/Makefile
-index 8325db4..d17fdaa 100644
+index 8325db45a8..d17fdaa0ec 100644
--- a/lib/syntax_tools/src/Makefile
+++ b/lib/syntax_tools/src/Makefile
@@ -100,8 +100,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -919,7 +919,7 @@ index 8325db4..d17fdaa 100644
$(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include"
diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile
-index 032bd61..efb0309 100644
+index 032bd612db..efb0309eb8 100644
--- a/lib/tools/src/Makefile
+++ b/lib/tools/src/Makefile
@@ -106,7 +106,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk
@@ -932,7 +932,7 @@ index 032bd61..efb0309 100644
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
"$(RELSYSDIR)/ebin"
diff --git a/lib/typer/src/Makefile b/lib/typer/src/Makefile
-index 6c5d8b0..82f516a 100644
+index 6c5d8b0726..82f516a0e5 100644
--- a/lib/typer/src/Makefile
+++ b/lib/typer/src/Makefile
@@ -102,9 +102,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk
@@ -946,7 +946,7 @@ index 6c5d8b0..82f516a 100644
$(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin"
diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile
-index 21b45af..a7bf34f 100644
+index 21b45af2c4..a7bf34f4f4 100644
--- a/lib/wx/src/Makefile
+++ b/lib/wx/src/Makefile
@@ -122,9 +122,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES)
@@ -962,7 +962,7 @@ index 21b45af..a7bf34f 100644
$(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include"
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile
-index 51d9190..1ab65bd 100644
+index 51d9190797..1ab65bd2ed 100644
--- a/lib/xmerl/src/Makefile
+++ b/lib/xmerl/src/Makefile
@@ -218,9 +218,7 @@ release_spec: opt
diff --git a/otp-0007-Fix-CVE-2016-10253.patch b/otp-0007-Fix-CVE-2016-10253.patch
index bee9afb..ca5ab5d 100644
--- a/otp-0007-Fix-CVE-2016-10253.patch
+++ b/otp-0007-Fix-CVE-2016-10253.patch
@@ -4,7 +4,7 @@ Subject: [PATCH] Fix CVE-2016-10253
diff --git a/erts/emulator/pcre/pcre_compile.c b/erts/emulator/pcre/pcre_compile.c
-index d48126a..15a81fa 100644
+index d48126a55d..15a81fae56 100644
--- a/erts/emulator/pcre/pcre_compile.c
+++ b/erts/emulator/pcre/pcre_compile.c
@@ -2335,34 +2335,36 @@ for (;;)
@@ -299,7 +299,7 @@ index d48126a..15a81fa 100644
*bracode += OP_SBRA - OP_BRA;
break;
diff --git a/erts/emulator/pcre/pcre_internal.h b/erts/emulator/pcre/pcre_internal.h
-index af436bd..eb0db89 100644
+index af436bd99b..eb0db89619 100644
--- a/erts/emulator/pcre/pcre_internal.h
+++ b/erts/emulator/pcre/pcre_internal.h
@@ -2455,6 +2455,13 @@ typedef struct branch_chain {
diff --git a/sources b/sources
index 0c37bb0..5d92ca5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.3.2.tar.gz) = d895aa647fd5ad45a8733c9db846bc70d09cc03900fb9d09d6aa2e2448f92d5a13190c0d14d1e09ca46fb9088198175a0ea69e533ee9d8d8472250d66eab0c9a
+SHA512 (otp-OTP-19.3.3.tar.gz) = b720b3c4f7c80a59a2cdca8ea36246a8cb879542977497d13113a3128e21bd91355a44bc467b4e2bfb988be74e1b434d49237d08d76878f32e3fc9f1d5ec049c
From ae3c1bb728985290fdbc978a14e49302ab3212ea Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 12 May 2017 17:18:56 +0300
Subject: [PATCH 103/322] Erlang ver. 19.3.4
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 25 ++++++++++++++++---------
sources | 2 +-
3 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/.gitignore b/.gitignore
index efb0f9d..fd40fd7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -84,3 +84,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.3.1.tar.gz
/otp-OTP-19.3.2.tar.gz
/otp-OTP-19.3.3.tar.gz
+/otp-OTP-19.3.4.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 2dbc064..e5677ff 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,13 +65,13 @@
Name: erlang
-Version: 19.3.3
+Version: 19.3.4
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
License: ASL 2.0
-URL: http://www.erlang.org
+URL: https://www.erlang.org
%if 0%{?el7}%{?fedora}
VCS: scm:git:https://github.com/erlang/otp
%endif
@@ -574,6 +574,7 @@ Summary: IDL compiler
Group: Development/Languages
%if %{__with_java}
BuildRequires: java-devel
+Requires: javapackages-tools
%endif %{__with_java}
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
@@ -600,6 +601,7 @@ A set of services such as a Web server and a ftp client etc.
Summary: A library for accessing Java from Erlang
Group: Development/Languages
BuildRequires: java-devel
+Requires: javapackages-tools
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
%description jinterface
@@ -1165,7 +1167,7 @@ done
%pre erts
getent group epmd >/dev/null || groupadd -r epmd
getent passwd epmd >/dev/null || \
-useradd -r -g epmd -d /tmp -s /sbin/nologin \
+useradd -r -g epmd -d /dev/null -s /sbin/nologin \
-c "Erlang Port Mapper Daemon" epmd 2>/dev/null || :
@@ -1598,9 +1600,9 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%{_libdir}/erlang/lib/ic-*/include
%{_libdir}/erlang/lib/ic-*/priv
%{_libdir}/erlang/lib/ic-*/src
-# FIXME see erlang-jinterface also
-#%dir %{_javadir}/%{name}/
%if %{__with_java}
+# FIXME see also erlang-jinterface
+%dir %{_javadir}/%{name}/
%{_javadir}/%{name}/ic.jar
%endif %{__with_java}
%if %{with doc}
@@ -1633,8 +1635,8 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%if %{__with_java}
%files jinterface
-# FIXME see erlang-ic also
-#%dir %{_javadir}/%{name}/
+# FIXME see also erlang-ic
+%dir %{_javadir}/%{name}/
%{_javadir}/%{name}/OtpErlang.jar
%{_libdir}/erlang/lib/jinterface-*/
%endif %{__with_java}
@@ -2316,8 +2318,13 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
%changelog
+* Fri May 12 2017 Peter Lemenkov - 19.3.4-1
+- Ver. 19.3.4
+- Require javapackages-tools (/use/share/java)
+- Use /dev/null as a homedir for EPMD (its shell is /sbin/nologin anyway)
+
* Tue May 2 2017 Peter Lemenkov - 19.3.3-1
-- Ver. 19.3.2
+- Ver. 19.3.3
* Mon Apr 24 2017 Peter Lemenkov - 19.3.2-1
- Ver. 19.3.2
@@ -2802,7 +2809,7 @@ useradd -r -g epmd -d /tmp -s /sbin/nologin \
- new release R12B-0
* Wed Dec 05 2007 Release Engineering - R11B-6
- - Rebuild for deps
+- Rebuild for deps
* Sun Aug 19 2007 Gerard Milmeister - R11B-5.3
- fix some permissions
diff --git a/sources b/sources
index 5d92ca5..d2b6a26 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.3.3.tar.gz) = b720b3c4f7c80a59a2cdca8ea36246a8cb879542977497d13113a3128e21bd91355a44bc467b4e2bfb988be74e1b434d49237d08d76878f32e3fc9f1d5ec049c
+SHA512 (otp-OTP-19.3.4.tar.gz) = c370964b01caf65005c8168d379567e867d09e1584b69ffc28d7405467967cc3e9a76b8421ab16ba0ff853d921d82f8a1e082c3f7661e6f64342ec0d3fed1853
From 56767782dce01a7ca6af71ebf528d3bc808afa4a Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 7 Jun 2017 18:56:58 +0300
Subject: [PATCH 104/322] Ver. 19.3.5
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 13 ++++++++++---
sources | 2 +-
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/.gitignore b/.gitignore
index fd40fd7..64cae11 100644
--- a/.gitignore
+++ b/.gitignore
@@ -85,3 +85,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.3.2.tar.gz
/otp-OTP-19.3.3.tar.gz
/otp-OTP-19.3.4.tar.gz
+/otp-OTP-19.3.5.tar.gz
diff --git a/erlang.spec b/erlang.spec
index e5677ff..58fda60 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.3.4
+Version: 19.3.5
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -1160,8 +1160,11 @@ done
%check
-# FIXME run tests somehow
-# make tests || exit 0
+TARGET="$(make target_configured)"
+ERL_TOP="$(pwd)"
+# FIXME we'll keep "exit 0" for a while to check if everything ok on secondary
+# arches.
+ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests || exit 0
%pre erts
@@ -2318,6 +2321,10 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%changelog
+* Wed Jun 7 2017 Peter Lemenkov - 19.3.5-1
+- Ver. 19.3.5
+- Enabled tests
+
* Fri May 12 2017 Peter Lemenkov - 19.3.4-1
- Ver. 19.3.4
- Require javapackages-tools (/use/share/java)
diff --git a/sources b/sources
index d2b6a26..b332493 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.3.4.tar.gz) = c370964b01caf65005c8168d379567e867d09e1584b69ffc28d7405467967cc3e9a76b8421ab16ba0ff853d921d82f8a1e082c3f7661e6f64342ec0d3fed1853
+SHA512 (otp-OTP-19.3.5.tar.gz) = d3ea25114195abd66989ede948075a6afbd4a02e4fd94a5227be52d397182df0274951ac9a061f62779d040d3d156bc05a0b1189419ce41a84a727f5c2e5d99c
From 3484e6a9b9cf8d88ce530fc8ea6c1bfbee851c7e Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 13 Jun 2017 16:18:20 +0300
Subject: [PATCH 105/322] Ver. 19.3.6
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 12 ++++++++----
sources | 2 +-
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/.gitignore b/.gitignore
index 64cae11..61129c6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -86,3 +86,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.3.3.tar.gz
/otp-OTP-19.3.4.tar.gz
/otp-OTP-19.3.5.tar.gz
+/otp-OTP-19.3.6.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 58fda60..320334c 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.3.5
+Version: 19.3.6
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -1162,9 +1162,10 @@ done
%check
TARGET="$(make target_configured)"
ERL_TOP="$(pwd)"
-# FIXME we'll keep "exit 0" for a while to check if everything ok on secondary
-# arches.
-ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests || exit 0
+ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests
+# Unfortunately running the tests will take several hours. So we build the
+# package w/o tests for now. See this:
+# https://github.com/erlang/otp/wiki/Running-tests
%pre erts
@@ -2321,6 +2322,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%changelog
+* Tue Jun 13 2017 Peter Lemenkov - 19.3.6-1
+- Ver. 19.3.6
+
* Wed Jun 7 2017 Peter Lemenkov - 19.3.5-1
- Ver. 19.3.5
- Enabled tests
diff --git a/sources b/sources
index b332493..08471d6 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.3.5.tar.gz) = d3ea25114195abd66989ede948075a6afbd4a02e4fd94a5227be52d397182df0274951ac9a061f62779d040d3d156bc05a0b1189419ce41a84a727f5c2e5d99c
+SHA512 (otp-OTP-19.3.6.tar.gz) = 18369e7736d0d697f84bc7ba537741bd601440372493024b5d9ee0de713c00941b41045b3e93d43f575e0e30a8b0eb741725c14f9704430e187e1116a548a394
From fc59c2ce6ea83028cafb2af0f34917ed038a123e Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 16 Jun 2017 17:44:33 +0300
Subject: [PATCH 106/322] Fix EPMD port assignment in IPv6 environment
See this PR for the details:
* https://github.com/erlang/otp/pull/erlang/otp/pull/1487
Signed-off-by: Peter Lemenkov
---
erlang.spec | 9 ++++++-
...erl_epmd-port_please-when-using-IPv6.patch | 26 +++++++++++++++++++
2 files changed, 34 insertions(+), 1 deletion(-)
create mode 100644 otp-0008-Fix-erl_epmd-port_please-when-using-IPv6.patch
diff --git a/erlang.spec b/erlang.spec
index 320334c..32b5638 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -66,7 +66,7 @@
Name: erlang
Version: 19.3.6
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -119,6 +119,9 @@ Patch6: otp-0006-Do-not-install-erlang-sources.patch
# Fedora specific patch
# Fix CVE-2016-10253
Patch7: otp-0007-Fix-CVE-2016-10253.patch
+# Fedora specific patch
+# Fix erl_epmd:port_please when using IPv6
+Patch8: otp-0008-Fix-erl_epmd-port_please-when-using-IPv6.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -932,6 +935,7 @@ Provides support for XML 1.0.
%patch5 -p1 -b .Do_not_install_nteventlog_and_related_doc_files_on_n
%patch6 -p1 -b .Do_not_install_erlang_sources
%patch7 -p1 -b .Fix_CVE_2016_10253
+%patch8 -p1 -b .Fix_erl_epmd_port_please_when_using_IPv6
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -2322,6 +2326,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%changelog
+* Fri Jun 16 2017 Peter Lemenkov - 19.3.6-2
+- Fix EPMD port assignment in IPv6 env. (GH#1487)
+
* Tue Jun 13 2017 Peter Lemenkov - 19.3.6-1
- Ver. 19.3.6
diff --git a/otp-0008-Fix-erl_epmd-port_please-when-using-IPv6.patch b/otp-0008-Fix-erl_epmd-port_please-when-using-IPv6.patch
new file mode 100644
index 0000000..866d325
--- /dev/null
+++ b/otp-0008-Fix-erl_epmd-port_please-when-using-IPv6.patch
@@ -0,0 +1,26 @@
+From: John Eckersberg
+Date: Wed, 14 Jun 2017 12:32:17 -0400
+Subject: [PATCH] Fix erl_epmd:port_please when using IPv6
+
+This mirrors the behavior of inet:gethostbyname when no family or
+timeout is supplied.
+
+diff --git a/lib/kernel/src/erl_epmd.erl b/lib/kernel/src/erl_epmd.erl
+index 7bc9e2ede3..f96bc88913 100644
+--- a/lib/kernel/src/erl_epmd.erl
++++ b/lib/kernel/src/erl_epmd.erl
+@@ -79,7 +79,13 @@ port_please(Node, EpmdAddr, Timeout) ->
+
+
+ port_please1(Node,HostName, Timeout) ->
+- case inet:gethostbyname(HostName, inet, Timeout) of
++ Family = case inet_db:res_option(inet6) of
++ true ->
++ inet6;
++ false ->
++ inet
++ end,
++ case inet:gethostbyname(HostName, Family, Timeout) of
+ {ok,{hostent, _Name, _ , _Af, _Size, [EpmdAddr | _]}} ->
+ get_port(Node, EpmdAddr, Timeout);
+ Else ->
From dcf7a2f92c67e1eff4ddb705a5e3265b0922d661 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 30 Jun 2017 15:40:15 +0300
Subject: [PATCH 107/322] Ver. 19.3.6.1
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 7 +++++--
sources | 2 +-
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/.gitignore b/.gitignore
index 61129c6..97218e0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -87,3 +87,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.3.4.tar.gz
/otp-OTP-19.3.5.tar.gz
/otp-OTP-19.3.6.tar.gz
+/otp-OTP-19.3.6.1.tar.gz
diff --git a/erlang.spec b/erlang.spec
index 32b5638..f644508 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,8 +65,8 @@
Name: erlang
-Version: 19.3.6
-Release: 2%{?dist}
+Version: 19.3.6.1
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2326,6 +2326,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%changelog
+* Fri Jun 30 2017 Peter Lemenkov - 19.3.6.1-1
+- Ver. 19.3.6.1
+
* Fri Jun 16 2017 Peter Lemenkov - 19.3.6-2
- Fix EPMD port assignment in IPv6 env. (GH#1487)
diff --git a/sources b/sources
index 08471d6..cffeee2 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.3.6.tar.gz) = 18369e7736d0d697f84bc7ba537741bd601440372493024b5d9ee0de713c00941b41045b3e93d43f575e0e30a8b0eb741725c14f9704430e187e1116a548a394
+SHA512 (otp-OTP-19.3.6.1.tar.gz) = dfcaba4e9ec3ca1beb7ee3d86bcce9c414b19b41b08d7ff4054a1ffb6b41a5b695e4f299703d78d7b25931d6961c16edf113090ca2bb4bfab801e97b337e3c6b
From e5db7d37d5cf7d9f4d951e906a2cb3f800fba668 Mon Sep 17 00:00:00 2001
From: Fedora Release Engineering
Date: Wed, 26 Jul 2017 07:33:38 +0000
Subject: [PATCH 108/322] - Rebuilt for
https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
---
erlang.spec | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index f644508..c35e76f 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -66,7 +66,7 @@
Name: erlang
Version: 19.3.6.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2326,6 +2326,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%changelog
+* Wed Jul 26 2017 Fedora Release Engineering - 19.3.6.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
* Fri Jun 30 2017 Peter Lemenkov - 19.3.6.1-1
- Ver. 19.3.6.1
From 54498e8c8864ca42e57e688c909cb2896a57e0e8 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 31 Jul 2017 17:32:29 +0300
Subject: [PATCH 109/322] Ver. 19.3.6.2
Signed-off-by: Peter Lemenkov
---
.gitignore | 1 +
erlang.spec | 7 +++++--
sources | 2 +-
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/.gitignore b/.gitignore
index 97218e0..8a6ffa5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -88,3 +88,4 @@ otp_src_R14A.tar.gz
/otp-OTP-19.3.5.tar.gz
/otp-OTP-19.3.6.tar.gz
/otp-OTP-19.3.6.1.tar.gz
+/otp-OTP-19.3.6.2.tar.gz
diff --git a/erlang.spec b/erlang.spec
index c35e76f..0168b40 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,8 +65,8 @@
Name: erlang
-Version: 19.3.6.1
-Release: 2%{?dist}
+Version: 19.3.6.2
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2326,6 +2326,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%changelog
+* Mon Jul 31 2017 Peter Lemenkov - 19.3.6.2-1
+- Ver. 19.3.6.2
+
* Wed Jul 26 2017 Fedora Release Engineering - 19.3.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
diff --git a/sources b/sources
index cffeee2..5255c77 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.3.6.1.tar.gz) = dfcaba4e9ec3ca1beb7ee3d86bcce9c414b19b41b08d7ff4054a1ffb6b41a5b695e4f299703d78d7b25931d6961c16edf113090ca2bb4bfab801e97b337e3c6b
+SHA512 (otp-OTP-19.3.6.2.tar.gz) = 195cff90ef13761b03c311eadd238907dbc4b9c3ddff19c0356ead33f55113d535b15f250d06b32cbcdff6e34dfc8c3677f9e7d021b355defae74ae49f672ed0
From 20535944dde0f2448bdb62bd5f3ea825a38a99d0 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 2 Aug 2017 16:14:59 +0300
Subject: [PATCH 110/322] Search /usr/share/erlang/lib for libraries as well
Signed-off-by: Peter Lemenkov
---
erlang.spec | 15 +++++++++++-
otp-0009-Add-extra-search-directory.patch | 30 +++++++++++++++++++++++
2 files changed, 44 insertions(+), 1 deletion(-)
create mode 100644 otp-0009-Add-extra-search-directory.patch
diff --git a/erlang.spec b/erlang.spec
index 0168b40..efe2026 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -66,7 +66,7 @@
Name: erlang
Version: 19.3.6.2
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -122,6 +122,9 @@ Patch7: otp-0007-Fix-CVE-2016-10253.patch
# Fedora specific patch
# Fix erl_epmd:port_please when using IPv6
Patch8: otp-0008-Fix-erl_epmd-port_please-when-using-IPv6.patch
+# Fedora specific patch
+# Add extra search directory
+Patch9: otp-0009-Add-extra-search-directory.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -936,6 +939,7 @@ Provides support for XML 1.0.
%patch6 -p1 -b .Do_not_install_erlang_sources
%patch7 -p1 -b .Fix_CVE_2016_10253
%patch8 -p1 -b .Fix_erl_epmd_port_please_when_using_IPv6
+%patch9 -p1 -b .Add_extra_search_directory
# end of autogenerated prep patch list
# FIXME we should come up with a better solution
@@ -1162,6 +1166,10 @@ do
done
%endif %{__with_wxwidgets}
+# Provide a place for noarch libs to live.
+install -d -p -m 0755 %{buildroot}%{_datadir}/erlang/
+install -d -p -m 0755 %{buildroot}%{_datadir}/erlang/lib
+
%check
TARGET="$(make target_configured)"
@@ -1445,6 +1453,8 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
# TODO
# In order to have a parallel-installable Erlang packages these directories
# should be packaged separately
+%dir %{_datadir}/erlang/
+%dir %{_datadir}/erlang/lib/
%dir %{_libdir}/erlang/
%dir %{_libdir}/erlang/bin/
%dir %{_libdir}/erlang/lib/
@@ -2326,6 +2336,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%changelog
+* Tue Aug 1 2017 Randy Barlow - 19.3.6.2-2
+- Search /usr/share/erlang/lib for libraries as well
+
* Mon Jul 31 2017 Peter Lemenkov - 19.3.6.2-1
- Ver. 19.3.6.2
diff --git a/otp-0009-Add-extra-search-directory.patch b/otp-0009-Add-extra-search-directory.patch
new file mode 100644
index 0000000..baa993f
--- /dev/null
+++ b/otp-0009-Add-extra-search-directory.patch
@@ -0,0 +1,30 @@
+From: Peter Lemenkov
+Date: Wed, 2 Aug 2017 16:12:19 +0300
+Subject: [PATCH] Add extra search directory
+
+Signed-off-by: Peter Lemenkov
+
+diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl
+index 59b26176bf..5f3d68db2a 100644
+--- a/lib/kernel/src/code_server.erl
++++ b/lib/kernel/src/code_server.erl
+@@ -79,11 +79,15 @@ init(Ref, Parent, [Root,Mode]) ->
+ IPath =
+ case Mode of
+ interactive ->
+- LibDir = filename:append(Root, "lib"),
+- {ok,Dirs} = erl_prim_loader:list_dir(LibDir),
+- Paths = make_path(LibDir, Dirs),
++ F = fun(R) ->
++ LD = filename:append(R, "lib"),
++ {ok,D} = erl_prim_loader:list_dir(LD),
++ make_path(LD, D)
++ end,
++ Paths = F(Root),
++ SharedPaths = F("/usr/share/erlang"),
+ UserLibPaths = get_user_lib_dirs(),
+- ["."] ++ UserLibPaths ++ Paths;
++ ["."] ++ UserLibPaths ++ Paths ++ SharedPaths;
+ _ ->
+ []
+ end,
From c76a7576fa1bfe2de60eadfbc4d89b2a0b38ec0a Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Wed, 9 Aug 2017 10:17:03 +0300
Subject: [PATCH 111/322] Fix patch
Signed-off-by: Peter Lemenkov
---
otp-0009-Add-extra-search-directory.patch | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/otp-0009-Add-extra-search-directory.patch b/otp-0009-Add-extra-search-directory.patch
index baa993f..961fa32 100644
--- a/otp-0009-Add-extra-search-directory.patch
+++ b/otp-0009-Add-extra-search-directory.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add extra search directory
Signed-off-by: Peter Lemenkov
diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl
-index 59b26176bf..5f3d68db2a 100644
+index 59b26176bf..89297718fe 100644
--- a/lib/kernel/src/code_server.erl
+++ b/lib/kernel/src/code_server.erl
-@@ -79,11 +79,15 @@ init(Ref, Parent, [Root,Mode]) ->
+@@ -79,11 +79,17 @@ init(Ref, Parent, [Root,Mode]) ->
IPath =
case Mode of
interactive ->
@@ -17,8 +17,10 @@ index 59b26176bf..5f3d68db2a 100644
- Paths = make_path(LibDir, Dirs),
+ F = fun(R) ->
+ LD = filename:append(R, "lib"),
-+ {ok,D} = erl_prim_loader:list_dir(LD),
-+ make_path(LD, D)
++ case erl_prim_loader:list_dir(LD) of
++ error -> [];
++ {ok, D} -> make_path(LD, D)
++ end
+ end,
+ Paths = F(Root),
+ SharedPaths = F("/usr/share/erlang"),
From 2ee53c8aaefbd52999c29dfb8ca1d67c8a676180 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 6 Oct 2017 16:42:55 +0300
Subject: [PATCH 112/322] Erlang ver. 19.3.6.3
Signed-off-by: Peter Lemenkov
---
.gitignore | 98 ++++------------------------------------------
erlang.spec | 36 ++---------------
otp-get-patches.sh | 29 +-------------
sources | 2 +-
4 files changed, 12 insertions(+), 153 deletions(-)
diff --git a/.gitignore b/.gitignore
index 8a6ffa5..36e05df 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,91 +1,7 @@
-otp_src_R14A.tar.gz
-/otp_src_R14B.tar.gz
-/otp_doc_html_R14B.tar.gz
-/otp_doc_man_R14B.tar.gz
-/otp_doc_html_R14B01.tar.gz
-/otp_doc_man_R14B01.tar.gz
-/otp_src_R14B01.tar.gz
-/otp_doc_html_R14B02.tar.gz
-/otp_doc_man_R14B02.tar.gz
-/otp_src_R14B02.tar.gz
-/otp_src_R14B03.tar.gz
-/otp_doc_html_R14B03.tar.gz
-/otp_doc_man_R14B03.tar.gz
-/otp_src_R14B04.tar.gz
-/otp_doc_html_R14B04.tar.gz
-/otp_doc_man_R14B04.tar.gz
-/otp_doc_html_R15B.tar.gz
-/otp_doc_man_R15B.tar.gz
-/otp_src_R15B.tar.gz
-/otp_doc_html_R15B01.tar.gz
-/otp_doc_man_R15B01.tar.gz
-/otp_src_R15B01.tar.gz
-/otp_doc_html_R15B02.tar.gz
-/otp_doc_man_R15B02.tar.gz
-/otp_src_R15B02.tar.gz
-/otp_doc_html_R15B03-1.tar.gz
-/otp_doc_man_R15B03-1.tar.gz
-/otp_src_R15B03-1.readme
-/otp_src_R15B03-1.tar.gz
-/otp_doc_html_R16A_RELEASE_CANDIDATE.tar.gz
-/otp_doc_man_R16A_RELEASE_CANDIDATE.tar.gz
-/otp_src_R16A_RELEASE_CANDIDATE.tar.gz
-/otp_src_R16A_RELEASE_CANDIDATE.readme
-/otp_src_R16B.tar.gz
-/otp_doc_html_R16B.tar.gz
-/otp_doc_man_R16B.tar.gz
-/otp_src_R16B01.tar.gz
-/otp_doc_html_R16B01.tar.gz
-/otp_doc_man_R16B01.tar.gz
-/otp_src_R16B01.readme
-/otp_src_R16B02.tar.gz
-/otp_doc_html_R16B02.tar.gz
-/otp_doc_man_R16B02.tar.gz
-/otp_src_R16B02.readme
-/otp_src_R16B03.tar.gz
-/otp_doc_html_R16B03.tar.gz
-/otp_doc_man_R16B03.tar.gz
-/otp_src_R16B03.readme
-/otp_src_R16B03-1.readme
-/otp_doc_html_R16B03-1.tar.gz
-/otp_doc_man_R16B03-1.tar.gz
-/otp_src_R16B03-1.tar.gz
-/otp-OTP-17.2.1.tar.gz
-/otp-OTP-17.2.2.tar.gz
-/otp-OTP-17.3.3.tar.gz
-/otp-OTP-17.3.4.tar.gz
-/otp-OTP-17.4.tar.gz
-/otp-OTP-18.2.2.tar.gz
-/otp-OTP-18.2.3.tar.gz
-/otp-OTP-18.2.4.tar.gz
-/otp-OTP-18.3.tar.gz
-/otp-OTP-18.3.1.tar.gz
-/otp-OTP-18.3.2.tar.gz
-/otp-OTP-18.3.3.tar.gz
-/otp-OTP-18.3.4.tar.gz
-/otp-OTP-18.3.4.1.tar.gz
-/otp-OTP-18.3.4.2.tar.gz
-/otp-OTP-19.0.2.tar.gz
-/otp-OTP-19.0.4.tar.gz
-/otp-OTP-19.0.5.tar.gz
-/otp-OTP-19.0.6.tar.gz
-/otp-OTP-19.0.7.tar.gz
-/otp-OTP-19.1.1.tar.gz
-/otp-OTP-19.1.2.tar.gz
-/otp-OTP-19.1.3.tar.gz
-/otp-OTP-19.1.4.tar.gz
-/otp-OTP-19.1.5.tar.gz
-/otp-OTP-19.1.6.tar.gz
-/otp-OTP-19.2.tar.gz
-/otp-OTP-19.2.1.tar.gz
-/otp-OTP-19.2.2.tar.gz
-/otp-OTP-19.2.3.tar.gz
-/otp-OTP-19.3.tar.gz
-/otp-OTP-19.3.1.tar.gz
-/otp-OTP-19.3.2.tar.gz
-/otp-OTP-19.3.3.tar.gz
-/otp-OTP-19.3.4.tar.gz
-/otp-OTP-19.3.5.tar.gz
-/otp-OTP-19.3.6.tar.gz
-/otp-OTP-19.3.6.1.tar.gz
-/otp-OTP-19.3.6.2.tar.gz
+/*.src.rpm
+/*~
+/otp-OTP-*.tar.gz
+/otp_doc_html_R*.tar.gz
+/otp_doc_man_R*.tar.gz
+/otp_src_R*.readme
+/otp_src_R*.tar.gz
diff --git a/erlang.spec b/erlang.spec
index efe2026..27fbd72 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,8 +65,8 @@
Name: erlang
-Version: 19.3.6.2
-Release: 2%{?dist}
+Version: 19.3.6.3
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -98,32 +98,14 @@ Source999: otp-get-patches.sh
# for some semi-automatic patch update assistance.
#
# start of autogenerated patch tag list
-# Fedora specific patch
-# Do not format man-pages and do not install miscellaneous
Patch1: otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
-# Fedora specific patch
-# Remove rpath
Patch2: otp-0002-Remove-rpath.patch
-# Fedora specific patch
-# Do not install C sources
Patch3: otp-0003-Do-not-install-C-sources.patch
-# Fedora specific patch
-# Do not install Java sources
Patch4: otp-0004-Do-not-install-Java-sources.patch
-# Fedora specific patch
-# Do not install nteventlog and related doc-files on non-win32
Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
-# Fedora specific patch
-# Do not install erlang sources
Patch6: otp-0006-Do-not-install-erlang-sources.patch
-# Fedora specific patch
-# Fix CVE-2016-10253
Patch7: otp-0007-Fix-CVE-2016-10253.patch
-# Fedora specific patch
-# Fix erl_epmd:port_please when using IPv6
Patch8: otp-0008-Fix-erl_epmd-port_please-when-using-IPv6.patch
-# Fedora specific patch
-# Add extra search directory
Patch9: otp-0009-Add-extra-search-directory.patch
# end of autogenerated patch tag list
@@ -928,19 +910,7 @@ Provides support for XML 1.0.
### END OF AUTOGENERATED LIST ###
%prep
-%setup -q -n otp-OTP-%{version}
-
-# start of autogenerated prep patch list
-%patch1 -p1 -b .Do_not_format_man_pages_and_do_not_install_miscellan
-%patch2 -p1 -b .Remove_rpath
-%patch3 -p1 -b .Do_not_install_C_sources
-%patch4 -p1 -b .Do_not_install_Java_sources
-%patch5 -p1 -b .Do_not_install_nteventlog_and_related_doc_files_on_n
-%patch6 -p1 -b .Do_not_install_erlang_sources
-%patch7 -p1 -b .Fix_CVE_2016_10253
-%patch8 -p1 -b .Fix_erl_epmd_port_please_when_using_IPv6
-%patch9 -p1 -b .Add_extra_search_directory
-# end of autogenerated prep patch list
+%autosetup -n otp-OTP-%{version}
# FIXME we should come up with a better solution
# remove shipped zlib sources
diff --git a/otp-get-patches.sh b/otp-get-patches.sh
index 033db0e..75d4a54 100755
--- a/otp-get-patches.sh
+++ b/otp-get-patches.sh
@@ -17,18 +17,6 @@
#
# # start of autogenerated patch tag list
# # end of autogenerated patch tag list
-# # start of autogenerated prep patch list
-# # end of autogenerated prep patch list
-#
-# The following special comment lines in the git commit messages
-# will be interpreted:
-#
-# Fedora-Spec-Comment: This patch only applies to EL6 builds
-# Fedora-Spec-Before: %if 0%?el6}
-# Fedora-Spec-After: %endif
-#
-# If there is no "Fedora-Spec-Comment:" line, we will use
-# "Fedora specific patch".
# Command line parsing
otp_dir="${1:?'Fatal: otp git repo dir required'}"
@@ -49,44 +37,29 @@ test -s "$tmpdir/patch-list.txt"
# Process patch files
echo "# start of autogenerated patch tag list" > "$tmpdir/patch-list-tags.txt"
-echo "# start of autogenerated prep patch list" > "$tmpdir/patch-list-prep.txt"
n=1
while read patch
do
otppatch="$(dirname "$patch")/otp-$(basename "$patch")"
${SED-sed} -e '1d' -e '/^-- $/,$d' "$patch" > "$otppatch"
rm -f "$patch"
- comment="$(sed -n 's/^Fedora-Spec-Comment:\s*//p' "$otppatch")"
- if test "x$comment" = "x"; then comment="Fedora specific patch"; fi
- echo "# ${comment}" >> "$tmpdir/patch-list-tags.txt"
- echo "# $(sed -n 's/^Subject: \[PATCH\] //p' "$otppatch")" >> "$tmpdir/patch-list-tags.txt"
echo "Patch$n: $(basename "$otppatch")" >> "$tmpdir/patch-list-tags.txt"
- base="$(basename "$patch" ".patch" | sed 's/^00[0-9][0-9]-//')"
- backupext=".$(echo -n "$base" | tr -c -s '[:alnum:]' '_')"
- sed -n 's/^Fedora-Spec-Before:\s*//p' "$otppatch" >> "$tmpdir/patch-list-prep.txt"
- echo "%patch$n -p1 -b ${backupext}" >> "$tmpdir/patch-list-prep.txt"
- sed -n 's/^Fedora-Spec-After:\s*//p' "$otppatch" >> "$tmpdir/patch-list-prep.txt"
n=$(($n + 1))
done < "$tmpdir/patch-list.txt"
echo "# end of autogenerated patch tag list" >> "$tmpdir/patch-list-tags.txt"
-echo "# end of autogenerated prep patch list" >> "$tmpdir/patch-list-prep.txt"
# Create updated spec file
specfile="erlang.spec"
newspec1="${tmpdir}/${specfile}.new1"
-newspec2="${tmpdir}/${specfile}.new2"
sed '/^# start of autogenerated patch tag list$/,$d' "$specfile" > "$newspec1"
cat "$tmpdir/patch-list-tags.txt" >> "$newspec1"
sed '1,/^# end of autogenerated patch tag list/d' "$specfile" >> "$newspec1"
-sed '/^# start of autogenerated prep patch list$/,$d' "$newspec1" > "$newspec2"
-cat "$tmpdir/patch-list-prep.txt" >> "$newspec2"
-sed '1,/^# end of autogenerated prep patch list/d' "$newspec1" >> "$newspec2"
# Actually put all changes into git index
git rm -f otp-00*.patch
mv "$tmpdir/otp-00"*.patch .
git add otp-00*.patch
-mv -f "$newspec2" "$specfile"
+mv -f "$newspec1" "$specfile"
git add "$specfile"
rm -rf "$tmpdir"
diff --git a/sources b/sources
index 5255c77..5b53573 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.3.6.2.tar.gz) = 195cff90ef13761b03c311eadd238907dbc4b9c3ddff19c0356ead33f55113d535b15f250d06b32cbcdff6e34dfc8c3677f9e7d021b355defae74ae49f672ed0
+SHA512 (otp-OTP-19.3.6.3.tar.gz) = 9260dbc2dfff82c80697ec2a00452cb33411d895c66a8e6993fdf5a10cabbb8d52e5dc1755220584186c419ea179fd6380a13b89bbedcbdbdf766c2ac41d55f2
From b685bf295f55132318dfb880dd5f13623ea50985 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Fri, 6 Oct 2017 17:06:27 +0300
Subject: [PATCH 113/322] Typo fix
Signed-off-by: Peter Lemenkov
---
erlang.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index 27fbd72..27e4b00 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -910,7 +910,7 @@ Provides support for XML 1.0.
### END OF AUTOGENERATED LIST ###
%prep
-%autosetup -n otp-OTP-%{version}
+%autosetup -p1 -n otp-OTP-%{version}
# FIXME we should come up with a better solution
# remove shipped zlib sources
From f87281924c06b6ff5c8be4dc2335c9bf25379505 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Mon, 27 Nov 2017 15:16:23 +0300
Subject: [PATCH 114/322] Ver. 19.3.6.4
- Ver. 19.3.6.4
- ssl: Countermeasurements for Bleichenbacher attack
Signed-off-by: Peter Lemenkov
---
erlang.spec | 6 +++++-
sources | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index 27e4b00..aa7a44c 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.3.6.3
+Version: 19.3.6.4
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2306,6 +2306,10 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%changelog
+* Mon Nov 27 2017 Peter Lemenkov - 19.3.6.4
+- Ver. 19.3.6.4
+- ssl: Countermeasurements for Bleichenbacher attack
+
* Tue Aug 1 2017 Randy Barlow - 19.3.6.2-2
- Search /usr/share/erlang/lib for libraries as well
diff --git a/sources b/sources
index 5b53573..33101cb 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.3.6.3.tar.gz) = 9260dbc2dfff82c80697ec2a00452cb33411d895c66a8e6993fdf5a10cabbb8d52e5dc1755220584186c419ea179fd6380a13b89bbedcbdbdf766c2ac41d55f2
+SHA512 (otp-OTP-19.3.6.4.tar.gz) = 9cab3262cadc88fdace481995069ecdd821fff43511b38b849fb92e3fce621b83ba002626543113ea001ce899b3b8c675419c7331a7c8c965c254058bc0a10ac
From 14e348c526b96aec6a3dc3f17407d1c40f5ebe92 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 19 Dec 2017 13:11:18 +0300
Subject: [PATCH 115/322] Ver. 19.3.6.5
Signed-off-by: Peter Lemenkov
---
erlang.spec | 5 ++++-
sources | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index aa7a44c..efc339b 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -65,7 +65,7 @@
Name: erlang
-Version: 19.3.6.4
+Version: 19.3.6.5
Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
@@ -2306,6 +2306,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%changelog
+* Tue Dec 19 2017 Peter Lemenkov - 19.3.6.5
+- Ver. 19.3.6.5
+
* Mon Nov 27 2017 Peter Lemenkov - 19.3.6.4
- Ver. 19.3.6.4
- ssl: Countermeasurements for Bleichenbacher attack
diff --git a/sources b/sources
index 33101cb..0b72665 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-19.3.6.4.tar.gz) = 9cab3262cadc88fdace481995069ecdd821fff43511b38b849fb92e3fce621b83ba002626543113ea001ce899b3b8c675419c7331a7c8c965c254058bc0a10ac
+SHA512 (otp-OTP-19.3.6.5.tar.gz) = 7ed91bb3b2a5baa9674b811281746aae82b8d06dc1f7dfccf1a00e0d6be34e249d5fe1300fb6bd3d3a2a81409e326b32f82340461da58bba042e6900fdb5ed71
From 0b84386fb5bbaf0c577287209d80a6e2b754b8be Mon Sep 17 00:00:00 2001
From: Igor Gnatenko
Date: Mon, 15 Jan 2018 16:57:22 +0100
Subject: [PATCH 116/322] fix if conditions
Signed-off-by: Igor Gnatenko
---
erlang.spec | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/erlang.spec b/erlang.spec
index efc339b..b47e56f 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -72,7 +72,7 @@ Summary: General-purpose programming language and runtime environment
Group: Development/Languages
License: ASL 2.0
URL: https://www.erlang.org
-%if 0%{?el7}%{?fedora}
+%if ! (0%{?rhel} && 0%{?rhel} <= 6)
VCS: scm:git:https://github.com/erlang/otp
%endif
Source0: https://github.com/erlang/otp/archive/OTP-%{version}/otp-OTP-%{version}.tar.gz
@@ -118,13 +118,11 @@ BuildRequires: erlang
%endif
%endif
-%if 0%{?el7}%{?fedora}
+%if ! (0%{?rhel} && 0%{?rhel} <= 6)
# for
BuildRequires: systemd-devel
BuildRequires: systemd
-Requires(post): systemd
-Requires(preun):systemd
-Requires(postun):systemd
+%{?systemd_requires}
Requires: systemd
%endif
BuildRequires: autoconf
@@ -1116,7 +1114,7 @@ ln -s "${jinterface_lib_dir}priv/OtpErlang.jar" "$RPM_BUILD_ROOT%{_javadir}/%{na
%endif %{__with_java}
# systemd-related stuff
-%if 0%{?el7}%{?fedora}
+%if ! (0%{?rhel} && 0%{?rhel} <= 6)
install -D -p -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}/epmd.service
install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/epmd.socket
install -D -p -m 0644 %{SOURCE7} %{buildroot}%{_unitdir}/epmd@.service
@@ -1500,7 +1498,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%endif
%{_libdir}/erlang/releases/*
%{_libdir}/erlang/usr/
-%if 0%{?el7}%{?fedora}
+%if ! (0%{?rhel} && 0%{?rhel} <= 6)
%{_unitdir}/epmd.service
%{_unitdir}/epmd.socket
%{_unitdir}/epmd@.service
From d54e49b2905f2c5f1d095fd46736861ab0d8f396 Mon Sep 17 00:00:00 2001
From: Fedora Release Engineering
Date: Wed, 7 Feb 2018 08:37:16 +0000
Subject: [PATCH 117/322] - Rebuilt for
https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering
---
erlang.spec | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/erlang.spec b/erlang.spec
index b47e56f..1a74d5d 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -66,7 +66,7 @@
Name: erlang
Version: 19.3.6.5
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -2304,6 +2304,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%changelog
+* Wed Feb 07 2018 Fedora Release Engineering - 19.3.6.5-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
* Tue Dec 19 2017 Peter Lemenkov - 19.3.6.5
- Ver. 19.3.6.5
From e5d275e4123199c41e18256da3cb141799737c6a Mon Sep 17 00:00:00 2001
From: Peter Lemenkov
Date: Tue, 20 Feb 2018 16:26:06 +0300
Subject: [PATCH 118/322] Ver. 20.2.3
Signed-off-by: Peter Lemenkov
---
erlang.spec | 125 ++-----
...n-pages-and-do-not-install-miscellan.patch | 6 +-
otp-0002-Remove-rpath.patch | 4 +-
otp-0003-Do-not-install-C-sources.patch | 8 +-
otp-0004-Do-not-install-Java-sources.patch | 2 +-
...teventlog-and-related-doc-files-on-n.patch | 6 +-
otp-0006-Do-not-install-erlang-sources.patch | 105 ++----
otp-0007-Fix-CVE-2016-10253.patch | 318 ------------------
...erl_epmd-port_please-when-using-IPv6.patch | 0
... otp-0008-Add-extra-search-directory.patch | 2 +-
sources | 2 +-
11 files changed, 68 insertions(+), 510 deletions(-)
delete mode 100644 otp-0007-Fix-CVE-2016-10253.patch
rename otp-0008-Fix-erl_epmd-port_please-when-using-IPv6.patch => otp-0007-Fix-erl_epmd-port_please-when-using-IPv6.patch (100%)
rename otp-0009-Add-extra-search-directory.patch => otp-0008-Add-extra-search-directory.patch (96%)
diff --git a/erlang.spec b/erlang.spec
index 1a74d5d..661ae3c 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -22,7 +22,6 @@
%global __with_emacs 1
%global __with_examples 1
%global __with_java 1
-%global __with_tcltk 1
#
# wxWidgets plugin blocks the following ones:
#
@@ -37,10 +36,6 @@
# * common_test
# * megaco
#
-# dialyzer blocks:
-#
-# * typer
-#
# et blocks:
#
# * megaco
@@ -58,15 +53,14 @@
# megaco
# observer
# reltool (*)
-# typer
# wx
#
%global __with_wxwidgets 1
Name: erlang
-Version: 19.3.6.5
-Release: 2%{?dist}
+Version: 20.2.3
+Release: 1%{?dist}
Summary: General-purpose programming language and runtime environment
Group: Development/Languages
@@ -104,9 +98,8 @@ Patch3: otp-0003-Do-not-install-C-sources.patch
Patch4: otp-0004-Do-not-install-Java-sources.patch
Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch
Patch6: otp-0006-Do-not-install-erlang-sources.patch
-Patch7: otp-0007-Fix-CVE-2016-10253.patch
-Patch8: otp-0008-Fix-erl_epmd-port_please-when-using-IPv6.patch
-Patch9: otp-0009-Add-extra-search-directory.patch
+Patch7: otp-0007-Fix-erl_epmd-port_please-when-using-IPv6.patch
+Patch8: otp-0008-Add-extra-search-directory.patch
# end of autogenerated patch tag list
BuildRequires: flex
@@ -158,9 +151,6 @@ Requires: %{name}-erts%{?_isa} = %{version}-%{release}
Requires: %{name}-et%{?_isa} = %{version}-%{release}
%endif %{__with_wxwidgets}
Requires: %{name}-eunit%{?_isa} = %{version}-%{release}
-%if %{__with_tcltk}
-Requires: %{name}-gs%{?_isa} = %{version}-%{release}
-%endif %{__with_tcltk}
Requires: %{name}-hipe%{?_isa} = %{version}-%{release}
%if %{__with_java}
Requires: %{name}-ic%{?_isa} = %{version}-%{release}
@@ -182,7 +172,6 @@ Requires: %{name}-orber%{?_isa} = %{version}-%{release}
Requires: %{name}-os_mon%{?_isa} = %{version}-%{release}
Requires: %{name}-otp_mibs%{?_isa} = %{version}-%{release}
Requires: %{name}-parsetools%{?_isa} = %{version}-%{release}
-Requires: %{name}-percept%{?_isa} = %{version}-%{release}
Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
%if %{__with_wxwidgets}
Requires: %{name}-reltool%{?_isa} = %{version}-%{release}
@@ -196,9 +185,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-tools%{?_isa} = %{version}-%{release}
%if %{__with_wxwidgets}
-Requires: %{name}-typer%{?_isa} = %{version}-%{release}
-%endif %{__with_wxwidgets}
-%if %{__with_wxwidgets}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
%endif %{__with_wxwidgets}
Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
@@ -380,6 +366,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release}
Requires: %{name}-wx%{?_isa} = %{version}-%{release}
Requires: graphviz
+Obsoletes: erlang-typer
%description dialyzer
A DIscrepancy AnaLYZer for ERlang programs.
@@ -472,12 +459,14 @@ Requires: lksctp-tools
Provides: erlang(erl_drv_version) = 3.3
# See erts/emulator/beam/erl_nif.h or call erlang:system_info(nif_version).
#Provides: erlang(erl_nif_version) = %%(%%{buildroot}/bin/erl -noshell -eval 'io:format(erlang:system_info(nif_version)).' -s erlang halt)
-Provides: erlang(erl_nif_version) = 2.11
+Provides: erlang(erl_nif_version) = 2.13
Provides: bundled(pcre) = 8.33
Obsoletes: erlang-appmon
Obsoletes: erlang-docbuilder
+Obsoletes: erlang-gs
Obsoletes: erlang-inviso
Obsoletes: erlang-ose
+Obsoletes: erlang-percept
Obsoletes: erlang-pman
Obsoletes: erlang-toolbar
Obsoletes: erlang-tv
@@ -515,9 +504,6 @@ Support for unit testing.
Summary: Examples for some Erlang modules
Group: Development/Languages
Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-%if %{__with_tcltk}
-Requires: %{name}-gs%{?_isa} = %{version}-%{release}
-%endif %{__with_tcltk}
Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
Requires: %{name}-public_key%{?_isa} = %{version}-%{release}
Requires: %{name}-sasl%{?_isa} = %{version}-%{release}
@@ -528,21 +514,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
Examples for some Erlang modules.
%endif %{__with_examples}
-%if %{__with_tcltk}
-%package gs
-Summary: A library for Tcl/Tk support in Erlang
-Group: Development/Languages
-BuildRequires: tcl-devel
-BuildRequires: tk-devel
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Requires: tk
-
-%description gs
-A Graphics System used to write platform independent user interfaces.
-%endif %{__with_tcltk}
-
%package hipe
Summary: High Performance Erlang
Group: Development/Languages
@@ -708,18 +679,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
%description parsetools
A set of parsing and lexical analysis tools.
-%package percept
-Summary: A concurrency profiler tool
-Group: Development/Languages
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-inets%{?_isa} = %{version}-%{release}
-Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
-Requires: %{name}-runtime_tools%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-
-%description percept
-A concurrency profiler tool.
-
%package public_key
Summary: API to public key infrastructure
Group: Development/Languages
@@ -865,21 +824,6 @@ Obsoletes: xemacs-erlang-el
%description tools
A set of programming tools including a coverage analyzer etc.
-%if %{__with_wxwidgets}
-%package typer
-Summary: TYPe annotator for ERlang programs
-Group: Development/Languages
-Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
-Requires: %{name}-dialyzer%{?_isa} = %{version}-%{release}
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-hipe%{?_isa} = %{version}-%{release}
-Requires: %{name}-kernel%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-
-%description typer
-TYPe annotator for ERlang programs.
-%endif %{__with_wxwidgets}
-
%if %{__with_wxwidgets}
%package wx
Summary: A library for wxWidgets support in Erlang
@@ -934,11 +878,6 @@ CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --
%else
--without-jinterface \
%endif %{__with_java}
-%if %{__with_tcltk}
- \
-%else
- --without-gs \
-%endif %{__with_tcltk}
%if %{__with_wxwidgets}
--with-wx-config=/usr/bin/wx-config-3.0
%else
@@ -949,7 +888,6 @@ CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib --
--without-megaco \
--without-observer \
--without-reltool \
- --without-typer \
--without-wx
%endif %{__with_wxwidgets}
@@ -1126,6 +1064,7 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_unitdir}/epmd@.socket
echo "No need to fix additional scripts"
%else
# FIXME workaround for broken Erlang install procedure
+echo "Removing scripts which won't work w/o wxWidgets anyway"
for exe in ct_run dialyzer typer
do
rm -f $RPM_BUILD_ROOT/%{_bindir}/${exe}
@@ -1172,7 +1111,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%{_libdir}/erlang/lib/asn1-*/src
%if %{with doc}
%{_libdir}/erlang/man/man3/asn1ct.*
-%{_libdir}/erlang/man/man3/asn1rt.*
%endif
%if %{__with_wxwidgets}
@@ -1345,11 +1283,16 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%if %{__with_wxwidgets}
%files dialyzer
%{_bindir}/dialyzer
+# FIXME FIXME FIXME this must be installed properly!!!!!!
+#%%{_bindir}/typer
%{_libdir}/erlang/bin/dialyzer
+%{_libdir}/erlang/bin/typer
%{_libdir}/erlang/erts-*/bin/dialyzer
+%{_libdir}/erlang/erts-*/bin/typer
%{_libdir}/erlang/lib/dialyzer-*/
%if %{with doc}
%{_libdir}/erlang/man/man3/dialyzer.*
+%{_libdir}/erlang/man/man3/typer.*
%endif
%endif %{__with_wxwidgets}
@@ -1457,7 +1400,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%{_libdir}/erlang/bin/to_erl
%dir %{_libdir}/erlang/erts-*/
%dir %{_libdir}/erlang/erts-*/bin/
-%{_libdir}/erlang/erts-*/bin/beam
%{_libdir}/erlang/erts-*/bin/beam.smp
%{_libdir}/erlang/erts-*/bin/dyn_erl
%{_libdir}/erlang/erts-*/bin/epmd
@@ -1537,9 +1479,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%{_libdir}/erlang/lib/et-*/examples/
%endif %{__with_wxwidgets}
%{_libdir}/erlang/lib/eunit-*/examples/
-%if %{__with_tcltk}
-%{_libdir}/erlang/lib/gs-*/examples/
-%endif %{__with_tcltk}
%if %{__with_java}
%{_libdir}/erlang/lib/ic-*/examples/
%endif %{__with_java}
@@ -1566,17 +1505,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%endif %{__with_wxwidgets}
%endif %{__with_examples}
-%if %{__with_tcltk}
-%files gs
-%dir %{_libdir}/erlang/lib/gs-*/
-%{_libdir}/erlang/lib/gs-*/ebin
-%{_libdir}/erlang/lib/gs-*/priv
-%{_libdir}/erlang/lib/gs-*/src
-%if %{with doc}
-%{_libdir}/erlang/man/man3/gs.*
-%endif
-%endif %{__with_tcltk}
-
%files hipe
%{_libdir}/erlang/lib/hipe-*/
@@ -1775,14 +1703,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%{_libdir}/erlang/man/man3/yecc.*
%endif
-%files percept
-%{_libdir}/erlang/lib/percept-*/
-%if %{with doc}
-%{_libdir}/erlang/man/man3/egd.*
-%{_libdir}/erlang/man/man3/percept.*
-%{_libdir}/erlang/man/man3/percept_profile.*
-%endif
-
%files public_key
%{_libdir}/erlang/lib/public_key-*/
%if %{with doc}
@@ -2039,16 +1959,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%{_xemacs_sitestartdir}/erlang-init.el
%endif %{__with_emacs}
-
-%if %{__with_wxwidgets}
-%files typer
-%{_bindir}/typer
-%{_libdir}/erlang/bin/typer
-%{_libdir}/erlang/erts-*/bin/typer
-%dir %{_libdir}/erlang/lib/typer-*/
-%{_libdir}/erlang/lib/typer-*/ebin/
-%endif %{__with_wxwidgets}
-
%if %{__with_wxwidgets}
%files wx
%dir %{_libdir}/erlang/lib/wx-*/
@@ -2304,6 +2214,12 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
%changelog
+* Tue Feb 20 2018 Peter Lemenkov - 20.2.3-1
+- Ver. 20.2.3
+- Removed gs (also removed tcl/tk dependency), percept
+- Application typer was merged into dialyzer
+- NIF version bumped up to 2.13
+
* Wed Feb 07 2018 Fedora Release Engineering - 19.3.6.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
@@ -2340,6 +2256,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
- Ver. 19.3.4
- Require javapackages-tools (/use/share/java)
- Use /dev/null as a homedir for EPMD (its shell is /sbin/nologin anyway)
+- Removed beam appilciation (non-SMP VM).
* Tue May 2 2017 Peter Lemenkov - 19.3.3-1
- Ver. 19.3.3
diff --git a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
index fe09948..be12bd8 100644
--- a/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
+++ b/otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Do not format man-pages and do not install miscellaneous
Signed-off-by: Peter Lemenkov