public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Peter Lemenkov <lemenkov@gmail.com>
To: git-commits@fedoraproject.org
Subject: [rpms/erlang] rawhide: Erlang ver. 27.3.4.13
Date: Thu, 25 Jun 2026 10:44:37 GMT	[thread overview]
Message-ID: <178238427744.1.2977027720729414351.rpms-erlang-74a767667630@fedoraproject.org> (raw)

            A new commit has been pushed.

            Repo   : rpms/erlang
            Branch : rawhide
            Commit : 74a76766763065bffc8c4f8758aebaccbbab2a0b
            Author : Peter Lemenkov <lemenkov@gmail.com>
            Date   : 2026-06-25T12:43:40+02:00
            Stats  : +150/-259 in 12 file(s)
            URL    : https://src.fedoraproject.org/rpms/erlang/c/74a76766763065bffc8c4f8758aebaccbbab2a0b?branch=rawhide

            Log:
            Erlang ver. 27.3.4.13

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>

---
diff --git a/erlang.spec b/erlang.spec
index 5fff741..5796eec 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -8,8 +8,8 @@
 # default
 %bcond_with doc
 %else
-# RHEL8 doesn't have fop
-%if 0%{?rhel} > 7
+# RHEL8 doesn't have fop and Fedora doesn't have ex_docs yet
+%if 0%{?rhel} > 7 || 0%{?fedora} > 44
 %bcond_with doc
 %else
 %bcond_without doc
@@ -69,8 +69,8 @@
 
 
 Name:		erlang
-Version:	26.2.5.21
-Release:	3%{?dist}
+Version:	27.3.4.13
+Release:	1%{?dist}
 Summary:	General-purpose programming language and runtime environment
 
 License:	Apache-2.0
@@ -108,7 +108,7 @@ 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
-Patch10: otp-0010-Fix-absolute-path-leak-from-SSH_FXP_READLINK.patch
+Patch10: otp-0010-erts-Fix-some-possibly-unitialized-warnings.patch
 # end of autogenerated patch tag list
 
 BuildRequires:	gcc
@@ -149,7 +149,6 @@ Requires: %{name}-dialyzer%{?_isa} = %{version}-%{release}
 Requires: %{name}-diameter%{?_isa} = %{version}-%{release}
 Requires: %{name}-edoc%{?_isa} = %{version}-%{release}
 Requires: %{name}-eldap%{?_isa} = %{version}-%{release}
-Requires: %{name}-erl_docgen%{?_isa} = %{version}-%{release}
 Requires: %{name}-erl_interface%{?_isa} = %{version}-%{release}
 Requires: %{name}-erts%{?_isa} = %{version}-%{release}
 %if %{__with_wxwidgets}
@@ -245,7 +244,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 || 0%{?fedora} < 45
 BuildRequires: openssl-devel-engine
 %endif
 Requires: %{name}-erts%{?_isa} = %{version}-%{release}
@@ -300,8 +299,7 @@ Diameter (RFC 3588) library
 %if %{with doc}
 %package doc
 Summary: Erlang documentation
-BuildRequires: fop
-BuildRequires: libxslt
+#BuildRequires: erlang-ex_doc
 
 %description doc
 Documentation for Erlang.
@@ -330,16 +328,6 @@ Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
 %description eldap
 Erlang LDAP library.
 
-%package erl_docgen
-Summary: A utility used to generate erlang HTML documentation
-Requires: %{name}-edoc%{?_isa} = %{version}-%{release}
-Requires: %{name}-erts%{?_isa} = %{version}-%{release}
-Requires: %{name}-stdlib%{?_isa} = %{version}-%{release}
-Requires: %{name}-xmerl%{?_isa} = %{version}-%{release}
-
-%description erl_docgen
-A utility used to generate erlang HTML documentation.
-
 %package erl_interface
 Summary: Low level interface to C
 Requires: %{name}-erts%{?_isa} = %{version}-%{release}
