From 986d3f3ba728fffccf1f3df7f0679c68ea91952f Mon Sep 17 00:00:00 2001 From: Jonathan Wright Date: Fri, 31 May 2024 15:38:58 -0500 Subject: [PATCH 01/27] 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 02/27] 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 03/27] 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 04/27] 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 05/27] 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 06/27] 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 07/27] 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 08/27] 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 09/27] 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 10/27] 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 11/27] 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 12/27] 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 13/27] 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 14/27] 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 15/27] 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 16/27] 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 17/27] 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 18/27] 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 19/27] 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 20/27] 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 21/27] 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 22/27] 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 23/27] 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 24/27] 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 25/27] 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 26/27] 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 27/27] 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