File 0253-diameter-increase-appup-file-replace-size-by-xxx_siz.patch of Package erlang

From b911d60d4452d1f39d3309ef680b1e35d78fee0a Mon Sep 17 00:00:00 2001
From: Kiko Fernandez-Reyes <kiko@erlang.org>
Date: Tue, 7 Feb 2023 08:46:51 +0100
Subject: [PATCH] diameter: increase appup file; replace size by xxx_size

The <c>size/1</c> BIF is not optimized by the JIT, and its use can
result in worse types for Dialyzer.

When one knows that the value being tested must be a tuple,
<c>tuple_size/1</c> should always be preferred.

When one knows that the value being tested must be a binary,
<c>byte_size/1</c> should be preferred. However, <c>byte_size/1</c> also
accepts a bitstring (rounding up size to a whole number of bytes), so
one must make sure that the call to <c>byte_size/</c> is preceded by a
call to <c>is_binary/1</c> to ensure that bitstrings are rejected. Note
that the compiler removes redundant calls to <c>is_binary/1</c>, so if
one is not sure whether previous code had made sure that the argument is
a binary, it does not harm to add an <c>is_binary/1</c> test immediately
before the call to <c>byte_size/1</c>.

This commit also updates the appup file forgotten in PR-6702 and PR-6769.
---
 lib/diameter/src/diameter.appup.src | 58 +++++++++++------------------
 1 file changed, 22 insertions(+), 36 deletions(-)

diff --git a/lib/diameter/src/diameter.appup.src b/lib/diameter/src/diameter.appup.src
index 97e95c94b6..59e24f8151 100644
--- a/lib/diameter/src/diameter.appup.src
+++ b/lib/diameter/src/diameter.appup.src
@@ -63,24 +63,13 @@
   {"2.1.5",   [{restart_application, diameter}]},  %% 21.0
   {"2.1.6",   [{restart_application, diameter}]},  %% 21.1
   {"2.2",     [{restart_application, diameter}]},  %% 21.3
-  {"2.2.1",   [{load_module, diameter},            %% 21.3.5
-               {load_module, diameter_codec},
-               {update, diameter_config},
-               {update, diameter_dist},
-               {update, diameter_peer_fsm},
-               {update, diameter_service},
-               {load_module, diameter_traffic},
-               {load_module, diameter_types},
-               {update, diameter_tcp},
-               {update, diameter_sctp}]},
- {"2.2.2",    [{load_module, diameter},            %% 22.2.8
-               {load_module, diameter_types},
-               {update, diameter_sctp}]},
- {"2.2.3",    [{load_module, diameter_types},
-               {update, diameter_sctp}]},          %% 22.3
- {"2.2.4",    [{load_module, diameter_types}]},    %% 23.3.4
- {"2.2.5",    [{load_module, diameter_types}]},     %% 24.3
- {"2.2.6",   [{restart_application, diameter}]}
+  {"2.2.1",   [{restart_application, diameter}]},
+  {"2.2.2",   [{restart_application, diameter}]},  %% 22.2.8
+  {"2.2.3",   [{restart_application, diameter}]},  %% 22.3
+  {"2.2.4",   [{restart_application, diameter}]},  %% 23.3.4
+  {"2.2.5",   [{restart_application, diameter}]},  %% 24.3
+  {"2.2.6",   [{restart_application, diameter}]},  %% 25.0
+  {"2.2.7",   [{restart_application, diameter}]}   %% 25.1
  ],
  [
   {"0.9",     [{restart_application, diameter}]},
@@ -125,23 +114,20 @@
   {"2.1.5",   [{restart_application, diameter}]},
   {"2.1.6",   [{restart_application, diameter}]},
   {"2.2",     [{restart_application, diameter}]},
-  {"2.2.1",   [{load_module, diameter},
-               {load_module, diameter_codec},
-               {update, diameter_config},
-               {update, diameter_dist},
-               {update, diameter_peer_fsm},
-               {update, diameter_service},
-               {load_module, diameter_traffic},
-               {load_module, diameter_types},
-               {update, diameter_tcp},
-               {update, diameter_sctp}]},
-  {"2.2.2",   [{load_module, diameter},
-               {load_module, diameter_types},
-               {update, diameter_sctp}]},
-  {"2.2.3",   [{load_module, diameter_types},
-               {update, diameter_sctp}]},
-  {"2.2.4",   [{load_module, diameter_types}]},
-  {"2.2.5",   [{load_module, diameter_types}]},
-  {"2.2.6",   [{restart_application, diameter}]}
+  {"2.1.1",   [{restart_application, diameter}]},
+  {"2.1.2",   [{restart_application, diameter}]},
+  {"2.1.3",   [{restart_application, diameter}]},
+  {"2.1.4",   [{restart_application, diameter}]},
+  {"2.1.4.1", [{restart_application, diameter}]},
+  {"2.1.5",   [{restart_application, diameter}]},
+  {"2.1.6",   [{restart_application, diameter}]},
+  {"2.2",     [{restart_application, diameter}]},
+  {"2.2.1",   [{restart_application, diameter}]},
+  {"2.2.2",   [{restart_application, diameter}]},
+  {"2.2.3",   [{restart_application, diameter}]},
+  {"2.2.4",   [{restart_application, diameter}]},
+  {"2.2.5",   [{restart_application, diameter}]},
+  {"2.2.6",   [{restart_application, diameter}]},
+  {"2.2.7",   [{restart_application, diameter}]}
  ]
 }.
-- 
2.35.3

openSUSE Build Service is sponsored by