@@ -366,19 +354,20 @@ 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
-Obsoletes: erlang-hipe
-Obsoletes: erlang-inviso
-Obsoletes: erlang-ose
-Obsoletes: erlang-otp_mibs
+Obsoletes: %{name}-appmon
+Obsoletes: %{name}-docbuilder
+Obsoletes: %{name}-erl_docgen
+Obsoletes: %{name}-gs
+Obsoletes: %{name}-hipe
+Obsoletes: %{name}-inviso
+Obsoletes: %{name}-ose
+Obsoletes: %{name}-otp_mibs
 # Moved to https://github.com/erlang/percept
-Obsoletes: erlang-percept < 20.2.3
-Obsoletes: erlang-pman
-Obsoletes: erlang-toolbar
-Obsoletes: erlang-tv
-Obsoletes: erlang-webtool
+Obsoletes: %{name}-percept < 20.2.3
+Obsoletes: %{name}-pman
+Obsoletes: %{name}-toolbar
+Obsoletes: %{name}-tv
+Obsoletes: %{name}-webtool
 
 %description erts
 Functionality necessary to run the Erlang System itself.
@@ -1097,12 +1086,6 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests
 %{_mandir}/man3/eldap.*
 %endif
 
-%files erl_docgen
-%{_libdir}/erlang/lib/erl_docgen-*/
-%if %{with doc}
-%{_mandir}/man6/erl_docgen.*
-%endif
-
 %files erl_interface
 %{_libdir}/erlang/bin/erl_call
 %{_libdir}/erlang/erts-*/bin/erl_call
@@ -1957,6 +1940,9 @@ ERL_TOP=${ERL_TOP} make TARGET=${TARGET} release_tests
 
 
 %changelog
+* Thu Jun 25 2026 Peter Lemenkov <lemenkov@gmail.com> - 27.3.4.13-1
+- Erlang 27.
+
 * Sat Jun 13 2026 Peter Lemenkov <lemenkov@gmail.com> - 26.2.5.21-3
 - Backport fix for CVE-2026-48855
 

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 270792a..37fe25f 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 <lemenkov@gmail.com>
 
 diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in
-index 42af9c87dc..c017e0a4ed 100644
+index 919d32869d..513b89ae30 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 5cadc0c..8fbc804 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 <lemenkov@gmail.com>
 
 diff --git a/lib/crypto/c_src/Makefile.in b/lib/crypto/c_src/Makefile.in
-index aedc9e7a13..b27c2aa01b 100644
+index c67782e7bd..f16bccdd02 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 23056c4..b531906 100644
--- a/otp-0003-Do-not-install-C-sources.patch
+++ b/otp-0003-Do-not-install-C-sources.patch
@@ -27,7 +27,7 @@ index 82a6b6e87a..5f2fe8ba7d 100644
  release_docs_spec:
  
 diff --git a/lib/erl_interface/src/Makefile.in b/lib/erl_interface/src/Makefile.in
-index fa1ea3cd39..b977b6afe5 100644
+index 04eecfb937..efac11f4cd 100644
 --- a/lib/erl_interface/src/Makefile.in
 +++ b/lib/erl_interface/src/Makefile.in
 @@ -715,13 +715,11 @@ ifeq (@DYNAMIC_LIB@, yes)
@@ -50,7 +50,7 @@ index fa1ea3cd39..b977b6afe5 100644
  release_docs:
  
 diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in
-index 3649e2c392..d8c5c68b99 100644
+index 828efee44b..652dfb245f 100644
 --- a/lib/megaco/src/flex/Makefile.in
 +++ b/lib/megaco/src/flex/Makefile.in
 @@ -251,7 +251,7 @@ release_spec: opt
@@ -63,7 +63,7 @@ index 3649e2c392..d8c5c68b99 100644
  endif
  
 diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in
