From 0eed2476695e33ef299c0809034628cb09ba0615 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 13 Jul 2022 20:52:50 +0200 Subject: [PATCH 01/69] Erlang ver. 25.0.2 Signed-off-by: Peter Lemenkov --- erlang.spec | 17 ++- ...n-pages-and-do-not-install-miscellan.patch | 8 +- otp-0002-Remove-rpath.patch | 4 +- otp-0003-Do-not-install-C-sources.patch | 23 +--- otp-0004-Do-not-install-Java-sources.patch | 2 +- ...teventlog-and-related-doc-files-on-n.patch | 2 +- otp-0006-Do-not-install-erlang-sources.patch | 122 +++++++++--------- otp-0007-Add-extra-search-directory.patch | 2 +- ...08-Avoid-forking-sed-to-get-basename.patch | 8 +- ...man-pages-from-system-wide-directory.patch | 4 +- ...pecify-encoding-during-javadoc-stage.patch | 19 +++ sources | 2 +- 12 files changed, 111 insertions(+), 102 deletions(-) create mode 100644 otp-0010-Specify-encoding-during-javadoc-stage.patch diff --git a/erlang.spec b/erlang.spec index c7920c3..159498d 100644 --- a/erlang.spec +++ b/erlang.spec @@ -63,7 +63,7 @@ Name: erlang -Version: 24.3.4.2 +Version: 25.0.2 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -104,6 +104,7 @@ Patch6: otp-0006-Do-not-install-erlang-sources.patch Patch7: otp-0007-Add-extra-search-directory.patch Patch8: otp-0008-Avoid-forking-sed-to-get-basename.patch Patch9: otp-0009-Load-man-pages-from-system-wide-directory.patch +Patch10: otp-0010-Specify-encoding-during-javadoc-stage.patch # end of autogenerated patch tag list BuildRequires: gcc @@ -358,8 +359,8 @@ 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) # FIXME has to be 2.16 -Provides: erlang(erl_nif_version) = 2.15 -Provides: bundled(pcre) = 8.33 +Provides: erlang(erl_nif_version) = 2.16 +Provides: bundled(pcre) = 8.44 Obsoletes: erlang-appmon Obsoletes: erlang-docbuilder Obsoletes: erlang-gs @@ -668,7 +669,7 @@ A set of programming tools including a coverage analyzer etc. %if %{__with_wxwidgets} %package wx Summary: A library for wxWidgets support in Erlang -BuildRequires: wxGTK3-devel +BuildRequires: wxGTK-devel Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} @@ -724,7 +725,7 @@ CFLAGS="${ERL_FLAGS}" CXXFLAGS="${ERL_FLAGS}" %configure --enable-shared-zlib -- --without-jinterface \ %endif # __with_java %if %{__with_wxwidgets} - --with-wx-config=/usr/bin/wx-config-3.0 + --with-wx-config=/usr/bin/wx-config %else --without-common_test \ --without-debugger \ @@ -1545,6 +1546,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/erl_error.* %{_mandir}/man3/erl_eval.* %{_mandir}/man3/erl_expand_records.* +%{_mandir}/man3/erl_features.* %{_mandir}/man3/erl_id_trans.* %{_mandir}/man3/erl_internal.* %{_mandir}/man3/erl_lint.* @@ -1571,6 +1573,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/ms_transform.* %{_mandir}/man3/orddict.* %{_mandir}/man3/ordsets.* +%{_mandir}/man3/peer.* %{_mandir}/man3/pool.* %{_mandir}/man3/proc_lib.* %{_mandir}/man3/proplists.* @@ -1622,7 +1625,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %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-*/src @@ -1910,6 +1912,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Tue Jul 12 2022 Peter Lemenkov - 25.0..2-1 +- Ver. 25.0.2 + * Thu Jun 23 2022 Peter Lemenkov - 24.3.4.2-1 - Ver. 24.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 23652f1..da44106 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 e5ff959078..7ceef28103 100644 +index 42d4395eb2..307ef11828 100644 --- a/erts/etc/common/Makefile.in +++ b/erts/etc/common/Makefile.in -@@ -550,10 +550,6 @@ endif +@@ -552,10 +552,6 @@ endif ifneq ($(INSTALL_TOP_BIN),) $(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)" endif @@ -21,10 +21,10 @@ index e5ff959078..7ceef28103 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 7437e073e0..009ffea706 100644 +index b00dd09f1a..2147774f50 100644 --- a/erts/etc/unix/Install.src +++ b/erts/etc/unix/Install.src -@@ -142,14 +142,5 @@ cp -p ../releases/%I_SYSTEM_VSN%/start_*.boot . +@@ -143,14 +143,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 1b34b19..de2d7a1 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 4478ed7d9c..3224c705e6 100644 +index ec5cb32973..429347a07e 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in -@@ -145,7 +145,7 @@ endif +@@ -146,7 +146,7 @@ endif endif ifeq ($(DYNAMIC_OR_WIN_CRYPTO_LIB),yes) diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch index fc8f327..bb55157 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 8fb3360f83..5fb080f206 100644 +index 82a6b6e87a..5f2fe8ba7d 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 +@@ -137,8 +137,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" @@ -27,10 +27,10 @@ index 8fb3360f83..5fb080f206 100644 release_docs_spec: diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in -index 92459f6223..d2c7b7f765 100644 +index 0a5ae800be..2cc354c43e 100644 --- a/lib/erl_interface/src/Makefile.in +++ b/lib/erl_interface/src/Makefile.in -@@ -709,13 +709,11 @@ ifeq (@DYNAMIC_LIB@, yes) +@@ -712,13 +712,11 @@ ifeq (@DYNAMIC_LIB@, yes) endif $(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin" $(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src" @@ -50,7 +50,7 @@ index 92459f6223..d2c7b7f765 100644 release_docs: diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in -index cd409fa54f..c65e817385 100644 +index 3649e2c392..d8c5c68b99 100644 --- a/lib/megaco/src/flex/Makefile.in +++ b/lib/megaco/src/flex/Makefile.in @@ -251,7 +251,7 @@ release_spec: opt @@ -91,16 +91,3 @@ index 27b156a2c9..f11ff303b6 100644 $(INSTALL_DIR) "$(RELSYSDIR)/priv/bin" $(INSTALL_PROGRAM) $(TARGET_FILES) "$(RELSYSDIR)/priv/bin" -diff --git a/lib/tools/c_src/Makefile.in b/lib/tools/c_src/Makefile.in -index 878aa2cde6..0153885e88 100644 ---- a/lib/tools/c_src/Makefile.in -+++ b/lib/tools/c_src/Makefile.in -@@ -170,8 +170,6 @@ include ../vsn.mk - RELSYSDIR = $(RELEASE_PATH)/lib/tools-$(TOOLS_VSN) - - release_spec: all -- $(INSTALL_DIR) "$(RELSYSDIR)/c_src" -- $(INSTALL_DATA) $(EMEM_SRCS) $(EMEM_HEADERS) "$(RELSYSDIR)/c_src" - ifneq ($(PROGS),) - $(INSTALL_DIR) "$(RELSYSDIR)/bin" - $(INSTALL_PROGRAM) $(PROGS) "$(RELSYSDIR)/bin" diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch index f4a08f4..a8037ea 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/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile -index e42fd9468d..35deacbcf3 100644 +index 089cf4ab1a..404654a437 100644 --- a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile +++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile @@ -123,8 +123,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 c8dbb3c..1965881 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 @@ -28,7 +28,7 @@ index 8e3882bfdc..ea999cf9c7 100644 XML_REF6_FILES = os_mon_app.xml diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile -index 48a896265b..afb67c1793 100644 +index e28fb12548..ee32f3946f 100644 --- a/lib/os_mon/src/Makefile +++ b/lib/os_mon/src/Makefile @@ -34,7 +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 67a3dee..e96c821 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 521e5b6f67..2d818d8f75 100644 +index 191341a9f5..35c884e933 100644 --- a/erts/preloaded/src/Makefile +++ b/erts/preloaded/src/Makefile -@@ -121,8 +121,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk +@@ -113,8 +113,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 521e5b6f67..2d818d8f75 100644 $(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin" diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile -index 60a2020dbf..406cc08208 100644 +index 6d02075576..15f7054fed 100644 --- a/lib/asn1/src/Makefile +++ b/lib/asn1/src/Makefile @@ -151,7 +151,7 @@ release_spec: opt @@ -34,7 +34,7 @@ index 60a2020dbf..406cc08208 100644 $(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples" diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile -index 7d7b5ed203..9151e4097b 100644 +index 00f13589f3..5bf4e50f14 100644 --- a/lib/common_test/src/Makefile +++ b/lib/common_test/src/Makefile @@ -157,7 +157,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -47,10 +47,10 @@ index 7d7b5ed203..9151e4097b 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 f015064b39..57f96d2929 100644 +index 4ff5e678ee..4e3fa5c60f 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 +@@ -83,9 +83,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_tests_spec: opt $(INSTALL_DIR) "$(RELEASE_PATH)/test_server" @@ -63,7 +63,7 @@ index f015064b39..57f96d2929 100644 $(INSTALL_SCRIPT) $(PROGRAMS) "$(RELEASE_PATH)/test_server" diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile -index f050e134f8..653695aa12 100644 +index a9027b3ad8..3aaadb8500 100644 --- a/lib/compiler/src/Makefile +++ b/lib/compiler/src/Makefile @@ -182,8 +182,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -78,7 +78,7 @@ index f050e134f8..653695aa12 100644 $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile -index fea32dc4e3..183c982ff6 100644 +index 893f679390..6f8a329421 100644 --- a/lib/crypto/src/Makefile +++ b/lib/crypto/src/Makefile @@ -81,8 +81,6 @@ docs: @@ -91,7 +91,7 @@ index fea32dc4e3..183c982ff6 100644 $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \ $(APPUP_TARGET) "$(RELSYSDIR)/ebin" diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile -index 118cb6b758..86722d8767 100644 +index 2fb955b2e3..6ddce27ec1 100644 --- a/lib/debugger/src/Makefile +++ b/lib/debugger/src/Makefile @@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -104,10 +104,10 @@ index 118cb6b758..86722d8767 100644 $(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile -index 5f2c24c3c0..99eddc96e3 100644 +index c934ecdc2b..cc266f48e2 100644 --- a/lib/dialyzer/src/Makefile +++ b/lib/dialyzer/src/Makefile -@@ -165,7 +165,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -162,7 +162,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -117,7 +117,7 @@ index 5f2c24c3c0..99eddc96e3 100644 $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile -index 348cc350e1..9d87858def 100644 +index 6dd3667a46..4e37212caa 100644 --- a/lib/diameter/src/Makefile +++ b/lib/diameter/src/Makefile @@ -260,11 +260,8 @@ release_spec: opt @@ -135,7 +135,7 @@ index 348cc350e1..9d87858def 100644 $(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%: $(INSTALL_DIR) "$(RELSYSDIR)/examples/$*" diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile -index 8acef15248..ead1fd3b0f 100644 +index a455662049..e5b2f886ed 100644 --- a/lib/edoc/src/Makefile +++ b/lib/edoc/src/Makefile @@ -87,7 +87,7 @@ release_spec: opt @@ -148,7 +148,7 @@ index 8acef15248..ead1fd3b0f 100644 release_docs_spec: diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile -index b79a537424..d0b231e5fc 100644 +index 04a84a4766..78fc4a9687 100644 --- a/lib/eldap/src/Makefile +++ b/lib/eldap/src/Makefile @@ -98,13 +98,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -168,7 +168,7 @@ index b79a537424..d0b231e5fc 100644 release_docs_spec: diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile -index e4339dcb1f..f563d6fd5b 100644 +index 458094e35f..cc3368ad02 100644 --- a/lib/erl_docgen/src/Makefile +++ b/lib/erl_docgen/src/Makefile @@ -91,8 +91,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk @@ -181,7 +181,7 @@ index e4339dcb1f..f563d6fd5b 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile -index b6347d8b6d..a695d2cc2d 100644 +index fc66cc1eaf..a567965ed4 100644 --- a/lib/et/src/Makefile +++ b/lib/et/src/Makefile @@ -109,7 +109,6 @@ release_spec: opt @@ -193,19 +193,19 @@ index b6347d8b6d..a695d2cc2d 100644 $(INSTALL_DIR) "$(RELSYSDIR)/include" $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile -index 32f75202a0..a89fa7f2d2 100644 +index f4eaf6807a..2a49a2ca7a 100644 --- a/lib/eunit/src/Makefile +++ b/lib/eunit/src/Makefile @@ -121,7 +121,6 @@ release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin" $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(PARSE_TRANSFORM) $(SOURCES) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(PARSE_TRANSFORM) $(SOURCES) $(BEHAVIOUR_SOURCES) "$(RELSYSDIR)/src" $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" $(INSTALL_DIR) "$(RELSYSDIR)/include" $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" diff --git a/lib/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile -index a1c1f36b70..f2eb86f7ac 100644 +index 62f62792f0..ca4b539017 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 @@ -218,7 +218,7 @@ index a1c1f36b70..f2eb86f7ac 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile -index 8248e37c44..1f1b23184b 100644 +index 481c4f66eb..896a806695 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 @@ -231,7 +231,7 @@ index 8248e37c44..1f1b23184b 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile -index f66a446d40..2858ae7267 100644 +index abf8413f33..42925ba58f 100644 --- a/lib/inets/src/http_server/Makefile +++ b/lib/inets/src/http_server/Makefile @@ -134,7 +134,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -244,7 +244,7 @@ index f66a446d40..2858ae7267 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 d85df269ce..0193796bc1 100644 +index 405e86105a..a8b932772a 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 @@ -257,7 +257,7 @@ index d85df269ce..0193796bc1 100644 $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" $(INSTALL_DIR) "$(RELSYSDIR)/ebin" diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile -index b2299188eb..bee47366f1 100644 +index 2149e89776..891d3e6f6a 100644 --- a/lib/kernel/src/Makefile +++ b/lib/kernel/src/Makefile @@ -229,7 +229,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -269,7 +269,7 @@ index b2299188eb..bee47366f1 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 ab45548099..5c7a7f0be9 100644 +index c681b88428..8cb286181a 100644 --- a/lib/megaco/src/app/Makefile +++ b/lib/megaco/src/app/Makefile @@ -114,7 +114,7 @@ release_spec: opt @@ -282,7 +282,7 @@ index ab45548099..5c7a7f0be9 100644 $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile -index 9e33fe3ae5..1db69567bb 100644 +index 9ecb649f0c..3ca5654eb3 100644 --- a/lib/megaco/src/binary/Makefile +++ b/lib/megaco/src/binary/Makefile @@ -154,7 +154,7 @@ release_spec: opt @@ -295,7 +295,7 @@ index 9e33fe3ae5..1db69567bb 100644 release_docs_spec: diff --git a/lib/megaco/src/engine/Makefile b/lib/megaco/src/engine/Makefile -index 869b516b05..fa7d774d84 100644 +index cc4974e09d..b7a7c703b3 100644 --- a/lib/megaco/src/engine/Makefile +++ b/lib/megaco/src/engine/Makefile @@ -102,7 +102,7 @@ release_spec: opt @@ -308,7 +308,7 @@ index 869b516b05..fa7d774d84 100644 diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in -index c65e817385..3bc4dea207 100644 +index d8c5c68b99..2053d3297b 100644 --- a/lib/megaco/src/flex/Makefile.in +++ b/lib/megaco/src/flex/Makefile.in @@ -248,7 +248,6 @@ release_spec: opt @@ -320,7 +320,7 @@ index c65e817385..3bc4dea207 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 d07db3fa4b..7f421d24cc 100644 +index ef4232244a..85cfb4b4ee 100644 --- a/lib/megaco/src/tcp/Makefile +++ b/lib/megaco/src/tcp/Makefile @@ -94,7 +94,7 @@ release_spec: opt @@ -333,7 +333,7 @@ index d07db3fa4b..7f421d24cc 100644 release_docs_spec: diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile -index bb5f80403b..a78a4551a8 100644 +index 6872b0ec04..a097be4d48 100644 --- a/lib/megaco/src/text/Makefile +++ b/lib/megaco/src/text/Makefile @@ -133,7 +133,7 @@ release_spec: opt @@ -346,7 +346,7 @@ index bb5f80403b..a78a4551a8 100644 release_docs_spec: diff --git a/lib/megaco/src/udp/Makefile b/lib/megaco/src/udp/Makefile -index 028a63e98e..9e11e9bfb2 100644 +index 5699c3e952..f8dcb5c681 100644 --- a/lib/megaco/src/udp/Makefile +++ b/lib/megaco/src/udp/Makefile @@ -94,7 +94,7 @@ release_spec: opt @@ -359,7 +359,7 @@ index 028a63e98e..9e11e9bfb2 100644 release_docs_spec: diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile -index dce7a359d3..7051c965b9 100644 +index 72aa054fb3..08c6c5ffc1 100644 --- a/lib/mnesia/src/Makefile +++ b/lib/mnesia/src/Makefile @@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -372,7 +372,7 @@ index dce7a359d3..7051c965b9 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile -index 4280557d45..eb43ecec23 100644 +index 2edb2ceb3e..884e69c7b7 100644 --- a/lib/observer/src/Makefile +++ b/lib/observer/src/Makefile @@ -151,7 +151,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -384,7 +384,7 @@ index 4280557d45..eb43ecec23 100644 $(INSTALL_DIR) "$(RELSYSDIR)/examples" $(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples" diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile -index 7ca59495ed..a52ade2fe3 100644 +index e18628e94d..fa01850f38 100644 --- a/lib/odbc/src/Makefile +++ b/lib/odbc/src/Makefile @@ -110,7 +110,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -397,7 +397,7 @@ index 7ca59495ed..a52ade2fe3 100644 $(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include" $(INSTALL_DIR) "$(RELSYSDIR)/ebin" diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile -index afb67c1793..ec6acf1fce 100644 +index ee32f3946f..2413fb68bf 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 @@ -409,7 +409,7 @@ index afb67c1793..ec6acf1fce 100644 $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile -index ba206904ec..281cc8657c 100644 +index c7971750a7..f6024f1184 100644 --- a/lib/parsetools/src/Makefile +++ b/lib/parsetools/src/Makefile @@ -91,8 +91,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk @@ -422,25 +422,23 @@ index ba206904ec..281cc8657c 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" $(INSTALL_DIR) "$(RELSYSDIR)/include" diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile -index 1fef168463..e5411b903b 100644 +index d33e13fb14..dfa35c6ef2 100644 --- a/lib/public_key/asn1/Makefile +++ b/lib/public_key/asn1/Makefile -@@ -96,8 +96,8 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" +@@ -99,8 +99,6 @@ release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/asn1" -- $(INSTALL_DATA) $(ASN_ASNS) $(ASN_ERLS) $(ASN_HRLS) $(ASN_CONFIGS) \ -- $(GEN_ERLS) "$(RELSYSDIR)/asn1" -+ $(INSTALL_DATA) $(ASN_ASNS) $(ASN_HRLS) $(ASN_CONFIGS) \ -+ "$(RELSYSDIR)/asn1" + $(INSTALL_DATA) $(ASN_ASNS) $(ASN_CONFIGS) \ + "$(RELSYSDIR)/asn1" +- $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(ASN_ERLS) "$(RELSYSDIR)/src" $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile -index e27f02eea9..dec54a8414 100644 +index 9b2b442794..a5dcba4ec3 100644 --- a/lib/public_key/src/Makefile +++ b/lib/public_key/src/Makefile -@@ -110,8 +110,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk +@@ -111,8 +111,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt @@ -450,7 +448,7 @@ index e27f02eea9..dec54a8414 100644 $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" $(INSTALL_DIR) "$(RELSYSDIR)/ebin" diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile -index 4bddee4664..c714255548 100644 +index 173a557d58..6864febbc3 100644 --- a/lib/reltool/src/Makefile +++ b/lib/reltool/src/Makefile @@ -100,7 +100,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -463,7 +461,7 @@ index 4bddee4664..c714255548 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 76286c5499..d921f9f294 100644 +index 8e8c4074f5..6e380e1b11 100644 --- a/lib/runtime_tools/src/Makefile +++ b/lib/runtime_tools/src/Makefile @@ -99,8 +99,6 @@ docs: @@ -476,7 +474,7 @@ index 76286c5499..d921f9f294 100644 $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" $(INSTALL_DIR) "$(RELSYSDIR)/examples" diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile -index 16a42caf11..674364281d 100644 +index 490e03595d..739830ae3f 100644 --- a/lib/sasl/src/Makefile +++ b/lib/sasl/src/Makefile @@ -94,7 +94,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -488,7 +486,7 @@ index 16a42caf11..674364281d 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 1da0f33c9d..9d54271816 100644 +index 815b9f16cc..1eb49e9b93 100644 --- a/lib/snmp/src/agent/Makefile +++ b/lib/snmp/src/agent/Makefile @@ -151,7 +151,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -501,7 +499,7 @@ index 1da0f33c9d..9d54271816 100644 $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ "$(RELSYSDIR)/ebin" diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile -index 02800462a4..133f7c3b59 100644 +index f5a74aa78e..0340088eb3 100644 --- a/lib/snmp/src/app/Makefile +++ b/lib/snmp/src/app/Makefile @@ -144,7 +144,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -514,7 +512,7 @@ index 02800462a4..133f7c3b59 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 bbd7f99378..19d1f83dda 100644 +index d37eaf9636..5d10c1250e 100644 --- a/lib/snmp/src/compile/Makefile +++ b/lib/snmp/src/compile/Makefile @@ -137,7 +137,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -527,7 +525,7 @@ index bbd7f99378..19d1f83dda 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 6f5f5d01f9..d6bc5e3e06 100644 +index 693ef75469..61b8dc4692 100644 --- a/lib/snmp/src/manager/Makefile +++ b/lib/snmp/src/manager/Makefile @@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -540,7 +538,7 @@ index 6f5f5d01f9..d6bc5e3e06 100644 $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin" # $(INSTALL_DIR) "$(RELSYSDIR)/include" diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile -index eca2d949d2..4c234caf88 100644 +index e92506e855..8dc421d2a1 100644 --- a/lib/snmp/src/misc/Makefile +++ b/lib/snmp/src/misc/Makefile @@ -125,7 +125,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -553,7 +551,7 @@ index eca2d949d2..4c234caf88 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" # $(INSTALL_DIR) "$(RELSYSDIR)/include" diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile -index cc3cfe9e96..9f3cd694f5 100644 +index 2fcb164301..2c7acf384d 100644 --- a/lib/ssh/src/Makefile +++ b/lib/ssh/src/Makefile @@ -182,7 +182,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -566,7 +564,7 @@ index cc3cfe9e96..9f3cd694f5 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 1e55bb497d..1cf3cbf5ee 100644 +index 789bed5c3f..9cd7f7226c 100644 --- a/lib/ssl/src/Makefile +++ b/lib/ssl/src/Makefile @@ -211,7 +211,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -579,10 +577,10 @@ index 1e55bb497d..1cf3cbf5ee 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 509648cb2b..0ffc2c6ed1 100644 +index 369a448fe5..f23e53fd6f 100644 --- a/lib/stdlib/src/Makefile +++ b/lib/stdlib/src/Makefile -@@ -221,7 +221,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -223,7 +223,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -591,7 +589,7 @@ index 509648cb2b..0ffc2c6ed1 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 af6a472f3d..6796810ac2 100644 +index dc0ac61734..5bb265e2c2 100644 --- a/lib/syntax_tools/src/Makefile +++ b/lib/syntax_tools/src/Makefile @@ -96,8 +96,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -604,7 +602,7 @@ index af6a472f3d..6796810ac2 100644 $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" diff --git a/lib/tftp/src/Makefile b/lib/tftp/src/Makefile -index 4ece9ffe28..da95babcea 100644 +index cfcb1ea134..fba9cc5873 100644 --- a/lib/tftp/src/Makefile +++ b/lib/tftp/src/Makefile @@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -617,7 +615,7 @@ index 4ece9ffe28..da95babcea 100644 $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ $(APPUP_TARGET) "$(RELSYSDIR)/ebin" diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile -index cc5bee9a8f..7dfa55cb41 100644 +index b05ce883ec..f8d143922d 100644 --- a/lib/tools/src/Makefile +++ b/lib/tools/src/Makefile @@ -109,7 +109,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk @@ -630,7 +628,7 @@ index cc5bee9a8f..7dfa55cb41 100644 $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ "$(RELSYSDIR)/ebin" diff --git a/lib/wx/src/Makefile b/lib/wx/src/Makefile -index 7e2eb38f2f..939d03670d 100644 +index ce14c0b6df..f052399c0f 100644 --- a/lib/wx/src/Makefile +++ b/lib/wx/src/Makefile @@ -121,9 +121,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES) @@ -646,7 +644,7 @@ index 7e2eb38f2f..939d03670d 100644 $(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include" $(INSTALL_DIR) "$(RELSYSDIR)/ebin" diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile -index 51d9190797..1ab65bd2ed 100644 +index 0a9f8391c7..2ff364c678 100644 --- a/lib/xmerl/src/Makefile +++ b/lib/xmerl/src/Makefile @@ -218,9 +218,7 @@ release_spec: opt diff --git a/otp-0007-Add-extra-search-directory.patch b/otp-0007-Add-extra-search-directory.patch index 2b7e1e2..cb84b30 100644 --- a/otp-0007-Add-extra-search-directory.patch +++ b/otp-0007-Add-extra-search-directory.patch @@ -5,7 +5,7 @@ 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 3ab50cafe0..f510535714 100644 +index af8531271f..66050d6cdb 100644 --- a/lib/kernel/src/code_server.erl +++ b/lib/kernel/src/code_server.erl @@ -79,11 +79,17 @@ init(Ref, Parent, [Root,Mode]) -> diff --git a/otp-0008-Avoid-forking-sed-to-get-basename.patch b/otp-0008-Avoid-forking-sed-to-get-basename.patch index a0ceb3e..d146ab2 100644 --- a/otp-0008-Avoid-forking-sed-to-get-basename.patch +++ b/otp-0008-Avoid-forking-sed-to-get-basename.patch @@ -4,14 +4,14 @@ Subject: [PATCH] Avoid forking sed to get basename. diff --git a/erts/etc/unix/erl.src.src b/erts/etc/unix/erl.src.src -index 0983132ac1..6b55e8f0f3 100644 +index 536fa139d9..4dcffbc4c8 100644 --- a/erts/etc/unix/erl.src.src +++ b/erts/etc/unix/erl.src.src -@@ -26,7 +26,7 @@ else +@@ -49,7 +49,7 @@ else fi - BINDIR=$ROOTDIR/erts-%VSN%/bin + BINDIR="$ROOTDIR/erts-%VSN%/bin" EMU=%EMULATOR%%EMULATOR_NUMBER% --PROGNAME=`echo $0 | sed 's/.*\///'` +-PROGNAME=`basename "$0"` +PROGNAME=${0##*/} export EMU export ROOTDIR diff --git a/otp-0009-Load-man-pages-from-system-wide-directory.patch b/otp-0009-Load-man-pages-from-system-wide-directory.patch index f9b074b..c4b4ef4 100644 --- a/otp-0009-Load-man-pages-from-system-wide-directory.patch +++ b/otp-0009-Load-man-pages-from-system-wide-directory.patch @@ -7,10 +7,10 @@ Patch allows one to use standard man path with erl -man command. as required by Debian policy.) diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c -index bda9a94a95..e14fdc49b6 100644 +index 9c3dc690ba..7867d32fd0 100644 --- a/erts/etc/common/erlexec.c +++ b/erts/etc/common/erlexec.c -@@ -724,8 +724,10 @@ int main(int argc, char **argv) +@@ -708,8 +708,10 @@ int main(int argc, char **argv) error("-man not supported on Windows"); #else argv[i] = "man"; diff --git a/otp-0010-Specify-encoding-during-javadoc-stage.patch b/otp-0010-Specify-encoding-during-javadoc-stage.patch new file mode 100644 index 0000000..756bea4 --- /dev/null +++ b/otp-0010-Specify-encoding-during-javadoc-stage.patch @@ -0,0 +1,19 @@ +From: Peter Lemenkov +Date: Wed, 13 Jul 2022 20:51:47 +0200 +Subject: [PATCH] Specify encoding during javadoc stage + +Signed-off-by: Peter Lemenkov + +diff --git a/lib/jinterface/doc/src/Makefile b/lib/jinterface/doc/src/Makefile +index 47e269a273..3e329a3a3f 100644 +--- a/lib/jinterface/doc/src/Makefile ++++ b/lib/jinterface/doc/src/Makefile +@@ -74,7 +74,7 @@ JAVA_SRC_FILES = $(JAVA_FILES:%=$(JAVA_SRC_PATH)/%.java) + + + ../html/java/index.html: $(JAVA_SRC_FILES) +- (cd ../../java_src;$(JAVADOC) -sourcepath . -d $(JAVADOC_DEST) \ ++ (cd ../../java_src;$(JAVADOC) -encoding UTF-8 -sourcepath . -d $(JAVADOC_DEST) \ + -windowtitle $(JAVADOC_TITLE) $(JAVADOC_PKGS)) + + html: ../html/java/index.html diff --git a/sources b/sources index 527c3cc..5f85ab7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-24.3.4.2.tar.gz) = 78bc2dc67fe60d3ea6049c361a017c054e12b0adeeae890b0a1ee5301744505593bd19f3731acebff8312b323a3bd21a1359507d122fc34f0eb85eefb3aac88c +SHA512 (otp-OTP-25.0.2.tar.gz) = 717406816b4428fb8bd808a9d25575b7e33a05e6aed5428295682ba8576d53f1433bd1b1593236943e592e673ed2168047873127cfd293b5522636c514328f43 From 000f6a79c5630e28d3c1844be5e70b06737aac33 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 15 Jul 2022 09:38:11 +0200 Subject: [PATCH 02/69] typo Signed-off-by: Peter Lemenkov --- erlang.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index 159498d..f746e1c 100644 --- a/erlang.spec +++ b/erlang.spec @@ -1912,7 +1912,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog -* Tue Jul 12 2022 Peter Lemenkov - 25.0..2-1 +* Tue Jul 12 2022 Peter Lemenkov - 25.0.2-1 - Ver. 25.0.2 * Thu Jun 23 2022 Peter Lemenkov - 24.3.4.2-1 From 7cb92068305589d5e6930076ce38bd7ccdcfb8e9 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Sat, 16 Jul 2022 11:53:22 +0200 Subject: [PATCH 03/69] Erlang ver. 25.0.3 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 f746e1c..6d7d162 100644 --- a/erlang.spec +++ b/erlang.spec @@ -63,7 +63,7 @@ Name: erlang -Version: 25.0.2 +Version: 25.0.3 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1912,6 +1912,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Sat Jul 16 2022 Peter Lemenkov - 25.0.3-1 +- Ver. 25.0.3 + * Tue Jul 12 2022 Peter Lemenkov - 25.0.2-1 - Ver. 25.0.2 diff --git a/sources b/sources index 5f85ab7..d78f2ee 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.0.2.tar.gz) = 717406816b4428fb8bd808a9d25575b7e33a05e6aed5428295682ba8576d53f1433bd1b1593236943e592e673ed2168047873127cfd293b5522636c514328f43 +SHA512 (otp-OTP-25.0.3.tar.gz) = d6c83722bd86e20568b879cb770e95e37b6227b932e4e74e50bbb9dc426b1f7f5286600a182011baa2b83ff7f006717ee62812959f133868765d819ddf57399f From 46be8d8adf2be9806e9915ba529262c2f0a00f05 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 18 Jul 2022 10:39:50 +0200 Subject: [PATCH 04/69] No more Java for ix86 Signed-off-by: Peter Lemenkov --- erlang.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index 6d7d162..c4be3d1 100644 --- a/erlang.spec +++ b/erlang.spec @@ -2,7 +2,7 @@ %{!?need_bootstrap: %global need_bootstrap %{need_bootstrap_set}} -%ifarch %{arm} %{mips} riscv64 +%ifarch %{arm} %{mips} riscv64 %{ix86} # MIPS and RISC-V does not have all dependencies for fop yet. # For some reason, fop hangs on arm, so for now don't generate docs by # default From d9f78fa41534df0546d99f6457c5d1ea06de5406 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 18 Jul 2022 12:04:51 +0200 Subject: [PATCH 05/69] No more Java for ix86 (2) Signed-off-by: Peter Lemenkov --- erlang.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/erlang.spec b/erlang.spec index c4be3d1..ec299ab 100644 --- a/erlang.spec +++ b/erlang.spec @@ -25,7 +25,11 @@ %global __with_emacs 1 %global __with_examples 1 +%ifarch %{ix86} %global __with_java 1 +%else +%global __with_java 0 +%endif # # wxWidgets plugin blocks the following ones: # From 40e6735f03fad19fcdd4bf172b6779927b4d91cf Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 18 Jul 2022 12:39:13 +0200 Subject: [PATCH 06/69] No more Java for ix86 (3) Signed-off-by: Peter Lemenkov --- erlang.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erlang.spec b/erlang.spec index ec299ab..fc5d677 100644 --- a/erlang.spec +++ b/erlang.spec @@ -26,9 +26,9 @@ %global __with_emacs 1 %global __with_examples 1 %ifarch %{ix86} -%global __with_java 1 -%else %global __with_java 0 +%else +%global __with_java 1 %endif # # wxWidgets plugin blocks the following ones: From 066ab5f6cfc51b4b8843607014e5527b4bd6eb77 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 21 Jul 2022 02:10:33 +0000 Subject: [PATCH 07/69] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_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 fc5d677..de049db 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang Version: 25.0.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -1916,6 +1916,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Thu Jul 21 2022 Fedora Release Engineering - 25.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Sat Jul 16 2022 Peter Lemenkov - 25.0.3-1 - Ver. 25.0.3 From c1aef905ce343155dabdfe297f24cffbe663a188 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 28 Jul 2022 16:59:45 +0200 Subject: [PATCH 08/69] Rebuild with new wxWidgets Signed-off-by: Peter Lemenkov --- erlang.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index de049db..feab00b 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang Version: 25.0.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -1916,6 +1916,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Thu Jul 28 2022 Peter Lemenkov - 25.0.3-3 +- Rebuild with new wxWidgets + * Thu Jul 21 2022 Fedora Release Engineering - 25.0.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 13e953841be608ac9e260a32b18db6e56171f731 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 18 Aug 2022 19:18:32 +0200 Subject: [PATCH 09/69] Erlang ver. 25.0.4 Signed-off-by: Peter Lemenkov --- erlang.spec | 13 ++++++++----- sources | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/erlang.spec b/erlang.spec index feab00b..224358d 100644 --- a/erlang.spec +++ b/erlang.spec @@ -25,10 +25,10 @@ %global __with_emacs 1 %global __with_examples 1 -%ifarch %{ix86} -%global __with_java 0 -%else +%ifarch %{java_arches} %global __with_java 1 +%else +%global __with_java 0 %endif # # wxWidgets plugin blocks the following ones: @@ -67,8 +67,8 @@ Name: erlang -Version: 25.0.3 -Release: 3%{?dist} +Version: 25.0.4 +Release: 1%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -1916,6 +1916,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Thu Aug 18 2022 Peter Lemenkov - 25.0.4-1 +- Ver. 25.0.4 + * Thu Jul 28 2022 Peter Lemenkov - 25.0.3-3 - Rebuild with new wxWidgets diff --git a/sources b/sources index d78f2ee..5502eef 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.0.3.tar.gz) = d6c83722bd86e20568b879cb770e95e37b6227b932e4e74e50bbb9dc426b1f7f5286600a182011baa2b83ff7f006717ee62812959f133868765d819ddf57399f +SHA512 (otp-OTP-25.0.4.tar.gz) = 8d9d12496d55181c0d866bbd97576551d1d78232fe34b845e8efbfbd4e95ce8426e73221d8126d12453959cd8adc5e07f121aaa93f3a5696074b43c69291d363 From 3afa7cbab8e293f42eb79de468eb58ad8853b9de Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 21 Sep 2022 16:57:28 +0200 Subject: [PATCH 10/69] Erlang ver. 25.1 Signed-off-by: Peter Lemenkov --- erlang.spec | 6 ++- otp-0002-Remove-rpath.patch | 4 +- otp-0006-Do-not-install-erlang-sources.patch | 44 +++++++++---------- ...pecify-encoding-during-javadoc-stage.patch | 19 -------- sources | 2 +- 5 files changed, 29 insertions(+), 46 deletions(-) delete mode 100644 otp-0010-Specify-encoding-during-javadoc-stage.patch diff --git a/erlang.spec b/erlang.spec index 224358d..ba482ed 100644 --- a/erlang.spec +++ b/erlang.spec @@ -67,7 +67,7 @@ Name: erlang -Version: 25.0.4 +Version: 25.1 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -108,7 +108,6 @@ Patch6: otp-0006-Do-not-install-erlang-sources.patch Patch7: otp-0007-Add-extra-search-directory.patch Patch8: otp-0008-Avoid-forking-sed-to-get-basename.patch Patch9: otp-0009-Load-man-pages-from-system-wide-directory.patch -Patch10: otp-0010-Specify-encoding-during-javadoc-stage.patch # end of autogenerated patch tag list BuildRequires: gcc @@ -1916,6 +1915,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Wed Sep 21 2022 Peter Lemenkov - 25.1-1 +- Ver. 25.1 + * Thu Aug 18 2022 Peter Lemenkov - 25.0.4-1 - Ver. 25.0.4 diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch index de2d7a1..b906050 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 ec5cb32973..429347a07e 100644 +index 25167a8a3a..2345970fa9 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in -@@ -146,7 +146,7 @@ endif +@@ -147,7 +147,7 @@ endif endif ifeq ($(DYNAMIC_OR_WIN_CRYPTO_LIB),yes) diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch index e96c821..e40945b 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 191341a9f5..35c884e933 100644 +index 1994aa1302..007b7d44bd 100644 --- a/erts/preloaded/src/Makefile +++ b/erts/preloaded/src/Makefile -@@ -113,8 +113,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk +@@ -117,8 +117,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 191341a9f5..35c884e933 100644 $(INSTALL_DATA) $(STATIC_TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin" diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile -index 6d02075576..15f7054fed 100644 +index 9e13d02c8a..77ba98c2f8 100644 --- a/lib/asn1/src/Makefile +++ b/lib/asn1/src/Makefile -@@ -151,7 +151,7 @@ release_spec: opt +@@ -157,7 +157,7 @@ release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -63,10 +63,10 @@ index 4ff5e678ee..4e3fa5c60f 100644 $(INSTALL_SCRIPT) $(PROGRAMS) "$(RELEASE_PATH)/test_server" diff --git a/lib/compiler/src/Makefile b/lib/compiler/src/Makefile -index a9027b3ad8..3aaadb8500 100644 +index d801d6baa0..4eed19b516 100644 --- a/lib/compiler/src/Makefile +++ b/lib/compiler/src/Makefile -@@ -182,8 +182,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -188,8 +188,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -117,11 +117,11 @@ index c934ecdc2b..cc266f48e2 100644 $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile -index 6dd3667a46..4e37212caa 100644 +index 75e23d4191..7097541548 100644 --- a/lib/diameter/src/Makefile +++ b/lib/diameter/src/Makefile -@@ -260,11 +260,8 @@ release_spec: opt - $(MAKE) $(EXAMPLE_DIRS:%/=release_examples_%) +@@ -266,11 +266,8 @@ release_spec: opt + $(MAKE) ERL_DETERMINISTIC=$(ERL_DETERMINISTIC) $(EXAMPLE_DIRS:%/=release_examples_%) $(TARGET_DIRS:%/=release_src_%): release_src_%: - $(INSTALL_DIR) "$(RELSYSDIR)/src/$*" @@ -422,10 +422,10 @@ index c7971750a7..f6024f1184 100644 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" $(INSTALL_DIR) "$(RELSYSDIR)/include" diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile -index d33e13fb14..dfa35c6ef2 100644 +index c1adf58ed4..bba7cae5d6 100644 --- a/lib/public_key/asn1/Makefile +++ b/lib/public_key/asn1/Makefile -@@ -99,8 +99,6 @@ release_spec: opt +@@ -103,8 +103,6 @@ release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/asn1" $(INSTALL_DATA) $(ASN_ASNS) $(ASN_CONFIGS) \ "$(RELSYSDIR)/asn1" @@ -485,11 +485,11 @@ index 490e03595d..739830ae3f 100644 $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" $(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 815b9f16cc..1eb49e9b93 100644 ---- a/lib/snmp/src/agent/Makefile -+++ b/lib/snmp/src/agent/Makefile -@@ -151,7 +151,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk +diff --git a/lib/snmp/src/agent/Makefile.in b/lib/snmp/src/agent/Makefile.in +index 6ab9ed437a..14ae0bbc79 100644 +--- a/lib/snmp/src/agent/Makefile.in ++++ b/lib/snmp/src/agent/Makefile.in +@@ -161,7 +161,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" $(INSTALL_DIR) "$(RELSYSDIR)/src/agent" @@ -512,10 +512,10 @@ index f5a74aa78e..0340088eb3 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 d37eaf9636..5d10c1250e 100644 +index f255237a04..04232658c7 100644 --- a/lib/snmp/src/compile/Makefile +++ b/lib/snmp/src/compile/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" $(INSTALL_DIR) "$(RELSYSDIR)/src/compiler" @@ -577,10 +577,10 @@ index 789bed5c3f..9cd7f7226c 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 369a448fe5..f23e53fd6f 100644 +index 761d6c4c28..43e7a650a5 100644 --- a/lib/stdlib/src/Makefile +++ b/lib/stdlib/src/Makefile -@@ -223,7 +223,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk +@@ -230,7 +230,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/src" @@ -644,10 +644,10 @@ index ce14c0b6df..f052399c0f 100644 $(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include" $(INSTALL_DIR) "$(RELSYSDIR)/ebin" diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile -index 0a9f8391c7..2ff364c678 100644 +index e7e7c8e978..37b7843605 100644 --- a/lib/xmerl/src/Makefile +++ b/lib/xmerl/src/Makefile -@@ -218,9 +218,7 @@ release_spec: opt +@@ -223,9 +223,7 @@ release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" $(INSTALL_DIR) "$(RELSYSDIR)/src" diff --git a/otp-0010-Specify-encoding-during-javadoc-stage.patch b/otp-0010-Specify-encoding-during-javadoc-stage.patch deleted file mode 100644 index 756bea4..0000000 --- a/otp-0010-Specify-encoding-during-javadoc-stage.patch +++ /dev/null @@ -1,19 +0,0 @@ -From: Peter Lemenkov -Date: Wed, 13 Jul 2022 20:51:47 +0200 -Subject: [PATCH] Specify encoding during javadoc stage - -Signed-off-by: Peter Lemenkov - -diff --git a/lib/jinterface/doc/src/Makefile b/lib/jinterface/doc/src/Makefile -index 47e269a273..3e329a3a3f 100644 ---- a/lib/jinterface/doc/src/Makefile -+++ b/lib/jinterface/doc/src/Makefile -@@ -74,7 +74,7 @@ JAVA_SRC_FILES = $(JAVA_FILES:%=$(JAVA_SRC_PATH)/%.java) - - - ../html/java/index.html: $(JAVA_SRC_FILES) -- (cd ../../java_src;$(JAVADOC) -sourcepath . -d $(JAVADOC_DEST) \ -+ (cd ../../java_src;$(JAVADOC) -encoding UTF-8 -sourcepath . -d $(JAVADOC_DEST) \ - -windowtitle $(JAVADOC_TITLE) $(JAVADOC_PKGS)) - - html: ../html/java/index.html diff --git a/sources b/sources index 5502eef..a592ad1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.0.4.tar.gz) = 8d9d12496d55181c0d866bbd97576551d1d78232fe34b845e8efbfbd4e95ce8426e73221d8126d12453959cd8adc5e07f121aaa93f3a5696074b43c69291d363 +SHA512 (otp-OTP-25.1.tar.gz) = d9ad3f41a01121ce1e299ce3532a4bb498bb804a28ea01715cdda3308a89d84ebe14ad3da421a400e403ccb218fb8b3b708344ff10fcfd9e3b28286cac85d81a From f2cfc269fe63bc501f2984a2394d4c0d4428af43 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 3 Oct 2022 19:45:09 +0200 Subject: [PATCH 11/69] Erlang ver. 25.1.1 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 ba482ed..f0ec2a0 100644 --- a/erlang.spec +++ b/erlang.spec @@ -67,7 +67,7 @@ Name: erlang -Version: 25.1 +Version: 25.1.1 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1915,6 +1915,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Mon Oct 3 2022 Peter Lemenkov - 25.1.1-1 +- Ver. 25.1.1 + * Wed Sep 21 2022 Peter Lemenkov - 25.1-1 - Ver. 25.1 diff --git a/sources b/sources index a592ad1..2d5cb3c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.1.tar.gz) = d9ad3f41a01121ce1e299ce3532a4bb498bb804a28ea01715cdda3308a89d84ebe14ad3da421a400e403ccb218fb8b3b708344ff10fcfd9e3b28286cac85d81a +SHA512 (otp-OTP-25.1.1.tar.gz) = 7e34eca772d29132dc907181ee9829ea58a47e622a9a65c0d4f66e79cb2e8f22a9f9e2edefad67ee6c151ee09027ed3927be65228780cdbe606a0abe59209243 From 449541a182dd37d3615b7aa7919ab6484045d40c Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Tue, 25 Oct 2022 15:08:59 +0200 Subject: [PATCH 12/69] Erlang ver. 25.1.2 Signed-off-by: Peter Lemenkov --- erlang.spec | 5 ++++- otp-0009-Load-man-pages-from-system-wide-directory.patch | 4 ++-- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/erlang.spec b/erlang.spec index f0ec2a0..4200c0d 100644 --- a/erlang.spec +++ b/erlang.spec @@ -67,7 +67,7 @@ Name: erlang -Version: 25.1.1 +Version: 25.1.2 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1915,6 +1915,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Tue Oct 25 2022 Peter Lemenkov - 25.1.2-1 +- Ver. 25.1.2 + * Mon Oct 3 2022 Peter Lemenkov - 25.1.1-1 - Ver. 25.1.1 diff --git a/otp-0009-Load-man-pages-from-system-wide-directory.patch b/otp-0009-Load-man-pages-from-system-wide-directory.patch index c4b4ef4..a7e0945 100644 --- a/otp-0009-Load-man-pages-from-system-wide-directory.patch +++ b/otp-0009-Load-man-pages-from-system-wide-directory.patch @@ -7,10 +7,10 @@ Patch allows one to use standard man path with erl -man command. as required by Debian policy.) diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c -index 9c3dc690ba..7867d32fd0 100644 +index 3e44ad2b77..d92bf75be0 100644 --- a/erts/etc/common/erlexec.c +++ b/erts/etc/common/erlexec.c -@@ -708,8 +708,10 @@ int main(int argc, char **argv) +@@ -709,8 +709,10 @@ int main(int argc, char **argv) error("-man not supported on Windows"); #else argv[i] = "man"; diff --git a/sources b/sources index 2d5cb3c..4e933aa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.1.1.tar.gz) = 7e34eca772d29132dc907181ee9829ea58a47e622a9a65c0d4f66e79cb2e8f22a9f9e2edefad67ee6c151ee09027ed3927be65228780cdbe606a0abe59209243 +SHA512 (otp-OTP-25.1.2.tar.gz) = a478799cb7df70a552043da55757b811e8b97182be15ab928e05b58537bb7bc4899aee406648767f538d8bd5c09e0a9d7e3655c99a8df0e6a0b77db83a720fb8 From 793ca1acf2d01d48460596a77ae1fb2c0be0e912 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 24 Nov 2022 14:42:16 +0100 Subject: [PATCH 13/69] Fix C99 compatibility issues in configure checks Related to: --- erlang-configure-c99.patch | 89 ++++++++++++++++++++++++++++++++++++++ erlang.spec | 5 ++- 2 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 erlang-configure-c99.patch diff --git a/erlang-configure-c99.patch b/erlang-configure-c99.patch new file mode 100644 index 0000000..e7abc79 --- /dev/null +++ b/erlang-configure-c99.patch @@ -0,0 +1,89 @@ +Configure changes to adjust to stricter C99 compilers: Avoid +implicit function declarations, and define main as returning int. + +Submitted upstream: + +diff --git a/erts/configure b/erts/configure +index 815428caaf61c914..7d057e69ae5e3a93 100755 +--- a/erts/configure ++++ b/erts/configure +@@ -20529,6 +20529,9 @@ else $as_nop + #ifdef HAVE_MALLOC_H + # include + #endif ++#ifdef HAVE_UNISTD_H ++# include ++#endif + #if defined(HAVE_END_SYMBOL) + extern char end; + #elif defined(HAVE__END_SYMBOL) +@@ -24437,10 +24440,13 @@ else $as_nop + /* end confdefs.h. */ + + #include +-main() ++#ifdef HAVE_FCNTL_H ++#include ++#endif ++int main() + { + #ifdef _POLL_EMUL_H_ +- exit(1); /* Implemented using select() -- fail */ ++ return 1; /* Implemented using select() -- fail */ + #else + struct pollfd fds[1]; + int fd; +@@ -24449,9 +24455,9 @@ main() + fds[0].events = POLLIN; + fds[0].revents = 0; + if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { +- exit(1); /* Does not work for devices -- fail */ ++ return 1; /* Does not work for devices -- fail */ + } +- exit(0); ++ return 0; + #endif + } + +diff --git a/erts/configure.ac b/erts/configure.ac +index ab2ee78acdca211e..f658b66e3c0e508a 100644 +--- a/erts/configure.ac ++++ b/erts/configure.ac +@@ -2436,6 +2436,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], + #ifdef HAVE_MALLOC_H + # include + #endif ++#ifdef HAVE_UNISTD_H ++# include ++#endif + #if defined(HAVE_END_SYMBOL) + extern char end; + #elif defined(HAVE__END_SYMBOL) +@@ -3033,10 +3036,13 @@ poll_works=no + + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include +-main() ++#ifdef HAVE_FCNTL_H ++#include ++#endif ++int main() + { + #ifdef _POLL_EMUL_H_ +- exit(1); /* Implemented using select() -- fail */ ++ return 1; /* Implemented using select() -- fail */ + #else + struct pollfd fds[1]; + int fd; +@@ -3045,9 +3051,9 @@ main() + fds[0].events = POLLIN; + fds[0].revents = 0; + if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { +- exit(1); /* Does not work for devices -- fail */ ++ return 1; /* Does not work for devices -- fail */ + } +- exit(0); ++ return 0; + #endif + } + ]])],[poll_works=yes],[poll_works=no],[ diff --git a/erlang.spec b/erlang.spec index 4200c0d..2e4d13d 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang Version: 25.1.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -1915,6 +1915,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Thu Nov 24 2022 Florian Weimer - 25.1.2-2 +- Fix C99 compatibility issues in configure checks + * Tue Oct 25 2022 Peter Lemenkov - 25.1.2-1 - Ver. 25.1.2 From 86ebbb5d6e7ef53c8a16b9a2feb3dee1105aeabb Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Sun, 27 Nov 2022 11:14:50 +0900 Subject: [PATCH 14/69] Rebuild due to wxGLCanvas ABI change --- erlang.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index 2e4d13d..9376166 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang Version: 25.1.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -1915,6 +1915,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Sun Nov 27 2022 Mamoru TASAKA - 25.1.2-3 +- Rebuild due to wxGLCanvas ABI change + * Thu Nov 24 2022 Florian Weimer - 25.1.2-2 - Fix C99 compatibility issues in configure checks From c397a8243a0b9418711f126f98f9a3f66ea15412 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 14 Dec 2022 10:07:19 +0100 Subject: [PATCH 15/69] Erlang ver. 25.2 Signed-off-by: Peter Lemenkov --- erlang.spec | 9 ++- ...-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch | 35 +++++++++ ...re.ac-C99-fixes-for-poll_works-check.patch | 72 +++++++++++++++++++ sources | 2 +- 4 files changed, 115 insertions(+), 3 deletions(-) create mode 100644 otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch create mode 100644 otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch diff --git a/erlang.spec b/erlang.spec index 9376166..be0a508 100644 --- a/erlang.spec +++ b/erlang.spec @@ -67,8 +67,8 @@ Name: erlang -Version: 25.1.2 -Release: 3%{?dist} +Version: 25.2 +Release: 1%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -108,6 +108,8 @@ Patch6: otp-0006-Do-not-install-erlang-sources.patch Patch7: otp-0007-Add-extra-search-directory.patch Patch8: otp-0008-Avoid-forking-sed-to-get-basename.patch Patch9: otp-0009-Load-man-pages-from-system-wide-directory.patch +Patch10: otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch +Patch11: otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch # end of autogenerated patch tag list BuildRequires: gcc @@ -1915,6 +1917,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Wed Dec 14 2022 Peter Lemenkov - 25.2-1 +- Ver. 25.2 + * Sun Nov 27 2022 Mamoru TASAKA - 25.1.2-3 - Rebuild due to wxGLCanvas ABI change diff --git a/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch b/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch new file mode 100644 index 0000000..cc45495 --- /dev/null +++ b/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch @@ -0,0 +1,35 @@ +From: Florian Weimer +Date: Thu, 24 Nov 2022 11:57:49 +0100 +Subject: [PATCH] configure.ac: C99 fix for + ERTS___AFTER_MORECORE_HOOK_CAN_TRACK_MALLOC + +#include for the sbrk function if the header is available. + +diff --git a/erts/configure b/erts/configure +index 815428caaf..47a1eab97a 100755 +--- a/erts/configure ++++ b/erts/configure +@@ -20529,6 +20529,9 @@ else $as_nop + #ifdef HAVE_MALLOC_H + # include + #endif ++#ifdef HAVE_UNISTD_H ++# include ++#endif + #if defined(HAVE_END_SYMBOL) + extern char end; + #elif defined(HAVE__END_SYMBOL) +diff --git a/erts/configure.ac b/erts/configure.ac +index ab2ee78acd..71423a4c4d 100644 +--- a/erts/configure.ac ++++ b/erts/configure.ac +@@ -2436,6 +2436,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], + #ifdef HAVE_MALLOC_H + # include + #endif ++#ifdef HAVE_UNISTD_H ++# include ++#endif + #if defined(HAVE_END_SYMBOL) + extern char end; + #elif defined(HAVE__END_SYMBOL) diff --git a/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch b/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch new file mode 100644 index 0000000..581f1fd --- /dev/null +++ b/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch @@ -0,0 +1,72 @@ +From: Florian Weimer +Date: Thu, 24 Nov 2022 11:59:22 +0100 +Subject: [PATCH] configure.ac: C99 fixes for poll_works check + +Include if it is available for the open prototype. +Return from main instead of calling exit, so that no function +declaration is needed. + +diff --git a/erts/configure b/erts/configure +index 47a1eab97a..7d057e69ae 100755 +--- a/erts/configure ++++ b/erts/configure +@@ -24440,10 +24440,13 @@ else $as_nop + /* end confdefs.h. */ + + #include +-main() ++#ifdef HAVE_FCNTL_H ++#include ++#endif ++int main() + { + #ifdef _POLL_EMUL_H_ +- exit(1); /* Implemented using select() -- fail */ ++ return 1; /* Implemented using select() -- fail */ + #else + struct pollfd fds[1]; + int fd; +@@ -24452,9 +24455,9 @@ main() + fds[0].events = POLLIN; + fds[0].revents = 0; + if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { +- exit(1); /* Does not work for devices -- fail */ ++ return 1; /* Does not work for devices -- fail */ + } +- exit(0); ++ return 0; + #endif + } + +diff --git a/erts/configure.ac b/erts/configure.ac +index 71423a4c4d..f658b66e3c 100644 +--- a/erts/configure.ac ++++ b/erts/configure.ac +@@ -3036,10 +3036,13 @@ poll_works=no + + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include +-main() ++#ifdef HAVE_FCNTL_H ++#include ++#endif ++int main() + { + #ifdef _POLL_EMUL_H_ +- exit(1); /* Implemented using select() -- fail */ ++ return 1; /* Implemented using select() -- fail */ + #else + struct pollfd fds[1]; + int fd; +@@ -3048,9 +3051,9 @@ main() + fds[0].events = POLLIN; + fds[0].revents = 0; + if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { +- exit(1); /* Does not work for devices -- fail */ ++ return 1; /* Does not work for devices -- fail */ + } +- exit(0); ++ return 0; + #endif + } + ]])],[poll_works=yes],[poll_works=no],[ diff --git a/sources b/sources index 4e933aa..1ca63ff 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.1.2.tar.gz) = a478799cb7df70a552043da55757b811e8b97182be15ab928e05b58537bb7bc4899aee406648767f538d8bd5c09e0a9d7e3655c99a8df0e6a0b77db83a720fb8 +SHA512 (otp-OTP-25.2.tar.gz) = bad37d287bd79f42ea19183c959e2865a0ecc19409dfffe96483e29d8cd199ea0b85e3263c9a2297137f640fb9a53ff2cd79ddad1b8d83bb2a95a987a9fdfa28 From 4e833ec92087b4062ec0d58efe5d9de90a357684 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 4 Jan 2023 20:51:47 +0100 Subject: [PATCH 16/69] Restore source code installation LSP applications require source code to be available (rhbz #2157170). Let's restore it in a separate package. Signed-off-by: Peter Lemenkov --- erlang.spec | 60 +- ...Revert-Do-not-install-erlang-sources.patch | 657 ++++++++++++++++++ 2 files changed, 716 insertions(+), 1 deletion(-) create mode 100644 otp-0012-Revert-Do-not-install-erlang-sources.patch diff --git a/erlang.spec b/erlang.spec index be0a508..35e07ef 100644 --- a/erlang.spec +++ b/erlang.spec @@ -30,6 +30,7 @@ %else %global __with_java 0 %endif +%global __with_sources 1 # # wxWidgets plugin blocks the following ones: # @@ -68,7 +69,7 @@ Name: erlang Version: 25.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -110,6 +111,7 @@ Patch8: otp-0008-Avoid-forking-sed-to-get-basename.patch Patch9: otp-0009-Load-man-pages-from-system-wide-directory.patch Patch10: otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch Patch11: otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch +Patch12: otp-0012-Revert-Do-not-install-erlang-sources.patch # end of autogenerated patch tag list BuildRequires: gcc @@ -180,6 +182,7 @@ 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}-src%{?_isa} = %{version}-%{release} Requires: %{name}-ssh%{?_isa} = %{version}-%{release} Requires: %{name}-ssl%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} @@ -596,6 +599,50 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} Simple Network Management Protocol (SNMP) support including a MIB compiler and tools for creating SNMP agents. +%if %{__with_sources} +%package src +Summary: Erlang sources +Requires: %{name}-asn%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Requires: %{name}-compiler%{?_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%{?_isa} = %{version}-%{release} +Requires: %{name}-erts%{?_isa} = %{version}-%{release} +Requires: %{name}-et%{?_isa} = %{version}-%{release} +Requires: %{name}-eunit%{?_isa} = %{version}-%{release} +Requires: %{name}-ftp%{?_isa} = %{version}-%{release} +Requires: %{name}-inets%{?_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}-os%{?_isa} = %{version}-%{release} +Requires: %{name}-parsetools%{?_isa} = %{version}-%{release} +Requires: %{name}-public%{?_isa} = %{version}-%{release} +Requires: %{name}-reltool%{?_isa} = %{version}-%{release} +Requires: %{name}-runtime%{?_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%{?_isa} = %{version}-%{release} +Requires: %{name}-tftp%{?_isa} = %{version}-%{release} +Requires: %{name}-tools%{?_isa} = %{version}-%{release} +Requires: %{name}-wx%{?_isa} = %{version}-%{release} +Requires: %{name}-xmerl%{?_isa} = %{version}-%{release} + +%description src +Erlang sources. It may be useful as a reference for code completion tools in +various editors, for documentation or automatical-code generation purposes. +%endif # __with_sources + %package ssh Summary: Secure Shell application with sftp and ssh support Requires: %{name}-crypto%{?_isa} = %{version}-%{release} @@ -1499,6 +1546,13 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man7/TRANSPORT-ADDRESS-MIB.* %endif +%if %{__with_sources} +%files src +%dir %{_libdir}/erlang/lib/*/src/ +%{_libdir}/erlang/lib/*/src/*.erl +%{_libdir}/erlang/lib/*/src/*.yrl +%endif + %files ssh %dir %{_libdir}/erlang/lib/ssh-*/ %{_libdir}/erlang/lib/ssh-*/ebin @@ -1917,6 +1971,10 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Wed Jan 4 2023 Peter Lemenkov - 25.2-2 +- LSP applications require source code to be available (rhbz #2157170). Let's + restore it in a separate package + * Wed Dec 14 2022 Peter Lemenkov - 25.2-1 - Ver. 25.2 diff --git a/otp-0012-Revert-Do-not-install-erlang-sources.patch b/otp-0012-Revert-Do-not-install-erlang-sources.patch new file mode 100644 index 0000000..1a0bb85 --- /dev/null +++ b/otp-0012-Revert-Do-not-install-erlang-sources.patch @@ -0,0 +1,657 @@ +From: Peter Lemenkov +Date: Wed, 4 Jan 2023 20:49:01 +0100 +Subject: [PATCH] Revert "Do not install erlang sources" + +This reverts commit 02d89974af96987a7cbcfe9d18533d509ad33690. + +diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile +index 007b7d44bd..1994aa1302 100644 +--- a/erts/preloaded/src/Makefile ++++ b/erts/preloaded/src/Makefile +@@ -117,6 +117,8 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + 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) $(APP_TARGET) "$(RELSYSDIR)/ebin" + +diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile +index 77ba98c2f8..9e13d02c8a 100644 +--- a/lib/asn1/src/Makefile ++++ b/lib/asn1/src/Makefile +@@ -157,7 +157,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/examples" + $(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples" + +diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile +index 5bf4e50f14..00f13589f3 100644 +--- a/lib/common_test/src/Makefile ++++ b/lib/common_test/src/Makefile +@@ -157,7 +157,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" + $(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 4e3fa5c60f..4ff5e678ee 100644 +--- a/lib/common_test/test_server/Makefile ++++ b/lib/common_test/test_server/Makefile +@@ -83,9 +83,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_tests_spec: opt + $(INSTALL_DIR) "$(RELEASE_PATH)/test_server" +- $(INSTALL_DATA) $(TS_HRL_FILES) \ ++ $(INSTALL_DATA) $(TS_ERL_FILES) $(TS_HRL_FILES) \ + $(TS_TARGET_FILES) \ +- $(CONFIG) \ ++ $(AUTOCONF_FILES) $(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 4eed19b516..d801d6baa0 100644 +--- a/lib/compiler/src/Makefile ++++ b/lib/compiler/src/Makefile +@@ -188,8 +188,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ +- "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ ++ $(YRL_FILE) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile +index 6f8a329421..893f679390 100644 +--- a/lib/crypto/src/Makefile ++++ b/lib/crypto/src/Makefile +@@ -81,6 +81,8 @@ 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)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile +index 6ddce27ec1..2fb955b2e3 100644 +--- a/lib/debugger/src/Makefile ++++ b/lib/debugger/src/Makefile +@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile +index cc266f48e2..c934ecdc2b 100644 +--- a/lib/dialyzer/src/Makefile ++++ b/lib/dialyzer/src/Makefile +@@ -162,7 +162,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ + "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" +diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile +index 7097541548..75e23d4191 100644 +--- a/lib/diameter/src/Makefile ++++ b/lib/diameter/src/Makefile +@@ -266,8 +266,11 @@ release_spec: opt + $(MAKE) ERL_DETERMINISTIC=$(ERL_DETERMINISTIC) $(EXAMPLE_DIRS:%/=release_examples_%) + + $(TARGET_DIRS:%/=release_src_%): release_src_%: +- $(INSTALL_DATA) $(filter $*/%, $(INTERNAL_HRLS)) \ +- "$(RELSYSDIR)/src/$*" || true ++ $(INSTALL_DIR) "$(RELSYSDIR)/src/$*" ++ $(INSTALL_DATA) $(filter $*/%, $(TARGET_MODULES:%=%.erl) \ ++ $(INTERNAL_HRLS)) \ ++ $(filter $*/%, compiler/$(DICT_YRL).yrl) \ ++ "$(RELSYSDIR)/src/$*" + + $(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%: + $(INSTALL_DIR) "$(RELSYSDIR)/examples/$*" +diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile +index e5b2f886ed..a455662049 100644 +--- a/lib/edoc/src/Makefile ++++ b/lib/edoc/src/Makefile +@@ -87,7 +87,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(SOURCES) $(HRL_FILES) $(YRL_FILE) "$(RELSYSDIR)/src" + + release_docs_spec: + +diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile +index 78fc4a9687..04a84a4766 100644 +--- a/lib/eldap/src/Makefile ++++ b/lib/eldap/src/Makefile +@@ -98,9 +98,13 @@ 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_DIR) "$(RELSYSDIR)/include" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" ++ $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" + + release_docs_spec: + +diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile +index cc3368ad02..458094e35f 100644 +--- a/lib/erl_docgen/src/Makefile ++++ b/lib/erl_docgen/src/Makefile +@@ -91,6 +91,8 @@ $(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)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile +index a567965ed4..fc66cc1eaf 100644 +--- a/lib/et/src/Makefile ++++ b/lib/et/src/Makefile +@@ -109,6 +109,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(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" +diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile +index 2a49a2ca7a..f4eaf6807a 100644 +--- a/lib/eunit/src/Makefile ++++ b/lib/eunit/src/Makefile +@@ -121,6 +121,7 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(PARSE_TRANSFORM) $(SOURCES) $(BEHAVIOUR_SOURCES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" +diff --git a/lib/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile +index ca4b539017..62f62792f0 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 + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/http_client" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_client" ++ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_client" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile +index 896a806695..481c4f66eb 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 + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/http_lib" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_lib" ++ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_lib" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile +index 42925ba58f..abf8413f33 100644 +--- a/lib/inets/src/http_server/Makefile ++++ b/lib/inets/src/http_server/Makefile +@@ -134,7 +134,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) "$(RELSYSDIR)/src/http_server" ++ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_server" + $(INSTALL_DIR) "$(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 a8b932772a..405e86105a 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 + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/inets_app" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/inets_app" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/inets_app" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile +index 891d3e6f6a..2149e89776 100644 +--- a/lib/kernel/src/Makefile ++++ b/lib/kernel/src/Makefile +@@ -229,6 +229,7 @@ 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) "$(RELSYSDIR)/src" + $(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 8cb286181a..c681b88428 100644 +--- a/lib/megaco/src/app/Makefile ++++ b/lib/megaco/src/app/Makefile +@@ -114,7 +114,7 @@ release_spec: opt + $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/app" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" + +diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile +index 3ca5654eb3..9ecb649f0c 100644 +--- a/lib/megaco/src/binary/Makefile ++++ b/lib/megaco/src/binary/Makefile +@@ -154,7 +154,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/binary" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/binary" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(ASN1_FILES) "$(RELSYSDIR)/src/binary" + + + release_docs_spec: +diff --git a/lib/megaco/src/engine/Makefile b/lib/megaco/src/engine/Makefile +index b7a7c703b3..cc4974e09d 100644 +--- a/lib/megaco/src/engine/Makefile ++++ b/lib/megaco/src/engine/Makefile +@@ -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" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + + +diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in +index 2053d3297b..d8c5c68b99 100644 +--- a/lib/megaco/src/flex/Makefile.in ++++ b/lib/megaco/src/flex/Makefile.in +@@ -248,6 +248,7 @@ 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" + 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 85cfb4b4ee..ef4232244a 100644 +--- a/lib/megaco/src/tcp/Makefile ++++ b/lib/megaco/src/tcp/Makefile +@@ -94,7 +94,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/tcp" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" + + + release_docs_spec: +diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile +index a097be4d48..6872b0ec04 100644 +--- a/lib/megaco/src/text/Makefile ++++ b/lib/megaco/src/text/Makefile +@@ -133,7 +133,7 @@ release_spec: opt + $(INSTALL_DATA) $(BEAM_TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/text" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_YRL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" + + + release_docs_spec: +diff --git a/lib/megaco/src/udp/Makefile b/lib/megaco/src/udp/Makefile +index f8dcb5c681..5699c3e952 100644 +--- a/lib/megaco/src/udp/Makefile ++++ b/lib/megaco/src/udp/Makefile +@@ -94,7 +94,7 @@ release_spec: opt + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/udp" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" + + + release_docs_spec: +diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile +index 08c6c5ffc1..72aa054fb3 100644 +--- a/lib/mnesia/src/Makefile ++++ b/lib/mnesia/src/Makefile +@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile +index 884e69c7b7..2edb2ceb3e 100644 +--- a/lib/observer/src/Makefile ++++ b/lib/observer/src/Makefile +@@ -151,6 +151,7 @@ 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) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/examples" + $(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples" +diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile +index fa01850f38..e18628e94d 100644 +--- a/lib/odbc/src/Makefile ++++ b/lib/odbc/src/Makefile +@@ -110,7 +110,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile +index 2413fb68bf..ee32f3946f 100644 +--- a/lib/os_mon/src/Makefile ++++ b/lib/os_mon/src/Makefile +@@ -105,6 +105,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" +diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile +index f6024f1184..c7971750a7 100644 +--- a/lib/parsetools/src/Makefile ++++ b/lib/parsetools/src/Makefile +@@ -91,6 +91,8 @@ $(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)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile +index bba7cae5d6..c1adf58ed4 100644 +--- a/lib/public_key/asn1/Makefile ++++ b/lib/public_key/asn1/Makefile +@@ -103,6 +103,8 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/asn1" + $(INSTALL_DATA) $(ASN_ASNS) $(ASN_CONFIGS) \ + "$(RELSYSDIR)/asn1" ++ $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ASN_ERLS) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + +diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile +index a5dcba4ec3..9b2b442794 100644 +--- a/lib/public_key/src/Makefile ++++ b/lib/public_key/src/Makefile +@@ -111,6 +111,8 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk + include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt ++ $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile +index 6864febbc3..173a557d58 100644 +--- a/lib/reltool/src/Makefile ++++ b/lib/reltool/src/Makefile +@@ -100,7 +100,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) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(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 6e380e1b11..8e8c4074f5 100644 +--- a/lib/runtime_tools/src/Makefile ++++ b/lib/runtime_tools/src/Makefile +@@ -99,6 +99,8 @@ 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)/examples" +diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile +index 739830ae3f..490e03595d 100644 +--- a/lib/sasl/src/Makefile ++++ b/lib/sasl/src/Makefile +@@ -94,6 +94,7 @@ 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) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" +diff --git a/lib/snmp/src/agent/Makefile.in b/lib/snmp/src/agent/Makefile.in +index 14ae0bbc79..6ab9ed437a 100644 +--- a/lib/snmp/src/agent/Makefile.in ++++ b/lib/snmp/src/agent/Makefile.in +@@ -161,7 +161,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/agent" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/agent" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/agent" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ + "$(RELSYSDIR)/ebin" +diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile +index 0340088eb3..f5a74aa78e 100644 +--- a/lib/snmp/src/app/Makefile ++++ b/lib/snmp/src/app/Makefile +@@ -144,7 +144,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/app" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/app" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/app" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(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 04232658c7..f255237a04 100644 +--- a/lib/snmp/src/compile/Makefile ++++ b/lib/snmp/src/compile/Makefile +@@ -141,7 +141,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/compiler" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" ++ $(INSTALL_DATA) $(ESCRIPT_SRC) $(PARSER_SRC) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(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 61b8dc4692..693ef75469 100644 +--- a/lib/snmp/src/manager/Makefile ++++ b/lib/snmp/src/manager/Makefile +@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/manager" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/manager" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/manager" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + # $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile +index 8dc421d2a1..e92506e855 100644 +--- a/lib/snmp/src/misc/Makefile ++++ b/lib/snmp/src/misc/Makefile +@@ -125,7 +125,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/misc" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/misc" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/misc" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + # $(INSTALL_DIR) "$(RELSYSDIR)/include" +diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile +index 2c7acf384d..2fcb164301 100644 +--- a/lib/ssh/src/Makefile ++++ b/lib/ssh/src/Makefile +@@ -182,7 +182,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) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(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 9cd7f7226c..789bed5c3f 100644 +--- a/lib/ssl/src/Makefile ++++ b/lib/ssl/src/Makefile +@@ -211,7 +211,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) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(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 43e7a650a5..761d6c4c28 100644 +--- a/lib/stdlib/src/Makefile ++++ b/lib/stdlib/src/Makefile +@@ -230,6 +230,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) erl_parse.yrl "$(RELSYSDIR)/src" + $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" + $(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 5bb265e2c2..dc0ac61734 100644 +--- a/lib/syntax_tools/src/Makefile ++++ b/lib/syntax_tools/src/Makefile +@@ -96,6 +96,8 @@ 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" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" + +diff --git a/lib/tftp/src/Makefile b/lib/tftp/src/Makefile +index fba9cc5873..cfcb1ea134 100644 +--- a/lib/tftp/src/Makefile ++++ b/lib/tftp/src/Makefile +@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ + $(APPUP_TARGET) "$(RELSYSDIR)/ebin" +diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile +index f8d143922d..b05ce883ec 100644 +--- a/lib/tools/src/Makefile ++++ b/lib/tools/src/Makefile +@@ -109,7 +109,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk + + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(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 f052399c0f..ce14c0b6df 100644 +--- a/lib/wx/src/Makefile ++++ b/lib/wx/src/Makefile +@@ -121,9 +121,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES) + include $(ERL_TOP)/make/otp_release_targets.mk + release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/src/gen" +- $(INSTALL_DATA) $(GEN_HRL) "$(RELSYSDIR)/src/gen" ++ $(INSTALL_DATA) $(GEN_HRL) $(GEN_FILES) "$(RELSYSDIR)/src/gen" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include" + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" +diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile +index 37b7843605..e7e7c8e978 100644 +--- a/lib/xmerl/src/Makefile ++++ b/lib/xmerl/src/Makefile +@@ -223,7 +223,9 @@ release_spec: opt + $(INSTALL_DIR) "$(RELSYSDIR)/ebin" + $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" + $(INSTALL_DIR) "$(RELSYSDIR)/src" +- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) xmerl_xpath_parse.yrl "$(RELSYSDIR)/src" ++ $(INSTALL_DATA) xmerl_b64Bin.yrl "$(RELSYSDIR)/src" + $(INSTALL_DIR) "$(RELSYSDIR)/include" + $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" + From c143d243796193dd1825bece6d5ae1aab7dd48d2 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 6 Jan 2023 00:13:12 +0100 Subject: [PATCH 17/69] Fix deps Signed-off-by: Peter Lemenkov --- erlang.spec | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/erlang.spec b/erlang.spec index 35e07ef..fd3c80c 100644 --- a/erlang.spec +++ b/erlang.spec @@ -69,7 +69,7 @@ Name: erlang Version: 25.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -602,8 +602,8 @@ MIB compiler and tools for creating SNMP agents. %if %{__with_sources} %package src Summary: Erlang sources -Requires: %{name}-asn%{?_isa} = %{version}-%{release} -Requires: %{name}-common%{?_isa} = %{version}-%{release} +Requires: %{name}-asn1%{?_isa} = %{version}-%{release} +Requires: %{name}-common_test%{?_isa} = %{version}-%{release} Requires: %{name}-compiler%{?_isa} = %{version}-%{release} Requires: %{name}-crypto%{?_isa} = %{version}-%{release} Requires: %{name}-debugger%{?_isa} = %{version}-%{release} @@ -611,7 +611,7 @@ 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%{?_isa} = %{version}-%{release} +Requires: %{name}-erl_docgen%{?_isa} = %{version}-%{release} Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-et%{?_isa} = %{version}-%{release} Requires: %{name}-eunit%{?_isa} = %{version}-%{release} @@ -622,17 +622,17 @@ 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}-os%{?_isa} = %{version}-%{release} +Requires: %{name}-os_mon%{?_isa} = %{version}-%{release} Requires: %{name}-parsetools%{?_isa} = %{version}-%{release} -Requires: %{name}-public%{?_isa} = %{version}-%{release} +Requires: %{name}-public_key%{?_isa} = %{version}-%{release} Requires: %{name}-reltool%{?_isa} = %{version}-%{release} -Requires: %{name}-runtime%{?_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%{?_isa} = %{version}-%{release} +Requires: %{name}-syntax_tools%{?_isa} = %{version}-%{release} Requires: %{name}-tftp%{?_isa} = %{version}-%{release} Requires: %{name}-tools%{?_isa} = %{version}-%{release} Requires: %{name}-wx%{?_isa} = %{version}-%{release} @@ -1971,6 +1971,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Fri Jan 6 2023 Peter Lemenkov - 25.2-3 +- Fix deps + * Wed Jan 4 2023 Peter Lemenkov - 25.2-2 - LSP applications require source code to be available (rhbz #2157170). Let's restore it in a separate package From e5a32454da2c2bd159f87472e647be164b02e63b Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 18 Jan 2023 18:58:21 +0100 Subject: [PATCH 18/69] Erlang ver. 25.2.1 Signed-off-by: Peter Lemenkov --- erlang.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/erlang.spec b/erlang.spec index fd3c80c..3231f51 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,8 +68,8 @@ Name: erlang -Version: 25.2 -Release: 3%{?dist} +Version: 25.2.1 +Release: 1%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -1971,6 +1971,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Wed Jan 18 2023 Peter Lemenkov - 25.2.1-1 +- Ver. 25.2.1 + * Fri Jan 6 2023 Peter Lemenkov - 25.2-3 - Fix deps diff --git a/sources b/sources index 1ca63ff..92c4554 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.2.tar.gz) = bad37d287bd79f42ea19183c959e2865a0ecc19409dfffe96483e29d8cd199ea0b85e3263c9a2297137f640fb9a53ff2cd79ddad1b8d83bb2a95a987a9fdfa28 +SHA512 (otp-OTP-25.2.1.tar.gz) = 517e6b3a2929c26a95a4b723cfeb1fe48bef3ea519a977c2aa9e12954c749f25418afbe570b288a3d6bb1124cbda515d06516db4fb0eac99e780c3b493219f3d From 3e9f7a3e121b5ca60cc9d89d641df1326791dc8b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 02:29:25 +0000 Subject: [PATCH 19/69] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_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 3231f51..d7617c0 100644 --- a/erlang.spec +++ b/erlang.spec @@ -69,7 +69,7 @@ Name: erlang Version: 25.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -1971,6 +1971,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 25.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Wed Jan 18 2023 Peter Lemenkov - 25.2.1-1 - Ver. 25.2.1 From aab72e1ede35fc15c6321eef423540246a67b024 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 30 Jan 2023 13:58:08 +0100 Subject: [PATCH 20/69] Erlang ver. 25.2.2 Signed-off-by: Peter Lemenkov --- erlang.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/erlang.spec b/erlang.spec index d7617c0..f64c418 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,8 +68,8 @@ Name: erlang -Version: 25.2.1 -Release: 2%{?dist} +Version: 25.2.2 +Release: 1%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -1971,6 +1971,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Mon Jan 30 2023 Peter Lemenkov - 25.2.2-1 +- Ver. 25.2.2 + * Thu Jan 19 2023 Fedora Release Engineering - 25.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index 92c4554..6dd5e0d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.2.1.tar.gz) = 517e6b3a2929c26a95a4b723cfeb1fe48bef3ea519a977c2aa9e12954c749f25418afbe570b288a3d6bb1124cbda515d06516db4fb0eac99e780c3b493219f3d +SHA512 (otp-OTP-25.2.2.tar.gz) = e93f5b7079f9cf1e00528587a8fc96ed5b4a29b6b329a38e238341f79d98f20f811548875fbaf137fd64b38d5950989e885a2293680475a0b7198307eef1de4a From d713068e22d33067e5b2a9434deefdea7e1df722 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 17 Feb 2023 22:16:08 +0100 Subject: [PATCH 21/69] Erlang ver. 25.2.3 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 f64c418..76ca198 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 25.2.2 +Version: 25.2.3 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1971,6 +1971,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Fri Feb 17 2023 Peter Lemenkov - 25.2.3-1 +- Ver. 25.2.3 + * Mon Jan 30 2023 Peter Lemenkov - 25.2.2-1 - Ver. 25.2.2 diff --git a/sources b/sources index 6dd5e0d..20efeca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.2.2.tar.gz) = e93f5b7079f9cf1e00528587a8fc96ed5b4a29b6b329a38e238341f79d98f20f811548875fbaf137fd64b38d5950989e885a2293680475a0b7198307eef1de4a +SHA512 (otp-OTP-25.2.3.tar.gz) = aa51ebcb9c4977ebd695d416488fc8ac94e7d19b962f6d470c5e6377151781ed6c50319eeb2cbbac75438d9f759302d1e48d2c2118ec86063a33a22ed8651f27 From 9a8f56b741ecbe05f3fdf684c3b7a3d0c30b2e0a Mon Sep 17 00:00:00 2001 From: Igor Raits Date: Fri, 24 Feb 2023 17:55:28 +0000 Subject: [PATCH 22/69] Use parallel make for build On my system it improves build time from 20+ minutes to a few and does not cause any issues in test suite or similar. --- erlang.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index 76ca198..02cfb37 100644 --- a/erlang.spec +++ b/erlang.spec @@ -810,7 +810,7 @@ pushd emacs-erlang popd %endif %{__with_emacs} -make +%make_build %if %{with doc} # should use FOP_OPTS after #832323 is resolved From 61b51141c3afb617849087b6ed1a190c7d64bd35 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 8 Mar 2023 15:22:58 +0100 Subject: [PATCH 23/69] Erlang ver. 25.3 Signed-off-by: Peter Lemenkov --- erlang.spec | 5 ++++- ...-not-format-man-pages-and-do-not-install-miscellan.patch | 4 ++-- otp-0009-Load-man-pages-from-system-wide-directory.patch | 2 +- ...nfigure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch | 4 ++-- otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch | 6 +++--- sources | 2 +- 6 files changed, 13 insertions(+), 10 deletions(-) diff --git a/erlang.spec b/erlang.spec index 02cfb37..ba99aeb 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 25.2.3 +Version: 25.3 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1971,6 +1971,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Wed Mar 8 2023 Peter Lemenkov - 25.3-1 +- Ver. 25.3 + * Fri Feb 17 2023 Peter Lemenkov - 25.2.3-1 - Ver. 25.2.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 da44106..96f0494 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 42d4395eb2..307ef11828 100644 +index 86f63dcf41..b74c789775 100644 --- a/erts/etc/common/Makefile.in +++ b/erts/etc/common/Makefile.in -@@ -552,10 +552,6 @@ endif +@@ -555,10 +555,6 @@ endif ifneq ($(INSTALL_TOP_BIN),) $(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)" endif diff --git a/otp-0009-Load-man-pages-from-system-wide-directory.patch b/otp-0009-Load-man-pages-from-system-wide-directory.patch index a7e0945..2075f81 100644 --- a/otp-0009-Load-man-pages-from-system-wide-directory.patch +++ b/otp-0009-Load-man-pages-from-system-wide-directory.patch @@ -7,7 +7,7 @@ Patch allows one to use standard man path with erl -man command. as required by Debian policy.) diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c -index 3e44ad2b77..d92bf75be0 100644 +index fa951ae770..9cce3857db 100644 --- a/erts/etc/common/erlexec.c +++ b/erts/etc/common/erlexec.c @@ -709,8 +709,10 @@ int main(int argc, char **argv) diff --git a/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch b/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch index cc45495..7647ebe 100644 --- a/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch +++ b/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch @@ -6,10 +6,10 @@ Subject: [PATCH] configure.ac: C99 fix for #include for the sbrk function if the header is available. diff --git a/erts/configure b/erts/configure -index 815428caaf..47a1eab97a 100755 +index a84ffe4342..16fd52dad4 100755 --- a/erts/configure +++ b/erts/configure -@@ -20529,6 +20529,9 @@ else $as_nop +@@ -20644,6 +20644,9 @@ else $as_nop #ifdef HAVE_MALLOC_H # include #endif diff --git a/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch b/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch index 581f1fd..0c99732 100644 --- a/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch +++ b/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch @@ -7,10 +7,10 @@ Return from main instead of calling exit, so that no function declaration is needed. diff --git a/erts/configure b/erts/configure -index 47a1eab97a..7d057e69ae 100755 +index 16fd52dad4..a991217017 100755 --- a/erts/configure +++ b/erts/configure -@@ -24440,10 +24440,13 @@ else $as_nop +@@ -24555,10 +24555,13 @@ else $as_nop /* end confdefs.h. */ #include @@ -26,7 +26,7 @@ index 47a1eab97a..7d057e69ae 100755 #else struct pollfd fds[1]; int fd; -@@ -24452,9 +24455,9 @@ main() +@@ -24567,9 +24570,9 @@ main() fds[0].events = POLLIN; fds[0].revents = 0; if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { diff --git a/sources b/sources index 20efeca..c9f923c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.2.3.tar.gz) = aa51ebcb9c4977ebd695d416488fc8ac94e7d19b962f6d470c5e6377151781ed6c50319eeb2cbbac75438d9f759302d1e48d2c2118ec86063a33a22ed8651f27 +SHA512 (otp-OTP-25.3.tar.gz) = cf104918917e33db250b48aaad3c098899739358035d764ea2ee1fc9ba7937504190752163ce8430bdbfc576ce2c2533d4f50fc8f0994ff155e3df188a8db99e From 492b64b29b48bb3ea5729835d6d5e2f7c7005caa Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 27 Apr 2023 16:16:54 +0200 Subject: [PATCH 24/69] Erlang ver. 25.3.1 Signed-off-by: Peter Lemenkov --- erlang.spec | 5 ++++- ....ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch | 4 ++-- ...configure.ac-C99-fixes-for-poll_works-check.patch | 12 ++++++------ sources | 2 +- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/erlang.spec b/erlang.spec index ba99aeb..9989a6d 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 25.3 +Version: 25.3.1 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1971,6 +1971,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Thu Apr 27 2023 Peter Lemenkov - 25.3.1-1 +- Ver. 25.3.1 + * Wed Mar 8 2023 Peter Lemenkov - 25.3-1 - Ver. 25.3 diff --git a/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch b/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch index 7647ebe..dc89898 100644 --- a/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch +++ b/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch @@ -6,7 +6,7 @@ Subject: [PATCH] configure.ac: C99 fix for #include for the sbrk function if the header is available. diff --git a/erts/configure b/erts/configure -index a84ffe4342..16fd52dad4 100755 +index fbdb6baba8..46e882e99a 100755 --- a/erts/configure +++ b/erts/configure @@ -20644,6 +20644,9 @@ else $as_nop @@ -20,7 +20,7 @@ index a84ffe4342..16fd52dad4 100755 extern char end; #elif defined(HAVE__END_SYMBOL) diff --git a/erts/configure.ac b/erts/configure.ac -index ab2ee78acd..71423a4c4d 100644 +index 307be5042d..316345079b 100644 --- a/erts/configure.ac +++ b/erts/configure.ac @@ -2436,6 +2436,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], diff --git a/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch b/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch index 0c99732..d3d2a71 100644 --- a/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch +++ b/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch @@ -7,10 +7,10 @@ Return from main instead of calling exit, so that no function declaration is needed. diff --git a/erts/configure b/erts/configure -index 16fd52dad4..a991217017 100755 +index 46e882e99a..7cc6f802ce 100755 --- a/erts/configure +++ b/erts/configure -@@ -24555,10 +24555,13 @@ else $as_nop +@@ -24575,10 +24575,13 @@ else $as_nop /* end confdefs.h. */ #include @@ -26,7 +26,7 @@ index 16fd52dad4..a991217017 100755 #else struct pollfd fds[1]; int fd; -@@ -24567,9 +24570,9 @@ main() +@@ -24587,9 +24590,9 @@ main() fds[0].events = POLLIN; fds[0].revents = 0; if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { @@ -39,10 +39,10 @@ index 16fd52dad4..a991217017 100755 } diff --git a/erts/configure.ac b/erts/configure.ac -index 71423a4c4d..f658b66e3c 100644 +index 316345079b..439ec5d4a1 100644 --- a/erts/configure.ac +++ b/erts/configure.ac -@@ -3036,10 +3036,13 @@ poll_works=no +@@ -3055,10 +3055,13 @@ poll_works=no AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include @@ -58,7 +58,7 @@ index 71423a4c4d..f658b66e3c 100644 #else struct pollfd fds[1]; int fd; -@@ -3048,9 +3051,9 @@ main() +@@ -3067,9 +3070,9 @@ main() fds[0].events = POLLIN; fds[0].revents = 0; if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { diff --git a/sources b/sources index c9f923c..282ac43 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.3.tar.gz) = cf104918917e33db250b48aaad3c098899739358035d764ea2ee1fc9ba7937504190752163ce8430bdbfc576ce2c2533d4f50fc8f0994ff155e3df188a8db99e +SHA512 (otp-OTP-25.3.1.tar.gz) = f9f56a2fed2a8110472ed424592d750fc2073232a6ccbacd7928d3cea38340e2c1b2c8e14330e4013b89a507efe6ef003c165eddecffe1461ca4bdaf5083ee87 From 68768b9a58c9823d8e64991da40a5da5bbcba358 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Sun, 7 May 2023 13:21:50 +0200 Subject: [PATCH 25/69] Erlang ver. 25.3.2 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 9989a6d..0df3c66 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 25.3.1 +Version: 25.3.2 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1971,6 +1971,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Sat May 6 2023 Peter Lemenkov - 25.3.2-1 +- Ver. 25.3.2 + * Thu Apr 27 2023 Peter Lemenkov - 25.3.1-1 - Ver. 25.3.1 diff --git a/sources b/sources index 282ac43..74779cc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.3.1.tar.gz) = f9f56a2fed2a8110472ed424592d750fc2073232a6ccbacd7928d3cea38340e2c1b2c8e14330e4013b89a507efe6ef003c165eddecffe1461ca4bdaf5083ee87 +SHA512 (otp-OTP-25.3.2.tar.gz) = d307d59708da8e6f233ec60292925fc9c0f4c1aaf14643790b7ead27ae858ac14bab7356c926055872df63500eac117db31b0b69cc0416a5f535b0443cda457d From 2b17ab754a6ae916c593e27c73bc9948a9a19700 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Sat, 20 May 2023 17:09:11 +0200 Subject: [PATCH 26/69] Erlang ver. 26.0 Signed-off-by: Peter Lemenkov --- erlang.spec | 24 +- ...n-pages-and-do-not-install-miscellan.patch | 4 +- ... otp-0006-Add-extra-search-directory.patch | 4 +- otp-0006-Do-not-install-erlang-sources.patch | 660 ------------------ ...07-Avoid-forking-sed-to-get-basename.patch | 0 ...man-pages-from-system-wide-directory.patch | 4 +- ...-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch | 8 +- ...re.ac-C99-fixes-for-poll_works-check.patch | 12 +- ...Revert-Do-not-install-erlang-sources.patch | 657 ----------------- sources | 2 +- 10 files changed, 29 insertions(+), 1346 deletions(-) rename otp-0007-Add-extra-search-directory.patch => otp-0006-Add-extra-search-directory.patch (90%) delete mode 100644 otp-0006-Do-not-install-erlang-sources.patch rename otp-0008-Avoid-forking-sed-to-get-basename.patch => otp-0007-Avoid-forking-sed-to-get-basename.patch (100%) rename otp-0009-Load-man-pages-from-system-wide-directory.patch => otp-0008-Load-man-pages-from-system-wide-directory.patch (89%) rename otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch => otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch (82%) rename otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch => otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch (88%) delete mode 100644 otp-0012-Revert-Do-not-install-erlang-sources.patch diff --git a/erlang.spec b/erlang.spec index 0df3c66..bb2da74 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 25.3.2 +Version: 26.0 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -105,13 +105,11 @@ Patch2: otp-0002-Remove-rpath.patch 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-Add-extra-search-directory.patch -Patch8: otp-0008-Avoid-forking-sed-to-get-basename.patch -Patch9: otp-0009-Load-man-pages-from-system-wide-directory.patch -Patch10: otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch -Patch11: otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch -Patch12: otp-0012-Revert-Do-not-install-erlang-sources.patch +Patch6: otp-0006-Add-extra-search-directory.patch +Patch7: otp-0007-Avoid-forking-sed-to-get-basename.patch +Patch8: otp-0008-Load-man-pages-from-system-wide-directory.patch +Patch9: otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch +Patch10: otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch # end of autogenerated patch tag list BuildRequires: gcc @@ -366,8 +364,7 @@ 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) -# FIXME has to be 2.16 -Provides: erlang(erl_nif_version) = 2.16 +Provides: erlang(erl_nif_version) = 2.17 Provides: bundled(pcre) = 8.44 Obsoletes: erlang-appmon Obsoletes: erlang-docbuilder @@ -1356,7 +1353,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/pg.* %{_mandir}/man3/rpc.* %{_mandir}/man3/seq_trace.* -%{_mandir}/man3/user.* %{_mandir}/man3/wrap_log_reader.* %{_mandir}/man3/zlib_stub.* %{_mandir}/man4/app.* @@ -1462,7 +1458,6 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %if %{with doc} %{_mandir}/man3/dbg.* %{_mandir}/man3/dyntrace.* -%{_mandir}/man3/erts_alloc_config.* %{_mandir}/man3/msacc.* %{_mandir}/man3/system_information.* %{_mandir}/man6/runtime_tools.* @@ -1590,6 +1585,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_libdir}/erlang/lib/stdlib-*/include %{_libdir}/erlang/lib/stdlib-*/src %if %{with doc} +%{_mandir}/man3/argparse.* %{_mandir}/man3/array.* %{_mandir}/man3/base64.* %{_mandir}/man3/beam_lib.* @@ -1600,6 +1596,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/dict.* %{_mandir}/man3/digraph.* %{_mandir}/man3/digraph_utils.* +%{_mandir}/man3/edlin_expand.* %{_mandir}/man3/epp.* %{_mandir}/man3/erl_anno.* %{_mandir}/man3/erl_error.* @@ -1971,6 +1968,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Sat May 20 2023 Peter Lemenkov - 26.0-1 +- Ver. 26.0 + * Sat May 6 2023 Peter Lemenkov - 25.3.2-1 - Ver. 25.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 96f0494..0cc953a 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 86f63dcf41..b74c789775 100644 +index 3c5a5cee64..3c3dbda661 100644 --- a/erts/etc/common/Makefile.in +++ b/erts/etc/common/Makefile.in -@@ -555,10 +555,6 @@ endif +@@ -552,10 +552,6 @@ endif ifneq ($(INSTALL_TOP_BIN),) $(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)" endif diff --git a/otp-0007-Add-extra-search-directory.patch b/otp-0006-Add-extra-search-directory.patch similarity index 90% rename from otp-0007-Add-extra-search-directory.patch rename to otp-0006-Add-extra-search-directory.patch index cb84b30..3c7339a 100644 --- a/otp-0007-Add-extra-search-directory.patch +++ b/otp-0006-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 af8531271f..66050d6cdb 100644 +index f420337eb7..7e056ac2f6 100644 --- a/lib/kernel/src/code_server.erl +++ b/lib/kernel/src/code_server.erl -@@ -79,11 +79,17 @@ init(Ref, Parent, [Root,Mode]) -> +@@ -89,11 +89,17 @@ init(Ref, Parent, [Root,Mode]) -> IPath = case Mode of interactive -> diff --git a/otp-0006-Do-not-install-erlang-sources.patch b/otp-0006-Do-not-install-erlang-sources.patch deleted file mode 100644 index e40945b..0000000 --- a/otp-0006-Do-not-install-erlang-sources.patch +++ /dev/null @@ -1,660 +0,0 @@ -From: Hans Ulrich Niedermann -Date: Mon, 21 Mar 2011 15:41:49 +0100 -Subject: [PATCH] Do not install erlang sources - -Don't install *.erl, *.xrl, *.yrl, and *.asn1 files at all. - -Signed-off-by: Peter Lemenkov -Signed-off-by: Hans Ulrich Niedermann - -diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile -index 1994aa1302..007b7d44bd 100644 ---- a/erts/preloaded/src/Makefile -+++ b/erts/preloaded/src/Makefile -@@ -117,8 +117,6 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk - include $(ERL_TOP)/make/otp_release_targets.mk - - 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) $(APP_TARGET) "$(RELSYSDIR)/ebin" - -diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile -index 9e13d02c8a..77ba98c2f8 100644 ---- a/lib/asn1/src/Makefile -+++ b/lib/asn1/src/Makefile -@@ -157,7 +157,7 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/examples" - $(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples" - -diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile -index 00f13589f3..5bf4e50f14 100644 ---- a/lib/common_test/src/Makefile -+++ b/lib/common_test/src/Makefile -@@ -157,7 +157,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" - $(INSTALL_DIR) "$(RELSYSDIR)/include" -diff --git a/lib/common_test/test_server/Makefile b/lib/common_test/test_server/Makefile -index 4ff5e678ee..4e3fa5c60f 100644 ---- a/lib/common_test/test_server/Makefile -+++ b/lib/common_test/test_server/Makefile -@@ -83,9 +83,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 d801d6baa0..4eed19b516 100644 ---- a/lib/compiler/src/Makefile -+++ b/lib/compiler/src/Makefile -@@ -188,8 +188,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ -- $(YRL_FILE) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ -+ "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile -index 893f679390..6f8a329421 100644 ---- a/lib/crypto/src/Makefile -+++ b/lib/crypto/src/Makefile -@@ -81,8 +81,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)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \ - $(APPUP_TARGET) "$(RELSYSDIR)/ebin" -diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile -index 2fb955b2e3..6ddce27ec1 100644 ---- a/lib/debugger/src/Makefile -+++ b/lib/debugger/src/Makefile -@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile -index c934ecdc2b..cc266f48e2 100644 ---- a/lib/dialyzer/src/Makefile -+++ b/lib/dialyzer/src/Makefile -@@ -162,7 +162,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ -+ $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ - "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" -diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile -index 75e23d4191..7097541548 100644 ---- a/lib/diameter/src/Makefile -+++ b/lib/diameter/src/Makefile -@@ -266,11 +266,8 @@ release_spec: opt - $(MAKE) ERL_DETERMINISTIC=$(ERL_DETERMINISTIC) $(EXAMPLE_DIRS:%/=release_examples_%) - - $(TARGET_DIRS:%/=release_src_%): release_src_%: -- $(INSTALL_DIR) "$(RELSYSDIR)/src/$*" -- $(INSTALL_DATA) $(filter $*/%, $(TARGET_MODULES:%=%.erl) \ -- $(INTERNAL_HRLS)) \ -- $(filter $*/%, compiler/$(DICT_YRL).yrl) \ -- "$(RELSYSDIR)/src/$*" -+ $(INSTALL_DATA) $(filter $*/%, $(INTERNAL_HRLS)) \ -+ "$(RELSYSDIR)/src/$*" || true - - $(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%: - $(INSTALL_DIR) "$(RELSYSDIR)/examples/$*" -diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile -index a455662049..e5b2f886ed 100644 ---- a/lib/edoc/src/Makefile -+++ b/lib/edoc/src/Makefile -@@ -87,7 +87,7 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(SOURCES) $(HRL_FILES) $(YRL_FILE) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - - release_docs_spec: - -diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile -index 04a84a4766..78fc4a9687 100644 ---- a/lib/eldap/src/Makefile -+++ b/lib/eldap/src/Makefile -@@ -98,13 +98,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(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) $(HRL_FILES) "$(RELSYSDIR)/include" - - release_docs_spec: - -diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile -index 458094e35f..cc3368ad02 100644 ---- a/lib/erl_docgen/src/Makefile -+++ b/lib/erl_docgen/src/Makefile -@@ -91,8 +91,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)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile -index fc66cc1eaf..a567965ed4 100644 ---- a/lib/et/src/Makefile -+++ b/lib/et/src/Makefile -@@ -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" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" -diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile -index f4eaf6807a..2a49a2ca7a 100644 ---- a/lib/eunit/src/Makefile -+++ b/lib/eunit/src/Makefile -@@ -121,7 +121,6 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(PARSE_TRANSFORM) $(SOURCES) $(BEHAVIOUR_SOURCES) "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" -diff --git a/lib/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile -index 62f62792f0..ca4b539017 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 - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/http_client" -- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_client" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_client" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile -index 481c4f66eb..896a806695 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 - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/http_lib" -- $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_lib" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_lib" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile -index abf8413f33..42925ba58f 100644 ---- a/lib/inets/src/http_server/Makefile -+++ b/lib/inets/src/http_server/Makefile -@@ -134,7 +134,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) $(BEHAVIOUR_TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile -index 405e86105a..a8b932772a 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 - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/inets_app" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/inets_app" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/inets_app" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile -index 2149e89776..891d3e6f6a 100644 ---- a/lib/kernel/src/Makefile -+++ b/lib/kernel/src/Makefile -@@ -229,7 +229,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) "$(RELSYSDIR)/src" - $(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 c681b88428..8cb286181a 100644 ---- a/lib/megaco/src/app/Makefile -+++ b/lib/megaco/src/app/Makefile -@@ -114,7 +114,7 @@ release_spec: opt - $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/app" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" - -diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile -index 9ecb649f0c..3ca5654eb3 100644 ---- a/lib/megaco/src/binary/Makefile -+++ b/lib/megaco/src/binary/Makefile -@@ -154,7 +154,7 @@ release_spec: opt - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/binary" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(ASN1_FILES) "$(RELSYSDIR)/src/binary" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/binary" - - - release_docs_spec: -diff --git a/lib/megaco/src/engine/Makefile b/lib/megaco/src/engine/Makefile -index cc4974e09d..b7a7c703b3 100644 ---- a/lib/megaco/src/engine/Makefile -+++ b/lib/megaco/src/engine/Makefile -@@ -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" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - - -diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in -index d8c5c68b99..2053d3297b 100644 ---- a/lib/megaco/src/flex/Makefile.in -+++ b/lib/megaco/src/flex/Makefile.in -@@ -248,7 +248,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" - 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 ef4232244a..85cfb4b4ee 100644 ---- a/lib/megaco/src/tcp/Makefile -+++ b/lib/megaco/src/tcp/Makefile -@@ -94,7 +94,7 @@ release_spec: opt - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/tcp" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" - - - release_docs_spec: -diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile -index 6872b0ec04..a097be4d48 100644 ---- a/lib/megaco/src/text/Makefile -+++ b/lib/megaco/src/text/Makefile -@@ -133,7 +133,7 @@ release_spec: opt - $(INSTALL_DATA) $(BEAM_TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/text" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_YRL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" - - - release_docs_spec: -diff --git a/lib/megaco/src/udp/Makefile b/lib/megaco/src/udp/Makefile -index 5699c3e952..f8dcb5c681 100644 ---- a/lib/megaco/src/udp/Makefile -+++ b/lib/megaco/src/udp/Makefile -@@ -94,7 +94,7 @@ release_spec: opt - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/udp" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" - - - release_docs_spec: -diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile -index 72aa054fb3..08c6c5ffc1 100644 ---- a/lib/mnesia/src/Makefile -+++ b/lib/mnesia/src/Makefile -@@ -135,7 +135,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/observer/src/Makefile b/lib/observer/src/Makefile -index 2edb2ceb3e..884e69c7b7 100644 ---- a/lib/observer/src/Makefile -+++ b/lib/observer/src/Makefile -@@ -151,7 +151,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) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/examples" - $(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples" -diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile -index e18628e94d..fa01850f38 100644 ---- a/lib/odbc/src/Makefile -+++ b/lib/odbc/src/Makefile -@@ -110,7 +110,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)/include" - $(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile -index ee32f3946f..2413fb68bf 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 - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" -diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile -index c7971750a7..f6024f1184 100644 ---- a/lib/parsetools/src/Makefile -+++ b/lib/parsetools/src/Makefile -@@ -91,8 +91,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)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/include" -diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile -index c1adf58ed4..bba7cae5d6 100644 ---- a/lib/public_key/asn1/Makefile -+++ b/lib/public_key/asn1/Makefile -@@ -103,8 +103,6 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/asn1" - $(INSTALL_DATA) $(ASN_ASNS) $(ASN_CONFIGS) \ - "$(RELSYSDIR)/asn1" -- $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ASN_ERLS) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile -index 9b2b442794..a5dcba4ec3 100644 ---- a/lib/public_key/src/Makefile -+++ b/lib/public_key/src/Makefile -@@ -111,8 +111,6 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk - include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt -- $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile -index 173a557d58..6864febbc3 100644 ---- a/lib/reltool/src/Makefile -+++ b/lib/reltool/src/Makefile -@@ -100,7 +100,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(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 8e8c4074f5..6e380e1b11 100644 ---- a/lib/runtime_tools/src/Makefile -+++ b/lib/runtime_tools/src/Makefile -@@ -99,8 +99,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)/examples" -diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile -index 490e03595d..739830ae3f 100644 ---- a/lib/sasl/src/Makefile -+++ b/lib/sasl/src/Makefile -@@ -94,7 +94,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) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" -diff --git a/lib/snmp/src/agent/Makefile.in b/lib/snmp/src/agent/Makefile.in -index 6ab9ed437a..14ae0bbc79 100644 ---- a/lib/snmp/src/agent/Makefile.in -+++ b/lib/snmp/src/agent/Makefile.in -@@ -161,7 +161,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/agent" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/agent" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/agent" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ - "$(RELSYSDIR)/ebin" -diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile -index f5a74aa78e..0340088eb3 100644 ---- a/lib/snmp/src/app/Makefile -+++ b/lib/snmp/src/app/Makefile -@@ -144,7 +144,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/app" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/app" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/app" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(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 f255237a04..04232658c7 100644 ---- a/lib/snmp/src/compile/Makefile -+++ b/lib/snmp/src/compile/Makefile -@@ -141,7 +141,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/compiler" -- $(INSTALL_DATA) $(ESCRIPT_SRC) $(PARSER_SRC) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(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 693ef75469..61b8dc4692 100644 ---- a/lib/snmp/src/manager/Makefile -+++ b/lib/snmp/src/manager/Makefile -@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/manager" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/manager" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/manager" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - # $(INSTALL_DIR) "$(RELSYSDIR)/include" -diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile -index e92506e855..8dc421d2a1 100644 ---- a/lib/snmp/src/misc/Makefile -+++ b/lib/snmp/src/misc/Makefile -@@ -125,7 +125,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/misc" -- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/misc" -+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/misc" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - # $(INSTALL_DIR) "$(RELSYSDIR)/include" -diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile -index 2fcb164301..2c7acf384d 100644 ---- a/lib/ssh/src/Makefile -+++ b/lib/ssh/src/Makefile -@@ -182,7 +182,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(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 789bed5c3f..9cd7f7226c 100644 ---- a/lib/ssl/src/Makefile -+++ b/lib/ssl/src/Makefile -@@ -211,7 +211,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(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 761d6c4c28..43e7a650a5 100644 ---- a/lib/stdlib/src/Makefile -+++ b/lib/stdlib/src/Makefile -@@ -230,7 +230,6 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) erl_parse.yrl "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(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 dc0ac61734..5bb265e2c2 100644 ---- a/lib/syntax_tools/src/Makefile -+++ b/lib/syntax_tools/src/Makefile -@@ -96,8 +96,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" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" - -diff --git a/lib/tftp/src/Makefile b/lib/tftp/src/Makefile -index cfcb1ea134..fba9cc5873 100644 ---- a/lib/tftp/src/Makefile -+++ b/lib/tftp/src/Makefile -@@ -101,7 +101,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) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ - $(APPUP_TARGET) "$(RELSYSDIR)/ebin" -diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile -index b05ce883ec..f8d143922d 100644 ---- a/lib/tools/src/Makefile -+++ b/lib/tools/src/Makefile -@@ -109,7 +109,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(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 ce14c0b6df..f052399c0f 100644 ---- a/lib/wx/src/Makefile -+++ b/lib/wx/src/Makefile -@@ -121,9 +121,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES) - 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)/src/gen" -- $(INSTALL_DATA) $(GEN_HRL) $(GEN_FILES) "$(RELSYSDIR)/src/gen" -+ $(INSTALL_DATA) $(GEN_HRL) "$(RELSYSDIR)/src/gen" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile -index e7e7c8e978..37b7843605 100644 ---- a/lib/xmerl/src/Makefile -+++ b/lib/xmerl/src/Makefile -@@ -223,9 +223,7 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) xmerl_xpath_parse.yrl "$(RELSYSDIR)/src" -- $(INSTALL_DATA) xmerl_b64Bin.yrl "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" - diff --git a/otp-0008-Avoid-forking-sed-to-get-basename.patch b/otp-0007-Avoid-forking-sed-to-get-basename.patch similarity index 100% rename from otp-0008-Avoid-forking-sed-to-get-basename.patch rename to otp-0007-Avoid-forking-sed-to-get-basename.patch diff --git a/otp-0009-Load-man-pages-from-system-wide-directory.patch b/otp-0008-Load-man-pages-from-system-wide-directory.patch similarity index 89% rename from otp-0009-Load-man-pages-from-system-wide-directory.patch rename to otp-0008-Load-man-pages-from-system-wide-directory.patch index 2075f81..e014671 100644 --- a/otp-0009-Load-man-pages-from-system-wide-directory.patch +++ b/otp-0008-Load-man-pages-from-system-wide-directory.patch @@ -7,10 +7,10 @@ Patch allows one to use standard man path with erl -man command. as required by Debian policy.) diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c -index fa951ae770..9cce3857db 100644 +index 888df87e35..14272f06c6 100644 --- a/erts/etc/common/erlexec.c +++ b/erts/etc/common/erlexec.c -@@ -709,8 +709,10 @@ int main(int argc, char **argv) +@@ -716,8 +716,10 @@ int main(int argc, char **argv) error("-man not supported on Windows"); #else argv[i] = "man"; diff --git a/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch b/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch similarity index 82% rename from otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch rename to otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch index dc89898..3790e65 100644 --- a/otp-0010-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch +++ b/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch @@ -6,10 +6,10 @@ Subject: [PATCH] configure.ac: C99 fix for #include for the sbrk function if the header is available. diff --git a/erts/configure b/erts/configure -index fbdb6baba8..46e882e99a 100755 +index a09c84ff09..478ebaa206 100755 --- a/erts/configure +++ b/erts/configure -@@ -20644,6 +20644,9 @@ else $as_nop +@@ -20890,6 +20890,9 @@ else $as_nop #ifdef HAVE_MALLOC_H # include #endif @@ -20,10 +20,10 @@ index fbdb6baba8..46e882e99a 100755 extern char end; #elif defined(HAVE__END_SYMBOL) diff --git a/erts/configure.ac b/erts/configure.ac -index 307be5042d..316345079b 100644 +index 540cc4b3cb..0d4d9377ef 100644 --- a/erts/configure.ac +++ b/erts/configure.ac -@@ -2436,6 +2436,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], +@@ -2449,6 +2449,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], #ifdef HAVE_MALLOC_H # include #endif diff --git a/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch b/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch similarity index 88% rename from otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch rename to otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch index d3d2a71..255158c 100644 --- a/otp-0011-configure.ac-C99-fixes-for-poll_works-check.patch +++ b/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch @@ -7,10 +7,10 @@ Return from main instead of calling exit, so that no function declaration is needed. diff --git a/erts/configure b/erts/configure -index 46e882e99a..7cc6f802ce 100755 +index 478ebaa206..549b53546c 100755 --- a/erts/configure +++ b/erts/configure -@@ -24575,10 +24575,13 @@ else $as_nop +@@ -24821,10 +24821,13 @@ else $as_nop /* end confdefs.h. */ #include @@ -26,7 +26,7 @@ index 46e882e99a..7cc6f802ce 100755 #else struct pollfd fds[1]; int fd; -@@ -24587,9 +24590,9 @@ main() +@@ -24833,9 +24836,9 @@ main() fds[0].events = POLLIN; fds[0].revents = 0; if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { @@ -39,10 +39,10 @@ index 46e882e99a..7cc6f802ce 100755 } diff --git a/erts/configure.ac b/erts/configure.ac -index 316345079b..439ec5d4a1 100644 +index 0d4d9377ef..296a72bacc 100644 --- a/erts/configure.ac +++ b/erts/configure.ac -@@ -3055,10 +3055,13 @@ poll_works=no +@@ -3068,10 +3068,13 @@ poll_works=no AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include @@ -58,7 +58,7 @@ index 316345079b..439ec5d4a1 100644 #else struct pollfd fds[1]; int fd; -@@ -3067,9 +3070,9 @@ main() +@@ -3080,9 +3083,9 @@ main() fds[0].events = POLLIN; fds[0].revents = 0; if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { diff --git a/otp-0012-Revert-Do-not-install-erlang-sources.patch b/otp-0012-Revert-Do-not-install-erlang-sources.patch deleted file mode 100644 index 1a0bb85..0000000 --- a/otp-0012-Revert-Do-not-install-erlang-sources.patch +++ /dev/null @@ -1,657 +0,0 @@ -From: Peter Lemenkov -Date: Wed, 4 Jan 2023 20:49:01 +0100 -Subject: [PATCH] Revert "Do not install erlang sources" - -This reverts commit 02d89974af96987a7cbcfe9d18533d509ad33690. - -diff --git a/erts/preloaded/src/Makefile b/erts/preloaded/src/Makefile -index 007b7d44bd..1994aa1302 100644 ---- a/erts/preloaded/src/Makefile -+++ b/erts/preloaded/src/Makefile -@@ -117,6 +117,8 @@ $(APP_TARGET): $(APP_SRC) $(ERL_TOP)/erts/vsn.mk - include $(ERL_TOP)/make/otp_release_targets.mk - - 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) $(APP_TARGET) "$(RELSYSDIR)/ebin" - -diff --git a/lib/asn1/src/Makefile b/lib/asn1/src/Makefile -index 77ba98c2f8..9e13d02c8a 100644 ---- a/lib/asn1/src/Makefile -+++ b/lib/asn1/src/Makefile -@@ -157,7 +157,7 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/examples" - $(INSTALL_DATA) $(EXAMPLES) "$(RELSYSDIR)/examples" - -diff --git a/lib/common_test/src/Makefile b/lib/common_test/src/Makefile -index 5bf4e50f14..00f13589f3 100644 ---- a/lib/common_test/src/Makefile -+++ b/lib/common_test/src/Makefile -@@ -157,7 +157,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" - $(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 4e3fa5c60f..4ff5e678ee 100644 ---- a/lib/common_test/test_server/Makefile -+++ b/lib/common_test/test_server/Makefile -@@ -83,9 +83,9 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_tests_spec: opt - $(INSTALL_DIR) "$(RELEASE_PATH)/test_server" -- $(INSTALL_DATA) $(TS_HRL_FILES) \ -+ $(INSTALL_DATA) $(TS_ERL_FILES) $(TS_HRL_FILES) \ - $(TS_TARGET_FILES) \ -- $(CONFIG) \ -+ $(AUTOCONF_FILES) $(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 4eed19b516..d801d6baa0 100644 ---- a/lib/compiler/src/Makefile -+++ b/lib/compiler/src/Makefile -@@ -188,8 +188,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ -- "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ -+ $(YRL_FILE) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/crypto/src/Makefile b/lib/crypto/src/Makefile -index 6f8a329421..893f679390 100644 ---- a/lib/crypto/src/Makefile -+++ b/lib/crypto/src/Makefile -@@ -81,6 +81,8 @@ 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)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) \ - $(APPUP_TARGET) "$(RELSYSDIR)/ebin" -diff --git a/lib/debugger/src/Makefile b/lib/debugger/src/Makefile -index 6ddce27ec1..2fb955b2e3 100644 ---- a/lib/debugger/src/Makefile -+++ b/lib/debugger/src/Makefile -@@ -117,7 +117,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(TOOLBOX_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) $(TARGET_TOOLBOX_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/dialyzer/src/Makefile b/lib/dialyzer/src/Makefile -index cc266f48e2..c934ecdc2b 100644 ---- a/lib/dialyzer/src/Makefile -+++ b/lib/dialyzer/src/Makefile -@@ -162,7 +162,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(HRL_FILES) $(EXTRA_FILES) \ -+ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \ - "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(INSTALL_FILES) "$(RELSYSDIR)/ebin" -diff --git a/lib/diameter/src/Makefile b/lib/diameter/src/Makefile -index 7097541548..75e23d4191 100644 ---- a/lib/diameter/src/Makefile -+++ b/lib/diameter/src/Makefile -@@ -266,8 +266,11 @@ release_spec: opt - $(MAKE) ERL_DETERMINISTIC=$(ERL_DETERMINISTIC) $(EXAMPLE_DIRS:%/=release_examples_%) - - $(TARGET_DIRS:%/=release_src_%): release_src_%: -- $(INSTALL_DATA) $(filter $*/%, $(INTERNAL_HRLS)) \ -- "$(RELSYSDIR)/src/$*" || true -+ $(INSTALL_DIR) "$(RELSYSDIR)/src/$*" -+ $(INSTALL_DATA) $(filter $*/%, $(TARGET_MODULES:%=%.erl) \ -+ $(INTERNAL_HRLS)) \ -+ $(filter $*/%, compiler/$(DICT_YRL).yrl) \ -+ "$(RELSYSDIR)/src/$*" - - $(EXAMPLE_DIRS:%/=release_examples_%): release_examples_%: - $(INSTALL_DIR) "$(RELSYSDIR)/examples/$*" -diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile -index e5b2f886ed..a455662049 100644 ---- a/lib/edoc/src/Makefile -+++ b/lib/edoc/src/Makefile -@@ -87,7 +87,7 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(OBJECTS) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(SOURCES) $(HRL_FILES) $(YRL_FILE) "$(RELSYSDIR)/src" - - release_docs_spec: - -diff --git a/lib/eldap/src/Makefile b/lib/eldap/src/Makefile -index 78fc4a9687..04a84a4766 100644 ---- a/lib/eldap/src/Makefile -+++ b/lib/eldap/src/Makefile -@@ -98,9 +98,13 @@ 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_DIR) "$(RELSYSDIR)/include" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" -+ $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" - - release_docs_spec: - -diff --git a/lib/erl_docgen/src/Makefile b/lib/erl_docgen/src/Makefile -index cc3368ad02..458094e35f 100644 ---- a/lib/erl_docgen/src/Makefile -+++ b/lib/erl_docgen/src/Makefile -@@ -91,6 +91,8 @@ $(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)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/et/src/Makefile b/lib/et/src/Makefile -index a567965ed4..fc66cc1eaf 100644 ---- a/lib/et/src/Makefile -+++ b/lib/et/src/Makefile -@@ -109,6 +109,7 @@ release_spec: opt - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" - $(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" -diff --git a/lib/eunit/src/Makefile b/lib/eunit/src/Makefile -index 2a49a2ca7a..f4eaf6807a 100644 ---- a/lib/eunit/src/Makefile -+++ b/lib/eunit/src/Makefile -@@ -121,6 +121,7 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(PARSE_TRANSFORM_BIN) $(OBJECTS) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(PARSE_TRANSFORM) $(SOURCES) $(BEHAVIOUR_SOURCES) "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" -diff --git a/lib/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile -index ca4b539017..62f62792f0 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 - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/http_client" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_client" -+ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_client" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile -index 896a806695..481c4f66eb 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 - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/http_lib" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/http_lib" -+ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_lib" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile -index 42925ba58f..abf8413f33 100644 ---- a/lib/inets/src/http_server/Makefile -+++ b/lib/inets/src/http_server/Makefile -@@ -134,7 +134,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) "$(RELSYSDIR)/src/http_server" -+ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/http_server" - $(INSTALL_DIR) "$(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 a8b932772a..405e86105a 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 - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/inets_app" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/inets_app" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src/inets_app" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -diff --git a/lib/kernel/src/Makefile b/lib/kernel/src/Makefile -index 891d3e6f6a..2149e89776 100644 ---- a/lib/kernel/src/Makefile -+++ b/lib/kernel/src/Makefile -@@ -229,6 +229,7 @@ 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) "$(RELSYSDIR)/src" - $(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 8cb286181a..c681b88428 100644 ---- a/lib/megaco/src/app/Makefile -+++ b/lib/megaco/src/app/Makefile -@@ -114,7 +114,7 @@ release_spec: opt - $(INSTALL_DATA) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/app" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" -+ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/app" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) "$(RELSYSDIR)/include" - -diff --git a/lib/megaco/src/binary/Makefile b/lib/megaco/src/binary/Makefile -index 3ca5654eb3..9ecb649f0c 100644 ---- a/lib/megaco/src/binary/Makefile -+++ b/lib/megaco/src/binary/Makefile -@@ -154,7 +154,7 @@ release_spec: opt - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/binary" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/binary" -+ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(ASN1_FILES) "$(RELSYSDIR)/src/binary" - - - release_docs_spec: -diff --git a/lib/megaco/src/engine/Makefile b/lib/megaco/src/engine/Makefile -index b7a7c703b3..cc4974e09d 100644 ---- a/lib/megaco/src/engine/Makefile -+++ b/lib/megaco/src/engine/Makefile -@@ -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" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" -+ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/engine" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - - -diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in -index 2053d3297b..d8c5c68b99 100644 ---- a/lib/megaco/src/flex/Makefile.in -+++ b/lib/megaco/src/flex/Makefile.in -@@ -248,6 +248,7 @@ 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" - 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 85cfb4b4ee..ef4232244a 100644 ---- a/lib/megaco/src/tcp/Makefile -+++ b/lib/megaco/src/tcp/Makefile -@@ -94,7 +94,7 @@ release_spec: opt - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/tcp" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" -+ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/tcp" - - - release_docs_spec: -diff --git a/lib/megaco/src/text/Makefile b/lib/megaco/src/text/Makefile -index a097be4d48..6872b0ec04 100644 ---- a/lib/megaco/src/text/Makefile -+++ b/lib/megaco/src/text/Makefile -@@ -133,7 +133,7 @@ release_spec: opt - $(INSTALL_DATA) $(BEAM_TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/text" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" -+ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_YRL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/text" - - - release_docs_spec: -diff --git a/lib/megaco/src/udp/Makefile b/lib/megaco/src/udp/Makefile -index f8dcb5c681..5699c3e952 100644 ---- a/lib/megaco/src/udp/Makefile -+++ b/lib/megaco/src/udp/Makefile -@@ -94,7 +94,7 @@ release_spec: opt - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/udp" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" -+ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/udp" - - - release_docs_spec: -diff --git a/lib/mnesia/src/Makefile b/lib/mnesia/src/Makefile -index 08c6c5ffc1..72aa054fb3 100644 ---- a/lib/mnesia/src/Makefile -+++ b/lib/mnesia/src/Makefile -@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/observer/src/Makefile b/lib/observer/src/Makefile -index 884e69c7b7..2edb2ceb3e 100644 ---- a/lib/observer/src/Makefile -+++ b/lib/observer/src/Makefile -@@ -151,6 +151,7 @@ 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) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/examples" - $(INSTALL_DATA) $(EXAMPLE_FILES) "$(RELSYSDIR)/examples" -diff --git a/lib/odbc/src/Makefile b/lib/odbc/src/Makefile -index fa01850f38..e18628e94d 100644 ---- a/lib/odbc/src/Makefile -+++ b/lib/odbc/src/Makefile -@@ -110,7 +110,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(EXT_HRL_FILES) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile -index 2413fb68bf..ee32f3946f 100644 ---- a/lib/os_mon/src/Makefile -+++ b/lib/os_mon/src/Makefile -@@ -105,6 +105,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" -diff --git a/lib/parsetools/src/Makefile b/lib/parsetools/src/Makefile -index f6024f1184..c7971750a7 100644 ---- a/lib/parsetools/src/Makefile -+++ b/lib/parsetools/src/Makefile -@@ -91,6 +91,8 @@ $(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)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/include" -diff --git a/lib/public_key/asn1/Makefile b/lib/public_key/asn1/Makefile -index bba7cae5d6..c1adf58ed4 100644 ---- a/lib/public_key/asn1/Makefile -+++ b/lib/public_key/asn1/Makefile -@@ -103,6 +103,8 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/asn1" - $(INSTALL_DATA) $(ASN_ASNS) $(ASN_CONFIGS) \ - "$(RELSYSDIR)/asn1" -+ $(INSTALL_DIR) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(ASN_ERLS) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - -diff --git a/lib/public_key/src/Makefile b/lib/public_key/src/Makefile -index a5dcba4ec3..9b2b442794 100644 ---- a/lib/public_key/src/Makefile -+++ b/lib/public_key/src/Makefile -@@ -111,6 +111,8 @@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk - include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt -+ $(INSTALL_DIR) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(INTERNAL_HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -diff --git a/lib/reltool/src/Makefile b/lib/reltool/src/Makefile -index 6864febbc3..173a557d58 100644 ---- a/lib/reltool/src/Makefile -+++ b/lib/reltool/src/Makefile -@@ -100,7 +100,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) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(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 6e380e1b11..8e8c4074f5 100644 ---- a/lib/runtime_tools/src/Makefile -+++ b/lib/runtime_tools/src/Makefile -@@ -99,6 +99,8 @@ 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)/examples" -diff --git a/lib/sasl/src/Makefile b/lib/sasl/src/Makefile -index 739830ae3f..490e03595d 100644 ---- a/lib/sasl/src/Makefile -+++ b/lib/sasl/src/Makefile -@@ -94,6 +94,7 @@ 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) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" -diff --git a/lib/snmp/src/agent/Makefile.in b/lib/snmp/src/agent/Makefile.in -index 14ae0bbc79..6ab9ed437a 100644 ---- a/lib/snmp/src/agent/Makefile.in -+++ b/lib/snmp/src/agent/Makefile.in -@@ -161,7 +161,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/agent" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/agent" -+ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/agent" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \ - "$(RELSYSDIR)/ebin" -diff --git a/lib/snmp/src/app/Makefile b/lib/snmp/src/app/Makefile -index 0340088eb3..f5a74aa78e 100644 ---- a/lib/snmp/src/app/Makefile -+++ b/lib/snmp/src/app/Makefile -@@ -144,7 +144,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/app" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/app" -+ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/app" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(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 04232658c7..f255237a04 100644 ---- a/lib/snmp/src/compile/Makefile -+++ b/lib/snmp/src/compile/Makefile -@@ -141,7 +141,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/compiler" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" -+ $(INSTALL_DATA) $(ESCRIPT_SRC) $(PARSER_SRC) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(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 61b8dc4692..693ef75469 100644 ---- a/lib/snmp/src/manager/Makefile -+++ b/lib/snmp/src/manager/Makefile -@@ -135,7 +135,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/manager" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/manager" -+ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/manager" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - # $(INSTALL_DIR) "$(RELSYSDIR)/include" -diff --git a/lib/snmp/src/misc/Makefile b/lib/snmp/src/misc/Makefile -index 8dc421d2a1..e92506e855 100644 ---- a/lib/snmp/src/misc/Makefile -+++ b/lib/snmp/src/misc/Makefile -@@ -125,7 +125,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/misc" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/misc" -+ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/misc" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - # $(INSTALL_DIR) "$(RELSYSDIR)/include" -diff --git a/lib/ssh/src/Makefile b/lib/ssh/src/Makefile -index 2c7acf384d..2fcb164301 100644 ---- a/lib/ssh/src/Makefile -+++ b/lib/ssh/src/Makefile -@@ -182,7 +182,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) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(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 9cd7f7226c..789bed5c3f 100644 ---- a/lib/ssl/src/Makefile -+++ b/lib/ssl/src/Makefile -@@ -211,7 +211,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) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(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 43e7a650a5..761d6c4c28 100644 ---- a/lib/stdlib/src/Makefile -+++ b/lib/stdlib/src/Makefile -@@ -230,6 +230,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(ERL_FILES) erl_parse.yrl "$(RELSYSDIR)/src" - $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" - $(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 5bb265e2c2..dc0ac61734 100644 ---- a/lib/syntax_tools/src/Makefile -+++ b/lib/syntax_tools/src/Makefile -@@ -96,6 +96,8 @@ 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" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(INCLUDE_DELIVERABLES) "$(RELSYSDIR)/include" - -diff --git a/lib/tftp/src/Makefile b/lib/tftp/src/Makefile -index fba9cc5873..cfcb1ea134 100644 ---- a/lib/tftp/src/Makefile -+++ b/lib/tftp/src/Makefile -@@ -101,7 +101,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) \ - $(APPUP_TARGET) "$(RELSYSDIR)/ebin" -diff --git a/lib/tools/src/Makefile b/lib/tools/src/Makefile -index f8d143922d..b05ce883ec 100644 ---- a/lib/tools/src/Makefile -+++ b/lib/tools/src/Makefile -@@ -109,7 +109,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk - - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(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 f052399c0f..ce14c0b6df 100644 ---- a/lib/wx/src/Makefile -+++ b/lib/wx/src/Makefile -@@ -121,9 +121,9 @@ $(EBIN)/%.beam: $(EGEN)/%.erl $(HEADER_FILES) - include $(ERL_TOP)/make/otp_release_targets.mk - release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(HRL_FILES) $(ERL_FILES) "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/src/gen" -- $(INSTALL_DATA) $(GEN_HRL) "$(RELSYSDIR)/src/gen" -+ $(INSTALL_DATA) $(GEN_HRL) $(GEN_FILES) "$(RELSYSDIR)/src/gen" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(EXT_HRL) "$(RELSYSDIR)/include" - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" -diff --git a/lib/xmerl/src/Makefile b/lib/xmerl/src/Makefile -index 37b7843605..e7e7c8e978 100644 ---- a/lib/xmerl/src/Makefile -+++ b/lib/xmerl/src/Makefile -@@ -223,7 +223,9 @@ release_spec: opt - $(INSTALL_DIR) "$(RELSYSDIR)/ebin" - $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" - $(INSTALL_DIR) "$(RELSYSDIR)/src" -- $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(APP_SRC) $(APPUP_SRC) "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) xmerl_xpath_parse.yrl "$(RELSYSDIR)/src" -+ $(INSTALL_DATA) xmerl_b64Bin.yrl "$(RELSYSDIR)/src" - $(INSTALL_DIR) "$(RELSYSDIR)/include" - $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" - diff --git a/sources b/sources index 74779cc..7ba9b4b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-25.3.2.tar.gz) = d307d59708da8e6f233ec60292925fc9c0f4c1aaf14643790b7ead27ae858ac14bab7356c926055872df63500eac117db31b0b69cc0416a5f535b0443cda457d +SHA512 (otp-OTP-26.0.tar.gz) = 732e259f2018102b62a5d8076953a6a78d3e1f1714edde2c306fe863e5377b9a7f87052e03e92df93eea270a608b29ab4e22d5841d1314f9a532dac4aeff5436 From 91e2729af1ab566845ee13023e2b49fab63b1d9a Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 9 Jun 2023 11:05:15 +0200 Subject: [PATCH 27/69] Erlang ver. 26.0.1 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 bb2da74..a0c598e 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.0 +Version: 26.0.1 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1968,6 +1968,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Fri Jun 9 2023 Peter Lemenkov - 26.0.1-1 +- Ver. 26.0.1 + * Sat May 20 2023 Peter Lemenkov - 26.0-1 - Ver. 26.0 diff --git a/sources b/sources index 7ba9b4b..fb8d706 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.0.tar.gz) = 732e259f2018102b62a5d8076953a6a78d3e1f1714edde2c306fe863e5377b9a7f87052e03e92df93eea270a608b29ab4e22d5841d1314f9a532dac4aeff5436 +SHA512 (otp-OTP-26.0.1.tar.gz) = d4fcfa6dede0f655fbed12ea795af44863f29b6e5a7a537d06c7a97d49c533eeb280e21fb6c9034c6e08c01a87bf036ea83dfd586f442461e6842ebf530feb2b From 88f5e377f10cd79bdc642fa8815a9bcf1c4a72f1 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Sat, 1 Jul 2023 18:24:25 +0200 Subject: [PATCH 28/69] Erlang ver. 26.0.2 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 a0c598e..bfb7fa7 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.0.1 +Version: 26.0.2 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1968,6 +1968,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Sat Jul 1 2023 Peter Lemenkov - 26.0.2-1 +- Ver. 26.0.2 + * Fri Jun 9 2023 Peter Lemenkov - 26.0.1-1 - Ver. 26.0.1 diff --git a/sources b/sources index fb8d706..e0f0ac9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.0.1.tar.gz) = d4fcfa6dede0f655fbed12ea795af44863f29b6e5a7a537d06c7a97d49c533eeb280e21fb6c9034c6e08c01a87bf036ea83dfd586f442461e6842ebf530feb2b +SHA512 (otp-OTP-26.0.2.tar.gz) = 9bbf1099e902e10000c218c24dd510e2432659c50fe9b795c67f5bf61b243127aeb44ff60d62a9a3cdfce9d23ec97ae5d154690df99c2d781199f68b124eb44c From ae03c451da60998a96472615a8e233cf0e033aa3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 18:38:57 +0000 Subject: [PATCH 29/69] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_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 bfb7fa7..9572a2e 100644 --- a/erlang.spec +++ b/erlang.spec @@ -69,7 +69,7 @@ Name: erlang Version: 26.0.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -1968,6 +1968,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 26.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Sat Jul 1 2023 Peter Lemenkov - 26.0.2-1 - Ver. 26.0.2 From 2489ccddf94b294df87f22a8580b08d29f6d2d07 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Tue, 8 Aug 2023 17:52:30 +0200 Subject: [PATCH 30/69] Reenable OpenSSL 3 Signed-off-by: Peter Lemenkov --- erlang.spec | 23 +- ...ate_key-3-for-ecdh-to-only-use-OpenS.patch | 215 +++++ ...ssl_BN_param_from_bin_sz-to-not-abus.patch | 102 +++ ...-enable-FIPS_SUPPORT-for-HAS_3_0_API.patch | 22 + ...IPS-bug-in-check_pkey_algorithm_type.patch | 18 + ...nge-to-longer-dss-keys-acceptable-to.patch | 28 + ...Remove-sha-1-as-hash-for-dss-if-FIPS.patch | 33 + ...ove-md5-ripemd160-and-sha-as-hash-fo.patch | 24 + ...-generate-ec-key-by-name-if-possible.patch | 284 ++++++ ...rypto_SUITE-Skip-sha-1-sign-for-FIPS.patch | 59 ++ ...0-crypto-Unalias-some-ec-curve-names.patch | 806 ++++++++++++++++++ ...Skip-ec-curves-with-224-bits-if-FIPS.patch | 78 ++ ...ITE-Fix-safe-primes-for-DH-with-FIPS.patch | 37 + ...o-Skip-entire-engine_SUITE-if-notsup.patch | 53 ++ ...ypto-Fix-doc-for-FIPS-with-OpenSSL-3.patch | 21 + 15 files changed, 1800 insertions(+), 3 deletions(-) create mode 100644 otp-0011-crypto-Fix-generate_key-3-for-ecdh-to-only-use-OpenS.patch create mode 100644 otp-0012-crypto-Fix-get_ossl_BN_param_from_bin_sz-to-not-abus.patch create mode 100644 otp-0013-crypto-Re-enable-FIPS_SUPPORT-for-HAS_3_0_API.patch create mode 100644 otp-0014-crypto-Fix-FIPS-bug-in-check_pkey_algorithm_type.patch create mode 100644 otp-0015-crypto_SUITE-Change-to-longer-dss-keys-acceptable-to.patch create mode 100644 otp-0016-crypto_SUITE-Remove-sha-1-as-hash-for-dss-if-FIPS.patch create mode 100644 otp-0017-crypto_SUITE-Remove-md5-ripemd160-and-sha-as-hash-fo.patch create mode 100644 otp-0018-crypto-Try-generate-ec-key-by-name-if-possible.patch create mode 100644 otp-0019-crypto_SUITE-Skip-sha-1-sign-for-FIPS.patch create mode 100644 otp-0020-crypto-Unalias-some-ec-curve-names.patch create mode 100644 otp-0021-crypto_SUITE-Skip-ec-curves-with-224-bits-if-FIPS.patch create mode 100644 otp-0022-crypto_SUITE-Fix-safe-primes-for-DH-with-FIPS.patch create mode 100644 otp-0023-crypto-Skip-entire-engine_SUITE-if-notsup.patch create mode 100644 otp-0024-crypto-Fix-doc-for-FIPS-with-OpenSSL-3.patch diff --git a/erlang.spec b/erlang.spec index 9572a2e..da51e3b 100644 --- a/erlang.spec +++ b/erlang.spec @@ -69,7 +69,7 @@ Name: erlang Version: 26.0.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -110,6 +110,20 @@ Patch7: otp-0007-Avoid-forking-sed-to-get-basename.patch Patch8: otp-0008-Load-man-pages-from-system-wide-directory.patch Patch9: otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch Patch10: otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch +Patch11: otp-0011-crypto-Fix-generate_key-3-for-ecdh-to-only-use-OpenS.patch +Patch12: otp-0012-crypto-Fix-get_ossl_BN_param_from_bin_sz-to-not-abus.patch +Patch13: otp-0013-crypto-Re-enable-FIPS_SUPPORT-for-HAS_3_0_API.patch +Patch14: otp-0014-crypto-Fix-FIPS-bug-in-check_pkey_algorithm_type.patch +Patch15: otp-0015-crypto_SUITE-Change-to-longer-dss-keys-acceptable-to.patch +Patch16: otp-0016-crypto_SUITE-Remove-sha-1-as-hash-for-dss-if-FIPS.patch +Patch17: otp-0017-crypto_SUITE-Remove-md5-ripemd160-and-sha-as-hash-fo.patch +Patch18: otp-0018-crypto-Try-generate-ec-key-by-name-if-possible.patch +Patch19: otp-0019-crypto_SUITE-Skip-sha-1-sign-for-FIPS.patch +Patch20: otp-0020-crypto-Unalias-some-ec-curve-names.patch +Patch21: otp-0021-crypto_SUITE-Skip-ec-curves-with-224-bits-if-FIPS.patch +Patch22: otp-0022-crypto_SUITE-Fix-safe-primes-for-DH-with-FIPS.patch +Patch23: otp-0023-crypto-Skip-entire-engine_SUITE-if-notsup.patch +Patch24: otp-0024-crypto-Fix-doc-for-FIPS-with-OpenSSL-3.patch # end of autogenerated patch tag list BuildRequires: gcc @@ -245,10 +259,10 @@ A byte code compiler for Erlang which produces highly compact code. %package crypto Summary: Cryptographical support -#BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(openssl) # FIXME there is something wrong with OpenSSL 3.0 support in Erlang right now. # We have to fallback to OpenSSL1 explicitly. -BuildRequires: openssl1.1-devel +# BuildRequires: openssl1.1-devel Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} @@ -1968,6 +1982,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Tue Aug 8 2023 Peter Lemenkov - 26.0.2-3 +- Reenable OpenSSL 3 + * Wed Jul 19 2023 Fedora Release Engineering - 26.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/otp-0011-crypto-Fix-generate_key-3-for-ecdh-to-only-use-OpenS.patch b/otp-0011-crypto-Fix-generate_key-3-for-ecdh-to-only-use-OpenS.patch new file mode 100644 index 0000000..ca059e6 --- /dev/null +++ b/otp-0011-crypto-Fix-generate_key-3-for-ecdh-to-only-use-OpenS.patch @@ -0,0 +1,215 @@ +From: Sverker Eriksson +Date: Wed, 7 Jun 2023 18:52:46 +0200 +Subject: [PATCH] crypto: Fix generate_key/3 for ecdh to only use OpenSSL 3.0 + API + +to prepare for using FIPS on OpenSSL 3.0 + +diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in +index 2345970fa9..28f7b595e8 100644 +--- a/lib/crypto/c_src/Makefile.in ++++ b/lib/crypto/c_src/Makefile.in +@@ -205,9 +205,9 @@ $(LIBDIR)/otp_test_engine$(TYPEMARKER).dll: $(TEST_ENGINE_OBJS) + $(V_LD) $(LDFLAGS) -o $@ $(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) $(TEST_ENGINE_OBJS) -l$(SSL_CRYPTO_LIBNAME) -l$(SSL_SSL_LIBNAME) $(SSL_EXTRA_LIBS) + endif + +-$(OBJDIR)/ec$(TYPEMARKER).o: ec.c +- $(V_at)$(INSTALL_DIR) $(OBJDIR) +- $(V_CC) -c -o $@ $(ALL_CFLAGS) $(CRYPTO_NO_DEPRECATE_WARN) $< ++# $(OBJDIR)/ec$(TYPEMARKER).o: ec.c ++# $(V_at)$(INSTALL_DIR) $(OBJDIR) ++# $(V_CC) -c -o $@ $(ALL_CFLAGS) $(CRYPTO_NO_DEPRECATE_WARN) $< + + $(OBJDIR)/%$(TYPEMARKER).o: %.c + $(V_at)$(INSTALL_DIR) $(OBJDIR) +diff --git a/lib/crypto/c_src/ec.c b/lib/crypto/c_src/ec.c +index 124582c4f8..852f3ba79c 100644 +--- a/lib/crypto/c_src/ec.c ++++ b/lib/crypto/c_src/ec.c +@@ -24,6 +24,8 @@ + #ifdef HAVE_EC + # if defined(HAS_3_0_API) + ++# include ++ + int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, + OSSL_PARAM params[], int *i, + size_t *order_size) +@@ -253,13 +255,7 @@ int get_ec_public_key(ErlNifEnv* env, ERL_NIF_TERM key, EVP_PKEY **pkey) + } + + +-int get_ec_private_key_2(ErlNifEnv* env, +- ERL_NIF_TERM curve, ERL_NIF_TERM key, +- EVP_PKEY **pkey, +- ERL_NIF_TERM *ret, +- size_t *order_size); +- +-int get_ec_private_key_2(ErlNifEnv* env, ++static int get_ec_private_key_2(ErlNifEnv* env, + ERL_NIF_TERM curve, ERL_NIF_TERM key, + EVP_PKEY **pkey, + ERL_NIF_TERM *ret, +@@ -319,7 +315,8 @@ int get_ec_private_key(ErlNifEnv* env, ERL_NIF_TERM key, EVP_PKEY **pkey) + return 0; + } + +-int mk_pub_key_binary(ErlNifEnv* env, EVP_PKEY **peer_pkey, ErlNifBinary *pubkey_bin, ERL_NIF_TERM *ret); ++static int mk_pub_key_binary(ErlNifEnv* env, EVP_PKEY *peer_pkey, ++ ErlNifBinary *pubkey_bin, ERL_NIF_TERM *ret); + + ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) + { /* (Curve, PrivKey|undefined) */ +@@ -339,9 +336,8 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar + + /* Get the two keys, pub as binary and priv as BN. + Since the private key is explicitly given, it must be calculated. +- I haven't found any way to do that with the pure 3.0 interface yet. + */ +- if (!mk_pub_key_binary(env, &peer_pkey, &pubkey_bin, &ret)) ++ if (!mk_pub_key_binary(env, peer_pkey, &pubkey_bin, &ret)) + goto err; + + if (!EVP_PKEY_get_bn_param(peer_pkey, "priv", &priv_bn)) +@@ -398,67 +394,81 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar + return ret; + } + +-int mk_pub_key_binary(ErlNifEnv* env, EVP_PKEY **peer_pkey, ErlNifBinary *pubkey_bin, ERL_NIF_TERM *ret) ++static int mk_pub_key_binary(ErlNifEnv* env, EVP_PKEY *peer_pkey, ++ ErlNifBinary *pubkey_bin, ERL_NIF_TERM *ret) + { +- EC_KEY *ec_key = NULL; +- EC_POINT *public_key = NULL; +- EC_GROUP *group = NULL; +- BIGNUM *priv_bn = NULL; +- +- *ret = atom_undefined; +- +- /* Use the deprecated interface to get the curve and +- private key in pre 3.0 form: */ +- if ((ec_key = EVP_PKEY_get1_EC_KEY(*peer_pkey)) == NULL) +- assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC key")); +- +- if ((group = EC_GROUP_dup(EC_KEY_get0_group(ec_key))) == NULL) ++ size_t pub_key_size = 0; ++ size_t group_name_size = 0; ++ char group_name_buf[20]; ++ char* group_name = group_name_buf; ++ int group_nid; ++ EC_GROUP* ec_group = NULL; ++ EC_POINT* pub_key = NULL; ++ BIGNUM* priv_bn = NULL; ++ int ok = 0; ++ ++ /* This code was inspired by ++ * https://github.com/openssl/openssl/issues/18437 ++ * which first tried to get public key directly with ++ * EVP_PKEY_get_octet_string_param(peer_pkey, OSSL_PKEY_PARAM_PUB_KEY,..) ++ * ++ * I removed that since I don't know what key format that will produce ++ * if it succeeds. That is, we go directly to the "fallback" and calculate ++ * the public key. ++ */ ++ ++ if (!EVP_PKEY_get_utf8_string_param(peer_pkey, OSSL_PKEY_PARAM_GROUP_NAME, ++ NULL, 0, &group_name_size)) ++ assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC group name size")); ++ ++ if (group_name_size >= sizeof(group_name_buf)) ++ group_name = enif_alloc(group_name_size + 1); ++ if (!EVP_PKEY_get_utf8_string_param(peer_pkey, OSSL_PKEY_PARAM_GROUP_NAME, ++ group_name, group_name_size+1, ++ NULL)) ++ assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC group name")); ++ ++ group_nid = OBJ_sn2nid(group_name); ++ if (group_nid == NID_undef) ++ assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC group nid")); ++ ++ ec_group = EC_GROUP_new_by_curve_name(group_nid); ++ if (ec_group == NULL) + assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC_GROUP")); + +- if ((public_key = EC_POINT_new(group)) == NULL) ++ pub_key = EC_POINT_new(ec_group); ++ if (pub_key == NULL) + assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't create POINT")); + +- if (!EC_POINT_copy(public_key, EC_GROUP_get0_generator(group))) +- assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't copy POINT")); +- +- /* Make the corresponding public key */ +- if (!EVP_PKEY_get_bn_param(*peer_pkey, "priv", &priv_bn)) ++ if (!EVP_PKEY_get_bn_param(peer_pkey, OSSL_PKEY_PARAM_PRIV_KEY, &priv_bn)) + assign_goto(*ret, err, EXCP_BADARG_N(env, 1, "Couldn't get peer priv key bytes")); + +- if (BN_is_zero(priv_bn)) +- assign_goto(*ret, err, EXCP_BADARG_N(env, 1, "peer priv key must not be 0")); +- +- if (!EC_POINT_mul(group, public_key, priv_bn, NULL, NULL, NULL)) ++ if (!EC_POINT_mul(ec_group, pub_key, priv_bn, NULL, NULL, NULL)) + assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't multiply POINT")); + +- if (!EC_KEY_set_public_key(ec_key, public_key)) +- assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't set EC_KEY")); +- +- if (!EVP_PKEY_assign_EC_KEY(*peer_pkey, ec_key)) +- assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't assign EC_KEY to PKEY")); +- +- /* And now get the binary representation (by some reason we can't read it from +- peer_pubkey in the calling function with 3.0-functions.) +- */ +- { +- point_conversion_form_t form = EC_KEY_get_conv_form(ec_key); +- size_t dlen = EC_POINT_point2oct(group, public_key, form, NULL, 0, NULL); +- +- if (!enif_alloc_binary(dlen, pubkey_bin) || +- !EC_POINT_point2oct(group, public_key, form, pubkey_bin->data, pubkey_bin->size, NULL) +- ) +- assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get public key")); ++ pub_key_size = EC_POINT_point2oct(ec_group, pub_key, ++ POINT_CONVERSION_UNCOMPRESSED, NULL, 0, NULL); ++ if (pub_key_size == 0) ++ assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get pub_key_size")); ++ ++ enif_alloc_binary(pub_key_size, pubkey_bin); ++ if (!EC_POINT_point2oct(ec_group, pub_key, POINT_CONVERSION_UNCOMPRESSED, ++ pubkey_bin->data, ++ pubkey_bin->size, NULL)) { ++ enif_release_binary(pubkey_bin); ++ assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get pub key bytes")); + } + +- err: +- if (public_key) EC_POINT_free(public_key); +- if (group) EC_GROUP_free(group); ++ *ret = enif_make_binary(env, pubkey_bin); ++ ok = 1; ++ ++err: ++ if (group_name != group_name_buf) enif_free(group_name); ++ if (pub_key) EC_POINT_free(pub_key); ++ if (ec_group) EC_GROUP_free(ec_group); + if (priv_bn) BN_free(priv_bn); + +- if (*ret == atom_undefined) +- return 1; +- else +- return 0; ++ return ok; + } + + # endif /* HAS_3_0_API */ +@@ -908,10 +918,8 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar + + # endif /* ! HAS_3_0_API */ + +-#endif /* HAVE_EC */ +- ++#else /* ifndef HAVE_EC */ + +-#if ! defined(HAVE_EC) + ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) + { /* (Curve, PrivKey) */ + return EXCP_NOTSUP_N(env, 0, "EC not supported"); diff --git a/otp-0012-crypto-Fix-get_ossl_BN_param_from_bin_sz-to-not-abus.patch b/otp-0012-crypto-Fix-get_ossl_BN_param_from_bin_sz-to-not-abus.patch new file mode 100644 index 0000000..fca43ef --- /dev/null +++ b/otp-0012-crypto-Fix-get_ossl_BN_param_from_bin_sz-to-not-abus.patch @@ -0,0 +1,102 @@ +From: Sverker Eriksson +Date: Wed, 7 Jun 2023 18:50:23 +0200 +Subject: [PATCH] crypto: Fix get_ossl_BN_param_from_bin_sz() to not abuse + ErlNifBinary + +It is not allowed to write to the binary buffer returned by +enif_inspect_binary() (even if you created the binary yourself). + +In DEBUG built VM such abuse will be punished with: + +"Readonly data written by NIF, checksums differ 8000425 != 25040008 +ABORTING" + +Instead use enif_make_new_binary() to create a writable binary buffer. + +diff --git a/lib/crypto/c_src/bn.c b/lib/crypto/c_src/bn.c +index f06ed9002e..5e9fec5093 100644 +--- a/lib/crypto/c_src/bn.c ++++ b/lib/crypto/c_src/bn.c +@@ -212,23 +212,38 @@ int get_ossl_BN_param_from_bin(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL + return get_ossl_BN_param_from_bin_sz(env, key, bin, dest, NULL); + } + +-int get_ossl_BN_param_from_bin_sz(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL_PARAM *dest, size_t *size) ++int get_ossl_BN_param_from_bin_sz(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, ++ OSSL_PARAM *dest, size_t *size) + { + BIGNUM *bn = NULL; +- ErlNifBinary tmp; ++ int ok = 0; + +- if (!get_bn_from_bin_sz(env, bin, &bn, size) || +- !enif_inspect_binary(env, bin_from_bn(env,bn), &tmp) || // Allocate buf +- BN_bn2nativepad(bn, tmp.data, tmp.size) < 0) {// Fill with BN in right endianity +- if (bn) BN_free(bn); ++ if (!get_bn_from_bin_sz(env, bin, &bn, size)) + return 0; +- } +- +- *dest = OSSL_PARAM_construct_BN(key, tmp.data, tmp.size); +- if (bn) BN_free(bn); ++ ++ ok = get_ossl_BN_param_from_bn(env, key, bn, dest); ++ BN_free(bn); ++ return ok; ++} ++ ++int get_ossl_BN_param_from_bn(ErlNifEnv* env, char* key, const BIGNUM* bn, ++ OSSL_PARAM *dest) ++{ ++ const size_t bn_sz = BN_num_bytes(bn); ++ unsigned char* tmp_buf; ++ ERL_NIF_TERM dummy_term; ++ ++ /* Create a binary term just as a convenient tmp buffer */ ++ tmp_buf = enif_make_new_binary(env, bn_sz, &dummy_term); ++ if (BN_bn2nativepad(bn, tmp_buf, bn_sz) < 0) // Fill with BN in right endianity ++ return 0; ++ ++ *dest = OSSL_PARAM_construct_BN(key, tmp_buf, bn_sz); + return 1; + } + ++ ++ + int get_ossl_param_from_bin_in_list(ErlNifEnv* env, char* key, ERL_NIF_TERM *listcell, OSSL_PARAM *dest) + { + ERL_NIF_TERM head; +diff --git a/lib/crypto/c_src/bn.h b/lib/crypto/c_src/bn.h +index 5e207aed2d..662a32dc29 100644 +--- a/lib/crypto/c_src/bn.h ++++ b/lib/crypto/c_src/bn.h +@@ -38,6 +38,7 @@ int get_bn_from_bin_sz(ErlNifEnv* env, ERL_NIF_TERM term, BIGNUM** bnp, size_t* + int get_ossl_octet_string_param_from_bin(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL_PARAM *dest); + int get_ossl_BN_param_from_bin(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL_PARAM *dest); + int get_ossl_BN_param_from_bin_sz(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL_PARAM *dest, size_t *size); ++int get_ossl_BN_param_from_bn(ErlNifEnv* env, char* key, const BIGNUM* bn, OSSL_PARAM *dest); + + int get_ossl_param_from_bin_in_list(ErlNifEnv* env, char* key, ERL_NIF_TERM *listcell, OSSL_PARAM *dest); + #endif +diff --git a/lib/crypto/c_src/ec.c b/lib/crypto/c_src/ec.c +index 852f3ba79c..af5f5d6f4a 100644 +--- a/lib/crypto/c_src/ec.c ++++ b/lib/crypto/c_src/ec.c +@@ -189,15 +189,8 @@ int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, + } else + assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "Bad last field")); + +- { +- ErlNifBinary tmp; +- +- if (!enif_inspect_binary(env, bin_from_bn(env,p), &tmp) || // Allocate buf +- BN_bn2nativepad(p, tmp.data, tmp.size) < 0) {// Fill with BN in right endianity +- assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "BN padding failed")); +- } +- params[(*i)++] = OSSL_PARAM_construct_BN("p", tmp.data, tmp.size); +- } ++ if (!get_ossl_BN_param_from_bn(env, "p", p, ¶ms[(*i)++])) ++ assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "BN padding failed")); + # endif + } + else diff --git a/otp-0013-crypto-Re-enable-FIPS_SUPPORT-for-HAS_3_0_API.patch b/otp-0013-crypto-Re-enable-FIPS_SUPPORT-for-HAS_3_0_API.patch new file mode 100644 index 0000000..1ae1141 --- /dev/null +++ b/otp-0013-crypto-Re-enable-FIPS_SUPPORT-for-HAS_3_0_API.patch @@ -0,0 +1,22 @@ +From: Sverker Eriksson +Date: Wed, 7 Jun 2023 20:38:11 +0200 +Subject: [PATCH] crypto: Re-enable FIPS_SUPPORT for HAS_3_0_API + + +diff --git a/lib/crypto/c_src/openssl_config.h b/lib/crypto/c_src/openssl_config.h +index d034590a2e..b73141a530 100644 +--- a/lib/crypto/c_src/openssl_config.h ++++ b/lib/crypto/c_src/openssl_config.h +@@ -468,12 +468,6 @@ do { \ + # undef FIPS_SUPPORT + #endif + +-/* Disable FIPS for 3.0 temporaryly until the support is added */ +-#if defined(FIPS_SUPPORT) && \ +- defined(HAS_3_0_API) +-# undef FIPS_SUPPORT +-#endif +- + #if defined(FIPS_SUPPORT) && \ + defined(HAS_3_0_API) + # define FIPS_mode() EVP_default_properties_is_fips_enabled(NULL) diff --git a/otp-0014-crypto-Fix-FIPS-bug-in-check_pkey_algorithm_type.patch b/otp-0014-crypto-Fix-FIPS-bug-in-check_pkey_algorithm_type.patch new file mode 100644 index 0000000..fea8a04 --- /dev/null +++ b/otp-0014-crypto-Fix-FIPS-bug-in-check_pkey_algorithm_type.patch @@ -0,0 +1,18 @@ +From: Sverker Eriksson +Date: Mon, 12 Jun 2023 17:14:19 +0200 +Subject: [PATCH] crypto: Fix FIPS bug in check_pkey_algorithm_type + + +diff --git a/lib/crypto/c_src/pkey.c b/lib/crypto/c_src/pkey.c +index bfdcfe3553..afdff78f48 100644 +--- a/lib/crypto/c_src/pkey.c ++++ b/lib/crypto/c_src/pkey.c +@@ -100,7 +100,7 @@ static int check_pkey_algorithm_type(ErlNifEnv *env, + + + #ifdef HAVE_EDDSA +- if (FIPS_MODE()) ++ if (FIPS_MODE() && algorithm == atom_eddsa) + assign_goto(*err_return, err, EXCP_NOTSUP_N(env, alg_arg_num, "Unsupported algorithm in FIPS mode")); + #endif + diff --git a/otp-0015-crypto_SUITE-Change-to-longer-dss-keys-acceptable-to.patch b/otp-0015-crypto_SUITE-Change-to-longer-dss-keys-acceptable-to.patch new file mode 100644 index 0000000..cf011e3 --- /dev/null +++ b/otp-0015-crypto_SUITE-Change-to-longer-dss-keys-acceptable-to.patch @@ -0,0 +1,28 @@ +From: Sverker Eriksson +Date: Tue, 13 Jun 2023 18:58:31 +0200 +Subject: [PATCH] crypto_SUITE: Change to longer dss keys acceptable to FIPS + + +diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl +index 0572feaf33..29dba82c41 100644 +--- a/lib/crypto/test/crypto_SUITE.erl ++++ b/lib/crypto/test/crypto_SUITE.erl +@@ -3677,13 +3677,13 @@ rsa_private_stronger() -> + dss_plain() -> + rsa_plain(). + dss_public() -> +- 25854665488880835237281628794585130313500176551981812527054397586638455298000483144002221850980183404910190346416063318160497344811383498859129095184158800144312512447497510551471331451396405348497845813002058423110442376886564659959543650802132345311573634832461635601376738282831340827591903548964194832978. ++ 16#289ff18c32a56bb0b8839370647683a38a5a7e291410b93207212adc8088d30f93e9e4abc523f3d46936e7d5c90d88742b36afd37563408f15c8c1a4f7ac24bf05f01008ffee70c8825d57c3a9308bad8a095af2b53b2dda3cbed846d95e301eb9b84766415d11f6c33209a0d28571096ab04a79aa0dc465997529686b68e887cd8a205c2dc8195aef0422eba9979f549ac85548e419413643b7244361153ada1480d238cd00dc16527938955548dd5d027ded1029eeeb8ed6c61b4cd59341d8b15466e9da890a989996f4d7691e6072de136af28b5874bf08bd1f8a60cfb1c00888132909f515e04bce81b02951aa41baac68ffdb8c5dc77a1d32d8f2c10dd7. + dss_private() -> +- 441502407453038284293378221372000880210588566361. ++ 16#6132e551cdac88409183bd37ee1452cd247d4834b08814b275be3ff5. + dss_params() -> +- [109799869232806890760655301608454668257695818999841877165019612946154359052535682480084145133201304812979481136659521529774182959764860329095546511521488413513097576425638476458000255392402120367876345280670101492199681798674053929238558140260669578407351853803102625390950534052428162468100618240968893110797, +- 1349199015905534965792122312016505075413456283393, +- 18320614775012672475365915366944922415598782131828709277168615511695849821411624805195787607930033958243224786899641459701930253094446221381818858674389863050420226114787005820357372837321561754462061849169568607689530279303056075793886577588606958623645901271866346406773590024901668622321064384483571751669]. ++ [16#f2d39ed3062b13c916273600a0f2a029e86d7a4b9217b4f1815bf2b24d9710a57ab33f997294b014585b8d0198dfdccbcd75314da5ff85aa344b45adaeaa979b51a312a7bfa94472fb633f1a6f156bb4458867dfd38403f06b851f00fe2d3484077bded71ab7513d04a140220575fb693395480e4c8402b7a46cec2d37a778c305accd1f13e9f62e865315f4b22cc467c8986ec8e4961ddf810566b0c4ee369ac6aa15e43f4744005826f5bde8071a19e30b6909aac4b3d174237270dad02799d09b8a2cc5f22e66894b5422228b2c234f11f5a771c5b89cf465a2acecbbeeaa1725fe8f9b59422be8991052cb556ddf2c8ce8fa9206dbf39feadc194e00f8e5, ++ 16#8000000000000000c118f49835e4ef733c4d15800fcf059e884d31b1, ++ 16#e3a93c09da6f560e4d483a382a4c546f2335c36a4c35ac1463c08a3e6dd415df56fdc537f25fd5372be63e4f5300780b782f1acd01c8b4eb33414615fd0ea82573acba7ef83f5a943854151afc2d7dfe121fb8cd03335b065b549c5dcc606be9052483bc284e12ac3c8dba09b426e08402030e70bc1cc2bf8957c4ba0630f3f32ad689389ac47443176063f247d9e2296b3ea5b5bc2335828ea1a080ed35918dee212fd031279d1b894f01afec523833669eac031a420e540ba1320a59c424a3e5849a460a56bcb001647885b1433c4f992971746bfe2977ce7259c550b551a6c35761e4a41af764e8d92132fcc0a59d1684eab90d863f29f41cf7578faa908c]. + + ec_key_named() -> + Curve = hd(crypto:ec_curves()), diff --git a/otp-0016-crypto_SUITE-Remove-sha-1-as-hash-for-dss-if-FIPS.patch b/otp-0016-crypto_SUITE-Remove-sha-1-as-hash-for-dss-if-FIPS.patch new file mode 100644 index 0000000..d073b00 --- /dev/null +++ b/otp-0016-crypto_SUITE-Remove-sha-1-as-hash-for-dss-if-FIPS.patch @@ -0,0 +1,33 @@ +From: Sverker Eriksson +Date: Tue, 13 Jun 2023 19:00:31 +0200 +Subject: [PATCH] crypto_SUITE: Remove sha-1 as hash for dss if FIPS + + +diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl +index 29dba82c41..00d4a0a6fe 100644 +--- a/lib/crypto/test/crypto_SUITE.erl ++++ b/lib/crypto/test/crypto_SUITE.erl +@@ -2257,15 +2257,19 @@ group_config(dss = Type, Config) -> + Public = dss_params() ++ [dss_public()], + Private = dss_params() ++ [dss_private()], + SupportedHashs = proplists:get_value(hashs, crypto:supports(), []), +- DssHashs = ++ DssHashs0 = + case crypto:info_lib() of + [{<<"OpenSSL">>,LibVer,_}] when is_integer(LibVer), LibVer > 16#10001000 -> +- [sha, sha224, sha256, sha384, sha512]; ++ [sha224, sha256, sha384, sha512]; + [{<<"OpenSSL">>,LibVer,_}] when is_integer(LibVer), LibVer > 16#10000000 -> +- [sha, sha224, sha256]; ++ [sha224, sha256]; + _Else -> +- [sha] ++ [] + end, ++ DssHashs = case crypto:info_fips() of ++ enabled -> DssHashs0; ++ _ -> [sha | DssHashs0] ++ end, + SignVerify = [{Type, Hash, Public, Private, Msg} + || Hash <- DssHashs, + lists:member(Hash, SupportedHashs)], diff --git a/otp-0017-crypto_SUITE-Remove-md5-ripemd160-and-sha-as-hash-fo.patch b/otp-0017-crypto_SUITE-Remove-md5-ripemd160-and-sha-as-hash-fo.patch new file mode 100644 index 0000000..6d436a2 --- /dev/null +++ b/otp-0017-crypto_SUITE-Remove-md5-ripemd160-and-sha-as-hash-fo.patch @@ -0,0 +1,24 @@ +From: Sverker Eriksson +Date: Tue, 13 Jun 2023 19:02:32 +0200 +Subject: [PATCH] crypto_SUITE: Remove md5, ripemd160 and sha as hash for rsa + sign if FIPS + + +diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl +index 00d4a0a6fe..afacdde051 100644 +--- a/lib/crypto/test/crypto_SUITE.erl ++++ b/lib/crypto/test/crypto_SUITE.erl +@@ -2420,7 +2420,12 @@ rsa_sign_verify_tests(Config, Msg, Public, Private, PublicS, PrivateS, OptsToTry + end. + + rsa_sign_verify_tests(Msg, Public, Private, PublicS, PrivateS, OptsToTry) -> +- gen_rsa_sign_verify_tests([md5, ripemd160, sha, sha224, sha256], Msg, Public, Private, ++ Hashs0 = [sha224, sha256], ++ Hashs = case crypto:info_fips() of ++ enabled -> Hashs0; ++ _ -> [md5, ripemd160, sha | Hashs0] ++ end, ++ gen_rsa_sign_verify_tests(Hashs, Msg, Public, Private, + [undefined | OptsToTry]) ++ + gen_rsa_sign_verify_tests([sha384, sha512], Msg, PublicS, PrivateS, + [undefined | OptsToTry]). diff --git a/otp-0018-crypto-Try-generate-ec-key-by-name-if-possible.patch b/otp-0018-crypto-Try-generate-ec-key-by-name-if-possible.patch new file mode 100644 index 0000000..02603cd --- /dev/null +++ b/otp-0018-crypto-Try-generate-ec-key-by-name-if-possible.patch @@ -0,0 +1,284 @@ +From: Sverker Eriksson +Date: Wed, 14 Jun 2023 22:00:35 +0200 +Subject: [PATCH] crypto: Try generate ec key by name if possible + +OpenSSL 3 FIPS does only accept named ec curves. + +So we try that first, and if it fails we retry +with the params passed down by crypto.erl. + +diff --git a/lib/crypto/c_src/ec.c b/lib/crypto/c_src/ec.c +index af5f5d6f4a..49e1da4fe4 100644 +--- a/lib/crypto/c_src/ec.c ++++ b/lib/crypto/c_src/ec.c +@@ -28,7 +28,8 @@ + + int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, + OSSL_PARAM params[], int *i, +- size_t *order_size) ++ size_t *order_size, ++ struct get_curve_def_ctx* gcd) + { + const ERL_NIF_TERM* curve; + int c_arity = -1; +@@ -40,6 +41,7 @@ int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, + int arity = -1; + const ERL_NIF_TERM* curve_tuple; + ++ + /* Here are two random curve definition examples, one prime_field and + one characteristic_two_field. Both are from the crypto/src/crypto_ec_curves.erl. + +@@ -79,6 +81,23 @@ int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, + c_arity != 5) + assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "Bad curve def. Expect 5-tuple.")); + ++ if (gcd->use_curve_name ++ && curve_tuple[1] != atom_undefined ++ && enif_get_atom(env, curve_tuple[1], gcd->curve_name, ++ sizeof(gcd->curve_name), ERL_NIF_LATIN1)) { ++ ErlNifBinary order_bin; ++ params[(*i)++] = OSSL_PARAM_construct_utf8_string("group", gcd->curve_name, 0); ++ ++ if (order_size) { ++ if (!enif_inspect_binary(env, curve[3], &order_bin)) ++ assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "Bad order")); ++ *order_size = order_bin.size; ++ } ++ gcd->use_curve_name = 1; ++ return 1; ++ } ++ gcd->use_curve_name = 0; ++ + if (!get_ossl_octet_string_param_from_bin(env, "generator", curve[2], ¶ms[(*i)++])) + assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "Bad Generator (Point)")); + +@@ -211,6 +230,7 @@ int get_ec_public_key(ErlNifEnv* env, ERL_NIF_TERM key, EVP_PKEY **pkey) + int tpl_arity; + int i = 0; + OSSL_PARAM params[15]; ++ struct get_curve_def_ctx gcd; + EVP_PKEY_CTX *pctx = NULL; + + if (!enif_get_tuple(env, key, &tpl_arity, &tpl_terms) || +@@ -222,19 +242,27 @@ int get_ec_public_key(ErlNifEnv* env, ERL_NIF_TERM key, EVP_PKEY **pkey) + if (!get_ossl_octet_string_param_from_bin(env, "pub", tpl_terms[1], ¶ms[i++])) + assign_goto(ret, err, EXCP_BADARG_N(env, 0, "Bad public key")); + +- if (!get_curve_definition(env, &ret, tpl_terms[0], params, &i, NULL)) ++ if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) ++ assign_goto(ret, err, EXCP_ERROR(env, "Can't make EVP_PKEY_CTX")); ++ ++ gcd.use_curve_name = 1; ++retry_without_name: ++ if (!get_curve_definition(env, &ret, tpl_terms[0], params, &i, NULL, &gcd)) + goto err; + + params[i++] = OSSL_PARAM_construct_end(); + +- if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) +- assign_goto(ret, err, EXCP_ERROR(env, "Can't make EVP_PKEY_CTX")); +- + if (EVP_PKEY_fromdata_init(pctx) <= 0) + assign_goto(ret, err, EXCP_ERROR(env, "Can't init fromdata")); + +- if (EVP_PKEY_fromdata(pctx, pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) ++ if (EVP_PKEY_fromdata(pctx, pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) { ++ if (gcd.use_curve_name) { ++ gcd.use_curve_name = 0; ++ i = 1; ++ goto retry_without_name; ++ } + assign_goto(ret, err, EXCP_ERROR(env, "Can't do fromdata")); ++ } + + if (!*pkey) + assign_goto(ret, err, EXCP_ERROR(env, "Couldn't get a public key")); +@@ -256,24 +284,33 @@ static int get_ec_private_key_2(ErlNifEnv* env, + { + int i = 0; + OSSL_PARAM params[15]; ++ struct get_curve_def_ctx gcd; + EVP_PKEY_CTX *pctx = NULL; + + if (!get_ossl_BN_param_from_bin(env, "priv", key, ¶ms[i++])) + assign_goto(*ret, err, EXCP_BADARG_N(env, 0, "Bad private key")); + +- if (!get_curve_definition(env, ret, curve, params, &i, order_size)) ++ if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) ++ assign_goto(*ret, err, EXCP_ERROR(env, "Can't make EVP_PKEY_CTX")); ++ ++ gcd.use_curve_name = 1; ++retry_without_name: ++ if (!get_curve_definition(env, ret, curve, params, &i, order_size, &gcd)) + goto err; + + params[i++] = OSSL_PARAM_construct_end(); + +- if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) +- assign_goto(*ret, err, EXCP_ERROR(env, "Can't make EVP_PKEY_CTX")); +- + if (EVP_PKEY_fromdata_init(pctx) <= 0) + assign_goto(*ret, err, EXCP_ERROR(env, "Can't init fromdata")); + +- if (EVP_PKEY_fromdata(pctx, pkey, EVP_PKEY_KEYPAIR, params) <= 0) ++ if (EVP_PKEY_fromdata(pctx, pkey, EVP_PKEY_KEYPAIR, params) <= 0) { ++ if (gcd.use_curve_name) { ++ gcd.use_curve_name = 0; ++ i = 1; ++ goto retry_without_name; ++ } + assign_goto(*ret, err, EXCP_ERROR(env, "Can't do fromdata")); ++ } + + if (!*pkey) + assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get a private key")); +@@ -316,9 +353,10 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar + ERL_NIF_TERM ret = atom_undefined; + int i = 0; + OSSL_PARAM params[15]; ++ struct get_curve_def_ctx gcd; + EVP_PKEY_CTX *pctx = NULL; + EVP_PKEY *pkey = NULL, *peer_pkey = NULL; +- size_t sz, order_size; ++ size_t sz, order_size = 0; + BIGNUM *priv_bn = NULL; + ErlNifBinary pubkey_bin; + +@@ -338,26 +376,36 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar + } + else + { ++ /* Neither the private nor the public key is known, so we generate the pair: */ ++ if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) ++ assign_goto(ret, err, EXCP_ERROR(env, "Can't EVP_PKEY_CTX_new_from_name")); ++ ++ gcd.use_curve_name = 1; ++ retry_without_name: + /* PrivKey (that is, argv[1]) == atom_undefined */ +- if (!get_curve_definition(env, &ret, argv[0], params, &i, &order_size)) ++ if (!get_curve_definition(env, &ret, argv[0], params, &i, ++ &order_size, &gcd)) + // INSERT "ret" parameter in get_curve_definition !! + assign_goto(ret, err, EXCP_BADARG_N(env, 0, "Couldn't get Curve definition")); + + params[i++] = OSSL_PARAM_construct_end(); + +- /* Neither the private nor the public key is known, so we generate the pair: */ +- if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) +- assign_goto(ret, err, EXCP_ERROR(env, "Can't EVP_PKEY_CTX_new_from_name")); +- + if (EVP_PKEY_keygen_init(pctx) <= 0) + assign_goto(ret, err, EXCP_ERROR(env, "Can't EVP_PKEY_keygen_init")); + + if (!EVP_PKEY_CTX_set_params(pctx, params)) + assign_goto(ret, err, EXCP_ERROR(env, "Can't EVP_PKEY_CTX_set_params")); +- +- if (!EVP_PKEY_generate(pctx, &pkey)) ++ ++ if (!EVP_PKEY_generate(pctx, &pkey)) { ++ if (gcd.use_curve_name) { ++ gcd.use_curve_name = 0; ++ i = 0; ++ goto retry_without_name; ++ } + assign_goto(ret, err, EXCP_ERROR(env, "Couldn't generate EC key")); +- ++ } ++ ++ + /* Get the two keys, pub as binary and priv as BN */ + if (!EVP_PKEY_get_octet_string_param(pkey, "encoded-pub-key", NULL, 0, &sz)) + assign_goto(ret, err, EXCP_ERROR(env, "Can't get pub octet string size")); +@@ -375,6 +423,8 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar + assign_goto(ret, err, EXCP_BADARG_N(env, 1, "Couldn't get priv key bytes")); + } + ++ if (order_size == 0) ++ order_size = BN_num_bytes(priv_bn); + ret = enif_make_tuple2(env, + enif_make_binary(env, &pubkey_bin), + bn2term(env, order_size, priv_bn)); +diff --git a/lib/crypto/c_src/ec.h b/lib/crypto/c_src/ec.h +index e53986d64e..f0b0b96207 100644 +--- a/lib/crypto/c_src/ec.h ++++ b/lib/crypto/c_src/ec.h +@@ -26,9 +26,17 @@ + #if defined(HAVE_EC) + + # if defined(HAS_3_0_API) ++ ++struct get_curve_def_ctx ++{ ++ char curve_name[20]; ++ int use_curve_name; ++}; ++ + int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, + OSSL_PARAM params[], int *i, +- size_t *order_size); ++ size_t *order_size, ++ struct get_curve_def_ctx*); + # endif /* HAS_3_0_API */ + + # if ! defined(HAS_3_0_API) +diff --git a/lib/crypto/c_src/ecdh.c b/lib/crypto/c_src/ecdh.c +index 7509d9cb84..f1b0f7eb28 100644 +--- a/lib/crypto/c_src/ecdh.c ++++ b/lib/crypto/c_src/ecdh.c +@@ -42,6 +42,7 @@ ERL_NIF_TERM ecdh_compute_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM a + int ret_bin_alloc = 0; + int i = 0, i_key = 0; + OSSL_PARAM params[15]; ++ struct get_curve_def_ctx gcd; + EVP_PKEY_CTX *own_pctx = NULL, *peer_pctx = NULL, *pctx_gen = NULL; + EVP_PKEY *own_pkey = NULL, *peer_pkey = NULL; + int err; +@@ -53,21 +54,29 @@ ERL_NIF_TERM ecdh_compute_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM a + if (!get_ossl_octet_string_param_from_bin(env, "pub", argv[0], ¶ms[i++])) + assign_goto(ret, err, EXCP_BADARG_N(env, 0, "Bad peer public key; binary expected")); + ++ /* Build the remote public key in peer_pkey */ ++ peer_pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL); ++ ++ gcd.use_curve_name = 1; ++retry_without_name: + /* Curve definition/name */ +- if (!get_curve_definition(env, &ret, argv[1], params, &i, NULL)) ++ if (!get_curve_definition(env, &ret, argv[1], params, &i, NULL, &gcd)) + goto err; + + /* End of params */ + params[i++] = OSSL_PARAM_construct_end(); + +- /* Build the remote public key in peer_pkey */ +- peer_pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL); +- + if (EVP_PKEY_fromdata_init(peer_pctx) <= 0) + assign_goto(ret, err, EXCP_ERROR(env, "Can't init fromdata")); + +- if (EVP_PKEY_fromdata(peer_pctx, &peer_pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) ++ if (EVP_PKEY_fromdata(peer_pctx, &peer_pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) { ++ if (gcd.use_curve_name) { ++ gcd.use_curve_name = 0; ++ i = 1; ++ goto retry_without_name; ++ } + assign_goto(ret, err, EXCP_ERROR(env, "Can't do fromdata")); ++ } + + if (!peer_pkey) + assign_goto(ret, err, EXCP_ERROR(env, "No peer_pkey")); +diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl +index afacdde051..e047964daa 100644 +--- a/lib/crypto/test/crypto_SUITE.erl ++++ b/lib/crypto/test/crypto_SUITE.erl +@@ -3695,7 +3695,7 @@ dss_params() -> + 16#e3a93c09da6f560e4d483a382a4c546f2335c36a4c35ac1463c08a3e6dd415df56fdc537f25fd5372be63e4f5300780b782f1acd01c8b4eb33414615fd0ea82573acba7ef83f5a943854151afc2d7dfe121fb8cd03335b065b549c5dcc606be9052483bc284e12ac3c8dba09b426e08402030e70bc1cc2bf8957c4ba0630f3f32ad689389ac47443176063f247d9e2296b3ea5b5bc2335828ea1a080ed35918dee212fd031279d1b894f01afec523833669eac031a420e540ba1320a59c424a3e5849a460a56bcb001647885b1433c4f992971746bfe2977ce7259c550b551a6c35761e4a41af764e8d92132fcc0a59d1684eab90d863f29f41cf7578faa908c]. + + ec_key_named() -> +- Curve = hd(crypto:ec_curves()), ++ Curve = secp224r1, %hd(crypto:ec_curves()), + {D2_pub, D2_priv} = crypto:generate_key(ecdh, Curve), + {[D2_priv, Curve], [D2_pub, Curve]}. + diff --git a/otp-0019-crypto_SUITE-Skip-sha-1-sign-for-FIPS.patch b/otp-0019-crypto_SUITE-Skip-sha-1-sign-for-FIPS.patch new file mode 100644 index 0000000..c85e46e --- /dev/null +++ b/otp-0019-crypto_SUITE-Skip-sha-1-sign-for-FIPS.patch @@ -0,0 +1,59 @@ +From: Sverker Eriksson +Date: Thu, 15 Jun 2023 19:53:14 +0200 +Subject: [PATCH] crypto_SUITE: Skip sha-1 sign for FIPS + + +diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl +index e047964daa..c56faa9bc4 100644 +--- a/lib/crypto/test/crypto_SUITE.erl ++++ b/lib/crypto/test/crypto_SUITE.erl +@@ -1268,6 +1268,12 @@ use_all_ec_sign_verify(_Config) -> + crypto:info_fips(), + Curves, + Hashs]), ++ SkipHashs0 = [md4, md5, ripemd160, sha3_224, sha3_256, sha3_384, sha3_512, ++ blake2b, blake2s], ++ SkipHashs = case crypto:info_fips() of ++ enabled -> [sha | SkipHashs0]; ++ _ -> SkipHashs0 ++ end, + Results = + [{{Curve,Hash}, + try +@@ -1282,7 +1288,7 @@ use_all_ec_sign_verify(_Config) -> + {C,E} + end} + || Curve <- Curves -- [ed25519, ed448, x25519, x448, ipsec3, ipsec4], +- Hash <- Hashs -- [md4, md5, ripemd160, sha3_224, sha3_256, sha3_384, sha3_512, blake2b, blake2s] ++ Hash <- Hashs -- SkipHashs + ], + Fails = + lists:filter(fun({_,true}) -> false; +@@ -1730,14 +1736,19 @@ do_sign_verify({Type, undefined=Hash, Private, Public, Msg, Signature}) -> + end; + + do_sign_verify({Type, Hash, Public, Private, Msg}) -> +- Signature = crypto:sign(Type, Hash, Msg, Private), +- case crypto:verify(Type, Hash, Msg, Signature, Public) of +- true -> +- ct:log("OK crypto:sign(~p, ~p, ..., ..., ...)", [Type,Hash]), +- negative_verify(Type, Hash, Msg, <<10,20>>, Public); +- false -> +- ct:log("ERROR crypto:sign(~p, ~p, ..., ..., ...)", [Type,Hash]), +- ct:fail({{crypto, verify, [Type, Hash, Msg, Signature, Public]}}) ++ case {Hash, crypto:info_fips()} of ++ {sha, enabled} -> ++ io:format("Skip sign with SHA for FIPS\n"); ++ _ -> ++ Signature = crypto:sign(Type, Hash, Msg, Private), ++ case crypto:verify(Type, Hash, Msg, Signature, Public) of ++ true -> ++ ct:log("OK crypto:sign(~p, ~p, ..., ..., ...)", [Type,Hash]), ++ negative_verify(Type, Hash, Msg, <<10,20>>, Public); ++ false -> ++ ct:log("ERROR crypto:sign(~p, ~p, ..., ..., ...)", [Type,Hash]), ++ ct:fail({{crypto, verify, [Type, Hash, Msg, Signature, Public]}}) ++ end + end; + do_sign_verify({Type, Hash, Public, Private, Msg, Options}) -> + LibVer = diff --git a/otp-0020-crypto-Unalias-some-ec-curve-names.patch b/otp-0020-crypto-Unalias-some-ec-curve-names.patch new file mode 100644 index 0000000..c3c9df4 --- /dev/null +++ b/otp-0020-crypto-Unalias-some-ec-curve-names.patch @@ -0,0 +1,806 @@ +From: Sverker Eriksson +Date: Fri, 16 Jun 2023 16:55:41 +0200 +Subject: [PATCH] crypto: Unalias some ec curve names + +to pass OpenSSL the name it accepts. + +diff --git a/lib/crypto/src/crypto.erl b/lib/crypto/src/crypto.erl +index 6abaacad5c..1cc11aa6eb 100644 +--- a/lib/crypto/src/crypto.erl ++++ b/lib/crypto/src/crypto.erl +@@ -2372,14 +2372,12 @@ nif_curve_params(CurveName) when is_atom(CurveName) -> + x448 -> {evp,CurveName}; + x25519 -> {evp,CurveName}; + _ -> +- Spec = +- try +- crypto_ec_curves:curve(CurveName) +- catch +- _:_ -> +- undefined +- end, +- {Spec, CurveName} ++ try ++ crypto_ec_curves:curve_with_name(CurveName) ++ catch ++ _:_ -> ++ {undefined, CurveName} ++ end + end. + + +diff --git a/lib/crypto/src/crypto_ec_curves.erl b/lib/crypto/src/crypto_ec_curves.erl +index a0a2f99601..3f14c34a26 100644 +--- a/lib/crypto/src/crypto_ec_curves.erl ++++ b/lib/crypto/src/crypto_ec_curves.erl +@@ -1,11 +1,22 @@ + -module(crypto_ec_curves). + +--export([curve/1, curves/0]). ++-export([curve/1, curves/0, curve_with_name/1]). + + curves() -> + proplists:get_value(curves, crypto:supports()) -- [x25519,x448]. + +-curve(secp112r1) -> ++real_name(secp192r1) -> prime192v1; ++real_name(secp256r1) -> prime256v1; ++real_name(Name) -> Name. ++ ++curve_with_name(Curve) -> ++ RealName = real_name(Curve), ++ {params(RealName), RealName}. ++ ++curve(Curve) -> ++ params(real_name(Curve)). ++ ++params(secp112r1) -> + { + {prime_field, <<16#DB7C2ABF62E35E668076BEAD208B:112>>}, %% Prime + {<<16#DB7C2ABF62E35E668076BEAD2088:112>>, %% A +@@ -18,7 +29,7 @@ curve(secp112r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(secp112r2) -> ++params(secp112r2) -> + { + {prime_field, <<16#DB7C2ABF62E35E668076BEAD208B:112>>}, %% Prime + {<<16#6127C24C05F38A0AAAF65C0EF02C:112>>, %% A +@@ -31,7 +42,7 @@ curve(secp112r2) -> + <<16#04:8>> %% CoFactor + }; + +-curve(secp128r1) -> ++params(secp128r1) -> + { + {prime_field, <<16#FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF:128>>}, %% Prime + {<<16#FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC:128>>, %% A +@@ -44,7 +55,7 @@ curve(secp128r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(secp128r2) -> ++params(secp128r2) -> + { + {prime_field, <<16#FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF:128>>}, %% Prime + {<<16#D6031998D1B3BBFEBF59CC9BBFF9AEE1:128>>, %% A +@@ -57,7 +68,7 @@ curve(secp128r2) -> + <<16#04:8>> %% CoFactor + }; + +-curve(secp160k1) -> ++params(secp160k1) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73:160>>}, %% Prime + {<<16#00:8>>, %% A +@@ -70,7 +81,7 @@ curve(secp160k1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(secp160r1) -> ++params(secp160r1) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF:160>>}, %% Prime + {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC:160>>, %% A +@@ -83,7 +94,7 @@ curve(secp160r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(secp160r2) -> ++params(secp160r2) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73:160>>}, %% Prime + {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC70:160>>, %% A +@@ -96,20 +107,7 @@ curve(secp160r2) -> + <<16#01:8>> %% CoFactor + }; + +-curve(secp192r1) -> +- { +- {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF:192>>}, %% Prime +- {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC:192>>, %% A +- <<16#64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1:192>>, %% B +- <<16#3045AE6FC8422F64ED579528D38120EAE12196D5:160>>}, %% Seed +- <<16#04:8, +- 16#188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012:192, %% X(p0) +- 16#07192B95FFC8DA78631011ED6B24CDD573F977A11E794811:192>>, %% Y(p0) +- <<16#FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831:192>>, %% Order +- <<16#01:8>> %% CoFactor +- }; +- +-curve(secp192k1) -> ++params(secp192k1) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37:192>>}, %% Prime + {<<16#00:8>>, %% A +@@ -122,7 +120,7 @@ curve(secp192k1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(secp224k1) -> ++params(secp224k1) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFE56D:224>>}, %% Prime + {<<16#00:8>>, %% A +@@ -135,7 +133,7 @@ curve(secp224k1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(secp224r1) -> ++params(secp224r1) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001:224>>}, %% Prime + {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE:224>>, %% A +@@ -148,7 +146,7 @@ curve(secp224r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(secp256k1) -> ++params(secp256k1) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F:256>>}, %% Prime + {<<16#00:8>>, %% A +@@ -161,20 +159,7 @@ curve(secp256k1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(secp256r1) -> +- { +- {prime_field, <<16#FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF:256>>}, %% Prime +- {<<16#FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC:256>>, %% A +- <<16#5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B:256>>, %% B +- <<16#C49D360886E704936A6678E1139D26B7819F7E90:160>>}, %% Seed +- <<16#04:8, +- 16#6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296:256, %% X(p0) +- 16#4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5:256>>, %% Y(p0) +- <<16#FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551:256>>, %% Order +- <<16#01:8>> %% CoFactor +- }; +- +-curve(secp384r1) -> ++params(secp384r1) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE:256, %% Prime + 16#FFFFFFFF0000000000000000FFFFFFFF:128>>}, +@@ -193,7 +178,7 @@ curve(secp384r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(secp521r1) -> ++params(secp521r1) -> + { + {prime_field, <<16#01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:256, %% Prime + 16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:256, +@@ -218,7 +203,7 @@ curve(secp521r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(prime192v1) -> ++params(prime192v1) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF:192>>}, %% Prime + {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC:192>>, %% A +@@ -231,7 +216,7 @@ curve(prime192v1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(prime192v2) -> ++params(prime192v2) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF:192>>}, %% Prime + {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC:192>>, %% A +@@ -244,7 +229,7 @@ curve(prime192v2) -> + <<16#01:8>> %% CoFactor + }; + +-curve(prime192v3) -> ++params(prime192v3) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF:192>>}, %% Prime + {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC:192>>, %% A +@@ -257,7 +242,7 @@ curve(prime192v3) -> + <<16#01:8>> %% CoFactor + }; + +-curve(prime239v1) -> ++params(prime239v1) -> + { + {prime_field, <<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF:240>>}, %% Prime + {<<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC:240>>, %% A +@@ -270,7 +255,7 @@ curve(prime239v1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(prime239v2) -> ++params(prime239v2) -> + { + {prime_field, <<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF:240>>}, %% Prime + {<<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC:240>>, %% A +@@ -283,7 +268,7 @@ curve(prime239v2) -> + <<16#01:8>> %% CoFactor + }; + +-curve(prime239v3) -> ++params(prime239v3) -> + { + {prime_field, <<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF:240>>}, %% Prime + {<<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC:240>>, %% A +@@ -296,7 +281,7 @@ curve(prime239v3) -> + <<16#01:8>> %% CoFactor + }; + +-curve(prime256v1) -> ++params(prime256v1) -> + { + {prime_field, <<16#FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF:256>>}, %% Prime + {<<16#FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC:256>>, %% A +@@ -309,7 +294,7 @@ curve(prime256v1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(sect113r1) -> ++params(sect113r1) -> + { + {characteristic_two_field, 113, {tpbasis,9}}, + {<<16#3088250CA6E7C7FE649CE85820F7:112>>, %% A +@@ -322,7 +307,7 @@ curve(sect113r1) -> + <<16#02:8>> %% CoFactor + }; + +-curve(sect113r2) -> ++params(sect113r2) -> + { + {characteristic_two_field, 113, {tpbasis,9}}, + {<<16#689918DBEC7E5A0DD6DFC0AA55C7:112>>, %% A +@@ -335,7 +320,7 @@ curve(sect113r2) -> + <<16#02:8>> %% CoFactor + }; + +-curve(sect131r1) -> ++params(sect131r1) -> + { + {characteristic_two_field, 131, {ppbasis,2,3,8}}, + {<<16#07A11B09A76B562144418FF3FF8C2570B8:136>>, %% A +@@ -348,7 +333,7 @@ curve(sect131r1) -> + <<16#02:8>> %% CoFactor + }; + +-curve(sect131r2) -> ++params(sect131r2) -> + { + {characteristic_two_field, 131, {ppbasis,2,3,8}}, + {<<16#03E5A88919D7CAFCBF415F07C2176573B2:136>>, %% A +@@ -361,7 +346,7 @@ curve(sect131r2) -> + <<16#02:8>> %% CoFactor + }; + +-curve(sect163k1) -> ++params(sect163k1) -> + { + {characteristic_two_field, 163, {ppbasis,3,6,7}}, + {<<16#01:8>>, %% A +@@ -374,7 +359,7 @@ curve(sect163k1) -> + <<16#02:8>> %% CoFactor + }; + +-curve(sect163r1) -> ++params(sect163r1) -> + { + {characteristic_two_field, 163, {ppbasis,3,6,7}}, + {<<16#07B6882CAAEFA84F9554FF8428BD88E246D2782AE2:168>>, %% A +@@ -387,7 +372,7 @@ curve(sect163r1) -> + <<16#02:8>> %% CoFactor + }; + +-curve(sect163r2) -> ++params(sect163r2) -> + { + {characteristic_two_field, 163, {ppbasis,3,6,7}}, + {<<16#01:8>>, %% A +@@ -400,7 +385,7 @@ curve(sect163r2) -> + <<16#02:8>> %% CoFactor + }; + +-curve(sect193r1) -> ++params(sect193r1) -> + { + {characteristic_two_field, 193, {tpbasis,15}}, + {<<16#17858FEB7A98975169E171F77B4087DE098AC8A911DF7B01:192>>, %% A +@@ -413,7 +398,7 @@ curve(sect193r1) -> + <<16#02:8>> %% CoFactor + }; + +-curve(sect193r2) -> ++params(sect193r2) -> + { + {characteristic_two_field, 193, {tpbasis,15}}, + {<<16#0163F35A5137C2CE3EA6ED8667190B0BC43ECD69977702709B:200>>, %% A +@@ -426,7 +411,7 @@ curve(sect193r2) -> + <<16#02:8>> %% CoFactor + }; + +-curve(sect233k1) -> ++params(sect233k1) -> + { + {characteristic_two_field, 233, {tpbasis,74}}, + {<<16#00:8>>, %% A +@@ -439,7 +424,7 @@ curve(sect233k1) -> + <<16#04:8>> %% CoFactor + }; + +-curve(sect233r1) -> ++params(sect233r1) -> + { + {characteristic_two_field, 233, {tpbasis,74}}, + {<<16#01:8>>, %% A +@@ -452,7 +437,7 @@ curve(sect233r1) -> + <<16#02:8>> %% CoFactor + }; + +-curve(sect239k1) -> ++params(sect239k1) -> + { + {characteristic_two_field, 239, {tpbasis,158}}, + {<<16#00:8>>, %% A +@@ -465,7 +450,7 @@ curve(sect239k1) -> + <<16#04:8>> %% CoFactor + }; + +-curve(sect283k1) -> ++params(sect283k1) -> + { + {characteristic_two_field, 283, {ppbasis,5,7,12}}, + {<<16#00:8>>, %% A +@@ -481,7 +466,7 @@ curve(sect283k1) -> + <<16#04:8>> %% CoFactor + }; + +-curve(sect283r1) -> ++params(sect283r1) -> + { + {characteristic_two_field, 283, {ppbasis,5,7,12}}, + {<<16#01:8>>, %% A +@@ -498,7 +483,7 @@ curve(sect283r1) -> + <<16#02:8>> %% CoFactor + }; + +-curve(sect409k1) -> ++params(sect409k1) -> + { + {characteristic_two_field, 409, {tpbasis,87}}, + {<<16#00:8>>, %% A +@@ -514,7 +499,7 @@ curve(sect409k1) -> + <<16#04:8>> %% CoFactor + }; + +-curve(sect409r1) -> ++params(sect409r1) -> + { + {characteristic_two_field, 409, {tpbasis,87}}, + {<<16#01:8>>, %% A +@@ -531,7 +516,7 @@ curve(sect409r1) -> + <<16#02:8>> %% CoFactor + }; + +-curve(sect571k1) -> ++params(sect571k1) -> + { + {characteristic_two_field, 571, {ppbasis,2,5,10}}, + {<<16#00:8>>, %% A +@@ -550,7 +535,7 @@ curve(sect571k1) -> + <<16#04:8>> %% CoFactor + }; + +-curve(sect571r1) -> ++params(sect571r1) -> + { + {characteristic_two_field, 571, {ppbasis,2,5,10}}, + {<<16#01:8>>, %% A +@@ -571,7 +556,7 @@ curve(sect571r1) -> + <<16#02:8>> %% CoFactor + }; + +-curve(c2pnb163v1) -> ++params(c2pnb163v1) -> + { + {characteristic_two_field, 163, {ppbasis,1,2,8}}, + {<<16#072546B5435234A422E0789675F432C89435DE5242:168>>, %% A +@@ -584,7 +569,7 @@ curve(c2pnb163v1) -> + <<16#02:8>> %% CoFactor + }; + +-curve(c2pnb163v2) -> ++params(c2pnb163v2) -> + { + {characteristic_two_field, 163, {ppbasis,1,2,8}}, + {<<16#0108B39E77C4B108BED981ED0E890E117C511CF072:168>>, %% A +@@ -597,7 +582,7 @@ curve(c2pnb163v2) -> + <<16#02:8>> %% CoFactor + }; + +-curve(c2pnb163v3) -> ++params(c2pnb163v3) -> + { + {characteristic_two_field, 163, {ppbasis,1,2,8}}, + {<<16#07A526C63D3E25A256A007699F5447E32AE456B50E:168>>, %% A +@@ -610,7 +595,7 @@ curve(c2pnb163v3) -> + <<16#02:8>> %% CoFactor + }; + +-curve(c2pnb176v1) -> ++params(c2pnb176v1) -> + { + {characteristic_two_field, 176, {ppbasis,1,2,43}}, + {<<16#E4E6DB2995065C407D9D39B8D0967B96704BA8E9C90B:176>>, %% A +@@ -623,7 +608,7 @@ curve(c2pnb176v1) -> + <<16#FF6E:16>> %% CoFactor + }; + +-curve(c2tnb191v1) -> ++params(c2tnb191v1) -> + { + {characteristic_two_field, 191, {tpbasis,9}}, + {<<16#2866537B676752636A68F56554E12640276B649EF7526267:192>>, %% A +@@ -636,7 +621,7 @@ curve(c2tnb191v1) -> + <<16#02:8>> %% CoFactor + }; + +-curve(c2tnb191v2) -> ++params(c2tnb191v2) -> + { + {characteristic_two_field, 191, {tpbasis,9}}, + {<<16#401028774D7777C7B7666D1366EA432071274F89FF01E718:192>>, %% A +@@ -649,7 +634,7 @@ curve(c2tnb191v2) -> + <<16#04:8>> %% CoFactor + }; + +-curve(c2tnb191v3) -> ++params(c2tnb191v3) -> + { + {characteristic_two_field, 191, {tpbasis,9}}, + {<<16#6C01074756099122221056911C77D77E77A777E7E7E77FCB:192>>, %% A +@@ -662,7 +647,7 @@ curve(c2tnb191v3) -> + <<16#06:8>> %% CoFactor + }; + +-curve(c2pnb208w1) -> ++params(c2pnb208w1) -> + { + {characteristic_two_field, 208, {ppbasis,1,2,83}}, + {<<16#00:8>>, %% A +@@ -675,7 +660,7 @@ curve(c2pnb208w1) -> + <<16#FE48:16>> %% CoFactor + }; + +-curve(c2tnb239v1) -> ++params(c2tnb239v1) -> + { + {characteristic_two_field, 239, {tpbasis,36}}, + {<<16#32010857077C5431123A46B808906756F543423E8D27877578125778AC76:240>>, %% A +@@ -688,7 +673,7 @@ curve(c2tnb239v1) -> + <<16#04:8>> %% CoFactor + }; + +-curve(c2tnb239v2) -> ++params(c2tnb239v2) -> + { + {characteristic_two_field, 239, {tpbasis,36}}, + {<<16#4230017757A767FAE42398569B746325D45313AF0766266479B75654E65F:240>>, %% A +@@ -701,7 +686,7 @@ curve(c2tnb239v2) -> + <<16#06:8>> %% CoFactor + }; + +-curve(c2tnb239v3) -> ++params(c2tnb239v3) -> + { + {characteristic_two_field, 239, {tpbasis,36}}, + {<<16#01238774666A67766D6676F778E676B66999176666E687666D8766C66A9F:240>>, %% A +@@ -714,7 +699,7 @@ curve(c2tnb239v3) -> + <<16#0A:8>> %% CoFactor + }; + +-curve(c2pnb272w1) -> ++params(c2pnb272w1) -> + { + {characteristic_two_field, 272, {ppbasis,1,3,56}}, + {<<16#91A091F03B5FBA4AB2CCF49C4EDD220FB028712D42BE752B2C40094DBACDB586:256, %% A +@@ -732,7 +717,7 @@ curve(c2pnb272w1) -> + <<16#FF06:16>> %% CoFactor + }; + +-curve(c2pnb304w1) -> ++params(c2pnb304w1) -> + { + {characteristic_two_field, 304, {ppbasis,1,2,11}}, + {<<16#FD0D693149A118F651E6DCE6802085377E5F882D1B510B44160074C128807836:256, %% A +@@ -750,7 +735,7 @@ curve(c2pnb304w1) -> + <<16#FE2E:16>> %% CoFactor + }; + +-curve(c2tnb359v1) -> ++params(c2tnb359v1) -> + { + {characteristic_two_field, 359, {tpbasis,68}}, + {<<16#5667676A654B20754F356EA92017D946567C46675556F19556A04616B567D223:256, %% A +@@ -768,7 +753,7 @@ curve(c2tnb359v1) -> + <<16#4C:8>> %% CoFactor + }; + +-curve(c2pnb368w1) -> ++params(c2pnb368w1) -> + { + {characteristic_two_field, 368, {ppbasis,1,2,85}}, + {<<16#E0D2EE25095206F5E2A4F9ED229F1F256E79A0E2B455970D8D0D865BD94778C5:256, %% A +@@ -786,7 +771,7 @@ curve(c2pnb368w1) -> + <<16#FF70:16>> %% CoFactor + }; + +-curve(c2tnb431r1) -> ++params(c2tnb431r1) -> + { + {characteristic_two_field, 431, {tpbasis,120}}, + {<<16#1A827EF00DD6FC0E234CAF046C6A5D8A85395B236CC4AD2CF32A0CADBDC9DDF6:256, %% A +@@ -804,7 +789,7 @@ curve(c2tnb431r1) -> + <<16#2760:16>> %% CoFactor + }; + +-curve(wtls1) -> ++params(wtls1) -> + { + {characteristic_two_field, 113, {tpbasis,9}}, + {<<16#01:8>>, %% A +@@ -817,7 +802,7 @@ curve(wtls1) -> + <<16#02:8>> %% CoFactor + }; + +-curve(wtls3) -> ++params(wtls3) -> + { + {characteristic_two_field, 163, {ppbasis,3,6,7}}, + {<<16#01:8>>, %% A +@@ -830,7 +815,7 @@ curve(wtls3) -> + <<16#02:8>> %% CoFactor + }; + +-curve(wtls4) -> ++params(wtls4) -> + { + {characteristic_two_field, 113, {tpbasis,9}}, + {<<16#3088250CA6E7C7FE649CE85820F7:112>>, %% A +@@ -843,7 +828,7 @@ curve(wtls4) -> + <<16#02:8>> %% CoFactor + }; + +-curve(wtls5) -> ++params(wtls5) -> + { + {characteristic_two_field, 163, {ppbasis,1,2,8}}, + {<<16#072546B5435234A422E0789675F432C89435DE5242:168>>, %% A +@@ -856,7 +841,7 @@ curve(wtls5) -> + <<16#02:8>> %% CoFactor + }; + +-curve(wtls6) -> ++params(wtls6) -> + { + {prime_field, <<16#DB7C2ABF62E35E668076BEAD208B:112>>}, %% Prime + {<<16#DB7C2ABF62E35E668076BEAD2088:112>>, %% A +@@ -869,7 +854,7 @@ curve(wtls6) -> + <<16#01:8>> %% CoFactor + }; + +-curve(wtls7) -> ++params(wtls7) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73:160>>}, %% Prime + {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC70:160>>, %% A +@@ -882,7 +867,7 @@ curve(wtls7) -> + <<16#01:8>> %% CoFactor + }; + +-curve(wtls8) -> ++params(wtls8) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFDE7:112>>}, %% Prime + {<<16#00:8>>, %% A +@@ -895,7 +880,7 @@ curve(wtls8) -> + <<16#01:8>> %% CoFactor + }; + +-curve(wtls9) -> ++params(wtls9) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC808F:160>>}, %% Prime + {<<16#00:8>>, %% A +@@ -908,7 +893,7 @@ curve(wtls9) -> + <<16#01:8>> %% CoFactor + }; + +-curve(wtls10) -> ++params(wtls10) -> + { + {characteristic_two_field, 233, {tpbasis,74}}, + {<<16#00:8>>, %% A +@@ -921,7 +906,7 @@ curve(wtls10) -> + <<16#04:8>> %% CoFactor + }; + +-curve(wtls11) -> ++params(wtls11) -> + { + {characteristic_two_field, 233, {tpbasis,74}}, + {<<16#01:8>>, %% A +@@ -934,7 +919,7 @@ curve(wtls11) -> + <<16#02:8>> %% CoFactor + }; + +-curve(wtls12) -> ++params(wtls12) -> + { + {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001:224>>}, %% Prime + {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE:224>>, %% A +@@ -947,7 +932,7 @@ curve(wtls12) -> + <<16#01:8>> %% CoFactor + }; + +-curve(ipsec3) -> ++params(ipsec3) -> + { + {characteristic_two_field, 155, {tpbasis,62}}, + {<<16#00:8>>, %% A +@@ -960,7 +945,7 @@ curve(ipsec3) -> + <<16#03:8>> %% CoFactor + }; + +-curve(ipsec4) -> ++params(ipsec4) -> + { + {characteristic_two_field, 185, {tpbasis,69}}, + {<<16#00:8>>, %% A +@@ -973,7 +958,7 @@ curve(ipsec4) -> + <<16#02:8>> %% CoFactor + }; + +-curve(brainpoolP160r1) -> ++params(brainpoolP160r1) -> + { + {prime_field, <<16#E95E4A5F737059DC60DFC7AD95B3D8139515620F:160>>}, %% Prime + {<<16#340E7BE2A280EB74E2BE61BADA745D97E8F7C300:160>>, %% A +@@ -986,7 +971,7 @@ curve(brainpoolP160r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP160t1) -> ++params(brainpoolP160t1) -> + { + {prime_field, <<16#E95E4A5F737059DC60DFC7AD95B3D8139515620F:160>>}, %% Prime + {<<16#E95E4A5F737059DC60DFC7AD95B3D8139515620C:160>>, %% A +@@ -999,7 +984,7 @@ curve(brainpoolP160t1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP192r1) -> ++params(brainpoolP192r1) -> + { + {prime_field, <<16#C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297:192>>}, %% Prime + {<<16#6A91174076B1E0E19C39C031FE8685C1CAE040E5C69A28EF:192>>, %% A +@@ -1012,7 +997,7 @@ curve(brainpoolP192r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP192t1) -> ++params(brainpoolP192t1) -> + { + {prime_field, <<16#C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297:192>>}, %% Prime + {<<16#C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86294:192>>, %% A +@@ -1025,7 +1010,7 @@ curve(brainpoolP192t1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP224r1) -> ++params(brainpoolP224r1) -> + { + {prime_field, <<16#D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF:224>>}, %% Prime + {<<16#68A5E62CA9CE6C1C299803A6C1530B514E182AD8B0042A59CAD29F43:224>>, %% A +@@ -1038,7 +1023,7 @@ curve(brainpoolP224r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP224t1) -> ++params(brainpoolP224t1) -> + { + {prime_field, <<16#D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF:224>>}, %% Prime + {<<16#D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FC:224>>, %% A +@@ -1051,7 +1036,7 @@ curve(brainpoolP224t1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP256r1) -> ++params(brainpoolP256r1) -> + { + {prime_field, <<16#A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377:256>>}, %% Prime + {<<16#7D5A0975FC2C3057EEF67530417AFFE7FB8055C126DC5C6CE94A4B44F330B5D9:256>>, %% A +@@ -1064,7 +1049,7 @@ curve(brainpoolP256r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP256t1) -> ++params(brainpoolP256t1) -> + { + {prime_field, <<16#A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377:256>>}, %% Prime + {<<16#A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5374:256>>, %% A +@@ -1077,7 +1062,7 @@ curve(brainpoolP256t1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP320r1) -> ++params(brainpoolP320r1) -> + { + {prime_field, <<16#D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28:256, %% Prime + 16#FCD412B1F1B32E27:64>>}, +@@ -1096,7 +1081,7 @@ curve(brainpoolP320r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP320t1) -> ++params(brainpoolP320t1) -> + { + {prime_field, <<16#D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28:256, %% Prime + 16#FCD412B1F1B32E27:64>>}, +@@ -1115,7 +1100,7 @@ curve(brainpoolP320t1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP384r1) -> ++params(brainpoolP384r1) -> + { + {prime_field, <<16#8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123:256, %% Prime + 16#ACD3A729901D1A71874700133107EC53:128>>}, +@@ -1134,7 +1119,7 @@ curve(brainpoolP384r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP384t1) -> ++params(brainpoolP384t1) -> + { + {prime_field, <<16#8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123:256, %% Prime + 16#ACD3A729901D1A71874700133107EC53:128>>}, +@@ -1153,7 +1138,7 @@ curve(brainpoolP384t1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP512r1) -> ++params(brainpoolP512r1) -> + { + {prime_field, <<16#AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA70330871:256, %% Prime + 16#7D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F3:256>>}, +@@ -1172,7 +1157,7 @@ curve(brainpoolP512r1) -> + <<16#01:8>> %% CoFactor + }; + +-curve(brainpoolP512t1) -> ++params(brainpoolP512t1) -> + { + {prime_field, <<16#AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA70330871:256, %% Prime + 16#7D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F3:256>>}, diff --git a/otp-0021-crypto_SUITE-Skip-ec-curves-with-224-bits-if-FIPS.patch b/otp-0021-crypto_SUITE-Skip-ec-curves-with-224-bits-if-FIPS.patch new file mode 100644 index 0000000..5615558 --- /dev/null +++ b/otp-0021-crypto_SUITE-Skip-ec-curves-with-224-bits-if-FIPS.patch @@ -0,0 +1,78 @@ +From: Sverker Eriksson +Date: Fri, 16 Jun 2023 19:31:34 +0200 +Subject: [PATCH] crypto_SUITE: Skip ec curves with < 224 bits if FIPS + + +diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl +index c56faa9bc4..1179a516b2 100644 +--- a/lib/crypto/test/crypto_SUITE.erl ++++ b/lib/crypto/test/crypto_SUITE.erl +@@ -1256,8 +1256,19 @@ no_generate_compute(Config) when is_list(Config) -> + compute() -> + [{doc, " Test crypto:compute_key"}]. + compute(Config) when is_list(Config) -> +- Gen = proplists:get_value(compute, Config), ++ Gen0 = proplists:get_value(compute, Config), ++ Gen = case crypto:info_fips() of ++ enabled -> ++ SkipCurves = [secp192r1], ++ lists:filter(fun({_,_,_,Curve,_}) -> ++ not lists:member(Curve,SkipCurves) ++ end, ++ Gen0); ++ _ -> ++ Gen0 ++ end, + lists:foreach(fun do_compute/1, Gen). ++ + %%-------------------------------------------------------------------- + use_all_ec_sign_verify(_Config) -> + Msg = <<"hello world!">>, +@@ -1270,10 +1281,17 @@ use_all_ec_sign_verify(_Config) -> + Hashs]), + SkipHashs0 = [md4, md5, ripemd160, sha3_224, sha3_256, sha3_384, sha3_512, + blake2b, blake2s], +- SkipHashs = case crypto:info_fips() of +- enabled -> [sha | SkipHashs0]; +- _ -> SkipHashs0 +- end, ++ SkipCurves0 = [ed25519, ed448, x25519, x448, ipsec3, ipsec4], ++ ++ {SkipHashs, SkipCurves} ++ = case crypto:info_fips() of ++ enabled -> ++ {[sha | SkipHashs0], ++ [secp192r1, prime192v1, sect163k1, sect163r2]}; ++ _ -> ++ {SkipHashs0, SkipCurves0} ++ end, ++ + Results = + [{{Curve,Hash}, + try +@@ -1287,7 +1305,7 @@ use_all_ec_sign_verify(_Config) -> + C:E -> + {C,E} + end} +- || Curve <- Curves -- [ed25519, ed448, x25519, x448, ipsec3, ipsec4], ++ || Curve <- Curves -- SkipCurves, + Hash <- Hashs -- SkipHashs + ], + Fails = +@@ -1316,7 +1334,15 @@ use_all_ec_sign_verify(_Config) -> + + %%-------------------------------------------------------------------- + use_all_ecdh_generate_compute(Config) -> +- Curves = crypto:supports(curves) -- [ed25519, ed448, x25519, x448], ++ SkipCurves0 = [ed25519, ed448, x25519, x448], ++ SkipCurves = ++ case crypto:info_fips() of ++ enabled -> ++ [secp192r1, prime192v1, sect163k1, sect163r2 | SkipCurves0]; ++ _ -> ++ SkipCurves0 ++ end, ++ Curves = crypto:supports(curves) -- SkipCurves, + do_dh_curves(Config, Curves). + + use_all_eddh_generate_compute(Config) -> diff --git a/otp-0022-crypto_SUITE-Fix-safe-primes-for-DH-with-FIPS.patch b/otp-0022-crypto_SUITE-Fix-safe-primes-for-DH-with-FIPS.patch new file mode 100644 index 0000000..3181670 --- /dev/null +++ b/otp-0022-crypto_SUITE-Fix-safe-primes-for-DH-with-FIPS.patch @@ -0,0 +1,37 @@ +From: Sverker Eriksson +Date: Tue, 20 Jun 2023 14:50:27 +0200 +Subject: [PATCH] crypto_SUITE: Fix safe primes for DH with FIPS + +FIPs on OpenSSL 3 seems to demand P to be a safe prime +where Q = (P-1)/2 is also prime. + +diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl +index 1179a516b2..eea60a523d 100644 +--- a/lib/crypto/test/crypto_SUITE.erl ++++ b/lib/crypto/test/crypto_SUITE.erl +@@ -1220,6 +1220,15 @@ generate_compute(Config) when is_list(Config) -> + compute_bug() -> + [{doc, "Test that it works even if the Secret is smaller than expected"}]. + compute_bug(_Config) -> ++ case crypto:info_fips() of ++ enabled -> ++ %% FIPs on OpenSSL 3 seems to demand P to be a safe prime ++ %% where Q = (P-1)/2 is also prime. ++ skip; ++ _ -> do_compute_bug() ++ end. ++ ++do_compute_bug() -> + ExpectedSecret = <<118,89,171,16,156,18,156,103,189,134,130,49,28,144,111,241,247,82,79,32,228,11,209,141,119,176,251,80,105,143,235,251,203,121,223,211,129,3,233,133,45,2,31,157,24,111,5,75,153,66,135,185,128,115,229,178,216,39,73,52,80,151,8,241,34,52,226,71,137,167,53,48,59,224,175,154,89,110,76,83,24,117,149,21,72,6,186,78,149,74,188,56,98,244,30,77,108,248,88,194,195,237,23,51,20,242,254,123,21,12,209,74,217,168,230,65,7,60,211,139,128,239,234,153,22,229,180,59,159,121,41,156,121,200,177,130,163,162,54,224,93,1,94,11,177,254,118,28,156,26,116,10,207,145,219,166,214,189,214,230,221,170,228,15,69,88,31,68,94,255,113,58,49,82,86,192,248,176,131,133,39,186,194,172,206,84,184,16,66,68,153,128,178,227,27,118,52,130,122,92,24,222,102,195,221,207,255,13,152,175,65,32,167,84,54,244,243,109,244,18,234,16,159,224,188,2,106,123,27,17,131,171,226,34,111,251,62,119,155,124,221,124,254,62,97,167,1,105,116,98,98,19,197,30,72,180,79,221,100,134,120,117,124,85,73,132,224,223,222,41,155,137,218,130,238,237,157,161,134,150,69,206,91,141,17,89,120,218,235,229,37,150,76,197,7,157,56,144,42,203,137,100,200,72,141,194,239,1,67,236,238,183,48,214,75,76,108,235,3,237,67,40,137,45,182,236,246,37,116,103,144,237,142,211,88,233,11,24,21,218,41,245,250,51,130,250,104,74,189,17,69,145,70,50,50,215,253,155,10,128,41,114,185,211,82,164,72,92,17,145,104,66,6,140,226,80,43,62,1,166,216,153,118,96,15,147,126,137,118,191,192,75,149,241,206,18,92,17,154,215,219,18,6,139,190,103,210,156,184,29,224,213,157,60,112,189,104,220,125,40,186,50,119,17,143,136,149,38,74,107,21,192,59,61,59,42,231,144,59,175,3,176,87,23,16,122,54,31,82,34,230,211,44,81,41,47,86,37,228,175,130,148,88,136,131,254,241,202,99,199,175,1,141,215,124,155,120,43,141,89,11,140,120,141,29,35,82,219,155,204,75,12,66,241,253,33,250,84,24,85,68,13,80,85,142,227,34,139,26,146,24>>, + OthersPublicKey = 635619632099733175381667940709387641100492974601603060984753028943194386334921787463327680809776598322996634648015962954045728174069768874873236397421720142610982770302060309928552098274817978606093380781524199673890631795310930242601197479471368910519338301177304682162189801040921618559902948819107531088646753320486728060005223263561551402855338732899079439899705951063999951507319258050864346087428042978411873495523439615429804957374639092580169417598963105885529553632847023899713490485619763926900318508906706745060947269748612049634207985438016935262521715769812475329234748426647554362991758104620357149045960316987533503707855364806010494793980069245562784050236811004893018183726397041999426883788660276453352521120006817370050691205529335316794439089316232980047277245051173281601960196573681285904611182521967067911862467395705665888521948321299521549941618586026714676885890192323289343756440666276226084448279082483536164085883288884231665240707495770544705648564889889198060417915693315346959170105413290799314390963124178046425737828369059171472978294050322371452255088799865552038756937873388385970088906560408959959429398326288750834357514847891423941047433478384621074116184703014798814515161475596555032391555842, + MyPrivateKey = 387759582879975726965038486537011291913744975764132199838375902680222019267527675651273586836110220500657652661706223760165097275862806031329642160439090779625708664007910974206651834216043397115514725827856461492311499129200688538220719685637154290305617686974719521885238198226075381217068175824097878445476010193039590876624464274744156624589136789060427283492343902761765833713520850870233407503430180028104167029073459918756981323130062648615262139444306321256382009848217866984408901761817655567071716275177768316006340055589170095799943481591033461616307776069027985761229636731465482676467627154100912586936231051371168178564599296638350391246393336702334311781595616786107810962134407697848002331639021101685320844880636050048769216986088652236979636019052557155807310341483407890060105599892252118584570558049301477535792498672552850760356632076013402382600669875697284264329434950712239302528367835155163504374877787288116104285944993818319105835423479332617802010952731990182088670508346704423006877514817882782443833997288652405892920173712497948376815825396272381214976859009518623799156300136570204539240675245115597412280078940442452936425561984312708387584800789375684525365060589104566195610526570099527133097201479, +@@ -4403,8 +4412,7 @@ ecdh() -> + ). + + dh() -> +- {dh, 90970053988169282502023478715631717259407236400413906591937635666709823903223997309250405131675572047545403771567755831138144089197560332757755059848492919215391041119286178688014693040542889497092308638580104031455627238700168892909539193174537248629499995652186913900511641708112112482297874449292467498403, 2}. +- ++ {dh, 16#FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B423861285C97FFFFFFFFFFFFFFFF, 2}. + + + rsa_oaep() -> diff --git a/otp-0023-crypto-Skip-entire-engine_SUITE-if-notsup.patch b/otp-0023-crypto-Skip-entire-engine_SUITE-if-notsup.patch new file mode 100644 index 0000000..770826f --- /dev/null +++ b/otp-0023-crypto-Skip-entire-engine_SUITE-if-notsup.patch @@ -0,0 +1,53 @@ +From: Sverker Eriksson +Date: Tue, 20 Jun 2023 15:29:57 +0200 +Subject: [PATCH] crypto: Skip entire engine_SUITE if notsup + + +diff --git a/lib/crypto/test/engine_SUITE.erl b/lib/crypto/test/engine_SUITE.erl +index 8907d3968f..b2c25bdcae 100644 +--- a/lib/crypto/test/engine_SUITE.erl ++++ b/lib/crypto/test/engine_SUITE.erl +@@ -136,20 +136,23 @@ groups() -> + + + init_per_suite(Config) -> +- try {os:type(), crypto:info_lib()} of +- {_, [{_,_, <<"OpenSSL 1.0.1s-freebsd 1 Mar 2016">>}]} -> ++ try {engine_supported(), os:type(), crypto:info_lib()} of ++ {false,_,[{_,_,OpenSSLversion}]} -> ++ {skip, "Engine not supported by " ++ OpenSSLversion}; ++ ++ {_,_, [{_,_, <<"OpenSSL 1.0.1s-freebsd 1 Mar 2016">>}]} -> + {skip, "Problem with engine on OpenSSL 1.0.1s-freebsd"}; + +- {_, [{_,_,<<"LibreSSL 2.1.",_/binary>>}]} -> ++ {_,_, [{_,_,<<"LibreSSL 2.1.",_/binary>>}]} -> + {skip, "Problem with engine on older LibreSSL 2.1.*"}; + +- {{unix,darwin}, _} -> ++ {_,{unix,darwin}, _} -> + {skip, "Engine unsupported on Darwin"}; +- +- {{win32,_}, _} -> ++ ++ {_,{win32,_}, _} -> + {skip, "Engine unsupported on Windows"}; +- +- {OS, Res} -> ++ ++ {_,OS, Res} -> + ct:log("crypto:info_lib() -> ~p\nos:type() -> ~p", [Res,OS]), + try crypto:start() of + ok -> +@@ -166,6 +169,11 @@ init_per_suite(Config) -> + end_per_suite(_Config) -> + ok. + ++engine_supported() -> ++ try crypto:engine_list(), true ++ catch error:notsup -> false ++ end. ++ + %%-------------------------------------------------------------------- + init_per_group(engine_stored_key, Config) -> + group_load_engine(Config, [engine_method_rsa]); diff --git a/otp-0024-crypto-Fix-doc-for-FIPS-with-OpenSSL-3.patch b/otp-0024-crypto-Fix-doc-for-FIPS-with-OpenSSL-3.patch new file mode 100644 index 0000000..36a0c8b --- /dev/null +++ b/otp-0024-crypto-Fix-doc-for-FIPS-with-OpenSSL-3.patch @@ -0,0 +1,21 @@ +From: Sverker Eriksson +Date: Tue, 20 Jun 2023 20:55:03 +0200 +Subject: [PATCH] crypto: Fix doc for FIPS with OpenSSL 3 + + +diff --git a/lib/crypto/doc/src/crypto_app.xml b/lib/crypto/doc/src/crypto_app.xml +index dcc86cd49c..4bc019f244 100644 +--- a/lib/crypto/doc/src/crypto_app.xml ++++ b/lib/crypto/doc/src/crypto_app.xml +@@ -50,9 +50,9 @@ + LibreSSL should also work.

+ +

The crypto app is tested daily with at least one version of each of the +- OpenSSL 1.0.1, 1.0.2, 1.1.0, 1.1.1 and 3.0. FIPS mode is also tested for 1.0.1 and 1.0.2.

++ OpenSSL 1.0.1, 1.0.2, 1.1.0, 1.1.1 and 3.0. FIPS mode is also tested for 1.0.1, 1.0.2 and 3.0.

+ +-

Using OpenSSL 3.0 with Engines or in FIPS mode is not yet supported by the OTP/crypto app.

++

Using OpenSSL 3.0 with Engines is not yet supported by the OTP/crypto app.

+ +

Source releases of OpenSSL can be downloaded from the OpenSSL project home page, + or mirror sites listed there. From 88aca5c203ffa55c07661a5e05deeb8c7f21ed36 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 20 Sep 2023 11:07:56 +0200 Subject: [PATCH 31/69] Erlang ver. 26.1 Signed-off-by: Peter Lemenkov --- erlang.spec | 21 +- otp-0002-Remove-rpath.patch | 2 +- otp-0006-Add-extra-search-directory.patch | 4 +- ...ate_key-3-for-ecdh-to-only-use-OpenS.patch | 215 ----- ...ssl_BN_param_from_bin_sz-to-not-abus.patch | 102 --- ...-enable-FIPS_SUPPORT-for-HAS_3_0_API.patch | 22 - ...IPS-bug-in-check_pkey_algorithm_type.patch | 18 - ...nge-to-longer-dss-keys-acceptable-to.patch | 28 - ...Remove-sha-1-as-hash-for-dss-if-FIPS.patch | 33 - ...ove-md5-ripemd160-and-sha-as-hash-fo.patch | 24 - ...-generate-ec-key-by-name-if-possible.patch | 284 ------ ...rypto_SUITE-Skip-sha-1-sign-for-FIPS.patch | 59 -- ...0-crypto-Unalias-some-ec-curve-names.patch | 806 ------------------ ...Skip-ec-curves-with-224-bits-if-FIPS.patch | 78 -- ...ITE-Fix-safe-primes-for-DH-with-FIPS.patch | 37 - ...o-Skip-entire-engine_SUITE-if-notsup.patch | 53 -- ...ypto-Fix-doc-for-FIPS-with-OpenSSL-3.patch | 21 - sources | 2 +- 18 files changed, 9 insertions(+), 1800 deletions(-) delete mode 100644 otp-0011-crypto-Fix-generate_key-3-for-ecdh-to-only-use-OpenS.patch delete mode 100644 otp-0012-crypto-Fix-get_ossl_BN_param_from_bin_sz-to-not-abus.patch delete mode 100644 otp-0013-crypto-Re-enable-FIPS_SUPPORT-for-HAS_3_0_API.patch delete mode 100644 otp-0014-crypto-Fix-FIPS-bug-in-check_pkey_algorithm_type.patch delete mode 100644 otp-0015-crypto_SUITE-Change-to-longer-dss-keys-acceptable-to.patch delete mode 100644 otp-0016-crypto_SUITE-Remove-sha-1-as-hash-for-dss-if-FIPS.patch delete mode 100644 otp-0017-crypto_SUITE-Remove-md5-ripemd160-and-sha-as-hash-fo.patch delete mode 100644 otp-0018-crypto-Try-generate-ec-key-by-name-if-possible.patch delete mode 100644 otp-0019-crypto_SUITE-Skip-sha-1-sign-for-FIPS.patch delete mode 100644 otp-0020-crypto-Unalias-some-ec-curve-names.patch delete mode 100644 otp-0021-crypto_SUITE-Skip-ec-curves-with-224-bits-if-FIPS.patch delete mode 100644 otp-0022-crypto_SUITE-Fix-safe-primes-for-DH-with-FIPS.patch delete mode 100644 otp-0023-crypto-Skip-entire-engine_SUITE-if-notsup.patch delete mode 100644 otp-0024-crypto-Fix-doc-for-FIPS-with-OpenSSL-3.patch diff --git a/erlang.spec b/erlang.spec index da51e3b..b4e6469 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,8 +68,8 @@ Name: erlang -Version: 26.0.2 -Release: 3%{?dist} +Version: 26.1 +Release: 1%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -110,20 +110,6 @@ Patch7: otp-0007-Avoid-forking-sed-to-get-basename.patch Patch8: otp-0008-Load-man-pages-from-system-wide-directory.patch Patch9: otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch Patch10: otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch -Patch11: otp-0011-crypto-Fix-generate_key-3-for-ecdh-to-only-use-OpenS.patch -Patch12: otp-0012-crypto-Fix-get_ossl_BN_param_from_bin_sz-to-not-abus.patch -Patch13: otp-0013-crypto-Re-enable-FIPS_SUPPORT-for-HAS_3_0_API.patch -Patch14: otp-0014-crypto-Fix-FIPS-bug-in-check_pkey_algorithm_type.patch -Patch15: otp-0015-crypto_SUITE-Change-to-longer-dss-keys-acceptable-to.patch -Patch16: otp-0016-crypto_SUITE-Remove-sha-1-as-hash-for-dss-if-FIPS.patch -Patch17: otp-0017-crypto_SUITE-Remove-md5-ripemd160-and-sha-as-hash-fo.patch -Patch18: otp-0018-crypto-Try-generate-ec-key-by-name-if-possible.patch -Patch19: otp-0019-crypto_SUITE-Skip-sha-1-sign-for-FIPS.patch -Patch20: otp-0020-crypto-Unalias-some-ec-curve-names.patch -Patch21: otp-0021-crypto_SUITE-Skip-ec-curves-with-224-bits-if-FIPS.patch -Patch22: otp-0022-crypto_SUITE-Fix-safe-primes-for-DH-with-FIPS.patch -Patch23: otp-0023-crypto-Skip-entire-engine_SUITE-if-notsup.patch -Patch24: otp-0024-crypto-Fix-doc-for-FIPS-with-OpenSSL-3.patch # end of autogenerated patch tag list BuildRequires: gcc @@ -1982,6 +1968,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Wed Sep 20 2023 Peter Lemenkov - 26.1-1 +- Ver. 26.1 + * Tue Aug 8 2023 Peter Lemenkov - 26.0.2-3 - Reenable OpenSSL 3 diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch index b906050..c3685c9 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 25167a8a3a..2345970fa9 100644 +index 1691a7d120..48dcff51d0 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in @@ -147,7 +147,7 @@ endif diff --git a/otp-0006-Add-extra-search-directory.patch b/otp-0006-Add-extra-search-directory.patch index 3c7339a..9717baa 100644 --- a/otp-0006-Add-extra-search-directory.patch +++ b/otp-0006-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 f420337eb7..7e056ac2f6 100644 +index c5ba677c6e..0d23c61c0c 100644 --- a/lib/kernel/src/code_server.erl +++ b/lib/kernel/src/code_server.erl -@@ -89,11 +89,17 @@ init(Ref, Parent, [Root,Mode]) -> +@@ -90,11 +90,17 @@ init(Ref, Parent, [Root,Mode]) -> IPath = case Mode of interactive -> diff --git a/otp-0011-crypto-Fix-generate_key-3-for-ecdh-to-only-use-OpenS.patch b/otp-0011-crypto-Fix-generate_key-3-for-ecdh-to-only-use-OpenS.patch deleted file mode 100644 index ca059e6..0000000 --- a/otp-0011-crypto-Fix-generate_key-3-for-ecdh-to-only-use-OpenS.patch +++ /dev/null @@ -1,215 +0,0 @@ -From: Sverker Eriksson -Date: Wed, 7 Jun 2023 18:52:46 +0200 -Subject: [PATCH] crypto: Fix generate_key/3 for ecdh to only use OpenSSL 3.0 - API - -to prepare for using FIPS on OpenSSL 3.0 - -diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in -index 2345970fa9..28f7b595e8 100644 ---- a/lib/crypto/c_src/Makefile.in -+++ b/lib/crypto/c_src/Makefile.in -@@ -205,9 +205,9 @@ $(LIBDIR)/otp_test_engine$(TYPEMARKER).dll: $(TEST_ENGINE_OBJS) - $(V_LD) $(LDFLAGS) -o $@ $(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) $(TEST_ENGINE_OBJS) -l$(SSL_CRYPTO_LIBNAME) -l$(SSL_SSL_LIBNAME) $(SSL_EXTRA_LIBS) - endif - --$(OBJDIR)/ec$(TYPEMARKER).o: ec.c -- $(V_at)$(INSTALL_DIR) $(OBJDIR) -- $(V_CC) -c -o $@ $(ALL_CFLAGS) $(CRYPTO_NO_DEPRECATE_WARN) $< -+# $(OBJDIR)/ec$(TYPEMARKER).o: ec.c -+# $(V_at)$(INSTALL_DIR) $(OBJDIR) -+# $(V_CC) -c -o $@ $(ALL_CFLAGS) $(CRYPTO_NO_DEPRECATE_WARN) $< - - $(OBJDIR)/%$(TYPEMARKER).o: %.c - $(V_at)$(INSTALL_DIR) $(OBJDIR) -diff --git a/lib/crypto/c_src/ec.c b/lib/crypto/c_src/ec.c -index 124582c4f8..852f3ba79c 100644 ---- a/lib/crypto/c_src/ec.c -+++ b/lib/crypto/c_src/ec.c -@@ -24,6 +24,8 @@ - #ifdef HAVE_EC - # if defined(HAS_3_0_API) - -+# include -+ - int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, - OSSL_PARAM params[], int *i, - size_t *order_size) -@@ -253,13 +255,7 @@ int get_ec_public_key(ErlNifEnv* env, ERL_NIF_TERM key, EVP_PKEY **pkey) - } - - --int get_ec_private_key_2(ErlNifEnv* env, -- ERL_NIF_TERM curve, ERL_NIF_TERM key, -- EVP_PKEY **pkey, -- ERL_NIF_TERM *ret, -- size_t *order_size); -- --int get_ec_private_key_2(ErlNifEnv* env, -+static int get_ec_private_key_2(ErlNifEnv* env, - ERL_NIF_TERM curve, ERL_NIF_TERM key, - EVP_PKEY **pkey, - ERL_NIF_TERM *ret, -@@ -319,7 +315,8 @@ int get_ec_private_key(ErlNifEnv* env, ERL_NIF_TERM key, EVP_PKEY **pkey) - return 0; - } - --int mk_pub_key_binary(ErlNifEnv* env, EVP_PKEY **peer_pkey, ErlNifBinary *pubkey_bin, ERL_NIF_TERM *ret); -+static int mk_pub_key_binary(ErlNifEnv* env, EVP_PKEY *peer_pkey, -+ ErlNifBinary *pubkey_bin, ERL_NIF_TERM *ret); - - ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) - { /* (Curve, PrivKey|undefined) */ -@@ -339,9 +336,8 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar - - /* Get the two keys, pub as binary and priv as BN. - Since the private key is explicitly given, it must be calculated. -- I haven't found any way to do that with the pure 3.0 interface yet. - */ -- if (!mk_pub_key_binary(env, &peer_pkey, &pubkey_bin, &ret)) -+ if (!mk_pub_key_binary(env, peer_pkey, &pubkey_bin, &ret)) - goto err; - - if (!EVP_PKEY_get_bn_param(peer_pkey, "priv", &priv_bn)) -@@ -398,67 +394,81 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar - return ret; - } - --int mk_pub_key_binary(ErlNifEnv* env, EVP_PKEY **peer_pkey, ErlNifBinary *pubkey_bin, ERL_NIF_TERM *ret) -+static int mk_pub_key_binary(ErlNifEnv* env, EVP_PKEY *peer_pkey, -+ ErlNifBinary *pubkey_bin, ERL_NIF_TERM *ret) - { -- EC_KEY *ec_key = NULL; -- EC_POINT *public_key = NULL; -- EC_GROUP *group = NULL; -- BIGNUM *priv_bn = NULL; -- -- *ret = atom_undefined; -- -- /* Use the deprecated interface to get the curve and -- private key in pre 3.0 form: */ -- if ((ec_key = EVP_PKEY_get1_EC_KEY(*peer_pkey)) == NULL) -- assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC key")); -- -- if ((group = EC_GROUP_dup(EC_KEY_get0_group(ec_key))) == NULL) -+ size_t pub_key_size = 0; -+ size_t group_name_size = 0; -+ char group_name_buf[20]; -+ char* group_name = group_name_buf; -+ int group_nid; -+ EC_GROUP* ec_group = NULL; -+ EC_POINT* pub_key = NULL; -+ BIGNUM* priv_bn = NULL; -+ int ok = 0; -+ -+ /* This code was inspired by -+ * https://github.com/openssl/openssl/issues/18437 -+ * which first tried to get public key directly with -+ * EVP_PKEY_get_octet_string_param(peer_pkey, OSSL_PKEY_PARAM_PUB_KEY,..) -+ * -+ * I removed that since I don't know what key format that will produce -+ * if it succeeds. That is, we go directly to the "fallback" and calculate -+ * the public key. -+ */ -+ -+ if (!EVP_PKEY_get_utf8_string_param(peer_pkey, OSSL_PKEY_PARAM_GROUP_NAME, -+ NULL, 0, &group_name_size)) -+ assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC group name size")); -+ -+ if (group_name_size >= sizeof(group_name_buf)) -+ group_name = enif_alloc(group_name_size + 1); -+ if (!EVP_PKEY_get_utf8_string_param(peer_pkey, OSSL_PKEY_PARAM_GROUP_NAME, -+ group_name, group_name_size+1, -+ NULL)) -+ assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC group name")); -+ -+ group_nid = OBJ_sn2nid(group_name); -+ if (group_nid == NID_undef) -+ assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC group nid")); -+ -+ ec_group = EC_GROUP_new_by_curve_name(group_nid); -+ if (ec_group == NULL) - assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get EC_GROUP")); - -- if ((public_key = EC_POINT_new(group)) == NULL) -+ pub_key = EC_POINT_new(ec_group); -+ if (pub_key == NULL) - assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't create POINT")); - -- if (!EC_POINT_copy(public_key, EC_GROUP_get0_generator(group))) -- assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't copy POINT")); -- -- /* Make the corresponding public key */ -- if (!EVP_PKEY_get_bn_param(*peer_pkey, "priv", &priv_bn)) -+ if (!EVP_PKEY_get_bn_param(peer_pkey, OSSL_PKEY_PARAM_PRIV_KEY, &priv_bn)) - assign_goto(*ret, err, EXCP_BADARG_N(env, 1, "Couldn't get peer priv key bytes")); - -- if (BN_is_zero(priv_bn)) -- assign_goto(*ret, err, EXCP_BADARG_N(env, 1, "peer priv key must not be 0")); -- -- if (!EC_POINT_mul(group, public_key, priv_bn, NULL, NULL, NULL)) -+ if (!EC_POINT_mul(ec_group, pub_key, priv_bn, NULL, NULL, NULL)) - assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't multiply POINT")); - -- if (!EC_KEY_set_public_key(ec_key, public_key)) -- assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't set EC_KEY")); -- -- if (!EVP_PKEY_assign_EC_KEY(*peer_pkey, ec_key)) -- assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't assign EC_KEY to PKEY")); -- -- /* And now get the binary representation (by some reason we can't read it from -- peer_pubkey in the calling function with 3.0-functions.) -- */ -- { -- point_conversion_form_t form = EC_KEY_get_conv_form(ec_key); -- size_t dlen = EC_POINT_point2oct(group, public_key, form, NULL, 0, NULL); -- -- if (!enif_alloc_binary(dlen, pubkey_bin) || -- !EC_POINT_point2oct(group, public_key, form, pubkey_bin->data, pubkey_bin->size, NULL) -- ) -- assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get public key")); -+ pub_key_size = EC_POINT_point2oct(ec_group, pub_key, -+ POINT_CONVERSION_UNCOMPRESSED, NULL, 0, NULL); -+ if (pub_key_size == 0) -+ assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get pub_key_size")); -+ -+ enif_alloc_binary(pub_key_size, pubkey_bin); -+ if (!EC_POINT_point2oct(ec_group, pub_key, POINT_CONVERSION_UNCOMPRESSED, -+ pubkey_bin->data, -+ pubkey_bin->size, NULL)) { -+ enif_release_binary(pubkey_bin); -+ assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get pub key bytes")); - } - -- err: -- if (public_key) EC_POINT_free(public_key); -- if (group) EC_GROUP_free(group); -+ *ret = enif_make_binary(env, pubkey_bin); -+ ok = 1; -+ -+err: -+ if (group_name != group_name_buf) enif_free(group_name); -+ if (pub_key) EC_POINT_free(pub_key); -+ if (ec_group) EC_GROUP_free(ec_group); - if (priv_bn) BN_free(priv_bn); - -- if (*ret == atom_undefined) -- return 1; -- else -- return 0; -+ return ok; - } - - # endif /* HAS_3_0_API */ -@@ -908,10 +918,8 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar - - # endif /* ! HAS_3_0_API */ - --#endif /* HAVE_EC */ -- -+#else /* ifndef HAVE_EC */ - --#if ! defined(HAVE_EC) - ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) - { /* (Curve, PrivKey) */ - return EXCP_NOTSUP_N(env, 0, "EC not supported"); diff --git a/otp-0012-crypto-Fix-get_ossl_BN_param_from_bin_sz-to-not-abus.patch b/otp-0012-crypto-Fix-get_ossl_BN_param_from_bin_sz-to-not-abus.patch deleted file mode 100644 index fca43ef..0000000 --- a/otp-0012-crypto-Fix-get_ossl_BN_param_from_bin_sz-to-not-abus.patch +++ /dev/null @@ -1,102 +0,0 @@ -From: Sverker Eriksson -Date: Wed, 7 Jun 2023 18:50:23 +0200 -Subject: [PATCH] crypto: Fix get_ossl_BN_param_from_bin_sz() to not abuse - ErlNifBinary - -It is not allowed to write to the binary buffer returned by -enif_inspect_binary() (even if you created the binary yourself). - -In DEBUG built VM such abuse will be punished with: - -"Readonly data written by NIF, checksums differ 8000425 != 25040008 -ABORTING" - -Instead use enif_make_new_binary() to create a writable binary buffer. - -diff --git a/lib/crypto/c_src/bn.c b/lib/crypto/c_src/bn.c -index f06ed9002e..5e9fec5093 100644 ---- a/lib/crypto/c_src/bn.c -+++ b/lib/crypto/c_src/bn.c -@@ -212,23 +212,38 @@ int get_ossl_BN_param_from_bin(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL - return get_ossl_BN_param_from_bin_sz(env, key, bin, dest, NULL); - } - --int get_ossl_BN_param_from_bin_sz(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL_PARAM *dest, size_t *size) -+int get_ossl_BN_param_from_bin_sz(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, -+ OSSL_PARAM *dest, size_t *size) - { - BIGNUM *bn = NULL; -- ErlNifBinary tmp; -+ int ok = 0; - -- if (!get_bn_from_bin_sz(env, bin, &bn, size) || -- !enif_inspect_binary(env, bin_from_bn(env,bn), &tmp) || // Allocate buf -- BN_bn2nativepad(bn, tmp.data, tmp.size) < 0) {// Fill with BN in right endianity -- if (bn) BN_free(bn); -+ if (!get_bn_from_bin_sz(env, bin, &bn, size)) - return 0; -- } -- -- *dest = OSSL_PARAM_construct_BN(key, tmp.data, tmp.size); -- if (bn) BN_free(bn); -+ -+ ok = get_ossl_BN_param_from_bn(env, key, bn, dest); -+ BN_free(bn); -+ return ok; -+} -+ -+int get_ossl_BN_param_from_bn(ErlNifEnv* env, char* key, const BIGNUM* bn, -+ OSSL_PARAM *dest) -+{ -+ const size_t bn_sz = BN_num_bytes(bn); -+ unsigned char* tmp_buf; -+ ERL_NIF_TERM dummy_term; -+ -+ /* Create a binary term just as a convenient tmp buffer */ -+ tmp_buf = enif_make_new_binary(env, bn_sz, &dummy_term); -+ if (BN_bn2nativepad(bn, tmp_buf, bn_sz) < 0) // Fill with BN in right endianity -+ return 0; -+ -+ *dest = OSSL_PARAM_construct_BN(key, tmp_buf, bn_sz); - return 1; - } - -+ -+ - int get_ossl_param_from_bin_in_list(ErlNifEnv* env, char* key, ERL_NIF_TERM *listcell, OSSL_PARAM *dest) - { - ERL_NIF_TERM head; -diff --git a/lib/crypto/c_src/bn.h b/lib/crypto/c_src/bn.h -index 5e207aed2d..662a32dc29 100644 ---- a/lib/crypto/c_src/bn.h -+++ b/lib/crypto/c_src/bn.h -@@ -38,6 +38,7 @@ int get_bn_from_bin_sz(ErlNifEnv* env, ERL_NIF_TERM term, BIGNUM** bnp, size_t* - int get_ossl_octet_string_param_from_bin(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL_PARAM *dest); - int get_ossl_BN_param_from_bin(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL_PARAM *dest); - int get_ossl_BN_param_from_bin_sz(ErlNifEnv* env, char* key, ERL_NIF_TERM bin, OSSL_PARAM *dest, size_t *size); -+int get_ossl_BN_param_from_bn(ErlNifEnv* env, char* key, const BIGNUM* bn, OSSL_PARAM *dest); - - int get_ossl_param_from_bin_in_list(ErlNifEnv* env, char* key, ERL_NIF_TERM *listcell, OSSL_PARAM *dest); - #endif -diff --git a/lib/crypto/c_src/ec.c b/lib/crypto/c_src/ec.c -index 852f3ba79c..af5f5d6f4a 100644 ---- a/lib/crypto/c_src/ec.c -+++ b/lib/crypto/c_src/ec.c -@@ -189,15 +189,8 @@ int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, - } else - assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "Bad last field")); - -- { -- ErlNifBinary tmp; -- -- if (!enif_inspect_binary(env, bin_from_bn(env,p), &tmp) || // Allocate buf -- BN_bn2nativepad(p, tmp.data, tmp.size) < 0) {// Fill with BN in right endianity -- assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "BN padding failed")); -- } -- params[(*i)++] = OSSL_PARAM_construct_BN("p", tmp.data, tmp.size); -- } -+ if (!get_ossl_BN_param_from_bn(env, "p", p, ¶ms[(*i)++])) -+ assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "BN padding failed")); - # endif - } - else diff --git a/otp-0013-crypto-Re-enable-FIPS_SUPPORT-for-HAS_3_0_API.patch b/otp-0013-crypto-Re-enable-FIPS_SUPPORT-for-HAS_3_0_API.patch deleted file mode 100644 index 1ae1141..0000000 --- a/otp-0013-crypto-Re-enable-FIPS_SUPPORT-for-HAS_3_0_API.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Sverker Eriksson -Date: Wed, 7 Jun 2023 20:38:11 +0200 -Subject: [PATCH] crypto: Re-enable FIPS_SUPPORT for HAS_3_0_API - - -diff --git a/lib/crypto/c_src/openssl_config.h b/lib/crypto/c_src/openssl_config.h -index d034590a2e..b73141a530 100644 ---- a/lib/crypto/c_src/openssl_config.h -+++ b/lib/crypto/c_src/openssl_config.h -@@ -468,12 +468,6 @@ do { \ - # undef FIPS_SUPPORT - #endif - --/* Disable FIPS for 3.0 temporaryly until the support is added */ --#if defined(FIPS_SUPPORT) && \ -- defined(HAS_3_0_API) --# undef FIPS_SUPPORT --#endif -- - #if defined(FIPS_SUPPORT) && \ - defined(HAS_3_0_API) - # define FIPS_mode() EVP_default_properties_is_fips_enabled(NULL) diff --git a/otp-0014-crypto-Fix-FIPS-bug-in-check_pkey_algorithm_type.patch b/otp-0014-crypto-Fix-FIPS-bug-in-check_pkey_algorithm_type.patch deleted file mode 100644 index fea8a04..0000000 --- a/otp-0014-crypto-Fix-FIPS-bug-in-check_pkey_algorithm_type.patch +++ /dev/null @@ -1,18 +0,0 @@ -From: Sverker Eriksson -Date: Mon, 12 Jun 2023 17:14:19 +0200 -Subject: [PATCH] crypto: Fix FIPS bug in check_pkey_algorithm_type - - -diff --git a/lib/crypto/c_src/pkey.c b/lib/crypto/c_src/pkey.c -index bfdcfe3553..afdff78f48 100644 ---- a/lib/crypto/c_src/pkey.c -+++ b/lib/crypto/c_src/pkey.c -@@ -100,7 +100,7 @@ static int check_pkey_algorithm_type(ErlNifEnv *env, - - - #ifdef HAVE_EDDSA -- if (FIPS_MODE()) -+ if (FIPS_MODE() && algorithm == atom_eddsa) - assign_goto(*err_return, err, EXCP_NOTSUP_N(env, alg_arg_num, "Unsupported algorithm in FIPS mode")); - #endif - diff --git a/otp-0015-crypto_SUITE-Change-to-longer-dss-keys-acceptable-to.patch b/otp-0015-crypto_SUITE-Change-to-longer-dss-keys-acceptable-to.patch deleted file mode 100644 index cf011e3..0000000 --- a/otp-0015-crypto_SUITE-Change-to-longer-dss-keys-acceptable-to.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Sverker Eriksson -Date: Tue, 13 Jun 2023 18:58:31 +0200 -Subject: [PATCH] crypto_SUITE: Change to longer dss keys acceptable to FIPS - - -diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl -index 0572feaf33..29dba82c41 100644 ---- a/lib/crypto/test/crypto_SUITE.erl -+++ b/lib/crypto/test/crypto_SUITE.erl -@@ -3677,13 +3677,13 @@ rsa_private_stronger() -> - dss_plain() -> - rsa_plain(). - dss_public() -> -- 25854665488880835237281628794585130313500176551981812527054397586638455298000483144002221850980183404910190346416063318160497344811383498859129095184158800144312512447497510551471331451396405348497845813002058423110442376886564659959543650802132345311573634832461635601376738282831340827591903548964194832978. -+ 16#289ff18c32a56bb0b8839370647683a38a5a7e291410b93207212adc8088d30f93e9e4abc523f3d46936e7d5c90d88742b36afd37563408f15c8c1a4f7ac24bf05f01008ffee70c8825d57c3a9308bad8a095af2b53b2dda3cbed846d95e301eb9b84766415d11f6c33209a0d28571096ab04a79aa0dc465997529686b68e887cd8a205c2dc8195aef0422eba9979f549ac85548e419413643b7244361153ada1480d238cd00dc16527938955548dd5d027ded1029eeeb8ed6c61b4cd59341d8b15466e9da890a989996f4d7691e6072de136af28b5874bf08bd1f8a60cfb1c00888132909f515e04bce81b02951aa41baac68ffdb8c5dc77a1d32d8f2c10dd7. - dss_private() -> -- 441502407453038284293378221372000880210588566361. -+ 16#6132e551cdac88409183bd37ee1452cd247d4834b08814b275be3ff5. - dss_params() -> -- [109799869232806890760655301608454668257695818999841877165019612946154359052535682480084145133201304812979481136659521529774182959764860329095546511521488413513097576425638476458000255392402120367876345280670101492199681798674053929238558140260669578407351853803102625390950534052428162468100618240968893110797, -- 1349199015905534965792122312016505075413456283393, -- 18320614775012672475365915366944922415598782131828709277168615511695849821411624805195787607930033958243224786899641459701930253094446221381818858674389863050420226114787005820357372837321561754462061849169568607689530279303056075793886577588606958623645901271866346406773590024901668622321064384483571751669]. -+ [16#f2d39ed3062b13c916273600a0f2a029e86d7a4b9217b4f1815bf2b24d9710a57ab33f997294b014585b8d0198dfdccbcd75314da5ff85aa344b45adaeaa979b51a312a7bfa94472fb633f1a6f156bb4458867dfd38403f06b851f00fe2d3484077bded71ab7513d04a140220575fb693395480e4c8402b7a46cec2d37a778c305accd1f13e9f62e865315f4b22cc467c8986ec8e4961ddf810566b0c4ee369ac6aa15e43f4744005826f5bde8071a19e30b6909aac4b3d174237270dad02799d09b8a2cc5f22e66894b5422228b2c234f11f5a771c5b89cf465a2acecbbeeaa1725fe8f9b59422be8991052cb556ddf2c8ce8fa9206dbf39feadc194e00f8e5, -+ 16#8000000000000000c118f49835e4ef733c4d15800fcf059e884d31b1, -+ 16#e3a93c09da6f560e4d483a382a4c546f2335c36a4c35ac1463c08a3e6dd415df56fdc537f25fd5372be63e4f5300780b782f1acd01c8b4eb33414615fd0ea82573acba7ef83f5a943854151afc2d7dfe121fb8cd03335b065b549c5dcc606be9052483bc284e12ac3c8dba09b426e08402030e70bc1cc2bf8957c4ba0630f3f32ad689389ac47443176063f247d9e2296b3ea5b5bc2335828ea1a080ed35918dee212fd031279d1b894f01afec523833669eac031a420e540ba1320a59c424a3e5849a460a56bcb001647885b1433c4f992971746bfe2977ce7259c550b551a6c35761e4a41af764e8d92132fcc0a59d1684eab90d863f29f41cf7578faa908c]. - - ec_key_named() -> - Curve = hd(crypto:ec_curves()), diff --git a/otp-0016-crypto_SUITE-Remove-sha-1-as-hash-for-dss-if-FIPS.patch b/otp-0016-crypto_SUITE-Remove-sha-1-as-hash-for-dss-if-FIPS.patch deleted file mode 100644 index d073b00..0000000 --- a/otp-0016-crypto_SUITE-Remove-sha-1-as-hash-for-dss-if-FIPS.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Sverker Eriksson -Date: Tue, 13 Jun 2023 19:00:31 +0200 -Subject: [PATCH] crypto_SUITE: Remove sha-1 as hash for dss if FIPS - - -diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl -index 29dba82c41..00d4a0a6fe 100644 ---- a/lib/crypto/test/crypto_SUITE.erl -+++ b/lib/crypto/test/crypto_SUITE.erl -@@ -2257,15 +2257,19 @@ group_config(dss = Type, Config) -> - Public = dss_params() ++ [dss_public()], - Private = dss_params() ++ [dss_private()], - SupportedHashs = proplists:get_value(hashs, crypto:supports(), []), -- DssHashs = -+ DssHashs0 = - case crypto:info_lib() of - [{<<"OpenSSL">>,LibVer,_}] when is_integer(LibVer), LibVer > 16#10001000 -> -- [sha, sha224, sha256, sha384, sha512]; -+ [sha224, sha256, sha384, sha512]; - [{<<"OpenSSL">>,LibVer,_}] when is_integer(LibVer), LibVer > 16#10000000 -> -- [sha, sha224, sha256]; -+ [sha224, sha256]; - _Else -> -- [sha] -+ [] - end, -+ DssHashs = case crypto:info_fips() of -+ enabled -> DssHashs0; -+ _ -> [sha | DssHashs0] -+ end, - SignVerify = [{Type, Hash, Public, Private, Msg} - || Hash <- DssHashs, - lists:member(Hash, SupportedHashs)], diff --git a/otp-0017-crypto_SUITE-Remove-md5-ripemd160-and-sha-as-hash-fo.patch b/otp-0017-crypto_SUITE-Remove-md5-ripemd160-and-sha-as-hash-fo.patch deleted file mode 100644 index 6d436a2..0000000 --- a/otp-0017-crypto_SUITE-Remove-md5-ripemd160-and-sha-as-hash-fo.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Sverker Eriksson -Date: Tue, 13 Jun 2023 19:02:32 +0200 -Subject: [PATCH] crypto_SUITE: Remove md5, ripemd160 and sha as hash for rsa - sign if FIPS - - -diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl -index 00d4a0a6fe..afacdde051 100644 ---- a/lib/crypto/test/crypto_SUITE.erl -+++ b/lib/crypto/test/crypto_SUITE.erl -@@ -2420,7 +2420,12 @@ rsa_sign_verify_tests(Config, Msg, Public, Private, PublicS, PrivateS, OptsToTry - end. - - rsa_sign_verify_tests(Msg, Public, Private, PublicS, PrivateS, OptsToTry) -> -- gen_rsa_sign_verify_tests([md5, ripemd160, sha, sha224, sha256], Msg, Public, Private, -+ Hashs0 = [sha224, sha256], -+ Hashs = case crypto:info_fips() of -+ enabled -> Hashs0; -+ _ -> [md5, ripemd160, sha | Hashs0] -+ end, -+ gen_rsa_sign_verify_tests(Hashs, Msg, Public, Private, - [undefined | OptsToTry]) ++ - gen_rsa_sign_verify_tests([sha384, sha512], Msg, PublicS, PrivateS, - [undefined | OptsToTry]). diff --git a/otp-0018-crypto-Try-generate-ec-key-by-name-if-possible.patch b/otp-0018-crypto-Try-generate-ec-key-by-name-if-possible.patch deleted file mode 100644 index 02603cd..0000000 --- a/otp-0018-crypto-Try-generate-ec-key-by-name-if-possible.patch +++ /dev/null @@ -1,284 +0,0 @@ -From: Sverker Eriksson -Date: Wed, 14 Jun 2023 22:00:35 +0200 -Subject: [PATCH] crypto: Try generate ec key by name if possible - -OpenSSL 3 FIPS does only accept named ec curves. - -So we try that first, and if it fails we retry -with the params passed down by crypto.erl. - -diff --git a/lib/crypto/c_src/ec.c b/lib/crypto/c_src/ec.c -index af5f5d6f4a..49e1da4fe4 100644 ---- a/lib/crypto/c_src/ec.c -+++ b/lib/crypto/c_src/ec.c -@@ -28,7 +28,8 @@ - - int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, - OSSL_PARAM params[], int *i, -- size_t *order_size) -+ size_t *order_size, -+ struct get_curve_def_ctx* gcd) - { - const ERL_NIF_TERM* curve; - int c_arity = -1; -@@ -40,6 +41,7 @@ int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, - int arity = -1; - const ERL_NIF_TERM* curve_tuple; - -+ - /* Here are two random curve definition examples, one prime_field and - one characteristic_two_field. Both are from the crypto/src/crypto_ec_curves.erl. - -@@ -79,6 +81,23 @@ int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, - c_arity != 5) - assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "Bad curve def. Expect 5-tuple.")); - -+ if (gcd->use_curve_name -+ && curve_tuple[1] != atom_undefined -+ && enif_get_atom(env, curve_tuple[1], gcd->curve_name, -+ sizeof(gcd->curve_name), ERL_NIF_LATIN1)) { -+ ErlNifBinary order_bin; -+ params[(*i)++] = OSSL_PARAM_construct_utf8_string("group", gcd->curve_name, 0); -+ -+ if (order_size) { -+ if (!enif_inspect_binary(env, curve[3], &order_bin)) -+ assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "Bad order")); -+ *order_size = order_bin.size; -+ } -+ gcd->use_curve_name = 1; -+ return 1; -+ } -+ gcd->use_curve_name = 0; -+ - if (!get_ossl_octet_string_param_from_bin(env, "generator", curve[2], ¶ms[(*i)++])) - assign_goto(*ret, err, EXCP_ERROR_N(env, 1, "Bad Generator (Point)")); - -@@ -211,6 +230,7 @@ int get_ec_public_key(ErlNifEnv* env, ERL_NIF_TERM key, EVP_PKEY **pkey) - int tpl_arity; - int i = 0; - OSSL_PARAM params[15]; -+ struct get_curve_def_ctx gcd; - EVP_PKEY_CTX *pctx = NULL; - - if (!enif_get_tuple(env, key, &tpl_arity, &tpl_terms) || -@@ -222,19 +242,27 @@ int get_ec_public_key(ErlNifEnv* env, ERL_NIF_TERM key, EVP_PKEY **pkey) - if (!get_ossl_octet_string_param_from_bin(env, "pub", tpl_terms[1], ¶ms[i++])) - assign_goto(ret, err, EXCP_BADARG_N(env, 0, "Bad public key")); - -- if (!get_curve_definition(env, &ret, tpl_terms[0], params, &i, NULL)) -+ if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) -+ assign_goto(ret, err, EXCP_ERROR(env, "Can't make EVP_PKEY_CTX")); -+ -+ gcd.use_curve_name = 1; -+retry_without_name: -+ if (!get_curve_definition(env, &ret, tpl_terms[0], params, &i, NULL, &gcd)) - goto err; - - params[i++] = OSSL_PARAM_construct_end(); - -- if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) -- assign_goto(ret, err, EXCP_ERROR(env, "Can't make EVP_PKEY_CTX")); -- - if (EVP_PKEY_fromdata_init(pctx) <= 0) - assign_goto(ret, err, EXCP_ERROR(env, "Can't init fromdata")); - -- if (EVP_PKEY_fromdata(pctx, pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) -+ if (EVP_PKEY_fromdata(pctx, pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) { -+ if (gcd.use_curve_name) { -+ gcd.use_curve_name = 0; -+ i = 1; -+ goto retry_without_name; -+ } - assign_goto(ret, err, EXCP_ERROR(env, "Can't do fromdata")); -+ } - - if (!*pkey) - assign_goto(ret, err, EXCP_ERROR(env, "Couldn't get a public key")); -@@ -256,24 +284,33 @@ static int get_ec_private_key_2(ErlNifEnv* env, - { - int i = 0; - OSSL_PARAM params[15]; -+ struct get_curve_def_ctx gcd; - EVP_PKEY_CTX *pctx = NULL; - - if (!get_ossl_BN_param_from_bin(env, "priv", key, ¶ms[i++])) - assign_goto(*ret, err, EXCP_BADARG_N(env, 0, "Bad private key")); - -- if (!get_curve_definition(env, ret, curve, params, &i, order_size)) -+ if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) -+ assign_goto(*ret, err, EXCP_ERROR(env, "Can't make EVP_PKEY_CTX")); -+ -+ gcd.use_curve_name = 1; -+retry_without_name: -+ if (!get_curve_definition(env, ret, curve, params, &i, order_size, &gcd)) - goto err; - - params[i++] = OSSL_PARAM_construct_end(); - -- if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) -- assign_goto(*ret, err, EXCP_ERROR(env, "Can't make EVP_PKEY_CTX")); -- - if (EVP_PKEY_fromdata_init(pctx) <= 0) - assign_goto(*ret, err, EXCP_ERROR(env, "Can't init fromdata")); - -- if (EVP_PKEY_fromdata(pctx, pkey, EVP_PKEY_KEYPAIR, params) <= 0) -+ if (EVP_PKEY_fromdata(pctx, pkey, EVP_PKEY_KEYPAIR, params) <= 0) { -+ if (gcd.use_curve_name) { -+ gcd.use_curve_name = 0; -+ i = 1; -+ goto retry_without_name; -+ } - assign_goto(*ret, err, EXCP_ERROR(env, "Can't do fromdata")); -+ } - - if (!*pkey) - assign_goto(*ret, err, EXCP_ERROR(env, "Couldn't get a private key")); -@@ -316,9 +353,10 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar - ERL_NIF_TERM ret = atom_undefined; - int i = 0; - OSSL_PARAM params[15]; -+ struct get_curve_def_ctx gcd; - EVP_PKEY_CTX *pctx = NULL; - EVP_PKEY *pkey = NULL, *peer_pkey = NULL; -- size_t sz, order_size; -+ size_t sz, order_size = 0; - BIGNUM *priv_bn = NULL; - ErlNifBinary pubkey_bin; - -@@ -338,26 +376,36 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar - } - else - { -+ /* Neither the private nor the public key is known, so we generate the pair: */ -+ if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) -+ assign_goto(ret, err, EXCP_ERROR(env, "Can't EVP_PKEY_CTX_new_from_name")); -+ -+ gcd.use_curve_name = 1; -+ retry_without_name: - /* PrivKey (that is, argv[1]) == atom_undefined */ -- if (!get_curve_definition(env, &ret, argv[0], params, &i, &order_size)) -+ if (!get_curve_definition(env, &ret, argv[0], params, &i, -+ &order_size, &gcd)) - // INSERT "ret" parameter in get_curve_definition !! - assign_goto(ret, err, EXCP_BADARG_N(env, 0, "Couldn't get Curve definition")); - - params[i++] = OSSL_PARAM_construct_end(); - -- /* Neither the private nor the public key is known, so we generate the pair: */ -- if (!(pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL))) -- assign_goto(ret, err, EXCP_ERROR(env, "Can't EVP_PKEY_CTX_new_from_name")); -- - if (EVP_PKEY_keygen_init(pctx) <= 0) - assign_goto(ret, err, EXCP_ERROR(env, "Can't EVP_PKEY_keygen_init")); - - if (!EVP_PKEY_CTX_set_params(pctx, params)) - assign_goto(ret, err, EXCP_ERROR(env, "Can't EVP_PKEY_CTX_set_params")); -- -- if (!EVP_PKEY_generate(pctx, &pkey)) -+ -+ if (!EVP_PKEY_generate(pctx, &pkey)) { -+ if (gcd.use_curve_name) { -+ gcd.use_curve_name = 0; -+ i = 0; -+ goto retry_without_name; -+ } - assign_goto(ret, err, EXCP_ERROR(env, "Couldn't generate EC key")); -- -+ } -+ -+ - /* Get the two keys, pub as binary and priv as BN */ - if (!EVP_PKEY_get_octet_string_param(pkey, "encoded-pub-key", NULL, 0, &sz)) - assign_goto(ret, err, EXCP_ERROR(env, "Can't get pub octet string size")); -@@ -375,6 +423,8 @@ ERL_NIF_TERM ec_generate_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM ar - assign_goto(ret, err, EXCP_BADARG_N(env, 1, "Couldn't get priv key bytes")); - } - -+ if (order_size == 0) -+ order_size = BN_num_bytes(priv_bn); - ret = enif_make_tuple2(env, - enif_make_binary(env, &pubkey_bin), - bn2term(env, order_size, priv_bn)); -diff --git a/lib/crypto/c_src/ec.h b/lib/crypto/c_src/ec.h -index e53986d64e..f0b0b96207 100644 ---- a/lib/crypto/c_src/ec.h -+++ b/lib/crypto/c_src/ec.h -@@ -26,9 +26,17 @@ - #if defined(HAVE_EC) - - # if defined(HAS_3_0_API) -+ -+struct get_curve_def_ctx -+{ -+ char curve_name[20]; -+ int use_curve_name; -+}; -+ - int get_curve_definition(ErlNifEnv* env, ERL_NIF_TERM *ret, ERL_NIF_TERM def, - OSSL_PARAM params[], int *i, -- size_t *order_size); -+ size_t *order_size, -+ struct get_curve_def_ctx*); - # endif /* HAS_3_0_API */ - - # if ! defined(HAS_3_0_API) -diff --git a/lib/crypto/c_src/ecdh.c b/lib/crypto/c_src/ecdh.c -index 7509d9cb84..f1b0f7eb28 100644 ---- a/lib/crypto/c_src/ecdh.c -+++ b/lib/crypto/c_src/ecdh.c -@@ -42,6 +42,7 @@ ERL_NIF_TERM ecdh_compute_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM a - int ret_bin_alloc = 0; - int i = 0, i_key = 0; - OSSL_PARAM params[15]; -+ struct get_curve_def_ctx gcd; - EVP_PKEY_CTX *own_pctx = NULL, *peer_pctx = NULL, *pctx_gen = NULL; - EVP_PKEY *own_pkey = NULL, *peer_pkey = NULL; - int err; -@@ -53,21 +54,29 @@ ERL_NIF_TERM ecdh_compute_key_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM a - if (!get_ossl_octet_string_param_from_bin(env, "pub", argv[0], ¶ms[i++])) - assign_goto(ret, err, EXCP_BADARG_N(env, 0, "Bad peer public key; binary expected")); - -+ /* Build the remote public key in peer_pkey */ -+ peer_pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL); -+ -+ gcd.use_curve_name = 1; -+retry_without_name: - /* Curve definition/name */ -- if (!get_curve_definition(env, &ret, argv[1], params, &i, NULL)) -+ if (!get_curve_definition(env, &ret, argv[1], params, &i, NULL, &gcd)) - goto err; - - /* End of params */ - params[i++] = OSSL_PARAM_construct_end(); - -- /* Build the remote public key in peer_pkey */ -- peer_pctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL); -- - if (EVP_PKEY_fromdata_init(peer_pctx) <= 0) - assign_goto(ret, err, EXCP_ERROR(env, "Can't init fromdata")); - -- if (EVP_PKEY_fromdata(peer_pctx, &peer_pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) -+ if (EVP_PKEY_fromdata(peer_pctx, &peer_pkey, EVP_PKEY_PUBLIC_KEY, params) <= 0) { -+ if (gcd.use_curve_name) { -+ gcd.use_curve_name = 0; -+ i = 1; -+ goto retry_without_name; -+ } - assign_goto(ret, err, EXCP_ERROR(env, "Can't do fromdata")); -+ } - - if (!peer_pkey) - assign_goto(ret, err, EXCP_ERROR(env, "No peer_pkey")); -diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl -index afacdde051..e047964daa 100644 ---- a/lib/crypto/test/crypto_SUITE.erl -+++ b/lib/crypto/test/crypto_SUITE.erl -@@ -3695,7 +3695,7 @@ dss_params() -> - 16#e3a93c09da6f560e4d483a382a4c546f2335c36a4c35ac1463c08a3e6dd415df56fdc537f25fd5372be63e4f5300780b782f1acd01c8b4eb33414615fd0ea82573acba7ef83f5a943854151afc2d7dfe121fb8cd03335b065b549c5dcc606be9052483bc284e12ac3c8dba09b426e08402030e70bc1cc2bf8957c4ba0630f3f32ad689389ac47443176063f247d9e2296b3ea5b5bc2335828ea1a080ed35918dee212fd031279d1b894f01afec523833669eac031a420e540ba1320a59c424a3e5849a460a56bcb001647885b1433c4f992971746bfe2977ce7259c550b551a6c35761e4a41af764e8d92132fcc0a59d1684eab90d863f29f41cf7578faa908c]. - - ec_key_named() -> -- Curve = hd(crypto:ec_curves()), -+ Curve = secp224r1, %hd(crypto:ec_curves()), - {D2_pub, D2_priv} = crypto:generate_key(ecdh, Curve), - {[D2_priv, Curve], [D2_pub, Curve]}. - diff --git a/otp-0019-crypto_SUITE-Skip-sha-1-sign-for-FIPS.patch b/otp-0019-crypto_SUITE-Skip-sha-1-sign-for-FIPS.patch deleted file mode 100644 index c85e46e..0000000 --- a/otp-0019-crypto_SUITE-Skip-sha-1-sign-for-FIPS.patch +++ /dev/null @@ -1,59 +0,0 @@ -From: Sverker Eriksson -Date: Thu, 15 Jun 2023 19:53:14 +0200 -Subject: [PATCH] crypto_SUITE: Skip sha-1 sign for FIPS - - -diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl -index e047964daa..c56faa9bc4 100644 ---- a/lib/crypto/test/crypto_SUITE.erl -+++ b/lib/crypto/test/crypto_SUITE.erl -@@ -1268,6 +1268,12 @@ use_all_ec_sign_verify(_Config) -> - crypto:info_fips(), - Curves, - Hashs]), -+ SkipHashs0 = [md4, md5, ripemd160, sha3_224, sha3_256, sha3_384, sha3_512, -+ blake2b, blake2s], -+ SkipHashs = case crypto:info_fips() of -+ enabled -> [sha | SkipHashs0]; -+ _ -> SkipHashs0 -+ end, - Results = - [{{Curve,Hash}, - try -@@ -1282,7 +1288,7 @@ use_all_ec_sign_verify(_Config) -> - {C,E} - end} - || Curve <- Curves -- [ed25519, ed448, x25519, x448, ipsec3, ipsec4], -- Hash <- Hashs -- [md4, md5, ripemd160, sha3_224, sha3_256, sha3_384, sha3_512, blake2b, blake2s] -+ Hash <- Hashs -- SkipHashs - ], - Fails = - lists:filter(fun({_,true}) -> false; -@@ -1730,14 +1736,19 @@ do_sign_verify({Type, undefined=Hash, Private, Public, Msg, Signature}) -> - end; - - do_sign_verify({Type, Hash, Public, Private, Msg}) -> -- Signature = crypto:sign(Type, Hash, Msg, Private), -- case crypto:verify(Type, Hash, Msg, Signature, Public) of -- true -> -- ct:log("OK crypto:sign(~p, ~p, ..., ..., ...)", [Type,Hash]), -- negative_verify(Type, Hash, Msg, <<10,20>>, Public); -- false -> -- ct:log("ERROR crypto:sign(~p, ~p, ..., ..., ...)", [Type,Hash]), -- ct:fail({{crypto, verify, [Type, Hash, Msg, Signature, Public]}}) -+ case {Hash, crypto:info_fips()} of -+ {sha, enabled} -> -+ io:format("Skip sign with SHA for FIPS\n"); -+ _ -> -+ Signature = crypto:sign(Type, Hash, Msg, Private), -+ case crypto:verify(Type, Hash, Msg, Signature, Public) of -+ true -> -+ ct:log("OK crypto:sign(~p, ~p, ..., ..., ...)", [Type,Hash]), -+ negative_verify(Type, Hash, Msg, <<10,20>>, Public); -+ false -> -+ ct:log("ERROR crypto:sign(~p, ~p, ..., ..., ...)", [Type,Hash]), -+ ct:fail({{crypto, verify, [Type, Hash, Msg, Signature, Public]}}) -+ end - end; - do_sign_verify({Type, Hash, Public, Private, Msg, Options}) -> - LibVer = diff --git a/otp-0020-crypto-Unalias-some-ec-curve-names.patch b/otp-0020-crypto-Unalias-some-ec-curve-names.patch deleted file mode 100644 index c3c9df4..0000000 --- a/otp-0020-crypto-Unalias-some-ec-curve-names.patch +++ /dev/null @@ -1,806 +0,0 @@ -From: Sverker Eriksson -Date: Fri, 16 Jun 2023 16:55:41 +0200 -Subject: [PATCH] crypto: Unalias some ec curve names - -to pass OpenSSL the name it accepts. - -diff --git a/lib/crypto/src/crypto.erl b/lib/crypto/src/crypto.erl -index 6abaacad5c..1cc11aa6eb 100644 ---- a/lib/crypto/src/crypto.erl -+++ b/lib/crypto/src/crypto.erl -@@ -2372,14 +2372,12 @@ nif_curve_params(CurveName) when is_atom(CurveName) -> - x448 -> {evp,CurveName}; - x25519 -> {evp,CurveName}; - _ -> -- Spec = -- try -- crypto_ec_curves:curve(CurveName) -- catch -- _:_ -> -- undefined -- end, -- {Spec, CurveName} -+ try -+ crypto_ec_curves:curve_with_name(CurveName) -+ catch -+ _:_ -> -+ {undefined, CurveName} -+ end - end. - - -diff --git a/lib/crypto/src/crypto_ec_curves.erl b/lib/crypto/src/crypto_ec_curves.erl -index a0a2f99601..3f14c34a26 100644 ---- a/lib/crypto/src/crypto_ec_curves.erl -+++ b/lib/crypto/src/crypto_ec_curves.erl -@@ -1,11 +1,22 @@ - -module(crypto_ec_curves). - ---export([curve/1, curves/0]). -+-export([curve/1, curves/0, curve_with_name/1]). - - curves() -> - proplists:get_value(curves, crypto:supports()) -- [x25519,x448]. - --curve(secp112r1) -> -+real_name(secp192r1) -> prime192v1; -+real_name(secp256r1) -> prime256v1; -+real_name(Name) -> Name. -+ -+curve_with_name(Curve) -> -+ RealName = real_name(Curve), -+ {params(RealName), RealName}. -+ -+curve(Curve) -> -+ params(real_name(Curve)). -+ -+params(secp112r1) -> - { - {prime_field, <<16#DB7C2ABF62E35E668076BEAD208B:112>>}, %% Prime - {<<16#DB7C2ABF62E35E668076BEAD2088:112>>, %% A -@@ -18,7 +29,7 @@ curve(secp112r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(secp112r2) -> -+params(secp112r2) -> - { - {prime_field, <<16#DB7C2ABF62E35E668076BEAD208B:112>>}, %% Prime - {<<16#6127C24C05F38A0AAAF65C0EF02C:112>>, %% A -@@ -31,7 +42,7 @@ curve(secp112r2) -> - <<16#04:8>> %% CoFactor - }; - --curve(secp128r1) -> -+params(secp128r1) -> - { - {prime_field, <<16#FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF:128>>}, %% Prime - {<<16#FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC:128>>, %% A -@@ -44,7 +55,7 @@ curve(secp128r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(secp128r2) -> -+params(secp128r2) -> - { - {prime_field, <<16#FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF:128>>}, %% Prime - {<<16#D6031998D1B3BBFEBF59CC9BBFF9AEE1:128>>, %% A -@@ -57,7 +68,7 @@ curve(secp128r2) -> - <<16#04:8>> %% CoFactor - }; - --curve(secp160k1) -> -+params(secp160k1) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73:160>>}, %% Prime - {<<16#00:8>>, %% A -@@ -70,7 +81,7 @@ curve(secp160k1) -> - <<16#01:8>> %% CoFactor - }; - --curve(secp160r1) -> -+params(secp160r1) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF:160>>}, %% Prime - {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC:160>>, %% A -@@ -83,7 +94,7 @@ curve(secp160r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(secp160r2) -> -+params(secp160r2) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73:160>>}, %% Prime - {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC70:160>>, %% A -@@ -96,20 +107,7 @@ curve(secp160r2) -> - <<16#01:8>> %% CoFactor - }; - --curve(secp192r1) -> -- { -- {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF:192>>}, %% Prime -- {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC:192>>, %% A -- <<16#64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1:192>>, %% B -- <<16#3045AE6FC8422F64ED579528D38120EAE12196D5:160>>}, %% Seed -- <<16#04:8, -- 16#188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012:192, %% X(p0) -- 16#07192B95FFC8DA78631011ED6B24CDD573F977A11E794811:192>>, %% Y(p0) -- <<16#FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831:192>>, %% Order -- <<16#01:8>> %% CoFactor -- }; -- --curve(secp192k1) -> -+params(secp192k1) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37:192>>}, %% Prime - {<<16#00:8>>, %% A -@@ -122,7 +120,7 @@ curve(secp192k1) -> - <<16#01:8>> %% CoFactor - }; - --curve(secp224k1) -> -+params(secp224k1) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFE56D:224>>}, %% Prime - {<<16#00:8>>, %% A -@@ -135,7 +133,7 @@ curve(secp224k1) -> - <<16#01:8>> %% CoFactor - }; - --curve(secp224r1) -> -+params(secp224r1) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001:224>>}, %% Prime - {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE:224>>, %% A -@@ -148,7 +146,7 @@ curve(secp224r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(secp256k1) -> -+params(secp256k1) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F:256>>}, %% Prime - {<<16#00:8>>, %% A -@@ -161,20 +159,7 @@ curve(secp256k1) -> - <<16#01:8>> %% CoFactor - }; - --curve(secp256r1) -> -- { -- {prime_field, <<16#FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF:256>>}, %% Prime -- {<<16#FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC:256>>, %% A -- <<16#5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B:256>>, %% B -- <<16#C49D360886E704936A6678E1139D26B7819F7E90:160>>}, %% Seed -- <<16#04:8, -- 16#6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296:256, %% X(p0) -- 16#4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5:256>>, %% Y(p0) -- <<16#FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551:256>>, %% Order -- <<16#01:8>> %% CoFactor -- }; -- --curve(secp384r1) -> -+params(secp384r1) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE:256, %% Prime - 16#FFFFFFFF0000000000000000FFFFFFFF:128>>}, -@@ -193,7 +178,7 @@ curve(secp384r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(secp521r1) -> -+params(secp521r1) -> - { - {prime_field, <<16#01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:256, %% Prime - 16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:256, -@@ -218,7 +203,7 @@ curve(secp521r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(prime192v1) -> -+params(prime192v1) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF:192>>}, %% Prime - {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC:192>>, %% A -@@ -231,7 +216,7 @@ curve(prime192v1) -> - <<16#01:8>> %% CoFactor - }; - --curve(prime192v2) -> -+params(prime192v2) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF:192>>}, %% Prime - {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC:192>>, %% A -@@ -244,7 +229,7 @@ curve(prime192v2) -> - <<16#01:8>> %% CoFactor - }; - --curve(prime192v3) -> -+params(prime192v3) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF:192>>}, %% Prime - {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC:192>>, %% A -@@ -257,7 +242,7 @@ curve(prime192v3) -> - <<16#01:8>> %% CoFactor - }; - --curve(prime239v1) -> -+params(prime239v1) -> - { - {prime_field, <<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF:240>>}, %% Prime - {<<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC:240>>, %% A -@@ -270,7 +255,7 @@ curve(prime239v1) -> - <<16#01:8>> %% CoFactor - }; - --curve(prime239v2) -> -+params(prime239v2) -> - { - {prime_field, <<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF:240>>}, %% Prime - {<<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC:240>>, %% A -@@ -283,7 +268,7 @@ curve(prime239v2) -> - <<16#01:8>> %% CoFactor - }; - --curve(prime239v3) -> -+params(prime239v3) -> - { - {prime_field, <<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF:240>>}, %% Prime - {<<16#7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC:240>>, %% A -@@ -296,7 +281,7 @@ curve(prime239v3) -> - <<16#01:8>> %% CoFactor - }; - --curve(prime256v1) -> -+params(prime256v1) -> - { - {prime_field, <<16#FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF:256>>}, %% Prime - {<<16#FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC:256>>, %% A -@@ -309,7 +294,7 @@ curve(prime256v1) -> - <<16#01:8>> %% CoFactor - }; - --curve(sect113r1) -> -+params(sect113r1) -> - { - {characteristic_two_field, 113, {tpbasis,9}}, - {<<16#3088250CA6E7C7FE649CE85820F7:112>>, %% A -@@ -322,7 +307,7 @@ curve(sect113r1) -> - <<16#02:8>> %% CoFactor - }; - --curve(sect113r2) -> -+params(sect113r2) -> - { - {characteristic_two_field, 113, {tpbasis,9}}, - {<<16#689918DBEC7E5A0DD6DFC0AA55C7:112>>, %% A -@@ -335,7 +320,7 @@ curve(sect113r2) -> - <<16#02:8>> %% CoFactor - }; - --curve(sect131r1) -> -+params(sect131r1) -> - { - {characteristic_two_field, 131, {ppbasis,2,3,8}}, - {<<16#07A11B09A76B562144418FF3FF8C2570B8:136>>, %% A -@@ -348,7 +333,7 @@ curve(sect131r1) -> - <<16#02:8>> %% CoFactor - }; - --curve(sect131r2) -> -+params(sect131r2) -> - { - {characteristic_two_field, 131, {ppbasis,2,3,8}}, - {<<16#03E5A88919D7CAFCBF415F07C2176573B2:136>>, %% A -@@ -361,7 +346,7 @@ curve(sect131r2) -> - <<16#02:8>> %% CoFactor - }; - --curve(sect163k1) -> -+params(sect163k1) -> - { - {characteristic_two_field, 163, {ppbasis,3,6,7}}, - {<<16#01:8>>, %% A -@@ -374,7 +359,7 @@ curve(sect163k1) -> - <<16#02:8>> %% CoFactor - }; - --curve(sect163r1) -> -+params(sect163r1) -> - { - {characteristic_two_field, 163, {ppbasis,3,6,7}}, - {<<16#07B6882CAAEFA84F9554FF8428BD88E246D2782AE2:168>>, %% A -@@ -387,7 +372,7 @@ curve(sect163r1) -> - <<16#02:8>> %% CoFactor - }; - --curve(sect163r2) -> -+params(sect163r2) -> - { - {characteristic_two_field, 163, {ppbasis,3,6,7}}, - {<<16#01:8>>, %% A -@@ -400,7 +385,7 @@ curve(sect163r2) -> - <<16#02:8>> %% CoFactor - }; - --curve(sect193r1) -> -+params(sect193r1) -> - { - {characteristic_two_field, 193, {tpbasis,15}}, - {<<16#17858FEB7A98975169E171F77B4087DE098AC8A911DF7B01:192>>, %% A -@@ -413,7 +398,7 @@ curve(sect193r1) -> - <<16#02:8>> %% CoFactor - }; - --curve(sect193r2) -> -+params(sect193r2) -> - { - {characteristic_two_field, 193, {tpbasis,15}}, - {<<16#0163F35A5137C2CE3EA6ED8667190B0BC43ECD69977702709B:200>>, %% A -@@ -426,7 +411,7 @@ curve(sect193r2) -> - <<16#02:8>> %% CoFactor - }; - --curve(sect233k1) -> -+params(sect233k1) -> - { - {characteristic_two_field, 233, {tpbasis,74}}, - {<<16#00:8>>, %% A -@@ -439,7 +424,7 @@ curve(sect233k1) -> - <<16#04:8>> %% CoFactor - }; - --curve(sect233r1) -> -+params(sect233r1) -> - { - {characteristic_two_field, 233, {tpbasis,74}}, - {<<16#01:8>>, %% A -@@ -452,7 +437,7 @@ curve(sect233r1) -> - <<16#02:8>> %% CoFactor - }; - --curve(sect239k1) -> -+params(sect239k1) -> - { - {characteristic_two_field, 239, {tpbasis,158}}, - {<<16#00:8>>, %% A -@@ -465,7 +450,7 @@ curve(sect239k1) -> - <<16#04:8>> %% CoFactor - }; - --curve(sect283k1) -> -+params(sect283k1) -> - { - {characteristic_two_field, 283, {ppbasis,5,7,12}}, - {<<16#00:8>>, %% A -@@ -481,7 +466,7 @@ curve(sect283k1) -> - <<16#04:8>> %% CoFactor - }; - --curve(sect283r1) -> -+params(sect283r1) -> - { - {characteristic_two_field, 283, {ppbasis,5,7,12}}, - {<<16#01:8>>, %% A -@@ -498,7 +483,7 @@ curve(sect283r1) -> - <<16#02:8>> %% CoFactor - }; - --curve(sect409k1) -> -+params(sect409k1) -> - { - {characteristic_two_field, 409, {tpbasis,87}}, - {<<16#00:8>>, %% A -@@ -514,7 +499,7 @@ curve(sect409k1) -> - <<16#04:8>> %% CoFactor - }; - --curve(sect409r1) -> -+params(sect409r1) -> - { - {characteristic_two_field, 409, {tpbasis,87}}, - {<<16#01:8>>, %% A -@@ -531,7 +516,7 @@ curve(sect409r1) -> - <<16#02:8>> %% CoFactor - }; - --curve(sect571k1) -> -+params(sect571k1) -> - { - {characteristic_two_field, 571, {ppbasis,2,5,10}}, - {<<16#00:8>>, %% A -@@ -550,7 +535,7 @@ curve(sect571k1) -> - <<16#04:8>> %% CoFactor - }; - --curve(sect571r1) -> -+params(sect571r1) -> - { - {characteristic_two_field, 571, {ppbasis,2,5,10}}, - {<<16#01:8>>, %% A -@@ -571,7 +556,7 @@ curve(sect571r1) -> - <<16#02:8>> %% CoFactor - }; - --curve(c2pnb163v1) -> -+params(c2pnb163v1) -> - { - {characteristic_two_field, 163, {ppbasis,1,2,8}}, - {<<16#072546B5435234A422E0789675F432C89435DE5242:168>>, %% A -@@ -584,7 +569,7 @@ curve(c2pnb163v1) -> - <<16#02:8>> %% CoFactor - }; - --curve(c2pnb163v2) -> -+params(c2pnb163v2) -> - { - {characteristic_two_field, 163, {ppbasis,1,2,8}}, - {<<16#0108B39E77C4B108BED981ED0E890E117C511CF072:168>>, %% A -@@ -597,7 +582,7 @@ curve(c2pnb163v2) -> - <<16#02:8>> %% CoFactor - }; - --curve(c2pnb163v3) -> -+params(c2pnb163v3) -> - { - {characteristic_two_field, 163, {ppbasis,1,2,8}}, - {<<16#07A526C63D3E25A256A007699F5447E32AE456B50E:168>>, %% A -@@ -610,7 +595,7 @@ curve(c2pnb163v3) -> - <<16#02:8>> %% CoFactor - }; - --curve(c2pnb176v1) -> -+params(c2pnb176v1) -> - { - {characteristic_two_field, 176, {ppbasis,1,2,43}}, - {<<16#E4E6DB2995065C407D9D39B8D0967B96704BA8E9C90B:176>>, %% A -@@ -623,7 +608,7 @@ curve(c2pnb176v1) -> - <<16#FF6E:16>> %% CoFactor - }; - --curve(c2tnb191v1) -> -+params(c2tnb191v1) -> - { - {characteristic_two_field, 191, {tpbasis,9}}, - {<<16#2866537B676752636A68F56554E12640276B649EF7526267:192>>, %% A -@@ -636,7 +621,7 @@ curve(c2tnb191v1) -> - <<16#02:8>> %% CoFactor - }; - --curve(c2tnb191v2) -> -+params(c2tnb191v2) -> - { - {characteristic_two_field, 191, {tpbasis,9}}, - {<<16#401028774D7777C7B7666D1366EA432071274F89FF01E718:192>>, %% A -@@ -649,7 +634,7 @@ curve(c2tnb191v2) -> - <<16#04:8>> %% CoFactor - }; - --curve(c2tnb191v3) -> -+params(c2tnb191v3) -> - { - {characteristic_two_field, 191, {tpbasis,9}}, - {<<16#6C01074756099122221056911C77D77E77A777E7E7E77FCB:192>>, %% A -@@ -662,7 +647,7 @@ curve(c2tnb191v3) -> - <<16#06:8>> %% CoFactor - }; - --curve(c2pnb208w1) -> -+params(c2pnb208w1) -> - { - {characteristic_two_field, 208, {ppbasis,1,2,83}}, - {<<16#00:8>>, %% A -@@ -675,7 +660,7 @@ curve(c2pnb208w1) -> - <<16#FE48:16>> %% CoFactor - }; - --curve(c2tnb239v1) -> -+params(c2tnb239v1) -> - { - {characteristic_two_field, 239, {tpbasis,36}}, - {<<16#32010857077C5431123A46B808906756F543423E8D27877578125778AC76:240>>, %% A -@@ -688,7 +673,7 @@ curve(c2tnb239v1) -> - <<16#04:8>> %% CoFactor - }; - --curve(c2tnb239v2) -> -+params(c2tnb239v2) -> - { - {characteristic_two_field, 239, {tpbasis,36}}, - {<<16#4230017757A767FAE42398569B746325D45313AF0766266479B75654E65F:240>>, %% A -@@ -701,7 +686,7 @@ curve(c2tnb239v2) -> - <<16#06:8>> %% CoFactor - }; - --curve(c2tnb239v3) -> -+params(c2tnb239v3) -> - { - {characteristic_two_field, 239, {tpbasis,36}}, - {<<16#01238774666A67766D6676F778E676B66999176666E687666D8766C66A9F:240>>, %% A -@@ -714,7 +699,7 @@ curve(c2tnb239v3) -> - <<16#0A:8>> %% CoFactor - }; - --curve(c2pnb272w1) -> -+params(c2pnb272w1) -> - { - {characteristic_two_field, 272, {ppbasis,1,3,56}}, - {<<16#91A091F03B5FBA4AB2CCF49C4EDD220FB028712D42BE752B2C40094DBACDB586:256, %% A -@@ -732,7 +717,7 @@ curve(c2pnb272w1) -> - <<16#FF06:16>> %% CoFactor - }; - --curve(c2pnb304w1) -> -+params(c2pnb304w1) -> - { - {characteristic_two_field, 304, {ppbasis,1,2,11}}, - {<<16#FD0D693149A118F651E6DCE6802085377E5F882D1B510B44160074C128807836:256, %% A -@@ -750,7 +735,7 @@ curve(c2pnb304w1) -> - <<16#FE2E:16>> %% CoFactor - }; - --curve(c2tnb359v1) -> -+params(c2tnb359v1) -> - { - {characteristic_two_field, 359, {tpbasis,68}}, - {<<16#5667676A654B20754F356EA92017D946567C46675556F19556A04616B567D223:256, %% A -@@ -768,7 +753,7 @@ curve(c2tnb359v1) -> - <<16#4C:8>> %% CoFactor - }; - --curve(c2pnb368w1) -> -+params(c2pnb368w1) -> - { - {characteristic_two_field, 368, {ppbasis,1,2,85}}, - {<<16#E0D2EE25095206F5E2A4F9ED229F1F256E79A0E2B455970D8D0D865BD94778C5:256, %% A -@@ -786,7 +771,7 @@ curve(c2pnb368w1) -> - <<16#FF70:16>> %% CoFactor - }; - --curve(c2tnb431r1) -> -+params(c2tnb431r1) -> - { - {characteristic_two_field, 431, {tpbasis,120}}, - {<<16#1A827EF00DD6FC0E234CAF046C6A5D8A85395B236CC4AD2CF32A0CADBDC9DDF6:256, %% A -@@ -804,7 +789,7 @@ curve(c2tnb431r1) -> - <<16#2760:16>> %% CoFactor - }; - --curve(wtls1) -> -+params(wtls1) -> - { - {characteristic_two_field, 113, {tpbasis,9}}, - {<<16#01:8>>, %% A -@@ -817,7 +802,7 @@ curve(wtls1) -> - <<16#02:8>> %% CoFactor - }; - --curve(wtls3) -> -+params(wtls3) -> - { - {characteristic_two_field, 163, {ppbasis,3,6,7}}, - {<<16#01:8>>, %% A -@@ -830,7 +815,7 @@ curve(wtls3) -> - <<16#02:8>> %% CoFactor - }; - --curve(wtls4) -> -+params(wtls4) -> - { - {characteristic_two_field, 113, {tpbasis,9}}, - {<<16#3088250CA6E7C7FE649CE85820F7:112>>, %% A -@@ -843,7 +828,7 @@ curve(wtls4) -> - <<16#02:8>> %% CoFactor - }; - --curve(wtls5) -> -+params(wtls5) -> - { - {characteristic_two_field, 163, {ppbasis,1,2,8}}, - {<<16#072546B5435234A422E0789675F432C89435DE5242:168>>, %% A -@@ -856,7 +841,7 @@ curve(wtls5) -> - <<16#02:8>> %% CoFactor - }; - --curve(wtls6) -> -+params(wtls6) -> - { - {prime_field, <<16#DB7C2ABF62E35E668076BEAD208B:112>>}, %% Prime - {<<16#DB7C2ABF62E35E668076BEAD2088:112>>, %% A -@@ -869,7 +854,7 @@ curve(wtls6) -> - <<16#01:8>> %% CoFactor - }; - --curve(wtls7) -> -+params(wtls7) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73:160>>}, %% Prime - {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC70:160>>, %% A -@@ -882,7 +867,7 @@ curve(wtls7) -> - <<16#01:8>> %% CoFactor - }; - --curve(wtls8) -> -+params(wtls8) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFDE7:112>>}, %% Prime - {<<16#00:8>>, %% A -@@ -895,7 +880,7 @@ curve(wtls8) -> - <<16#01:8>> %% CoFactor - }; - --curve(wtls9) -> -+params(wtls9) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC808F:160>>}, %% Prime - {<<16#00:8>>, %% A -@@ -908,7 +893,7 @@ curve(wtls9) -> - <<16#01:8>> %% CoFactor - }; - --curve(wtls10) -> -+params(wtls10) -> - { - {characteristic_two_field, 233, {tpbasis,74}}, - {<<16#00:8>>, %% A -@@ -921,7 +906,7 @@ curve(wtls10) -> - <<16#04:8>> %% CoFactor - }; - --curve(wtls11) -> -+params(wtls11) -> - { - {characteristic_two_field, 233, {tpbasis,74}}, - {<<16#01:8>>, %% A -@@ -934,7 +919,7 @@ curve(wtls11) -> - <<16#02:8>> %% CoFactor - }; - --curve(wtls12) -> -+params(wtls12) -> - { - {prime_field, <<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001:224>>}, %% Prime - {<<16#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE:224>>, %% A -@@ -947,7 +932,7 @@ curve(wtls12) -> - <<16#01:8>> %% CoFactor - }; - --curve(ipsec3) -> -+params(ipsec3) -> - { - {characteristic_two_field, 155, {tpbasis,62}}, - {<<16#00:8>>, %% A -@@ -960,7 +945,7 @@ curve(ipsec3) -> - <<16#03:8>> %% CoFactor - }; - --curve(ipsec4) -> -+params(ipsec4) -> - { - {characteristic_two_field, 185, {tpbasis,69}}, - {<<16#00:8>>, %% A -@@ -973,7 +958,7 @@ curve(ipsec4) -> - <<16#02:8>> %% CoFactor - }; - --curve(brainpoolP160r1) -> -+params(brainpoolP160r1) -> - { - {prime_field, <<16#E95E4A5F737059DC60DFC7AD95B3D8139515620F:160>>}, %% Prime - {<<16#340E7BE2A280EB74E2BE61BADA745D97E8F7C300:160>>, %% A -@@ -986,7 +971,7 @@ curve(brainpoolP160r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP160t1) -> -+params(brainpoolP160t1) -> - { - {prime_field, <<16#E95E4A5F737059DC60DFC7AD95B3D8139515620F:160>>}, %% Prime - {<<16#E95E4A5F737059DC60DFC7AD95B3D8139515620C:160>>, %% A -@@ -999,7 +984,7 @@ curve(brainpoolP160t1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP192r1) -> -+params(brainpoolP192r1) -> - { - {prime_field, <<16#C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297:192>>}, %% Prime - {<<16#6A91174076B1E0E19C39C031FE8685C1CAE040E5C69A28EF:192>>, %% A -@@ -1012,7 +997,7 @@ curve(brainpoolP192r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP192t1) -> -+params(brainpoolP192t1) -> - { - {prime_field, <<16#C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297:192>>}, %% Prime - {<<16#C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86294:192>>, %% A -@@ -1025,7 +1010,7 @@ curve(brainpoolP192t1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP224r1) -> -+params(brainpoolP224r1) -> - { - {prime_field, <<16#D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF:224>>}, %% Prime - {<<16#68A5E62CA9CE6C1C299803A6C1530B514E182AD8B0042A59CAD29F43:224>>, %% A -@@ -1038,7 +1023,7 @@ curve(brainpoolP224r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP224t1) -> -+params(brainpoolP224t1) -> - { - {prime_field, <<16#D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF:224>>}, %% Prime - {<<16#D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FC:224>>, %% A -@@ -1051,7 +1036,7 @@ curve(brainpoolP224t1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP256r1) -> -+params(brainpoolP256r1) -> - { - {prime_field, <<16#A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377:256>>}, %% Prime - {<<16#7D5A0975FC2C3057EEF67530417AFFE7FB8055C126DC5C6CE94A4B44F330B5D9:256>>, %% A -@@ -1064,7 +1049,7 @@ curve(brainpoolP256r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP256t1) -> -+params(brainpoolP256t1) -> - { - {prime_field, <<16#A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377:256>>}, %% Prime - {<<16#A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5374:256>>, %% A -@@ -1077,7 +1062,7 @@ curve(brainpoolP256t1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP320r1) -> -+params(brainpoolP320r1) -> - { - {prime_field, <<16#D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28:256, %% Prime - 16#FCD412B1F1B32E27:64>>}, -@@ -1096,7 +1081,7 @@ curve(brainpoolP320r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP320t1) -> -+params(brainpoolP320t1) -> - { - {prime_field, <<16#D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28:256, %% Prime - 16#FCD412B1F1B32E27:64>>}, -@@ -1115,7 +1100,7 @@ curve(brainpoolP320t1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP384r1) -> -+params(brainpoolP384r1) -> - { - {prime_field, <<16#8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123:256, %% Prime - 16#ACD3A729901D1A71874700133107EC53:128>>}, -@@ -1134,7 +1119,7 @@ curve(brainpoolP384r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP384t1) -> -+params(brainpoolP384t1) -> - { - {prime_field, <<16#8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123:256, %% Prime - 16#ACD3A729901D1A71874700133107EC53:128>>}, -@@ -1153,7 +1138,7 @@ curve(brainpoolP384t1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP512r1) -> -+params(brainpoolP512r1) -> - { - {prime_field, <<16#AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA70330871:256, %% Prime - 16#7D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F3:256>>}, -@@ -1172,7 +1157,7 @@ curve(brainpoolP512r1) -> - <<16#01:8>> %% CoFactor - }; - --curve(brainpoolP512t1) -> -+params(brainpoolP512t1) -> - { - {prime_field, <<16#AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA70330871:256, %% Prime - 16#7D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F3:256>>}, diff --git a/otp-0021-crypto_SUITE-Skip-ec-curves-with-224-bits-if-FIPS.patch b/otp-0021-crypto_SUITE-Skip-ec-curves-with-224-bits-if-FIPS.patch deleted file mode 100644 index 5615558..0000000 --- a/otp-0021-crypto_SUITE-Skip-ec-curves-with-224-bits-if-FIPS.patch +++ /dev/null @@ -1,78 +0,0 @@ -From: Sverker Eriksson -Date: Fri, 16 Jun 2023 19:31:34 +0200 -Subject: [PATCH] crypto_SUITE: Skip ec curves with < 224 bits if FIPS - - -diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl -index c56faa9bc4..1179a516b2 100644 ---- a/lib/crypto/test/crypto_SUITE.erl -+++ b/lib/crypto/test/crypto_SUITE.erl -@@ -1256,8 +1256,19 @@ no_generate_compute(Config) when is_list(Config) -> - compute() -> - [{doc, " Test crypto:compute_key"}]. - compute(Config) when is_list(Config) -> -- Gen = proplists:get_value(compute, Config), -+ Gen0 = proplists:get_value(compute, Config), -+ Gen = case crypto:info_fips() of -+ enabled -> -+ SkipCurves = [secp192r1], -+ lists:filter(fun({_,_,_,Curve,_}) -> -+ not lists:member(Curve,SkipCurves) -+ end, -+ Gen0); -+ _ -> -+ Gen0 -+ end, - lists:foreach(fun do_compute/1, Gen). -+ - %%-------------------------------------------------------------------- - use_all_ec_sign_verify(_Config) -> - Msg = <<"hello world!">>, -@@ -1270,10 +1281,17 @@ use_all_ec_sign_verify(_Config) -> - Hashs]), - SkipHashs0 = [md4, md5, ripemd160, sha3_224, sha3_256, sha3_384, sha3_512, - blake2b, blake2s], -- SkipHashs = case crypto:info_fips() of -- enabled -> [sha | SkipHashs0]; -- _ -> SkipHashs0 -- end, -+ SkipCurves0 = [ed25519, ed448, x25519, x448, ipsec3, ipsec4], -+ -+ {SkipHashs, SkipCurves} -+ = case crypto:info_fips() of -+ enabled -> -+ {[sha | SkipHashs0], -+ [secp192r1, prime192v1, sect163k1, sect163r2]}; -+ _ -> -+ {SkipHashs0, SkipCurves0} -+ end, -+ - Results = - [{{Curve,Hash}, - try -@@ -1287,7 +1305,7 @@ use_all_ec_sign_verify(_Config) -> - C:E -> - {C,E} - end} -- || Curve <- Curves -- [ed25519, ed448, x25519, x448, ipsec3, ipsec4], -+ || Curve <- Curves -- SkipCurves, - Hash <- Hashs -- SkipHashs - ], - Fails = -@@ -1316,7 +1334,15 @@ use_all_ec_sign_verify(_Config) -> - - %%-------------------------------------------------------------------- - use_all_ecdh_generate_compute(Config) -> -- Curves = crypto:supports(curves) -- [ed25519, ed448, x25519, x448], -+ SkipCurves0 = [ed25519, ed448, x25519, x448], -+ SkipCurves = -+ case crypto:info_fips() of -+ enabled -> -+ [secp192r1, prime192v1, sect163k1, sect163r2 | SkipCurves0]; -+ _ -> -+ SkipCurves0 -+ end, -+ Curves = crypto:supports(curves) -- SkipCurves, - do_dh_curves(Config, Curves). - - use_all_eddh_generate_compute(Config) -> diff --git a/otp-0022-crypto_SUITE-Fix-safe-primes-for-DH-with-FIPS.patch b/otp-0022-crypto_SUITE-Fix-safe-primes-for-DH-with-FIPS.patch deleted file mode 100644 index 3181670..0000000 --- a/otp-0022-crypto_SUITE-Fix-safe-primes-for-DH-with-FIPS.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: Sverker Eriksson -Date: Tue, 20 Jun 2023 14:50:27 +0200 -Subject: [PATCH] crypto_SUITE: Fix safe primes for DH with FIPS - -FIPs on OpenSSL 3 seems to demand P to be a safe prime -where Q = (P-1)/2 is also prime. - -diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl -index 1179a516b2..eea60a523d 100644 ---- a/lib/crypto/test/crypto_SUITE.erl -+++ b/lib/crypto/test/crypto_SUITE.erl -@@ -1220,6 +1220,15 @@ generate_compute(Config) when is_list(Config) -> - compute_bug() -> - [{doc, "Test that it works even if the Secret is smaller than expected"}]. - compute_bug(_Config) -> -+ case crypto:info_fips() of -+ enabled -> -+ %% FIPs on OpenSSL 3 seems to demand P to be a safe prime -+ %% where Q = (P-1)/2 is also prime. -+ skip; -+ _ -> do_compute_bug() -+ end. -+ -+do_compute_bug() -> - ExpectedSecret = <<118,89,171,16,156,18,156,103,189,134,130,49,28,144,111,241,247,82,79,32,228,11,209,141,119,176,251,80,105,143,235,251,203,121,223,211,129,3,233,133,45,2,31,157,24,111,5,75,153,66,135,185,128,115,229,178,216,39,73,52,80,151,8,241,34,52,226,71,137,167,53,48,59,224,175,154,89,110,76,83,24,117,149,21,72,6,186,78,149,74,188,56,98,244,30,77,108,248,88,194,195,237,23,51,20,242,254,123,21,12,209,74,217,168,230,65,7,60,211,139,128,239,234,153,22,229,180,59,159,121,41,156,121,200,177,130,163,162,54,224,93,1,94,11,177,254,118,28,156,26,116,10,207,145,219,166,214,189,214,230,221,170,228,15,69,88,31,68,94,255,113,58,49,82,86,192,248,176,131,133,39,186,194,172,206,84,184,16,66,68,153,128,178,227,27,118,52,130,122,92,24,222,102,195,221,207,255,13,152,175,65,32,167,84,54,244,243,109,244,18,234,16,159,224,188,2,106,123,27,17,131,171,226,34,111,251,62,119,155,124,221,124,254,62,97,167,1,105,116,98,98,19,197,30,72,180,79,221,100,134,120,117,124,85,73,132,224,223,222,41,155,137,218,130,238,237,157,161,134,150,69,206,91,141,17,89,120,218,235,229,37,150,76,197,7,157,56,144,42,203,137,100,200,72,141,194,239,1,67,236,238,183,48,214,75,76,108,235,3,237,67,40,137,45,182,236,246,37,116,103,144,237,142,211,88,233,11,24,21,218,41,245,250,51,130,250,104,74,189,17,69,145,70,50,50,215,253,155,10,128,41,114,185,211,82,164,72,92,17,145,104,66,6,140,226,80,43,62,1,166,216,153,118,96,15,147,126,137,118,191,192,75,149,241,206,18,92,17,154,215,219,18,6,139,190,103,210,156,184,29,224,213,157,60,112,189,104,220,125,40,186,50,119,17,143,136,149,38,74,107,21,192,59,61,59,42,231,144,59,175,3,176,87,23,16,122,54,31,82,34,230,211,44,81,41,47,86,37,228,175,130,148,88,136,131,254,241,202,99,199,175,1,141,215,124,155,120,43,141,89,11,140,120,141,29,35,82,219,155,204,75,12,66,241,253,33,250,84,24,85,68,13,80,85,142,227,34,139,26,146,24>>, - OthersPublicKey = 635619632099733175381667940709387641100492974601603060984753028943194386334921787463327680809776598322996634648015962954045728174069768874873236397421720142610982770302060309928552098274817978606093380781524199673890631795310930242601197479471368910519338301177304682162189801040921618559902948819107531088646753320486728060005223263561551402855338732899079439899705951063999951507319258050864346087428042978411873495523439615429804957374639092580169417598963105885529553632847023899713490485619763926900318508906706745060947269748612049634207985438016935262521715769812475329234748426647554362991758104620357149045960316987533503707855364806010494793980069245562784050236811004893018183726397041999426883788660276453352521120006817370050691205529335316794439089316232980047277245051173281601960196573681285904611182521967067911862467395705665888521948321299521549941618586026714676885890192323289343756440666276226084448279082483536164085883288884231665240707495770544705648564889889198060417915693315346959170105413290799314390963124178046425737828369059171472978294050322371452255088799865552038756937873388385970088906560408959959429398326288750834357514847891423941047433478384621074116184703014798814515161475596555032391555842, - MyPrivateKey = 387759582879975726965038486537011291913744975764132199838375902680222019267527675651273586836110220500657652661706223760165097275862806031329642160439090779625708664007910974206651834216043397115514725827856461492311499129200688538220719685637154290305617686974719521885238198226075381217068175824097878445476010193039590876624464274744156624589136789060427283492343902761765833713520850870233407503430180028104167029073459918756981323130062648615262139444306321256382009848217866984408901761817655567071716275177768316006340055589170095799943481591033461616307776069027985761229636731465482676467627154100912586936231051371168178564599296638350391246393336702334311781595616786107810962134407697848002331639021101685320844880636050048769216986088652236979636019052557155807310341483407890060105599892252118584570558049301477535792498672552850760356632076013402382600669875697284264329434950712239302528367835155163504374877787288116104285944993818319105835423479332617802010952731990182088670508346704423006877514817882782443833997288652405892920173712497948376815825396272381214976859009518623799156300136570204539240675245115597412280078940442452936425561984312708387584800789375684525365060589104566195610526570099527133097201479, -@@ -4403,8 +4412,7 @@ ecdh() -> - ). - - dh() -> -- {dh, 90970053988169282502023478715631717259407236400413906591937635666709823903223997309250405131675572047545403771567755831138144089197560332757755059848492919215391041119286178688014693040542889497092308638580104031455627238700168892909539193174537248629499995652186913900511641708112112482297874449292467498403, 2}. -- -+ {dh, 16#FFFFFFFFFFFFFFFFADF85458A2BB4A9AAFDC5620273D3CF1D8B9C583CE2D3695A9E13641146433FBCC939DCE249B3EF97D2FE363630C75D8F681B202AEC4617AD3DF1ED5D5FD65612433F51F5F066ED0856365553DED1AF3B557135E7F57C935984F0C70E0E68B77E2A689DAF3EFE8721DF158A136ADE73530ACCA4F483A797ABC0AB182B324FB61D108A94BB2C8E3FBB96ADAB760D7F4681D4F42A3DE394DF4AE56EDE76372BB190B07A7C8EE0A6D709E02FCE1CDF7E2ECC03404CD28342F619172FE9CE98583FF8E4F1232EEF28183C3FE3B1B4C6FAD733BB5FCBC2EC22005C58EF1837D1683B2C6F34A26C1B2EFFA886B423861285C97FFFFFFFFFFFFFFFF, 2}. - - - rsa_oaep() -> diff --git a/otp-0023-crypto-Skip-entire-engine_SUITE-if-notsup.patch b/otp-0023-crypto-Skip-entire-engine_SUITE-if-notsup.patch deleted file mode 100644 index 770826f..0000000 --- a/otp-0023-crypto-Skip-entire-engine_SUITE-if-notsup.patch +++ /dev/null @@ -1,53 +0,0 @@ -From: Sverker Eriksson -Date: Tue, 20 Jun 2023 15:29:57 +0200 -Subject: [PATCH] crypto: Skip entire engine_SUITE if notsup - - -diff --git a/lib/crypto/test/engine_SUITE.erl b/lib/crypto/test/engine_SUITE.erl -index 8907d3968f..b2c25bdcae 100644 ---- a/lib/crypto/test/engine_SUITE.erl -+++ b/lib/crypto/test/engine_SUITE.erl -@@ -136,20 +136,23 @@ groups() -> - - - init_per_suite(Config) -> -- try {os:type(), crypto:info_lib()} of -- {_, [{_,_, <<"OpenSSL 1.0.1s-freebsd 1 Mar 2016">>}]} -> -+ try {engine_supported(), os:type(), crypto:info_lib()} of -+ {false,_,[{_,_,OpenSSLversion}]} -> -+ {skip, "Engine not supported by " ++ OpenSSLversion}; -+ -+ {_,_, [{_,_, <<"OpenSSL 1.0.1s-freebsd 1 Mar 2016">>}]} -> - {skip, "Problem with engine on OpenSSL 1.0.1s-freebsd"}; - -- {_, [{_,_,<<"LibreSSL 2.1.",_/binary>>}]} -> -+ {_,_, [{_,_,<<"LibreSSL 2.1.",_/binary>>}]} -> - {skip, "Problem with engine on older LibreSSL 2.1.*"}; - -- {{unix,darwin}, _} -> -+ {_,{unix,darwin}, _} -> - {skip, "Engine unsupported on Darwin"}; -- -- {{win32,_}, _} -> -+ -+ {_,{win32,_}, _} -> - {skip, "Engine unsupported on Windows"}; -- -- {OS, Res} -> -+ -+ {_,OS, Res} -> - ct:log("crypto:info_lib() -> ~p\nos:type() -> ~p", [Res,OS]), - try crypto:start() of - ok -> -@@ -166,6 +169,11 @@ init_per_suite(Config) -> - end_per_suite(_Config) -> - ok. - -+engine_supported() -> -+ try crypto:engine_list(), true -+ catch error:notsup -> false -+ end. -+ - %%-------------------------------------------------------------------- - init_per_group(engine_stored_key, Config) -> - group_load_engine(Config, [engine_method_rsa]); diff --git a/otp-0024-crypto-Fix-doc-for-FIPS-with-OpenSSL-3.patch b/otp-0024-crypto-Fix-doc-for-FIPS-with-OpenSSL-3.patch deleted file mode 100644 index 36a0c8b..0000000 --- a/otp-0024-crypto-Fix-doc-for-FIPS-with-OpenSSL-3.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Sverker Eriksson -Date: Tue, 20 Jun 2023 20:55:03 +0200 -Subject: [PATCH] crypto: Fix doc for FIPS with OpenSSL 3 - - -diff --git a/lib/crypto/doc/src/crypto_app.xml b/lib/crypto/doc/src/crypto_app.xml -index dcc86cd49c..4bc019f244 100644 ---- a/lib/crypto/doc/src/crypto_app.xml -+++ b/lib/crypto/doc/src/crypto_app.xml -@@ -50,9 +50,9 @@ - LibreSSL should also work.

- -

The crypto app is tested daily with at least one version of each of the -- OpenSSL 1.0.1, 1.0.2, 1.1.0, 1.1.1 and 3.0. FIPS mode is also tested for 1.0.1 and 1.0.2.

-+ OpenSSL 1.0.1, 1.0.2, 1.1.0, 1.1.1 and 3.0. FIPS mode is also tested for 1.0.1, 1.0.2 and 3.0.

- --

Using OpenSSL 3.0 with Engines or in FIPS mode is not yet supported by the OTP/crypto app.

-+

Using OpenSSL 3.0 with Engines is not yet supported by the OTP/crypto app.

- -

Source releases of OpenSSL can be downloaded from the OpenSSL project home page, - or mirror sites listed there. diff --git a/sources b/sources index e0f0ac9..bc4dc6f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.0.2.tar.gz) = 9bbf1099e902e10000c218c24dd510e2432659c50fe9b795c67f5bf61b243127aeb44ff60d62a9a3cdfce9d23ec97ae5d154690df99c2d781199f68b124eb44c +SHA512 (otp-OTP-26.1.tar.gz) = 5700487223c1e7a317b83c6828bcd3b0e531ffb9ca9c0bd6328f83faa51176bda01aaa3209e8657d1a1a62fb8d85d6d4050b0e97b425e4bb0bfb72aacb1b39bb From 25d796624195aac056a6ac18b44e84c94ef70df2 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 20 Sep 2023 12:10:07 +0200 Subject: [PATCH 32/69] A new man-file was added Signed-off-by: Peter Lemenkov --- erlang.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/erlang.spec b/erlang.spec index b4e6469..33081f3 100644 --- a/erlang.spec +++ b/erlang.spec @@ -1596,6 +1596,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_mandir}/man3/dict.* %{_mandir}/man3/digraph.* %{_mandir}/man3/digraph_utils.* +%{_mandir}/man3/edlin.* %{_mandir}/man3/edlin_expand.* %{_mandir}/man3/epp.* %{_mandir}/man3/erl_anno.* From 4557df10d56645cde494698eb0b9d7462176c80f Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 29 Sep 2023 16:34:06 +0200 Subject: [PATCH 33/69] Erlang ver. 26.1.1 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 33081f3..fc23db1 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.1 +Version: 26.1.1 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1969,6 +1969,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Fri Sep 29 2023 Peter Lemenkov - 26.1.1-1 +- Ver. 26.1.1 + * Wed Sep 20 2023 Peter Lemenkov - 26.1-1 - Ver. 26.1 diff --git a/sources b/sources index bc4dc6f..a8a8b5b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.1.tar.gz) = 5700487223c1e7a317b83c6828bcd3b0e531ffb9ca9c0bd6328f83faa51176bda01aaa3209e8657d1a1a62fb8d85d6d4050b0e97b425e4bb0bfb72aacb1b39bb +SHA512 (otp-OTP-26.1.1.tar.gz) = 2a10a4bd1145ee3a720ed7dcc7db098052c67e5c962611df9d43c596cef0fe0bc25051bd90216030d14b47e91bd2072bcfd21dbc6f509516dfb2fe7c0a7988a6 From 6bddebbe912d7d4467c2a79242f1fe888735f012 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 13 Oct 2023 13:33:13 +0200 Subject: [PATCH 34/69] Erlang ver. 26.1.2 Signed-off-by: Peter Lemenkov --- erlang.spec | 5 ++++- sources | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index fc23db1..41f693f 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.1.1 +Version: 26.1.2 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1969,6 +1969,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Fri Oct 13 2023 Peter Lemenkov - 26.1.2-1 +- Ver. 26.1.2 + * Fri Sep 29 2023 Peter Lemenkov - 26.1.1-1 - Ver. 26.1.1 diff --git a/sources b/sources index a8a8b5b..d98e324 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (otp-OTP-26.1.1.tar.gz) = 2a10a4bd1145ee3a720ed7dcc7db098052c67e5c962611df9d43c596cef0fe0bc25051bd90216030d14b47e91bd2072bcfd21dbc6f509516dfb2fe7c0a7988a6 +SHA512 (otp-OTP-26.1.2.tar.gz) = 6907bba4ee726582b6344995c73223f725ea628897b34fc807a2a0306536bb15ce55c7fd4da1cb596dc59c9695b3bb6bba59618ca2a7a9a999e183f671656710 From d847a77a0eae0dba10672e822023c93239dae798 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 13 Dec 2023 20:58:41 +0100 Subject: [PATCH 35/69] Erlang ver. 26.2 Signed-off-by: Peter Lemenkov --- erlang.spec | 5 ++++- ...o-not-format-man-pages-and-do-not-install-miscellan.patch | 2 +- otp-0002-Remove-rpath.patch | 2 +- otp-0003-Do-not-install-C-sources.patch | 4 ++-- sources | 3 +-- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/erlang.spec b/erlang.spec index 41f693f..51e0d5a 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.1.2 +Version: 26.2 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1969,6 +1969,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Wed Dec 13 2023 Peter Lemenkov - 26.2-1 +- Ver. 26.2 + * Fri Oct 13 2023 Peter Lemenkov - 26.1.2-1 - Ver. 26.1.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 0cc953a..270792a 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 3c5a5cee64..3c3dbda661 100644 +index 42af9c87dc..c017e0a4ed 100644 --- a/erts/etc/common/Makefile.in +++ b/erts/etc/common/Makefile.in @@ -552,10 +552,6 @@ endif diff --git a/otp-0002-Remove-rpath.patch b/otp-0002-Remove-rpath.patch index c3685c9..5cadc0c 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 1691a7d120..48dcff51d0 100644 +index aedc9e7a13..b27c2aa01b 100644 --- a/lib/crypto/c_src/Makefile.in +++ b/lib/crypto/c_src/Makefile.in @@ -147,7 +147,7 @@ endif diff --git a/otp-0003-Do-not-install-C-sources.patch b/otp-0003-Do-not-install-C-sources.patch index bb55157..23056c4 100644 --- a/otp-0003-Do-not-install-C-sources.patch +++ b/otp-0003-Do-not-install-C-sources.patch @@ -27,10 +27,10 @@ index 82a6b6e87a..5f2fe8ba7d 100644 release_docs_spec: diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in -index 0a5ae800be..2cc354c43e 100644 +index fa1ea3cd39..b977b6afe5 100644 --- a/lib/erl_interface/src/Makefile.in +++ b/lib/erl_interface/src/Makefile.in -@@ -712,13 +712,11 @@ ifeq (@DYNAMIC_LIB@, yes) +@@ -715,13 +715,11 @@ ifeq (@DYNAMIC_LIB@, yes) endif $(INSTALL_PROGRAM) $(EXE_TARGETS) "$(RELSYSDIR)/bin" $(INSTALL_DATA) $(EXTRA) "$(RELSYSDIR)/src" diff --git a/sources b/sources index d98e324..e49994e 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (otp-OTP-26.1.1.tar.gz) = 2a10a4bd1145ee3a720ed7dcc7db098052c67e5c962611df9d43c596cef0fe0bc25051bd90216030d14b47e91bd2072bcfd21dbc6f509516dfb2fe7c0a7988a6 -SHA512 (otp-OTP-26.1.2.tar.gz) = 6907bba4ee726582b6344995c73223f725ea628897b34fc807a2a0306536bb15ce55c7fd4da1cb596dc59c9695b3bb6bba59618ca2a7a9a999e183f671656710 +SHA512 (otp-OTP-26.2.tar.gz) = 647f38e7a1d2a0e49aee982d9f6461a83df01d6248756eea3cc926c60dd03e82d881534e3ce3374e233a3ab7b0fad7c775a54d0079f4d5b13de8d8a97c7de642 From 0ec84deb99001d24945b9fc94ce04d743e76d331 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 18 Dec 2023 22:22:49 +0100 Subject: [PATCH 36/69] Erlang ver. 26.2.1 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 51e0d5a..bf2ba6c 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2 +Version: 26.2.1 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1969,6 +1969,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Mon Dec 18 2023 Peter Lemenkov - 26.2.1-1 +- Ver. 26.2.1 + * Wed Dec 13 2023 Peter Lemenkov - 26.2-1 - Ver. 26.2 diff --git a/sources b/sources index e49994e..a7e4eab 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.tar.gz) = 647f38e7a1d2a0e49aee982d9f6461a83df01d6248756eea3cc926c60dd03e82d881534e3ce3374e233a3ab7b0fad7c775a54d0079f4d5b13de8d8a97c7de642 +SHA512 (otp-OTP-26.2.1.tar.gz) = f4fa0d11ecbd99ca5ef4421abb78ef2aba8ea0f8d19e4aed991c2afcc42bb057a37ae34a416b050fd7ed8ca39ba7cc8b3619ff371bc09f56dfd5b523988a8f8c From bccb7e6b4b4600e35663d2452d3bd8778693bf31 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 18:19:06 +0000 Subject: [PATCH 37/69] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- erlang.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index bf2ba6c..11b3eb0 100644 --- a/erlang.spec +++ b/erlang.spec @@ -69,7 +69,7 @@ Name: erlang Version: 26.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -1969,6 +1969,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 26.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Mon Dec 18 2023 Peter Lemenkov - 26.2.1-1 - Ver. 26.2.1 From 31296f6a24fdb1163bb750ad2651ac53603a3b7e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 10:32:33 +0000 Subject: [PATCH 38/69] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- erlang.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index 11b3eb0..61f21ee 100644 --- a/erlang.spec +++ b/erlang.spec @@ -69,7 +69,7 @@ Name: erlang Version: 26.2.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -1969,6 +1969,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 26.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 26.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From d2e9015f83b074984280f16d50ea1c4f8fb52174 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 12 Feb 2024 18:32:42 +0100 Subject: [PATCH 39/69] Erlang ver. 26.2.2 Signed-off-by: Peter Lemenkov --- erlang.spec | 7 +++++-- ....ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch | 4 ++-- ...configure.ac-C99-fixes-for-poll_works-check.patch | 12 ++++++------ sources | 2 +- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/erlang.spec b/erlang.spec index 61f21ee..75be2be 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,8 +68,8 @@ Name: erlang -Version: 26.2.1 -Release: 3%{?dist} +Version: 26.2.2 +Release: 1%{?dist} Summary: General-purpose programming language and runtime environment License: ASL 2.0 @@ -1969,6 +1969,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Mon Feb 12 2024 Peter Lemenkov - 26.2.2-1 +- Ver. 26.2.2 + * Wed Jan 24 2024 Fedora Release Engineering - 26.2.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch b/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch index 3790e65..9270b96 100644 --- a/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch +++ b/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch @@ -6,7 +6,7 @@ Subject: [PATCH] configure.ac: C99 fix for #include for the sbrk function if the header is available. diff --git a/erts/configure b/erts/configure -index a09c84ff09..478ebaa206 100755 +index 8d2083aa48..93e4ae295d 100755 --- a/erts/configure +++ b/erts/configure @@ -20890,6 +20890,9 @@ else $as_nop @@ -20,7 +20,7 @@ index a09c84ff09..478ebaa206 100755 extern char end; #elif defined(HAVE__END_SYMBOL) diff --git a/erts/configure.ac b/erts/configure.ac -index 540cc4b3cb..0d4d9377ef 100644 +index c591393fcd..5d5793518f 100644 --- a/erts/configure.ac +++ b/erts/configure.ac @@ -2449,6 +2449,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], diff --git a/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch b/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch index 255158c..6fe66dd 100644 --- a/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch +++ b/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch @@ -7,10 +7,10 @@ Return from main instead of calling exit, so that no function declaration is needed. diff --git a/erts/configure b/erts/configure -index 478ebaa206..549b53546c 100755 +index 93e4ae295d..bdff51a401 100755 --- a/erts/configure +++ b/erts/configure -@@ -24821,10 +24821,13 @@ else $as_nop +@@ -24837,10 +24837,13 @@ else $as_nop /* end confdefs.h. */ #include @@ -26,7 +26,7 @@ index 478ebaa206..549b53546c 100755 #else struct pollfd fds[1]; int fd; -@@ -24833,9 +24836,9 @@ main() +@@ -24849,9 +24852,9 @@ main() fds[0].events = POLLIN; fds[0].revents = 0; if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { @@ -39,10 +39,10 @@ index 478ebaa206..549b53546c 100755 } diff --git a/erts/configure.ac b/erts/configure.ac -index 0d4d9377ef..296a72bacc 100644 +index 5d5793518f..d08cf9569c 100644 --- a/erts/configure.ac +++ b/erts/configure.ac -@@ -3068,10 +3068,13 @@ poll_works=no +@@ -3083,10 +3083,13 @@ poll_works=no AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include @@ -58,7 +58,7 @@ index 0d4d9377ef..296a72bacc 100644 #else struct pollfd fds[1]; int fd; -@@ -3080,9 +3083,9 @@ main() +@@ -3095,9 +3098,9 @@ main() fds[0].events = POLLIN; fds[0].revents = 0; if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { diff --git a/sources b/sources index a7e4eab..af5cae6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.1.tar.gz) = f4fa0d11ecbd99ca5ef4421abb78ef2aba8ea0f8d19e4aed991c2afcc42bb057a37ae34a416b050fd7ed8ca39ba7cc8b3619ff371bc09f56dfd5b523988a8f8c +SHA512 (otp-OTP-26.2.2.tar.gz) = 27d89f4ee1c7beccd27348ad0d5d9650cda58614f3c278b0a7cf062bf4efc91bd1c7aecfff55b934c57f69cb30c41ead89b94625616817acb2e5910b95bc80fd From bdd905072f2725278a74d085ecb3ec68dbd6e974 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 7 Mar 2024 21:18:10 +0100 Subject: [PATCH 40/69] Erlang ver. 26.2.3 Signed-off-by: Peter Lemenkov --- erlang.spec | 2 +- otp-0006-Add-extra-search-directory.patch | 2 +- ....ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch | 8 ++++---- ...configure.ac-C99-fixes-for-poll_works-check.patch | 12 ++++++------ sources | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/erlang.spec b/erlang.spec index 75be2be..8d34939 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.2 +Version: 26.2.3 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment diff --git a/otp-0006-Add-extra-search-directory.patch b/otp-0006-Add-extra-search-directory.patch index 9717baa..2f872ef 100644 --- a/otp-0006-Add-extra-search-directory.patch +++ b/otp-0006-Add-extra-search-directory.patch @@ -5,7 +5,7 @@ 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 c5ba677c6e..0d23c61c0c 100644 +index 7327636751..2e92e77598 100644 --- a/lib/kernel/src/code_server.erl +++ b/lib/kernel/src/code_server.erl @@ -90,11 +90,17 @@ init(Ref, Parent, [Root,Mode]) -> diff --git a/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch b/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch index 9270b96..8fd2271 100644 --- a/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch +++ b/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch @@ -6,10 +6,10 @@ Subject: [PATCH] configure.ac: C99 fix for #include for the sbrk function if the header is available. diff --git a/erts/configure b/erts/configure -index 8d2083aa48..93e4ae295d 100755 +index b395d4e891..432067c52c 100755 --- a/erts/configure +++ b/erts/configure -@@ -20890,6 +20890,9 @@ else $as_nop +@@ -20909,6 +20909,9 @@ else $as_nop #ifdef HAVE_MALLOC_H # include #endif @@ -20,10 +20,10 @@ index 8d2083aa48..93e4ae295d 100755 extern char end; #elif defined(HAVE__END_SYMBOL) diff --git a/erts/configure.ac b/erts/configure.ac -index c591393fcd..5d5793518f 100644 +index f944657fba..c55c9e5339 100644 --- a/erts/configure.ac +++ b/erts/configure.ac -@@ -2449,6 +2449,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], +@@ -2450,6 +2450,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], #ifdef HAVE_MALLOC_H # include #endif diff --git a/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch b/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch index 6fe66dd..40d204c 100644 --- a/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch +++ b/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch @@ -7,10 +7,10 @@ Return from main instead of calling exit, so that no function declaration is needed. diff --git a/erts/configure b/erts/configure -index 93e4ae295d..bdff51a401 100755 +index 432067c52c..17c6065d06 100755 --- a/erts/configure +++ b/erts/configure -@@ -24837,10 +24837,13 @@ else $as_nop +@@ -24865,10 +24865,13 @@ else $as_nop /* end confdefs.h. */ #include @@ -26,7 +26,7 @@ index 93e4ae295d..bdff51a401 100755 #else struct pollfd fds[1]; int fd; -@@ -24849,9 +24852,9 @@ main() +@@ -24877,9 +24880,9 @@ main() fds[0].events = POLLIN; fds[0].revents = 0; if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { @@ -39,10 +39,10 @@ index 93e4ae295d..bdff51a401 100755 } diff --git a/erts/configure.ac b/erts/configure.ac -index 5d5793518f..d08cf9569c 100644 +index c55c9e5339..c3a2863193 100644 --- a/erts/configure.ac +++ b/erts/configure.ac -@@ -3083,10 +3083,13 @@ poll_works=no +@@ -3093,10 +3093,13 @@ poll_works=no AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include @@ -58,7 +58,7 @@ index 5d5793518f..d08cf9569c 100644 #else struct pollfd fds[1]; int fd; -@@ -3095,9 +3098,9 @@ main() +@@ -3105,9 +3108,9 @@ main() fds[0].events = POLLIN; fds[0].revents = 0; if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { diff --git a/sources b/sources index af5cae6..15685fc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.2.tar.gz) = 27d89f4ee1c7beccd27348ad0d5d9650cda58614f3c278b0a7cf062bf4efc91bd1c7aecfff55b934c57f69cb30c41ead89b94625616817acb2e5910b95bc80fd +SHA512 (otp-OTP-26.2.3.tar.gz) = 0c736e15b0ce05bff01a53666f76ac9ed95989b75661d6a2306e447fc7c647ce9d88a55ae7d75d40e75ba0fffd5ddfb12c65ed1a16d9f074729c783a39ca33a5 From 962eed8794116fad3c7d72c3f0a9e60ae9f8095f Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Sat, 13 Apr 2024 18:15:56 +0200 Subject: [PATCH 41/69] Erlang ver. 26.2.4 Signed-off-by: Peter Lemenkov --- erlang.spec | 5 ++++- ....ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch | 8 ++++---- ...configure.ac-C99-fixes-for-poll_works-check.patch | 12 ++++++------ sources | 2 +- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/erlang.spec b/erlang.spec index 8d34939..d1830a8 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.3 +Version: 26.2.4 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1969,6 +1969,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Sat Apr 13 2024 Peter Lemenkov - 26.2.4-1 +- Ver. 26.2.4 + * Mon Feb 12 2024 Peter Lemenkov - 26.2.2-1 - Ver. 26.2.2 diff --git a/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch b/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch index 8fd2271..8050629 100644 --- a/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch +++ b/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch @@ -6,10 +6,10 @@ Subject: [PATCH] configure.ac: C99 fix for #include for the sbrk function if the header is available. diff --git a/erts/configure b/erts/configure -index b395d4e891..432067c52c 100755 +index 2044690dc6..f31d7775a4 100755 --- a/erts/configure +++ b/erts/configure -@@ -20909,6 +20909,9 @@ else $as_nop +@@ -20937,6 +20937,9 @@ else $as_nop #ifdef HAVE_MALLOC_H # include #endif @@ -20,10 +20,10 @@ index b395d4e891..432067c52c 100755 extern char end; #elif defined(HAVE__END_SYMBOL) diff --git a/erts/configure.ac b/erts/configure.ac -index f944657fba..c55c9e5339 100644 +index f247c1e71f..59c4d05460 100644 --- a/erts/configure.ac +++ b/erts/configure.ac -@@ -2450,6 +2450,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], +@@ -2459,6 +2459,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], #ifdef HAVE_MALLOC_H # include #endif diff --git a/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch b/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch index 40d204c..65acd3b 100644 --- a/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch +++ b/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch @@ -7,10 +7,10 @@ Return from main instead of calling exit, so that no function declaration is needed. diff --git a/erts/configure b/erts/configure -index 432067c52c..17c6065d06 100755 +index f31d7775a4..77fb9d0d7f 100755 --- a/erts/configure +++ b/erts/configure -@@ -24865,10 +24865,13 @@ else $as_nop +@@ -24893,10 +24893,13 @@ else $as_nop /* end confdefs.h. */ #include @@ -26,7 +26,7 @@ index 432067c52c..17c6065d06 100755 #else struct pollfd fds[1]; int fd; -@@ -24877,9 +24880,9 @@ main() +@@ -24905,9 +24908,9 @@ main() fds[0].events = POLLIN; fds[0].revents = 0; if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { @@ -39,10 +39,10 @@ index 432067c52c..17c6065d06 100755 } diff --git a/erts/configure.ac b/erts/configure.ac -index c55c9e5339..c3a2863193 100644 +index 59c4d05460..0abb11a967 100644 --- a/erts/configure.ac +++ b/erts/configure.ac -@@ -3093,10 +3093,13 @@ poll_works=no +@@ -3102,10 +3102,13 @@ poll_works=no AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include @@ -58,7 +58,7 @@ index c55c9e5339..c3a2863193 100644 #else struct pollfd fds[1]; int fd; -@@ -3105,9 +3108,9 @@ main() +@@ -3114,9 +3117,9 @@ main() fds[0].events = POLLIN; fds[0].revents = 0; if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { diff --git a/sources b/sources index 15685fc..c686d83 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.3.tar.gz) = 0c736e15b0ce05bff01a53666f76ac9ed95989b75661d6a2306e447fc7c647ce9d88a55ae7d75d40e75ba0fffd5ddfb12c65ed1a16d9f074729c783a39ca33a5 +SHA512 (otp-OTP-26.2.4.tar.gz) = 2fa385b5ec93810c984f31e22757fe8614087191adf0f99376702bd15a316237f8abc1b65d40a302d3919cd28afe65fb4086e39638c6c39af165c0c1ee6fb51d From 70fd44b05933f18909e113658871457fa93c3766 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Sat, 4 May 2024 19:05:46 +0200 Subject: [PATCH 42/69] Erlang ver. 26.2.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 d1830a8..dbf464c 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.4 +Version: 26.2.5 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1969,6 +1969,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Sat May 4 2024 Peter Lemenkov - 26.2.5-1 +- Ver. 26.2.5 + * Sat Apr 13 2024 Peter Lemenkov - 26.2.4-1 - Ver. 26.2.4 diff --git a/sources b/sources index c686d83..e69e9eb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.4.tar.gz) = 2fa385b5ec93810c984f31e22757fe8614087191adf0f99376702bd15a316237f8abc1b65d40a302d3919cd28afe65fb4086e39638c6c39af165c0c1ee6fb51d +SHA512 (otp-OTP-26.2.5.tar.gz) = f06d34290c0d93609aa3efbdc97206e8d3ce17aa2c3f62b6c566c7631ee3a3d45a89b61ce0ace81604b5a94610d03ad98558f27ee888ca90ecdeeeb2759c0184 From 986d3f3ba728fffccf1f3df7f0679c68ea91952f Mon Sep 17 00:00:00 2001 From: Jonathan Wright Date: Fri, 31 May 2024 15:38:58 -0500 Subject: [PATCH 43/69] convert license to SPDX format --- erlang.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index dbf464c..fa47211 100644 --- a/erlang.spec +++ b/erlang.spec @@ -72,7 +72,7 @@ Version: 26.2.5 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment -License: ASL 2.0 +License: Apache-2.0 URL: https://www.erlang.org %if ! (0%{?rhel} && 0%{?rhel} <= 6) VCS: scm:git:https://github.com/erlang/otp From 42618325e73762497d04fd973b348ee100d84621 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 26 Jun 2024 10:39:37 +0200 Subject: [PATCH 44/69] Erlang ver. 26.2.5.1 Signed-off-by: Peter Lemenkov --- erlang-configure-c99.patch | 89 -------------------------------------- erlang.spec | 5 ++- sources | 2 +- 3 files changed, 5 insertions(+), 91 deletions(-) delete mode 100644 erlang-configure-c99.patch diff --git a/erlang-configure-c99.patch b/erlang-configure-c99.patch deleted file mode 100644 index e7abc79..0000000 --- a/erlang-configure-c99.patch +++ /dev/null @@ -1,89 +0,0 @@ -Configure changes to adjust to stricter C99 compilers: Avoid -implicit function declarations, and define main as returning int. - -Submitted upstream: - -diff --git a/erts/configure b/erts/configure -index 815428caaf61c914..7d057e69ae5e3a93 100755 ---- a/erts/configure -+++ b/erts/configure -@@ -20529,6 +20529,9 @@ else $as_nop - #ifdef HAVE_MALLOC_H - # include - #endif -+#ifdef HAVE_UNISTD_H -+# include -+#endif - #if defined(HAVE_END_SYMBOL) - extern char end; - #elif defined(HAVE__END_SYMBOL) -@@ -24437,10 +24440,13 @@ else $as_nop - /* end confdefs.h. */ - - #include --main() -+#ifdef HAVE_FCNTL_H -+#include -+#endif -+int main() - { - #ifdef _POLL_EMUL_H_ -- exit(1); /* Implemented using select() -- fail */ -+ return 1; /* Implemented using select() -- fail */ - #else - struct pollfd fds[1]; - int fd; -@@ -24449,9 +24455,9 @@ main() - fds[0].events = POLLIN; - fds[0].revents = 0; - if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { -- exit(1); /* Does not work for devices -- fail */ -+ return 1; /* Does not work for devices -- fail */ - } -- exit(0); -+ return 0; - #endif - } - -diff --git a/erts/configure.ac b/erts/configure.ac -index ab2ee78acdca211e..f658b66e3c0e508a 100644 ---- a/erts/configure.ac -+++ b/erts/configure.ac -@@ -2436,6 +2436,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], - #ifdef HAVE_MALLOC_H - # include - #endif -+#ifdef HAVE_UNISTD_H -+# include -+#endif - #if defined(HAVE_END_SYMBOL) - extern char end; - #elif defined(HAVE__END_SYMBOL) -@@ -3033,10 +3036,13 @@ poll_works=no - - AC_RUN_IFELSE([AC_LANG_SOURCE([[ - #include --main() -+#ifdef HAVE_FCNTL_H -+#include -+#endif -+int main() - { - #ifdef _POLL_EMUL_H_ -- exit(1); /* Implemented using select() -- fail */ -+ return 1; /* Implemented using select() -- fail */ - #else - struct pollfd fds[1]; - int fd; -@@ -3045,9 +3051,9 @@ main() - fds[0].events = POLLIN; - fds[0].revents = 0; - if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { -- exit(1); /* Does not work for devices -- fail */ -+ return 1; /* Does not work for devices -- fail */ - } -- exit(0); -+ return 0; - #endif - } - ]])],[poll_works=yes],[poll_works=no],[ diff --git a/erlang.spec b/erlang.spec index fa47211..b27e3d0 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.5 +Version: 26.2.5.1 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1969,6 +1969,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Wed Jun 26 2024 Peter Lemenkov - 26.2.5.1-1 +- Ver. 26.2.5.1 + * Sat May 4 2024 Peter Lemenkov - 26.2.5-1 - Ver. 26.2.5 diff --git a/sources b/sources index e69e9eb..58c38a3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.tar.gz) = f06d34290c0d93609aa3efbdc97206e8d3ce17aa2c3f62b6c566c7631ee3a3d45a89b61ce0ace81604b5a94610d03ad98558f27ee888ca90ecdeeeb2759c0184 +SHA512 (otp-OTP-26.2.5.1.tar.gz) = fe7cf5c3a386123fa00e364c1f2e884adb46b8080cd4e84eee83c07531c4fca23c909e439516f0e0730735487c7d0384df9fd98ac68e29c6e05add6039ea18f4 From 9afd6d3c6bae0f60bf422f0751570ed6038ca6b9 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 26 Jun 2024 11:08:05 +0200 Subject: [PATCH 45/69] Fix FTBFS with recent RPM Signed-off-by: Peter Lemenkov --- erlang.spec | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/erlang.spec b/erlang.spec index b27e3d0..ed2cc1b 100644 --- a/erlang.spec +++ b/erlang.spec @@ -74,9 +74,7 @@ Summary: General-purpose programming language and runtime environment License: Apache-2.0 URL: https://www.erlang.org -%if ! (0%{?rhel} && 0%{?rhel} <= 6) -VCS: scm:git:https://github.com/erlang/otp -%endif +VCS: git:https://github.com/erlang/otp.git Source0: https://github.com/erlang/otp/archive/OTP-%{version}/otp-OTP-%{version}.tar.gz Source5: epmd.service Source6: epmd.socket @@ -417,7 +415,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description examples Examples for some Erlang modules. -%endif %{__with_examples} +%endif # __with_examples %package ftp Summary: FTP client @@ -698,7 +696,7 @@ Summary: A set of programming tools including a coverage analyzer etc %if %{__with_emacs} BuildRequires: emacs BuildRequires: emacs-el -%endif %{__with_emacs} +%endif # __with_emacs Requires: %{name}-compiler%{?_isa} = %{version}-%{release} Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-inets%{?_isa} = %{version}-%{release} @@ -709,7 +707,7 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} Requires: emacs-filesystem Obsoletes: emacs-erlang Obsoletes: emacs-erlang-el -%endif %{__with_emacs} +%endif # __with_emacs %description tools @@ -805,7 +803,7 @@ cp lib/tools/emacs/*.el emacs-erlang/ pushd emacs-erlang %{_emacs_bytecompile} *.el popd -%endif %{__with_emacs} +%endif # __with_emacs %make_build @@ -835,7 +833,7 @@ for f in lib/tools/emacs/{README,*.el}; do "$RPM_BUILD_ROOT%{_emacs_sitelispdir}/erlang/" done install -m 0644 emacs-erlang/*.elc "$RPM_BUILD_ROOT%{_emacs_sitelispdir}/erlang/" -%endif %{__with_emacs} +%endif # __with_emacs make DESTDIR=$RPM_BUILD_ROOT install @@ -853,7 +851,7 @@ find $RPM_BUILD_ROOT%{_libdir}/erlang/lib/kernel-*/examples/uds_dist -type d -pe %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} +%endif # __with_examples chmod 0755 $RPM_BUILD_ROOT%{_libdir}/erlang/bin @@ -1272,7 +1270,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %if %{__with_wxwidgets} %{_libdir}/erlang/lib/wx-*/examples/ %endif # __with_wxwidgets -%endif %{__with_examples} +%endif # __with_examples %files ftp %dir %{_libdir}/erlang/lib/ftp-*/ @@ -1704,7 +1702,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_emacs_sitelispdir}/erlang/*.el %{_emacs_sitelispdir}/erlang/*.elc %{_emacs_sitestartdir}/erlang-init.el -%endif %{__with_emacs} +%endif # __with_emacs %if %{__with_wxwidgets} %files wx From 039ee25fc043dea1315dc225480d2a2cc62aa33d Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 10 Jul 2024 15:58:30 +0200 Subject: [PATCH 46/69] Erlang ver. 26.2.5.2 Signed-off-by: Peter Lemenkov --- erlang.spec | 11 ++++------- sources | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/erlang.spec b/erlang.spec index ed2cc1b..ed975d0 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.5.1 +Version: 26.2.5.2 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -122,13 +122,11 @@ BuildRequires: erlang %endif %endif -%if ! (0%{?rhel} && 0%{?rhel} <= 6) # for BuildRequires: systemd-devel BuildRequires: systemd %{?systemd_requires} Requires: systemd -%endif BuildRequires: autoconf BuildRequires: automake #BuildRequires: erlang-rpm-macros @@ -930,12 +928,10 @@ ln -s "${jinterface_lib_dir}priv/OtpErlang.jar" "$RPM_BUILD_ROOT%{_javadir}/%{na %endif # __with_java # systemd-related stuff -%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 install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_unitdir}/epmd@.socket -%endif %if %{__with_wxwidgets} @@ -1209,12 +1205,10 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %endif %{_libdir}/erlang/releases/* %{_libdir}/erlang/usr/ -%if ! (0%{?rhel} && 0%{?rhel} <= 6) %{_unitdir}/epmd.service %{_unitdir}/epmd.socket %{_unitdir}/epmd@.service %{_unitdir}/epmd@.socket -%endif %if %{__with_wxwidgets} %files et @@ -1967,6 +1961,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Wed Jul 10 2024 Peter Lemenkov - 26.2.5.2-1 +- Ver. 26.2.5.2 + * Wed Jun 26 2024 Peter Lemenkov - 26.2.5.1-1 - Ver. 26.2.5.1 diff --git a/sources b/sources index 58c38a3..2b4a35d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.1.tar.gz) = fe7cf5c3a386123fa00e364c1f2e884adb46b8080cd4e84eee83c07531c4fca23c909e439516f0e0730735487c7d0384df9fd98ac68e29c6e05add6039ea18f4 +SHA512 (otp-OTP-26.2.5.2.tar.gz) = 913029b713472b300c1ce8dc8658915ab3b3f2f36f5e01b5df492829baa70acbb76951747cbc0eed07267d5afc06fa25b8444c06d7cead1ec6f796a824facebe From 1d682bab55cd7f60e0dac2f8d66abe5dc9a257dd Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 10 Jul 2024 16:34:14 +0200 Subject: [PATCH 47/69] OpenSSL engine split off since Fedora 41 Signed-off-by: Peter Lemenkov --- erlang.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/erlang.spec b/erlang.spec index ed975d0..e15dab6 100644 --- a/erlang.spec +++ b/erlang.spec @@ -242,9 +242,9 @@ A byte code compiler for Erlang which produces highly compact code. %package crypto Summary: Cryptographical support BuildRequires: pkgconfig(openssl) -# FIXME there is something wrong with OpenSSL 3.0 support in Erlang right now. -# We have to fallback to OpenSSL1 explicitly. -# BuildRequires: openssl1.1-devel +%if 0%{fedora} > 40 +BuildRequires: openssl-devel-engine +%endif Requires: %{name}-erts%{?_isa} = %{version}-%{release} Requires: %{name}-kernel%{?_isa} = %{version}-%{release} Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} From 0e5c862b2a0187cc55b9b5794748c13a64a73417 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 22:08:38 +0000 Subject: [PATCH 48/69] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- erlang.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index e15dab6..e27af3b 100644 --- a/erlang.spec +++ b/erlang.spec @@ -69,7 +69,7 @@ Name: erlang Version: 26.2.5.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: General-purpose programming language and runtime environment License: Apache-2.0 @@ -1961,6 +1961,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 26.2.5.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Wed Jul 10 2024 Peter Lemenkov - 26.2.5.2-1 - Ver. 26.2.5.2 From d9d1e480c904192b3ab6716e04fcd76f511bf32d Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 5 Sep 2024 19:21:18 +0200 Subject: [PATCH 49/69] Erlang ver. 26.2.5.3 Signed-off-by: Peter Lemenkov --- erlang.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/erlang.spec b/erlang.spec index e27af3b..0f65250 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,8 +68,8 @@ Name: erlang -Version: 26.2.5.2 -Release: 2%{?dist} +Version: 26.2.5.3 +Release: 1%{?dist} Summary: General-purpose programming language and runtime environment License: Apache-2.0 @@ -1961,6 +1961,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Thu Sep 5 2024 Peter Lemenkov - 26.2.5.3-1 +- Ver. 26.2.5.3 + * Wed Jul 17 2024 Fedora Release Engineering - 26.2.5.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild diff --git a/sources b/sources index 2b4a35d..bec37f2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.2.tar.gz) = 913029b713472b300c1ce8dc8658915ab3b3f2f36f5e01b5df492829baa70acbb76951747cbc0eed07267d5afc06fa25b8444c06d7cead1ec6f796a824facebe +SHA512 (otp-OTP-26.2.5.3.tar.gz) = 2fc5d9209c3428eca42d35aa868aef2e58b6d6611d85de7a6b28d355f97431b39fe36428965e9d9cb28e814129c101e7c4e60ccbc2c0e59f119f5fce22e15424 From cc3d6c8a984bfabe5b9ac8d7d4841e0e3bc3d578 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 9 Oct 2024 17:36:59 +0300 Subject: [PATCH 50/69] Erlang ver. 26.2.5.4 Signed-off-by: Peter Lemenkov --- erlang.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/erlang.spec b/erlang.spec index 0f65250..e129b92 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.5.3 +Version: 26.2.5.4 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment diff --git a/sources b/sources index bec37f2..456d911 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.3.tar.gz) = 2fc5d9209c3428eca42d35aa868aef2e58b6d6611d85de7a6b28d355f97431b39fe36428965e9d9cb28e814129c101e7c4e60ccbc2c0e59f119f5fce22e15424 +SHA512 (otp-OTP-26.2.5.4.tar.gz) = fcbd3692a6f63bd293de06e11fe4ee5054c153b1481b399260546fa845e96e37dee822ef6fd5d965350357873f0bf3e28f70dab57db3b7f98f36bf772dbdf46e From 320b3b4669fe0d8774083010dc3af77f0a1cdb2c Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 1 Nov 2024 14:35:45 +0300 Subject: [PATCH 51/69] Erlang ver. 26.2.5.5 Signed-off-by: Peter Lemenkov --- erlang.spec | 8 +++++++- sources | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/erlang.spec b/erlang.spec index e129b92..22e0f97 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.5.4 +Version: 26.2.5.5 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1961,6 +1961,12 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Fri Nov 1 2024 Peter Lemenkov - 26.2.5.5-1 +- Ver. 26.2.5.5 + +* Wed Oct 9 2024 Peter Lemenkov - 26.2.5.4-1 +- Ver. 26.2.5.4 + * Thu Sep 5 2024 Peter Lemenkov - 26.2.5.3-1 - Ver. 26.2.5.3 diff --git a/sources b/sources index 456d911..6c9e828 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.4.tar.gz) = fcbd3692a6f63bd293de06e11fe4ee5054c153b1481b399260546fa845e96e37dee822ef6fd5d965350357873f0bf3e28f70dab57db3b7f98f36bf772dbdf46e +SHA512 (otp-OTP-26.2.5.5.tar.gz) = af6dc4ce7999a64ec3312bca96b37d980d3d4a21f7efa9d2e8d1bba8cfa800951db3c6b5b081d4db1b90306faf21ee08b11f3ab3373c549c471b806d47043bed From 42ddc9677e4771bc663b627376e16fe1f77da348 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Sat, 7 Dec 2024 16:32:02 +0100 Subject: [PATCH 52/69] Erlang ver. 26.2.5.6 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 22e0f97..93bfd48 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.5.5 +Version: 26.2.5.6 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1961,6 +1961,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Sat Dec 7 2024 Peter Lemenkov - 26.2.5.6-1 +- Ver. 26.2.5.6 + * Fri Nov 1 2024 Peter Lemenkov - 26.2.5.5-1 - Ver. 26.2.5.5 diff --git a/sources b/sources index 6c9e828..34cf8be 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.5.tar.gz) = af6dc4ce7999a64ec3312bca96b37d980d3d4a21f7efa9d2e8d1bba8cfa800951db3c6b5b081d4db1b90306faf21ee08b11f3ab3373c549c471b806d47043bed +SHA512 (otp-OTP-26.2.5.6.tar.gz) = 149f047e7e814a6da76f53a6bd3215d7561556a7589c95b21eabebab7dbc76f5b421fb42495dd9e6e73a57f8f535408577c5d5b4f5300cb2a448b8ac0e0c1a01 From a41792bba819a71201e542df62f7720bf68e3ad5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 17:07:09 +0000 Subject: [PATCH 53/69] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- erlang.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index 93bfd48..5472a29 100644 --- a/erlang.spec +++ b/erlang.spec @@ -69,7 +69,7 @@ Name: erlang Version: 26.2.5.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: General-purpose programming language and runtime environment License: Apache-2.0 @@ -1961,6 +1961,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 26.2.5.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Sat Dec 7 2024 Peter Lemenkov - 26.2.5.6-1 - Ver. 26.2.5.6 From a59fa7eb2f9c2a36a3c379706dfb3139b07c766c Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Tue, 11 Feb 2025 13:31:57 +0100 Subject: [PATCH 54/69] Erlang ver. 26.2.5.7 Signed-off-by: Peter Lemenkov --- erlang.spec | 9 +-- ...-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch | 35 --------- ...re.ac-C99-fixes-for-poll_works-check.patch | 72 ------------------- sources | 2 +- 4 files changed, 6 insertions(+), 112 deletions(-) delete mode 100644 otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch delete mode 100644 otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch diff --git a/erlang.spec b/erlang.spec index 5472a29..1231fbd 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,8 +68,8 @@ Name: erlang -Version: 26.2.5.6 -Release: 2%{?dist} +Version: 26.2.5.7 +Release: 1%{?dist} Summary: General-purpose programming language and runtime environment License: Apache-2.0 @@ -106,8 +106,6 @@ Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch Patch6: otp-0006-Add-extra-search-directory.patch Patch7: otp-0007-Avoid-forking-sed-to-get-basename.patch Patch8: otp-0008-Load-man-pages-from-system-wide-directory.patch -Patch9: otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch -Patch10: otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch # end of autogenerated patch tag list BuildRequires: gcc @@ -1961,6 +1959,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Tue Feb 11 2025 Peter Lemenkov - 26.2.5.7-1 +- Ver. 26.2.5.7 + * Thu Jan 16 2025 Fedora Release Engineering - 26.2.5.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild diff --git a/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch b/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch deleted file mode 100644 index 8050629..0000000 --- a/otp-0009-configure.ac-C99-fix-for-ERTS___AFTER_MORECORE_HOOK_.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Florian Weimer -Date: Thu, 24 Nov 2022 11:57:49 +0100 -Subject: [PATCH] configure.ac: C99 fix for - ERTS___AFTER_MORECORE_HOOK_CAN_TRACK_MALLOC - -#include for the sbrk function if the header is available. - -diff --git a/erts/configure b/erts/configure -index 2044690dc6..f31d7775a4 100755 ---- a/erts/configure -+++ b/erts/configure -@@ -20937,6 +20937,9 @@ else $as_nop - #ifdef HAVE_MALLOC_H - # include - #endif -+#ifdef HAVE_UNISTD_H -+# include -+#endif - #if defined(HAVE_END_SYMBOL) - extern char end; - #elif defined(HAVE__END_SYMBOL) -diff --git a/erts/configure.ac b/erts/configure.ac -index f247c1e71f..59c4d05460 100644 ---- a/erts/configure.ac -+++ b/erts/configure.ac -@@ -2459,6 +2459,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], - #ifdef HAVE_MALLOC_H - # include - #endif -+#ifdef HAVE_UNISTD_H -+# include -+#endif - #if defined(HAVE_END_SYMBOL) - extern char end; - #elif defined(HAVE__END_SYMBOL) diff --git a/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch b/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch deleted file mode 100644 index 65acd3b..0000000 --- a/otp-0010-configure.ac-C99-fixes-for-poll_works-check.patch +++ /dev/null @@ -1,72 +0,0 @@ -From: Florian Weimer -Date: Thu, 24 Nov 2022 11:59:22 +0100 -Subject: [PATCH] configure.ac: C99 fixes for poll_works check - -Include if it is available for the open prototype. -Return from main instead of calling exit, so that no function -declaration is needed. - -diff --git a/erts/configure b/erts/configure -index f31d7775a4..77fb9d0d7f 100755 ---- a/erts/configure -+++ b/erts/configure -@@ -24893,10 +24893,13 @@ else $as_nop - /* end confdefs.h. */ - - #include --main() -+#ifdef HAVE_FCNTL_H -+#include -+#endif -+int main() - { - #ifdef _POLL_EMUL_H_ -- exit(1); /* Implemented using select() -- fail */ -+ return 1; /* Implemented using select() -- fail */ - #else - struct pollfd fds[1]; - int fd; -@@ -24905,9 +24908,9 @@ main() - fds[0].events = POLLIN; - fds[0].revents = 0; - if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { -- exit(1); /* Does not work for devices -- fail */ -+ return 1; /* Does not work for devices -- fail */ - } -- exit(0); -+ return 0; - #endif - } - -diff --git a/erts/configure.ac b/erts/configure.ac -index 59c4d05460..0abb11a967 100644 ---- a/erts/configure.ac -+++ b/erts/configure.ac -@@ -3102,10 +3102,13 @@ poll_works=no - - AC_RUN_IFELSE([AC_LANG_SOURCE([[ - #include --main() -+#ifdef HAVE_FCNTL_H -+#include -+#endif -+int main() - { - #ifdef _POLL_EMUL_H_ -- exit(1); /* Implemented using select() -- fail */ -+ return 1; /* Implemented using select() -- fail */ - #else - struct pollfd fds[1]; - int fd; -@@ -3114,9 +3117,9 @@ main() - fds[0].events = POLLIN; - fds[0].revents = 0; - if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { -- exit(1); /* Does not work for devices -- fail */ -+ return 1; /* Does not work for devices -- fail */ - } -- exit(0); -+ return 0; - #endif - } - ]])],[poll_works=yes],[poll_works=no],[ diff --git a/sources b/sources index 34cf8be..477853b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.6.tar.gz) = 149f047e7e814a6da76f53a6bd3215d7561556a7589c95b21eabebab7dbc76f5b421fb42495dd9e6e73a57f8f535408577c5d5b4f5300cb2a448b8ac0e0c1a01 +SHA512 (otp-OTP-26.2.5.7.tar.gz) = 210a2246fc1bb5c82fe50c797a63045d09822dbddfadff024d9a227d38a22a6f607e8f2fa146d19cc31567f3d4c6e007b845981147c87df97fc0315dd64c169e From 35769571a05f484f9776e162b903028e8cc31451 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 13 Feb 2025 19:42:45 +0100 Subject: [PATCH 55/69] Erlang ver. 26.2.5.8 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 1231fbd..e31aa7b 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.5.7 +Version: 26.2.5.8 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment @@ -1959,6 +1959,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Thu Feb 13 2025 Peter Lemenkov - 26.2.5.8-1 +- Ver. 26.2.5.8 + * Tue Feb 11 2025 Peter Lemenkov - 26.2.5.7-1 - Ver. 26.2.5.7 diff --git a/sources b/sources index 477853b..ed06a02 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.7.tar.gz) = 210a2246fc1bb5c82fe50c797a63045d09822dbddfadff024d9a227d38a22a6f607e8f2fa146d19cc31567f3d4c6e007b845981147c87df97fc0315dd64c169e +SHA512 (otp-OTP-26.2.5.8.tar.gz) = 44893d2c2f8c3e0e04ada83b77f21dbc8c72f8b95005beeb11d320208cacd2c6bbc57c4c073f1cdd401f408a651e014fc2e6d4f52e7f787e2492a8ab3f872e98 From 085b3c69e0d9c941d105451736ee14a9def074d3 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 21 Feb 2025 17:21:51 +0100 Subject: [PATCH 56/69] Erlang ver. 26.2.5.9 Signed-off-by: Peter Lemenkov --- erlang.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/erlang.spec b/erlang.spec index e31aa7b..b1c5af0 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.5.8 +Version: 26.2.5.9 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment diff --git a/sources b/sources index ed06a02..e00ecbf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.8.tar.gz) = 44893d2c2f8c3e0e04ada83b77f21dbc8c72f8b95005beeb11d320208cacd2c6bbc57c4c073f1cdd401f408a651e014fc2e6d4f52e7f787e2492a8ab3f872e98 +SHA512 (otp-OTP-26.2.5.9.tar.gz) = 68cdba025b7f77d1b143737a536160f65ecbb1ab681bc92a7ab037f80ae6993ebabff62399de4688f1b9de054d0823a6d093545e1c414530c165e8e14806c611 From 28be5b518144ed7fe9b700e4b8f3adb1a89d5c0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 11 Feb 2025 14:36:26 +0100 Subject: [PATCH 57/69] Add sysusers.d config file to allow rpm to create users/groups automatically See https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers. --- erlang.spec | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/erlang.spec b/erlang.spec index b1c5af0..df03ab3 100644 --- a/erlang.spec +++ b/erlang.spec @@ -69,7 +69,7 @@ Name: erlang Version: 26.2.5.9 -Release: 1%{?dist} +Release: 2%{?dist} Summary: General-purpose programming language and runtime environment License: Apache-2.0 @@ -349,7 +349,6 @@ 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 @@ -741,6 +740,11 @@ Provides support for XML 1.0. # remove shipped zlib sources #rm -f erts/emulator/zlib/*.[ch] +# Create a sysusers.d config file +cat >erlang.sysusers.conf </dev/null || groupadd -r epmd -getent passwd epmd >/dev/null || \ -useradd -r -g epmd -d /dev/null -s /sbin/nologin \ --c "Erlang Port Mapper Daemon" epmd 2>/dev/null || : %files @@ -1207,6 +1208,7 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %{_unitdir}/epmd.socket %{_unitdir}/epmd@.service %{_unitdir}/epmd@.socket +%{_sysusersdir}/erlang.conf %if %{__with_wxwidgets} %files et @@ -1959,6 +1961,9 @@ useradd -r -g epmd -d /dev/null -s /sbin/nologin \ %changelog +* Mon Mar 10 2025 Zbigniew Jedrzejewski-Szmek - 26.2.5.9-2 +- Add sysusers.d config file to allow rpm to create users/groups automatically + * Thu Feb 13 2025 Peter Lemenkov - 26.2.5.8-1 - Ver. 26.2.5.8 From b243901f61dc8005cb89d679983fe0e07d5b5761 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 28 Mar 2025 17:13:32 +0100 Subject: [PATCH 58/69] Erlang ver. 26.2.5.10 Signed-off-by: Peter Lemenkov --- erlang.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/erlang.spec b/erlang.spec index df03ab3..c8ab6e0 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,8 +68,8 @@ Name: erlang -Version: 26.2.5.9 -Release: 2%{?dist} +Version: 26.2.5.10 +Release: 1%{?dist} Summary: General-purpose programming language and runtime environment License: Apache-2.0 @@ -1961,6 +1961,9 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %changelog +* Fri Mar 28 2025 Peter Lemenkov - 26.2.5.10-1 +- Ver. 26.2.5.10 + * Mon Mar 10 2025 Zbigniew Jedrzejewski-Szmek - 26.2.5.9-2 - Add sysusers.d config file to allow rpm to create users/groups automatically diff --git a/sources b/sources index e00ecbf..20d0566 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.9.tar.gz) = 68cdba025b7f77d1b143737a536160f65ecbb1ab681bc92a7ab037f80ae6993ebabff62399de4688f1b9de054d0823a6d093545e1c414530c165e8e14806c611 +SHA512 (otp-OTP-26.2.5.10.tar.gz) = d92a26200b28770e6030be1b0703abcd5a7da6ce85656b617f78b75b04afcf5023bee239ad274475f22d8a1ef90d35b123d042723611164497cf09fd587a0b1e From fff94550c5ddd1e2917bf5006ab701753ee62d5c Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 16 Apr 2025 20:03:31 +0200 Subject: [PATCH 59/69] Erlang ver. 26.2.5.11 Signed-off-by: Peter Lemenkov --- erlang.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/erlang.spec b/erlang.spec index c8ab6e0..945c736 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.5.10 +Version: 26.2.5.11 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment diff --git a/sources b/sources index 20d0566..cede25a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.10.tar.gz) = d92a26200b28770e6030be1b0703abcd5a7da6ce85656b617f78b75b04afcf5023bee239ad274475f22d8a1ef90d35b123d042723611164497cf09fd587a0b1e +SHA512 (otp-OTP-26.2.5.11.tar.gz) = 9cc04a9f807b4c0dd36bca93d52ab5ec7f022925b18dbaf3d5ce7184c20ad29c9e538caa622e65402c7e3a0c103a5d7ec025ec67853fee33fc6418ffefe9ddd6 From b2511601764e9b547581a9fe10a19439d7d40475 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 8 May 2025 18:10:48 +0200 Subject: [PATCH 60/69] Erlang ver. 26.2.5.12 Signed-off-by: Peter Lemenkov --- erlang.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/erlang.spec b/erlang.spec index 945c736..1262a12 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.5.11 +Version: 26.2.5.12 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment diff --git a/sources b/sources index cede25a..73f4c57 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.11.tar.gz) = 9cc04a9f807b4c0dd36bca93d52ab5ec7f022925b18dbaf3d5ce7184c20ad29c9e538caa622e65402c7e3a0c103a5d7ec025ec67853fee33fc6418ffefe9ddd6 +SHA512 (otp-OTP-26.2.5.12.tar.gz) = 58dcefcca96bbce4ab28518e4a5a2326cec6d2580b7316d5329553d1da7b03e8f395e2a586c9e7344426d549e450e1e3f3bb25528e3e5dc72eaa5505abe2197a From bfc9034d42bdcc49ae21f14993f9eb0758897719 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 16 Jun 2025 18:02:09 +0200 Subject: [PATCH 61/69] Erlang ver. 26.2.5.13 Signed-off-by: Peter Lemenkov --- erlang.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/erlang.spec b/erlang.spec index 1262a12..830d088 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.5.12 +Version: 26.2.5.13 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment diff --git a/sources b/sources index 73f4c57..6ee0529 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.12.tar.gz) = 58dcefcca96bbce4ab28518e4a5a2326cec6d2580b7316d5329553d1da7b03e8f395e2a586c9e7344426d549e450e1e3f3bb25528e3e5dc72eaa5505abe2197a +SHA512 (otp-OTP-26.2.5.13.tar.gz) = c707a4ef6a45541f0afd1eb0f75b8dc9e1750781ee1072327d43ed19c02bb721f4fc242b12c30b32cb90622f187e0a28421a8bf11dcede0c14f5b6eb5b7224ad From 84f099dbec611e23341b69e4d3b2dd268ea7fb8c Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 18 Jun 2025 07:49:37 -0400 Subject: [PATCH 62/69] Rename typer (in /usr/bin) to erlang-typer; fixes RHBZ#2359567 - Add Conflicts with python3-typer-cli to erlang-dialyzer in F41/F42 - Fix a conditional that would not work on EPEL --- erlang.spec | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/erlang.spec b/erlang.spec index 830d088..b1bca69 100644 --- a/erlang.spec +++ b/erlang.spec @@ -69,7 +69,7 @@ Name: erlang Version: 26.2.5.13 -Release: 1%{?dist} +Release: 2%{?dist} Summary: General-purpose programming language and runtime environment License: Apache-2.0 @@ -240,7 +240,7 @@ A byte code compiler for Erlang which produces highly compact code. %package crypto Summary: Cryptographical support BuildRequires: pkgconfig(openssl) -%if 0%{fedora} > 40 +%if 0%{?fedora} > 40 BuildRequires: openssl-devel-engine %endif Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -938,6 +938,19 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_unitdir}/epmd@.socket %if %{__with_wxwidgets} echo "No need to fix additional scripts" +# Fix file conflict w/ python3-typer-cli by renaming our typer to erlang-typer. +# We only rename the symlink in %%{_bindir}, not its direct and indirect +# targets in subdirectories of %%{_libdir}. +# +# File conflicts: /usr/bin/typer between erlang-dialyzer and python3-typer-cli +# https://bugzilla.redhat.com/show_bug.cgi?id=2359567 +mv %{buildroot}%{_bindir}/typer %{buildroot}%{_bindir}/erlang-typer +%if %{with doc} +mv %{buildroot}%{_mandir}/man1/typer.1 \ + %{buildroot}%{_mandir}/man1/erlang-typer.1 +sed -r -i 's/^(\.TH[[:blank:]]+)?(typer)\b/\1erlang-\2/' \ + %{buildroot}%{_mandir}/man1/erlang-typer.1 +%endif %else # FIXME workaround for broken Erlang install procedure echo "Removing scripts which won't work w/o wxWidgets anyway" @@ -1043,14 +1056,14 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %files dialyzer %{_bindir}/dialyzer # FIXME FIXME FIXME this must be installed properly!!!!!! -%{_bindir}/typer +%{_bindir}/erlang-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} -%{_mandir}/man1/typer.* +%{_mandir}/man1/erlang-typer.* %{_mandir}/man3/dialyzer.* %endif %endif # __with_wxwidgets @@ -1961,6 +1974,9 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %changelog +* Wed Jun 18 2025 Benjamin A. Beasley - 26.2.5.13-2 +- Rename typer (in /usr/bin) to erlang-typer; fixes RHBZ#2359567 + * Fri Mar 28 2025 Peter Lemenkov - 26.2.5.10-1 - Ver. 26.2.5.10 From c953b384903c43db17fc27659294b328076ad7c1 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 19 Jun 2025 13:25:27 +0200 Subject: [PATCH 63/69] Missed %changelog entries Signed-off-by: Peter Lemenkov --- erlang.spec | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/erlang.spec b/erlang.spec index b1bca69..9fa05e5 100644 --- a/erlang.spec +++ b/erlang.spec @@ -1977,6 +1977,15 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests * Wed Jun 18 2025 Benjamin A. Beasley - 26.2.5.13-2 - Rename typer (in /usr/bin) to erlang-typer; fixes RHBZ#2359567 +* Mon Jun 16 2025 Peter Lemenkov - 26.2.5.13-1 +- Ver. 26.2.5.13 + +* Thu May 8 2025 Peter Lemenkov - 26.2.5.12-1 +- Ver. 26.2.5.12 + +* Wed Apr 16 2025 Peter Lemenkov - 26.2.5.11-1 +- Ver. 26.2.5.11 + * Fri Mar 28 2025 Peter Lemenkov - 26.2.5.10-1 - Ver. 26.2.5.10 From 083a1581a8eff56f46fcc42b1ae626e1d5f53f74 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 19 Jun 2025 13:26:04 +0200 Subject: [PATCH 64/69] Add GDB tools Signed-off-by: Peter Lemenkov --- erlang.spec | 15 ++ otp-0009-Add-GDB-tools.patch | 464 +++++++++++++++++++++++++++++++++++ 2 files changed, 479 insertions(+) create mode 100644 otp-0009-Add-GDB-tools.patch diff --git a/erlang.spec b/erlang.spec index 9fa05e5..ef2cc9c 100644 --- a/erlang.spec +++ b/erlang.spec @@ -106,10 +106,13 @@ Patch5: otp-0005-Do-not-install-nteventlog-and-related-doc-files-on-n.patch Patch6: otp-0006-Add-extra-search-directory.patch Patch7: otp-0007-Avoid-forking-sed-to-get-basename.patch Patch8: otp-0008-Load-man-pages-from-system-wide-directory.patch +Patch9: otp-0009-Add-GDB-tools.patch # end of autogenerated patch tag list BuildRequires: gcc BuildRequires: gcc-c++ +# For gdb-tools +BuildRequires: gdb BuildRequires: flex BuildRequires: make @@ -421,6 +424,13 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release} %description ftp FTP client. +%package gdb-tools +Summary: GDB plugin +Requires: gdb + +%description gdb-tools +GDB plugin. + %package inets Summary: A set of services such as a Web server and a HTTP client etc Requires: %{name}-erts%{?_isa} = %{version}-%{release} @@ -968,6 +978,8 @@ install -d -p -m 0755 %{buildroot}%{_datadir}/erlang/lib install -m0644 -D erlang.sysusers.conf %{buildroot}%{_sysusersdir}/erlang.conf +# GDB tools +install -D -p -m 0755 ./bin/*/jit-reader.so %{buildroot}%{_libdir}/gdb/jit-reader.so %check TARGET="$(make target_configured)" @@ -1287,6 +1299,9 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %{_mandir}/man3/ftp.* %endif +%files gdb-tools +%{_libdir}/gdb/jit-reader.so + %files inets %dir %{_libdir}/erlang/lib/inets-*/ %{_libdir}/erlang/lib/inets-*/ebin diff --git a/otp-0009-Add-GDB-tools.patch b/otp-0009-Add-GDB-tools.patch new file mode 100644 index 0000000..462324e --- /dev/null +++ b/otp-0009-Add-GDB-tools.patch @@ -0,0 +1,464 @@ +From: Peter Lemenkov +Date: Thu, 19 Jun 2025 13:17:52 +0200 +Subject: [PATCH] Add GDB tools + +* https://github.com/erlang/otp-gdb-tools +* Commit 7b864f58c534699e4124e31ecfda86041b941037. + +Signed-off-by: Peter Lemenkov + +diff --git a/erts/etc/unix/gdb-tools/README.md b/erts/etc/unix/gdb-tools/README.md +new file mode 100644 +index 0000000000..8a6cf92b1d +--- /dev/null ++++ b/erts/etc/unix/gdb-tools/README.md +@@ -0,0 +1,42 @@ ++# Erlang/OTP GDB Tools ++ ++This repository contains GDB tools that cannot ++be part of the main Erlang/OTP repository for licensing ++reasons. The tools are used when building and debugging ++Erlang/OTP with gdb and are installed as needed by the ++Erlang/OTP build system. ++ ++Right now the only tool in this repository is the jit-reader ++which is a plugin to gdb that allows it to read the stack of ++Erlang processes when using the JIT. This allows commands ++such as `backtrace` to show Erlang stackframes. For example: ++ ++``` ++(gdb) bt ++#0 0x00007fffa40005ee in global::call_bif_shared () ++#1 0x00007fffa411eaac in erl_eval:eval_lc1/7 () at erl_eval.erl:929 ++#2 0x00007fffa411e7bc in erl_eval:eval_lc/7 () at erl_eval.erl:917 ++#3 0x00007fffa4296528 in lists:map_1/2 () at lists.erl:2082 ++#4 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 ++#5 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 ++#6 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 ++..... ++#98 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 ++#99 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 ++#100 0x00007fffa4296554 in lists:map_1/2 () at lists.erl:2082 ++#101 0x00007fffa42963d4 in lists:map/2 () at lists.erl:2077 ++#102 0x00007fffa411e45c in erl_eval:do_apply/7 () at erl_eval.erl:904 ++#103 0x00007fffa45f4c58 in shell:exprs/7 () at shell.erl:893 ++#104 0x00007fffa45f42c4 in shell:eval_exprs/7 () at shell.erl:849 ++#105 0x00007fffa45f3dac in shell:eval_loop/4 () at shell.erl:834 ++#106 0x00007fffa40024b8 in erts_beamasm:normal_exit/0-CodeInfoPrologue () ++Backtrace stopped: previous frame inner to this frame (corrupt stack?) ++(gdb) ++``` ++ ++## Updates of jit-reader ++ ++When updating jit-reader you first need to update this repository ++and push the new version here. Then you need to run ++`./otp_build update_gdb_tools` in the Erlang/OTP repo for ++it to use the correct commit. +diff --git a/erts/etc/unix/gdb-tools/jit-reader.c b/erts/etc/unix/gdb-tools/jit-reader.c +new file mode 100644 +index 0000000000..3c39c5540d +--- /dev/null ++++ b/erts/etc/unix/gdb-tools/jit-reader.c +@@ -0,0 +1,386 @@ ++#include ++ ++#include ++#include ++#include ++#include ++ ++/* Useful links ++ * - https://pwparchive.wordpress.com/2011/11/20/new-jit-interface-for-gdb/ ++ * - https://sourceware.org/gdb/current/onlinedocs/gdb/Custom-Debug-Info.html ++ * - https://github.com/tetzank/asmjit-utilities ++ * - https://github.com/bminor/binutils-gdb/blob/master/gdb/testsuite/gdb.base/jitreader.c ++ */ ++ ++GDB_DECLARE_GPL_COMPATIBLE_READER ++ ++#if 0 ++#define HARD_DEBUG ++static FILE *log = NULL; ++#define LOG(...) do { fprintf(log, ##__VA_ARGS__); fflush(log); } while(0) ++#else ++#define LOG(...) ++#endif ++ ++typedef enum { ++ X64_RBP = 6, /* Frame pointer iff native frames are enabled */ ++ X64_RSP = 7, /* Stack pointer when using native stack */ ++ X64_R12 = 12, /* Stack pointer when using non-native stack */ ++ X64_R13 = 13, /* Current process */ ++ X64_RIP = 16 ++} X64Register; ++ ++typedef enum { ++ /* Return address only */ ++ ERTS_FRAME_LAYOUT_RA, ++ /* Frame pointer, return address */ ++ ERTS_FRAME_LAYOUT_FP_RA ++} ErtsFrameLayout; ++ ++struct emulator_info { ++ /* 0 = regular, 1 = frame pointers */ ++ int frame_layout; ++ const void *normal_exit; ++}; ++ ++struct erlang_module_info { ++ uint64_t base_address; ++ uint32_t range_count; ++ uint32_t code_size; ++ /* Module name, including null terminator. */ ++ uint16_t name_length; ++ char name[]; ++ /* array of range_info structures */ ++}; ++ ++struct range_info { ++ uint32_t start_offset; ++ uint32_t end_offset; ++ uint32_t line_count; ++ /* Range name, including null terminator. */ ++ uint16_t name_length; ++ char name[]; ++ /* array of line_info structures */ ++}; ++ ++struct line_info { ++ uint32_t start_offset; ++ uint32_t line_number; ++ /* File name, including null terminator. */ ++ uint16_t file_length; ++ char file[]; ++}; ++ ++enum debug_info_header { ++ DEBUG_INFO_HEADER_EMULATOR = 0, ++ DEBUG_INFO_HEADER_MODULE = 1, ++}; ++ ++struct debug_info { ++ enum debug_info_header header; ++ union { ++ struct emulator_info emu; ++ struct erlang_module_info mod; ++ } payload; ++}; ++ ++typedef struct range { ++ GDB_CORE_ADDR start; ++ GDB_CORE_ADDR end; ++#ifdef HARD_DEBUG ++ char *name; ++#endif ++} range; ++ ++typedef struct priv { ++ range *ranges; ++ int num_ranges; ++ ErtsFrameLayout frame_layout; ++ const void *normal_exit; ++} priv; ++ ++static enum gdb_status read_module_info(struct gdb_reader_funcs *self, ++ struct gdb_symbol_callbacks *cb, ++ struct erlang_module_info *module_info) { ++ struct gdb_object *obj = cb->object_open(cb); ++ GDB_CORE_ADDR mod_start, mod_end; ++ char *symfile = (char*)module_info; ++ priv *priv = self->priv_data; ++ ++ symfile += sizeof(*module_info) + module_info->name_length; ++ ++ mod_start = module_info->base_address; ++ mod_end = mod_start + module_info->code_size; ++ ++ priv->ranges = realloc(priv->ranges, (priv->num_ranges + 1) * sizeof(range)); ++ priv->ranges[priv->num_ranges].start = mod_start; ++ priv->ranges[priv->num_ranges].end = mod_end; ++#ifdef HARD_DEBUG ++ priv->ranges[priv->num_ranges].name = strdup(module_info->name); ++#endif ++ priv->num_ranges += 1; ++ ++ LOG("Add module `%s` (0x%lx, 0x%lx)\r\n", ++ module_info->name, mod_start, mod_end); ++ ++ for (int range = 0; range < module_info->range_count; range++) { ++ struct range_info *range_info; ++ struct gdb_symtab *symtab; ++ GDB_CORE_ADDR begin, end; ++ ++ range_info = (struct range_info *)symfile; ++ symfile += sizeof(*range_info) + range_info->name_length; ++ ++ begin = mod_start + range_info->start_offset; ++ end = mod_start + range_info->end_offset; ++ ++ LOG("Add range `%s` (0x%lx, 0x%lx), %u lines\r\n", ++ range_info->name, ++ begin, end, ++ range_info->line_count); ++ ++ /* A bug in GDB < 9 forces us to open and close the symtab for each ++ * iteration. */ ++ symtab = cb->symtab_open(cb, obj, module_info->name); ++ cb->block_open(cb, symtab, NULL, begin, end, range_info->name); ++ cb->symtab_close(cb, symtab); ++ ++ for (int line = 0; line < range_info->line_count; line++) { ++ struct gdb_line_mapping line_mapping; ++ struct line_info *line_info; ++ ++ line_info = (struct line_info *)symfile; ++ symfile += sizeof(*line_info) + line_info->file_length; ++ ++ line_mapping.pc = mod_start + line_info->start_offset; ++ line_mapping.line = line_info->line_number; ++ ++ LOG("\t%s:%u\r\n", line_info->file, line_info->line_number); ++ ++ /* The symbol table must be opened and closed on every single line ++ * for file names to work properly, as there is no other way to ++ * tell GDB that a certain line belongs to a different file than ++ * the rest of the table. Sigh. */ ++ symtab = cb->symtab_open(cb, obj, line_info->file); ++ ++ cb->block_open(cb, symtab, NULL, line_mapping.pc, end, ++ range_info->name); ++ cb->line_mapping_add(cb, symtab, 1, &line_mapping); ++ cb->symtab_close(cb, symtab); ++ } ++ } ++ ++ cb->object_close(cb, obj); ++ ++ return GDB_SUCCESS; ++} ++ ++static enum gdb_status read_emulator_info(struct gdb_reader_funcs *self, ++ struct gdb_symbol_callbacks *cb, ++ struct emulator_info *emulator_info) { ++ priv *priv = self->priv_data; ++ ++ priv->frame_layout = emulator_info->frame_layout; ++ priv->normal_exit = emulator_info->normal_exit; ++ ++ LOG("initialize: frame layout = %i\r\n", priv->frame_layout); ++ ++ return GDB_SUCCESS; ++} ++ ++static enum gdb_status read_debug_info(struct gdb_reader_funcs *self, ++ struct gdb_symbol_callbacks *cb, ++ void *memory, long memory_sz) { ++ struct debug_info *debug_info = memory; ++ ++ (void)memory_sz; ++ ++ switch (debug_info->header) { ++ case DEBUG_INFO_HEADER_EMULATOR: ++ return read_emulator_info(self, cb, &debug_info->payload.emu); ++ case DEBUG_INFO_HEADER_MODULE: ++ return read_module_info(self, cb, &debug_info->payload.mod); ++ } ++ ++ return GDB_FAIL; ++} ++ ++static void regfree(struct gdb_reg_value *reg) { ++ free(reg); ++} ++ ++static struct range *get_range(priv *priv, GDB_CORE_ADDR rip) { ++ for (int i = 0; i < priv->num_ranges; i++) { ++ if (rip >= priv->ranges[i].start && rip < priv->ranges[i].end) { ++ return &priv->ranges[i]; ++ } ++ } ++ ++ return NULL; ++} ++ ++static enum gdb_status unwind(struct gdb_reader_funcs *self, ++ struct gdb_unwind_callbacks *cb) { ++ GDB_CORE_ADDR rbp, rsp, rip; ++ struct range *range; ++ priv *priv; ++ ++ rbp = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RBP)->value; ++ rsp = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RSP)->value; ++ rip = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RIP)->value; ++ ++ priv = self->priv_data; ++ range = get_range(priv, rip); ++ ++ /* Check that rip points to one of the addresses that we handle */ ++ if (range) { ++ struct gdb_reg_value *prev_rbp, *prev_rsp, *prev_rip; ++ ++ prev_rbp = malloc(sizeof(struct gdb_reg_value) + sizeof(char*)); ++ prev_rsp = malloc(sizeof(struct gdb_reg_value) + sizeof(char*)); ++ prev_rip = malloc(sizeof(struct gdb_reg_value) + sizeof(char*)); ++ ++ LOG("UNWIND match %s: rbp: 0x%lx rsp: 0x%lx rip: 0x%lx \r\n", ++ range->name, rbp, rsp, rip); ++ ++ prev_rbp->free = ®free; ++ prev_rbp->defined = 1; ++ prev_rbp->size = sizeof(char*); ++ prev_rsp->free = ®free; ++ prev_rsp->defined = 1; ++ prev_rsp->size = sizeof(char*); ++ prev_rip->free = ®free; ++ prev_rip->defined = 1; ++ prev_rip->size = sizeof(char*); ++ ++ if (priv->frame_layout == ERTS_FRAME_LAYOUT_FP_RA) { ++ /* Frame pointers are enabled, which means that rbp will point to ++ * where we stored the previous frames rbp. Also the previous ++ * frames address will be at rbp + 8 and the previous frames rsp ++ * will be rbp + 16. ++ * ++ * 0x00: <- prev_rsp ++ * 0x08: prev call addr ++ * 0x10: prev rbp <- curr rbp ++ * 0x18: current frame ++ * 0x20: <- curr rip */ ++ cb->target_read(rbp + 1 * sizeof(char*), &prev_rip->value, ++ sizeof(char*)); ++ cb->target_read(rbp + 0 * sizeof(char*), &prev_rbp->value, ++ sizeof(char*)); ++ *(GDB_CORE_ADDR*)prev_rsp->value = rbp + sizeof(char*[2]); ++ } else { ++ /* Normal frame layout, we need to scan the stack. */ ++ cb->target_read(rsp, &prev_rip->value, sizeof(char*)); ++ ++ for (rsp += sizeof(char*); ; rsp += sizeof(char*)) { ++ cb->target_read(rsp, &prev_rip->value, sizeof(char*)); ++ ++ LOG("rsp: 0x%lx rip: 0x%lx\r\n", ++ rsp, *(GDB_CORE_ADDR*)prev_rip->value); ++ ++ /* Check if it is a cp */ ++ if ((*(GDB_CORE_ADDR*)prev_rip->value & 0x3) == 0) { ++ break; ++ } ++ } ++ ++ *(GDB_CORE_ADDR*)prev_rsp->value = rsp; ++ *(GDB_CORE_ADDR*)prev_rbp->value = rsp - sizeof(char*); ++ } ++ ++ if (*(GDB_CORE_ADDR*)prev_rip->value == (uintptr_t)priv->normal_exit) { ++ LOG("Normal exit\r\n"); ++ *(GDB_CORE_ADDR*)prev_rsp->value = 0; ++ *(GDB_CORE_ADDR*)prev_rbp->value = 0; ++ } else { ++ LOG("UNWIND prev: rbp: 0x%lx rsp: 0x%lx rip: 0x%lx\r\n", ++ *(GDB_CORE_ADDR*)prev_rbp->value, ++ *(GDB_CORE_ADDR*)prev_rsp->value, ++ *(GDB_CORE_ADDR*)prev_rip->value); ++ } ++ ++ cb->reg_set(cb, X64_RIP, prev_rip); ++ cb->reg_set(cb, X64_RSP, prev_rsp); ++ cb->reg_set(cb, X64_RBP, prev_rbp); ++ ++ return GDB_SUCCESS; ++ } ++ ++ LOG("UNWIND no match: rbp: 0x%lx rsp: 0x%lx rip: 0x%lx\r\n", rbp, rsp, rip); ++ return GDB_FAIL; ++} ++ ++static struct gdb_frame_id get_frame_id(struct gdb_reader_funcs *self, ++ struct gdb_unwind_callbacks *cb){ ++ struct gdb_frame_id frame = {0, 0}; ++ GDB_CORE_ADDR rbp, rsp, rip; ++ struct range *range; ++ priv *priv; ++ ++ rbp = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RBP)->value; ++ rsp = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RSP)->value; ++ rip = *(GDB_CORE_ADDR*)cb->reg_get(cb, X64_RIP)->value; ++ ++ priv = self->priv_data; ++ range = get_range(priv, rip); ++ ++ LOG("FRAME: rip: 0x%lx rsp: 0x%lx rbp: 0x%lx \r\n", rip, rsp, rbp); ++ ++ if (range) { ++ frame.code_address = rip; ++ ++ if (priv->frame_layout == ERTS_FRAME_LAYOUT_FP_RA) { ++ frame.stack_address = rbp + sizeof(char*); ++ } else { ++ GDB_CORE_ADDR prev_rip; ++ ++ for (rsp += sizeof(char*); ; rsp += sizeof(char*)) { ++ cb->target_read(rsp, &prev_rip, sizeof(char*)); ++ ++ LOG("rsp: 0x%lx rip: 0x%lx\r\n", rsp, prev_rip); ++ ++ /* Check if it is a cp */ ++ if ((prev_rip & 0x3) == 0) { ++ break; ++ } ++ } ++ ++ frame.stack_address = rsp; ++ } ++ } ++ ++ LOG("FRAME: code_address: 0x%lx stack_address: 0x%lx\r\n", ++ frame.code_address, frame.stack_address); ++ ++ return frame; ++} ++ ++static void destroy(struct gdb_reader_funcs *self){ ++ free(self); ++} ++ ++struct gdb_reader_funcs *gdb_init_reader(void){ ++ struct gdb_reader_funcs *funcs = malloc(sizeof(struct gdb_reader_funcs)); ++ priv *priv_data = malloc(sizeof(priv)); ++ ++ priv_data->num_ranges = 1; ++ priv_data->ranges = malloc(sizeof(range)); ++ priv_data->ranges[0].start = 0; ++ priv_data->ranges[0].end = 0; ++ ++ funcs->reader_version = GDB_READER_INTERFACE_VERSION; ++ funcs->priv_data = priv_data; ++ ++ funcs->read = read_debug_info; ++ funcs->unwind = unwind; ++ funcs->get_frame_id = get_frame_id; ++ funcs->destroy = destroy; ++ ++#ifdef HARD_DEBUG ++ log = fopen("/tmp/jit-reader.log","w+"); ++ if (!log) fprintf(stderr,"Could not open /tmp/jit-reader.log"); ++#endif ++ ++ return funcs; ++} +diff --git a/erts/etc/unix/gdb-tools/jit-reader.mk b/erts/etc/unix/gdb-tools/jit-reader.mk +new file mode 100644 +index 0000000000..8ef0bccec2 +--- /dev/null ++++ b/erts/etc/unix/gdb-tools/jit-reader.mk +@@ -0,0 +1,9 @@ ++EXTRA_LIBS = $(BINDIR)/jit-reader.so ++ ++jit-reader: $(EXTRA_LIBS) ++ ++$(OBJDIR)/jit-reader.o: $(GDB_TOOLS)/jit-reader.c $(GDB_TOOLS)/jit-reader.h ++ $(V_CC) $(DED_CFLAGS) -I$(ETC) -o $@ -c $< ++ ++$(BINDIR)/jit-reader.so: $(OBJDIR)/jit-reader.o ++ $(V_LD) $(DED_LDFLAGS) -o $@ $^ From bcf126e0f2692e318f7b168078ccbf08821662b0 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 20 Jun 2025 21:14:35 +0200 Subject: [PATCH 65/69] Bump release number Signed-off-by: Peter Lemenkov --- erlang.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index ef2cc9c..f81d9be 100644 --- a/erlang.spec +++ b/erlang.spec @@ -69,7 +69,7 @@ Name: erlang Version: 26.2.5.13 -Release: 2%{?dist} +Release: 3%{?dist} Summary: General-purpose programming language and runtime environment License: Apache-2.0 @@ -1989,6 +1989,9 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %changelog +* Fri Jun 20 2025 Peter Lemenkov - 26.2.5.13-3 +- Add GDB tools + * Wed Jun 18 2025 Benjamin A. Beasley - 26.2.5.13-2 - Rename typer (in /usr/bin) to erlang-typer; fixes RHBZ#2359567 From f43ad3bdaf58499158f65ea5fe5213acd56f9b5c Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 17 Jul 2025 20:48:21 +0200 Subject: [PATCH 66/69] Erlang ver. 26.2.5.14 Signed-off-by: Peter Lemenkov --- erlang.spec | 8 ++++++-- sources | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/erlang.spec b/erlang.spec index f81d9be..879c777 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,8 +68,8 @@ Name: erlang -Version: 26.2.5.13 -Release: 3%{?dist} +Version: 26.2.5.14 +Release: 1%{?dist} Summary: General-purpose programming language and runtime environment License: Apache-2.0 @@ -426,6 +426,7 @@ FTP client. %package gdb-tools Summary: GDB plugin +License: GPL-3.0-or-later Requires: gdb %description gdb-tools @@ -1989,6 +1990,9 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %changelog +* Thu Jul 17 2025 Peter Lemenkov - 26.2.5.14-1 +- Ver. 26.2.5.14 + * Fri Jun 20 2025 Peter Lemenkov - 26.2.5.13-3 - Add GDB tools diff --git a/sources b/sources index 6ee0529..c48157f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.13.tar.gz) = c707a4ef6a45541f0afd1eb0f75b8dc9e1750781ee1072327d43ed19c02bb721f4fc242b12c30b32cb90622f187e0a28421a8bf11dcede0c14f5b6eb5b7224ad +SHA512 (otp-OTP-26.2.5.14.tar.gz) = 49ab187d657efd45304685b2117aa8f9adc07a41864e13c1bb5c3b3893fcda4b5d3895bfe91a3dbcd5c3372f49b3aad9f4dafa6511755e6cab595ddd87c748cb From 4bc8ef38529402cc24f7c13ba4d3b06db89759ba Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 19:57:16 +0000 Subject: [PATCH 67/69] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- erlang.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erlang.spec b/erlang.spec index 879c777..18490bf 100644 --- a/erlang.spec +++ b/erlang.spec @@ -69,7 +69,7 @@ Name: erlang Version: 26.2.5.14 -Release: 1%{?dist} +Release: 2%{?dist} Summary: General-purpose programming language and runtime environment License: Apache-2.0 @@ -1990,6 +1990,9 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 26.2.5.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Thu Jul 17 2025 Peter Lemenkov - 26.2.5.14-1 - Ver. 26.2.5.14 From 5e7cc4ec01a5bfb1a150b0805266e1e6e706ef5c Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Wed, 10 Sep 2025 17:52:52 +0200 Subject: [PATCH 68/69] Erlang ver. 26.2.5.15 Signed-off-by: Peter Lemenkov --- erlang.spec | 9 +++++++-- sources | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/erlang.spec b/erlang.spec index 18490bf..a209a55 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,8 +68,8 @@ Name: erlang -Version: 26.2.5.14 -Release: 2%{?dist} +Version: 26.2.5.15 +Release: 1%{?dist} Summary: General-purpose programming language and runtime environment License: Apache-2.0 @@ -362,6 +362,8 @@ Provides: erlang(erl_drv_version) = 3.3 #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.17 Provides: bundled(pcre) = 8.44 +# git commit 965d19506ff2aed72e039b8c650b6ef5e9446b8c +Provides: bundled(asmjit) Obsoletes: erlang-appmon Obsoletes: erlang-docbuilder Obsoletes: erlang-gs @@ -1990,6 +1992,9 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests %changelog +* Wed Sep 10 2025 Peter Lemenkov - 26.2.5.15-1 +- Ver. 26.2.5.15 + * Wed Jul 23 2025 Fedora Release Engineering - 26.2.5.14-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild diff --git a/sources b/sources index c48157f..aa20cd0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.14.tar.gz) = 49ab187d657efd45304685b2117aa8f9adc07a41864e13c1bb5c3b3893fcda4b5d3895bfe91a3dbcd5c3372f49b3aad9f4dafa6511755e6cab595ddd87c748cb +SHA512 (otp-OTP-26.2.5.15.tar.gz) = e8ba73f8e742d94e7c9180ecaca5871cab5b871f22a1357d9c50ac36e99f6e448c7d8bf93c1083b7210de688b4dbd8ecbab34e314f7732ab94ea78cde4ba6ae4 From 8d152258bbce1e386884700478d68e3bb5cdd968 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 7 Nov 2025 17:22:57 +0100 Subject: [PATCH 69/69] Erlang ver. 26.2.5.16 Signed-off-by: Peter Lemenkov --- erlang.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/erlang.spec b/erlang.spec index a209a55..878fb41 100644 --- a/erlang.spec +++ b/erlang.spec @@ -68,7 +68,7 @@ Name: erlang -Version: 26.2.5.15 +Version: 26.2.5.16 Release: 1%{?dist} Summary: General-purpose programming language and runtime environment diff --git a/sources b/sources index aa20cd0..674a546 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (otp-OTP-26.2.5.15.tar.gz) = e8ba73f8e742d94e7c9180ecaca5871cab5b871f22a1357d9c50ac36e99f6e448c7d8bf93c1083b7210de688b4dbd8ecbab34e314f7732ab94ea78cde4ba6ae4 +SHA512 (otp-OTP-26.2.5.16.tar.gz) = 4e973be7e8ccad196d59759108a521535b0f046268eb0406f789a50f411fa27c9c11fcfb61a7218605bf1b32921bb52c52fc7c99917e1acfc0d3ed09437129b2