-index d1b26743a6..cf8faae1f5 100644
+index f6970f0d27..ee61f5747f 100644
 --- a/lib/odbc/c_src/Makefile.in
 +++ b/lib/odbc/c_src/Makefile.in
 @@ -129,11 +129,8 @@ include $(ERL_TOP)/make/otp_release_targets.mk

diff --git a/otp-0004-Do-not-install-Java-sources.patch b/otp-0004-Do-not-install-Java-sources.patch
index a8037ea..469ed08 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 <lemenkov@gmail.com>
 
 diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile b/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
-index 089cf4ab1a..404654a437 100644
+index 1445eea604..d02cf5644f 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 1965881..fb41ef0 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
@@ -5,28 +5,6 @@ Subject: [PATCH] Do not install nteventlog and related doc-files on non-win32
 
 Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
 
-diff --git a/lib/os_mon/doc/src/Makefile b/lib/os_mon/doc/src/Makefile
-index 8e3882bfdc..ea999cf9c7 100644
---- a/lib/os_mon/doc/src/Makefile
-+++ b/lib/os_mon/doc/src/Makefile
-@@ -31,11 +31,16 @@ APPLICATION=os_mon
- # Target Specs
- # ----------------------------------------------------
- XML_APPLICATION_FILES = ref_man.xml
-+ifeq ($(findstring win32,$(TARGET)),win32)
-+NTEVENTLOG_DOCFILE=nteventlog.xml
-+else
-+NTEVENTLOG_DOCFILE=
-+endif
- XML_REF3_FILES = cpu_sup.xml \
- 	disksup.xml \
- 	memsup.xml \
- 	os_sup.xml \
--	nteventlog.xml
-+	$(NTEVENTLOG_DOCFILE)
- 
- XML_REF6_FILES = os_mon_app.xml
- 
 diff --git a/lib/os_mon/src/Makefile b/lib/os_mon/src/Makefile
 index e28fb12548..ee32f3946f 100644
 --- a/lib/os_mon/src/Makefile

diff --git a/otp-0006-Add-extra-search-directory.patch b/otp-0006-Add-extra-search-directory.patch
index 2f872ef..6e54599 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 <lemenkov@gmail.com>
 
 diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl
-index 7327636751..2e92e77598 100644
+index 076becc725..b847ecf55c 100644
 --- a/lib/kernel/src/code_server.erl
 +++ b/lib/kernel/src/code_server.erl
-@@ -90,11 +90,17 @@ init(Ref, Parent, [Root,Mode]) ->
+@@ -99,11 +99,17 @@ init(Ref, Parent, [Root,Mode]) ->
      IPath =
  	case Mode of
  	    interactive ->

diff --git a/otp-0008-Load-man-pages-from-system-wide-directory.patch b/otp-0008-Load-man-pages-from-system-wide-directory.patch
index 8b3433d..e128fce 100644
--- a/otp-0008-Load-man-pages-from-system-wide-directory.patch
+++ b/otp-0008-Load-man-pages-from-system-wide-directory.patch
@@ -7,13 +7,13 @@ 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 286133c7a8..70ff7389f9 100644
+index c7fb1fcb29..2f8f15df67 100644
 --- a/erts/etc/common/erlexec.c
 +++ b/erts/etc/common/erlexec.c
-@@ -716,8 +716,10 @@ int main(int argc, char **argv)
- 			error("-man not supported on Windows");
- #else
- 			argv[i] = "man";
+@@ -758,8 +758,10 @@ int main(int argc, char **argv)
+                                 break;
+                             }
+                         }
 -			erts_snprintf(tmpStr, sizeof(tmpStr), "%s/man", rootdir);
 -			set_env("MANPATH", tmpStr);
 +			/*

diff --git a/otp-0009-Add-GDB-tools.patch b/otp-0009-Add-GDB-tools.patch
index 462324e..ec1d51e 100644
--- a/otp-0009-Add-GDB-tools.patch
+++ b/otp-0009-Add-GDB-tools.patch
@@ -449,7 +449,7 @@ index 0000000000..3c39c5540d
 +}
 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
+index 0000000000..3de83a62df
 --- /dev/null
 +++ b/erts/etc/unix/gdb-tools/jit-reader.mk
 @@ -0,0 +1,9 @@
@@ -457,7 +457,7 @@ index 0000000000..8ef0bccec2
 +
 +jit-reader: $(EXTRA_LIBS)
 +
-+$(OBJDIR)/jit-reader.o: $(GDB_TOOLS)/jit-reader.c $(GDB_TOOLS)/jit-reader.h
++$(OBJDIR)/jit-reader.o: $(GDB_TOOLS)/jit-reader.c
 +	$(V_CC) $(DED_CFLAGS) -I$(ETC) -o $@ -c $<
 +
 +$(BINDIR)/jit-reader.so: $(OBJDIR)/jit-reader.o

diff --git a/otp-0010-Fix-absolute-path-leak-from-SSH_FXP_READLINK.patch b/otp-0010-Fix-absolute-path-leak-from-SSH_FXP_READLINK.patch
deleted file mode 100644
index 7394d52..0000000
--- a/otp-0010-Fix-absolute-path-leak-from-SSH_FXP_READLINK.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From: =?UTF-8?q?Micha=C5=82=20W=C4=85sowski?= <michal@erlang.org>
-Date: Mon, 8 Jun 2026 20:26:37 +0200
-Subject: [PATCH] Fix absolute path leak from SSH_FXP_READLINK
-
-(cherry picked from commit 8f4224a0d2676b0653d2c71a889a956e8c2c62d6)
-
-diff --git a/lib/ssh/src/ssh_sftpd.erl b/lib/ssh/src/ssh_sftpd.erl
-index e0f8ce2a8f..ea29fb7c02 100644
---- a/lib/ssh/src/ssh_sftpd.erl
-+++ b/lib/ssh/src/ssh_sftpd.erl
-@@ -385,8 +385,10 @@ handle_op(?SSH_FXP_READLINK, ReqId, <<?UINT32(PLen), RelPath:PLen/binary>>,
-     {Res, FS1} = FileMod:read_link(AbsPath, FS0),
-     case Res of
- 	{ok, NewPath} ->
--	    ssh_xfer:xf_send_name(State#state.xf, ReqId, NewPath,
--				  #ssh_xfer_attr{type=regular});
-+        AbsTarget = filename:absname(NewPath, filename:dirname(AbsPath)),
-+        ChrootedPath = chroot_filename(canonicalize_filename(AbsTarget), State),
-+        ssh_xfer:xf_send_name(State#state.xf, ReqId, ChrootedPath,
-+                              #ssh_xfer_attr{type=regular});
- 	{error, Error} ->
- 	    ssh_xfer:xf_send_status(State#state.xf, ReqId,
- 				    ssh_xfer:encode_erlang_status(Error))
-diff --git a/lib/ssh/test/ssh_sftpd_SUITE.erl b/lib/ssh/test/ssh_sftpd_SUITE.erl
-index 55c0401427..cb2eee14e7 100644
---- a/lib/ssh/test/ssh_sftpd_SUITE.erl
-+++ b/lib/ssh/test/ssh_sftpd_SUITE.erl
-@@ -35,6 +35,7 @@
- 
- -export([access_outside_root/1,
-          links/1,
-+         links_root/1,
-          mk_rm_dir/1,
-          open_close_dir/1,
-          open_close_file/1,
-@@ -97,6 +98,7 @@ all() ->
-      retrieve_attributes, 
-      set_attributes, 
-      links,
-+     links_root,
-      ver3_rename,
-      ver3_open_flags,
-      relpath,
-@@ -190,6 +192,14 @@ init_per_testcase(TestCase, Config) ->
- 			  SubSystems = [ssh_sftpd:subsystem_spec([{cwd, PrivDir},
- 								  {sftpd_vsn, 6}])],
- 			  ssh:daemon(0, [{subsystems, SubSystems}|Options]);
-+		      links ->
-+			  SubSystems = [ssh_sftpd:subsystem_spec([{cwd, PrivDir}])],
-+			  ssh:daemon(0, [{subsystems, SubSystems}|Options]);
-+		      links_root ->
-+			  RootDir = filename:join(PrivDir, links_root),
-+			  ok = file:make_dir(RootDir),
-+			  SubSystems = [ssh_sftpd:subsystem_spec([{root, RootDir}, {cwd, RootDir}])],
-+			  ssh:daemon(0, [{subsystems, SubSystems}|Options]);
- 		      _ ->
- 			  SubSystems = [ssh_sftpd:subsystem_spec(
-                                           [{max_handles, ?MAX_HANDLES},
-@@ -530,28 +540,108 @@ real_path(Config) when is_list(Config) ->
- %%--------------------------------------------------------------------
- links(Config) when is_list(Config) ->
-     case os:type() of
--	{win32, _} ->
--	    {skip, "Links are not fully supported by windows"};
--	_ ->
--	    ReqId = 0,
--	    {Cm, Channel} = proplists:get_value(sftp, Config),
--	    PrivDir =  proplists:get_value(priv_dir, Config),
--	    FileName = filename:join(PrivDir, "test.txt"),
--	    LinkFileName = filename:join(PrivDir, "link_test.txt"),
-+        {win32, _} ->
-+            {skip, "Links are not fully supported by windows"};
-+        _ ->
-+            Sftp = proplists:get_value(sftp, Config),
-+            PrivDir = string:trim(proplists:get_value(priv_dir, Config), trailing, "/"),
-+            LinkPath = filename:join(".", "link"),
- 
--	    {ok, <<?SSH_FXP_STATUS, ?UINT32(ReqId),
--		  ?UINT32(?SSH_FX_OK), _/binary>>, _} =
--		create_link(LinkFileName, FileName, Cm, Channel, ReqId),
-+            AbsBelowCwd = filename:join(PrivDir, "file"),
-+            links_helper(Sftp, PrivDir, 0, LinkPath, AbsBelowCwd, AbsBelowCwd, AbsBelowCwd, AbsBelowCwd),
- 
--	    NewReqId = 1,
--	    {ok, <<?SSH_FXP_NAME, ?UINT32(NewReqId), ?UINT32(_), ?UINT32(Len),
--		  Path:Len/binary, _/binary>>, _}
--		= read_link(LinkFileName, Cm, Channel, NewReqId),
-+            AbsAtCwd = PrivDir,
-+            links_helper(Sftp, PrivDir, 1, LinkPath, AbsAtCwd, AbsAtCwd, AbsAtCwd, AbsAtCwd),
- 
-+            AbsAboveCwd = filename:join([PrivDir, "..", "file"]),
-+            AbsAboveCwdExpected = filename:join(filename:dirname(PrivDir), "file"),
-+            links_helper(Sftp, PrivDir, 2, LinkPath, AbsAboveCwd, AbsAboveCwdExpected, AbsAboveCwd, AbsAboveCwdExpected),
- 
--	    true = binary_to_list(Path) == FileName,
-+            RelBelowCwd = filename:join(".", "file"),
-+            RelBelowCwdExpected = AbsBelowCwd,
-+            links_helper(Sftp, PrivDir, 3, LinkPath, RelBelowCwd, RelBelowCwdExpected, RelBelowCwd, RelBelowCwdExpected),
- 
--	    ct:log("Path: ~p~n", [binary_to_list(Path)])
-+            RelAtCwd = ".",
-+            RelAtCwdExpected = AbsAtCwd,
-+            links_helper(Sftp, PrivDir, 4, LinkPath, RelAtCwd, RelAtCwdExpected, RelAtCwd, RelAtCwdExpected),
-+
-+            RelAboveCwd = filename:join("..", "file"),
-+            RelAboveCwdExpected = AbsAboveCwdExpected,
-+            links_helper(Sftp, PrivDir, 5, LinkPath, RelAboveCwd, RelAboveCwdExpected, RelAboveCwd, RelAboveCwdExpected)
-+    end.
-+
-+%%--------------------------------------------------------------------
-+links_root(Config) when is_list(Config) ->
-+    case os:type() of
-+        {win32, _} ->
-+            {skip, "Links are not fully supported by windows"};
-+        _ ->
-+            Sftp = proplists:get_value(sftp, Config),
-+            PrivDir = proplists:get_value(priv_dir, Config),
-+            Root = filename:join(PrivDir, links_root),
-+            LinkPath = filename:join("/", "link"),
-+
-+            AbsBelowRoot = filename:join(Root, "file"),
-+            AbsBelowRootClient = filename:join("/", "file"),
-+            links_helper(Sftp, Root, 0, LinkPath, AbsBelowRoot, AbsBelowRoot, AbsBelowRootClient, AbsBelowRootClient),
-+
-+            AbsAtRoot = Root,
-+            AbsAtRootExpected = AbsAtRoot,
-+            links_helper(Sftp, Root, 1, LinkPath, AbsAtRoot, AbsAtRootExpected, "/", "/"),
-+
-+            AbsAboveRoot = filename:join(PrivDir, "file"),
-+            AbsAboveRootExpected = AbsAtRootExpected,
-+            AbsAboveRootClient = filename:join("/", ".."),
-+            links_helper(Sftp, Root, 2, LinkPath, AbsAboveRoot, AbsAboveRootExpected, AbsAboveRootClient, "/"),
-+
-+            RelBelowRoot = filename:join(".", "file"),
-+            RelBelowRootExpected = filename:join(Root, "file"),
-+            RelBelowRootClient = RelBelowRoot,
-+            RelBelowRootClientExpected = AbsBelowRootClient,
-+            links_helper(Sftp, Root, 3, LinkPath, RelBelowRoot, RelBelowRootExpected, RelBelowRootClient, RelBelowRootClientExpected),
-+
-+            RelAtRoot = ".",
-+            RelAtRootExpected = Root,
-+            links_helper(Sftp, Root, 4, LinkPath, RelAtRoot, RelAtRootExpected, ".", "/"),
-+
-+            RelAboveRoot = "../file",
-+            RelAboveRootExpected = Root,
-+            RelAboveRootClient = filename:join("..", "file"),
-+            links_helper(Sftp, Root, 5, LinkPath, RelAboveRoot, RelAboveRootExpected, RelAboveRootClient, "/")
-+    end.
-+
-+links_helper({Cm, Channel}, Root, ReqId0, LinkPath, RawTarget, RawExpected, ClientTarget, ClientExpected) ->
-+    ct:log("RawTarget: ~p, RawExpected: ~p~nClientTarget: ~p, ClientExpected: ~p~n",
-+            [RawTarget, RawExpected, ClientTarget, ClientExpected]),
-+
-+    ReqId1 = ReqId0 * 3,
-+    LinkLocation = filename:join(Root, "link"),
-+    ok = file:make_symlink(RawTarget, LinkLocation),
-+    try
-+        {ok, <<?SSH_FXP_NAME, ?UINT32(ReqId1), ?UINT32(_),
-+               ?UINT32(Len1), ClientActualB1:Len1/binary, _/binary>>, _} =
-+            read_link(LinkPath, Cm, Channel, ReqId1),
-+        ClientActual1 = binary_to_list(ClientActualB1),
-+        ClientExpected = ClientActual1,
-+
-+        ok = file:delete(LinkLocation),
-+
-+        ReqId2 = ReqId1 + 1,
-+        {ok, <<?SSH_FXP_STATUS, ?UINT32(ReqId2),
-+               ?UINT32(?SSH_FX_OK), _/binary>>, _} =
-+            create_link(LinkPath, ClientTarget, Cm, Channel, ReqId2),
-+
-+        {ok, RawActual} = file:read_link(LinkLocation),
-+        RawExpected = string:trim(RawActual, trailing, "/"),
-+
-+        ReqId3 = ReqId2 + 1,
-+        {ok, <<?SSH_FXP_NAME, ?UINT32(ReqId3), ?UINT32(_),
-+               ?UINT32(Len3), ClientActualB2:Len3/binary, _/binary>>, _} =
-+            read_link(LinkPath, Cm, Channel, ReqId3),
-+        ClientActual2 = binary_to_list(ClientActualB2),
-+        ClientExpected = ClientActual2
-+    after
-+        file:delete(LinkLocation)
-     end.
- 
- %%--------------------------------------------------------------------

diff --git a/otp-0010-erts-Fix-some-possibly-unitialized-warnings.patch b/otp-0010-erts-Fix-some-possibly-unitialized-warnings.patch
new file mode 100644
index 0000000..f9b4110
--- /dev/null
+++ b/otp-0010-erts-Fix-some-possibly-unitialized-warnings.patch
@@ -0,0 +1,111 @@
+From: =?UTF-8?q?Lukas=20Backstr=C3=B6m?= <lukas@erlang.org>
+Date: Tue, 13 May 2025 09:20:58 +0200
+Subject: [PATCH] erts: Fix some possibly unitialized warnings
+
+
+diff --git a/erts/emulator/beam/atom.c b/erts/emulator/beam/atom.c
+index 036816df2f..26f97f9b39 100644
+--- a/erts/emulator/beam/atom.c
++++ b/erts/emulator/beam/atom.c
+@@ -246,6 +246,8 @@ erts_atom_put_index(const byte *name, Sint len, ErtsAtomEncoding enc, int trunc)
+     Atom a;
+     int aix;
+ 
++    ERTS_UNDEF(no_latin1_chars, -1);
++
+ #ifdef ERTS_ATOM_PUT_OPS_STAT
+     erts_atomic_inc_nob(&atom_put_ops);
+ #endif
+diff --git a/erts/emulator/beam/big.c b/erts/emulator/beam/big.c
+index e3a12e324c..df6e8e8dac 100644
+--- a/erts/emulator/beam/big.c
++++ b/erts/emulator/beam/big.c
+@@ -2345,6 +2345,7 @@ term_to_Uint(Eterm term, Uint *up)
+ 	    return 0;
+ 	}
+ 	while (xl-- > 0) {
++            ASSERT(n < 64);
+ 	    uval |= ((Uint)(*xr++)) << n;
+ 	    n += D_EXP;
+ 	}
+@@ -2497,6 +2498,7 @@ int term_to_Sint(Eterm term, Sint *sp)
+ 	    return 0;
+ 	}
+ 	while (xl-- > 0) {
++            ASSERT(n < 64);
+ 	    uval |= ((Uint)(*xr++)) << n;
+ 	    n += D_EXP;
+ 	}
+diff --git a/erts/emulator/beam/erl_db.c b/erts/emulator/beam/erl_db.c
+index 8a3ebeb4c6..02f7f8db6b 100644
+--- a/erts/emulator/beam/erl_db.c
++++ b/erts/emulator/beam/erl_db.c
+@@ -1440,6 +1440,7 @@ do_update_counter(Process *p, DbTable* tb,
+     Eterm* htop;          /* actual heap usage */
+     Eterm* hstart;
+     Eterm* hend;
++    ERTS_UNDEF(ret, THE_NON_VALUE);
+ 
+     UseTmpHeap(5, p);
+     if (!(tb->common.status & (DB_SET | DB_ORDERED_SET | DB_CA_ORDERED_SET))) {
+diff --git a/erts/emulator/beam/jit/x86/instr_bs.cpp b/erts/emulator/beam/jit/x86/instr_bs.cpp
+index 568dcf7e82..f3e2ed3c35 100644
+--- a/erts/emulator/beam/jit/x86/instr_bs.cpp
++++ b/erts/emulator/beam/jit/x86/instr_bs.cpp
+@@ -659,6 +659,7 @@ void BeamModuleAssembler::emit_bs_get_integer2(const ArgLabel &Fail,
+                                                const ArgRegister &Dst) {
+     Uint size;
+     Uint flags = Flags.get();
++    ERTS_UNDEF(size, 0);
+ 
+     if (flags & BSF_NATIVE) {
+         flags &= ~BSF_NATIVE;
+diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c
+index d6835828bf..3a802d6833 100644
+--- a/erts/emulator/drivers/common/inet_drv.c
++++ b/erts/emulator/drivers/common/inet_drv.c
+@@ -14266,7 +14266,7 @@ static int packet_inet_init(void)
+ #ifdef AF_UNSPEC
+     disassoc_sa.sa_family = AF_UNSPEC;
+ #endif /* #ifdef AF_UNSPEC */
+-    disassoc_sa_size = disassoc_sa.sa_data - (char *)&disassoc_sa;
++    disassoc_sa_size = offsetof(struct sockaddr, sa_data);
+ 
+     return 0;
+ }
+diff --git a/erts/emulator/nifs/common/prim_socket_nif.c b/erts/emulator/nifs/common/prim_socket_nif.c
+index 05d44d1343..26bc5cf702 100644
+--- a/erts/emulator/nifs/common/prim_socket_nif.c
++++ b/erts/emulator/nifs/common/prim_socket_nif.c
+@@ -6371,7 +6371,7 @@ ERL_NIF_TERM nif_recvmsg(ErlNifEnv*         env,
+     ssize_t          bufSz,   ctrlSz;
+     int              flags;
+     ERL_NIF_TERM     res;
+-    BOOLEAN_T        a1ok, a2ok;
++    BOOLEAN_T        a1ok, a2ok = FALSE;
+ 
+     ESOCK_ASSERT( argc == 5 );
+ 
+@@ -12753,7 +12753,7 @@ int esock_select_cancel(ErlNifEnv*             env,
+                                       ESockDescriptor* descP,   \
+                                       ERL_NIF_TERM     sockRef) \
+     {                                                        \
+-        BOOLEAN_T          popped, activated;                \
++        BOOLEAN_T          popped, activated = FALSE;        \
+         int                sres;                             \
+         ERL_NIF_TERM       reason;                           \
+         ESockRequestor*    reqP = &descP->R;                 \
+diff --git a/erts/emulator/nifs/common/socket_util.c b/erts/emulator/nifs/common/socket_util.c
+index 33c833d175..3d1df20e5c 100644
+--- a/erts/emulator/nifs/common/socket_util.c
++++ b/erts/emulator/nifs/common/socket_util.c
+@@ -1668,6 +1668,9 @@ BOOLEAN_T esock_decode_in6_addr(ErlNifEnv*       env,
+         int                 arity;
+         size_t              n;
+         struct in6_addr     sa;
++        #ifndef VALGRIND
++        sys_memzero(&sa, sizeof(sa));
++        #endif
+ 
+         if (! GET_TUPLE(env, eAddr, &arity, &tuple))
+             return FALSE;

diff --git a/sources b/sources
index 4408796..921fef1 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (otp-OTP-26.2.5.21.tar.gz) = 54abed3b4a0587f793d029e5d59ca012d8192cfe7fa917ba2d897faafe45367357588c286eab5c059ff76d4945efee1a08b94a0c13f471292b2069a70e7833e2
+SHA512 (otp-OTP-27.3.4.13.tar.gz) = f9594ade2716f3b071ad414a5f569b2bda24ddbbf5546c478997928eb275a709c101901c0100c966fcb60c9e9f8095bffc7482cd3df4bdd9842519504de1ac08

                 reply	other threads:[~2026-06-25 10:44 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178238427744.1.2977027720729414351.rpms-erlang-74a767667630@fedoraproject.org \
    --to=lemenkov@gmail.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox