Skip to content

Commit e73f3d0

Browse files
Merge branch 'erlang-27'
Conflicts: README.md
2 parents b1cee49 + 7e03cd9 commit e73f3d0

7 files changed

+418
-87
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright Broadcom, Inc. or its affiliantes, 2012-2024. All Rights Reserved.
1+
# Copyright Broadcom, Inc. or its affiliantes, 2012-2025. All Rights Reserved.
22
#
33
# Licensed under the Apache License, Version 2.0 (the "License");
44
# you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
1414

1515
FINAL_OUTPUT_DIR=FINAL_RPMS
1616

17-
OTP_RELEASE=27.2
17+
OTP_RELEASE=27.3.1
1818

1919
# Where official Erlang distribution files come from...
2020
OTP_SRC_TGZ_FILE=OTP-$(OTP_RELEASE).tar.gz

README.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ aarch64 hosts. See the **Building from Source** section below.
1616

1717
* RHEL 8.10 and later (the most recent series [covered by full support](https://access.redhat.com/support/policy/updates/errata))
1818
* CentOS Stream 9
19-
* Fedora 39 or later
19+
* Fedora 40 or later
2020
* Rocky Linux 8.10 and 9.5 (the [most recent maintained](https://wiki.rockylinux.org/rocky/version/) 8.x and 9.x releases)
2121
* Alma Linux 8.10 and 9.5 (the [most recent maintained](https://wiki.almalinux.org/release-notes/) 8.x and 9.x releases)
2222
* Amazon Linux 2023
2323
* VMware PhotonOS 5
2424
* Oracle Linux 9
2525

26-
## CentOS 8 has Reached End-of-Life
26+
## RHEL and CentOS Stream 8 Distribution Family
2727

2828
CentOS Stream 8 has [reached end of life](https://endoflife.date/centos-stream) in May 2024. The CentOS 8 versions
2929
of these packages are produced on Rocky Linux 8.10+ from July 2024 and onwards.
@@ -32,7 +32,7 @@ of these packages are produced on Rocky Linux 8.10+ from July 2024 and onwards.
3232

3333
[Team RabbitMQ stopped supporting CentOS 7](https://blog.rabbitmq.com/posts/2022/04/centos-7-support-discontinued/) in May 2022.
3434

35-
Erlang [27.2](https://github.com/rabbitmq/erlang-rpm/releases/tag/v27.2), [26.2.5.6](https://github.com/rabbitmq/erlang-rpm/releases/tag/v26.2.5.6) and [25.3.2.16](https://github.com/rabbitmq/erlang-rpm/releases/tag/v25.3.2.16)
35+
Erlang [27.3.1](https://github.com/rabbitmq/erlang-rpm/releases/tag/v27.3.1), [26.2.5.10](https://github.com/rabbitmq/erlang-rpm/releases/tag/v26.2.5.10) and [25.3.2.19](https://github.com/rabbitmq/erlang-rpm/releases/tag/v25.3.2.19)
3636
include one-off CentOS 7 packages statically linked against OpenSSL 1.1.x.
3737

3838
Regular CentOS 7 and Amazon Linux 2 builds were produced up to [Erlang 23.3.4.18](https://github.com/rabbitmq/erlang-rpm/releases/tag/v23.3.4.18).
@@ -47,7 +47,7 @@ and [a modern Erlang PPA for Ubuntu](https://rabbitmq.com/install-debian.html#ap
4747

4848
## Provided Erlang/OTP Versions
4949

50-
The package targets Erlang/OTP `26.x`. Both x86-64 and aarch64 versions can be
50+
The package targets Erlang/OTP `27.x` and `26.x`. Both x86-64 and aarch64 versions can be
5151
built in containers.
5252

5353
### RabbitMQ Version Compatibility
@@ -56,10 +56,13 @@ See [Supported Erlang Versions](https://www.rabbitmq.com/which-erlang.html) in R
5656
for an up-to-date compatibility matrix.
5757

5858

59-
## Implicit OpenSSL/libcrypto Dependency
59+
## OpenSSL/libcrypto Version Support
6060

6161
This package intentionally **does not include OpenSSL**/libcrypto. It must be provisioned separately.
62-
Recent Erlang versions require a modern OpenSSL version, currently this means `1.1.x` or later.
62+
Recent Erlang versions require a modern OpenSSL version.
63+
64+
For the `el9` variant (modern Fedora, RHEL 9, CentOS Stream 9, Rocky Linux 9.x, Alma Linux 9.x, and so on) this means OpenSSL `3.x`.
65+
For the `el8` variant (Rocky Linux 8.x, Alma Linux 8.x) this means OpenSSL `1.1.x`.
6366

6467
## Release Artifacts
6568

@@ -272,7 +275,6 @@ Only the following OTP applications are provided:
272275
* reltool
273276
* runtime_tools
274277
* sasl
275-
* snmp
276278
* ssl
277279
* stdlib
278280
* syntax_tools
@@ -301,7 +303,7 @@ cd docker
301303
# * stream9 for CentOS Stream 9
302304
# * stream8 for CentOS Stream 8
303305
# * al2023 for Amazon Linux 2023
304-
# * f38 for Fedora 38
306+
# * f41 for Fedora 41
305307
#
306308
./build-image-and-rpm.sh stream9 --no-cache
307309

@@ -313,7 +315,7 @@ cd docker
313315
# * stream9 for CentOS Stream 9
314316
# * stream8 for CentOS Stream 8
315317
# * al2023 for Amazon Linux 2023
316-
# * f38 for Fedora 38
318+
# * f41 for Fedora 41
317319
./build-docker-image.sh stream9 --no-cache
318320

319321
#
@@ -324,7 +326,7 @@ cd docker
324326
# * stream9 for CentOS Stream 9
325327
# * stream8 for CentOS Stream 8
326328
# * al2023 for Amazon Linux 2023
327-
# * f38 for Fedora 38
329+
# * f41 for Fedora 41
328330
#
329331
./build-rpm-in-docker.sh stream9
330332
```
@@ -359,7 +361,7 @@ history and release archive can be useful as well.
359361
## Copyright and License
360362

361363
Copyright VMware, Inc and its affiliates, 2011-2023. All Rights Reserved.
362-
Copyright Broadcom. "Broadcom" may refer to Broadcom, Inc or its affiliates, 2023-2024. All Rights Reserved.
364+
Copyright Broadcom. "Broadcom" may refer to Broadcom, Inc or its affiliates, 2023-2025. All Rights Reserved.
363365

364366
Released under the [Apache Software License 2.0](./Erlang_ASL2_LICENSE.txt),
365367
same as Erlang/OTP.

erlang.spec

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright Broadcom, Inc. or its affiliantes, 2012-2024. All Rights Reserved.
1+
# Copyright Broadcom, Inc. or its affiliantes, 2012-2025. All Rights Reserved.
22
#
33
# Licensed under the Apache License, Version 2.0 (the "License");
44
# you may not use this file except in compliance with the License.
@@ -12,8 +12,8 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
%global upstream_ver 27.2
16-
%global package_ver 27.2
15+
%global upstream_ver 27.3.1
16+
%global package_ver 27.3.1
1717
%global package_ver_release 1
1818

1919
# See https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild
@@ -60,7 +60,7 @@ monolithic, has fewer dependencies, and has lower disk and memory
6060
overhead. Many applications from Erlang Open Telecom Platform (OTP)
6161
have been removed. The following applications remain: asn1, compiler,
6262
crypto, erl_interface, erts, inets, kernel, mnesia, os_mon,
63-
public_key, reltool, runtime_tools, sasl, snmp, ssl, stdlib,
63+
public_key, reltool, runtime_tools, sasl, ssl, stdlib,
6464
syntax_tools and xmerl.
6565

6666
%define _license_file %{_builddir}/otp-OTP-%{upstream_ver}/`basename %{S:2}`
@@ -80,7 +80,7 @@ chmod 644 lib/ssl/examples/src/Makefile
8080

8181

8282
%build
83-
%global conf_flags --enable-shared-zlib --enable-dynamic-ssl-lib --enable-systemd --without-javac --without-odbc
83+
%global conf_flags --enable-shared-zlib --enable-dynamic-ssl-lib --enable-systemd --enable-hybrid-heap --enable-kernel-poll --enable-jit --with-microstate-accounting=extra --without-javac --without-odbc --without-snmp --without-ssh --without-tftp --without-ftp --without-wx --without-megaco --without-edoc --without-jinterface --disable-sctp --without-diameter
8484

8585
## add --enable-fips to enable FIPS mode, which is fully supported
8686
## on OpenSSL 3 starting with Erlang 26.1
@@ -111,6 +111,7 @@ touch lib/jinterface/SKIP
111111
touch lib/megaco/SKIP
112112
touch lib/observer/SKIP
113113
touch lib/odbc/SKIP
114+
touch lib/snmp/SKIP
114115
touch lib/ssh/SKIP
115116
touch lib/tftp/SKIP
116117
touch lib/wx/SKIP
@@ -296,15 +297,6 @@ rm -rf $RPM_BUILD_ROOT
296297
%{_libdir}/erlang/lib/sasl-*/src
297298

298299

299-
%dir %{_libdir}/erlang/lib/snmp-*/
300-
%{_libdir}/erlang/lib/snmp-*/bin
301-
%{_libdir}/erlang/lib/snmp-*/ebin
302-
%{_libdir}/erlang/lib/snmp-*/include
303-
%{_libdir}/erlang/lib/snmp-*/mibs
304-
%{_libdir}/erlang/lib/snmp-*/priv
305-
%{_libdir}/erlang/lib/snmp-*/src
306-
307-
308300
%dir %{_libdir}/erlang/lib/ssl-*/
309301
%{_libdir}/erlang/lib/ssl-*/ebin
310302
%{_libdir}/erlang/lib/ssl-*/src
@@ -321,6 +313,26 @@ rm -rf $RPM_BUILD_ROOT
321313

322314

323315
%changelog
316+
* Fri Mar 28 2025 Michael Klishin <[email protected]> - 27.3.1
317+
- Update to Erlang/OTP 27.3.1
318+
319+
* Thu Mar 27 2025 Michael Klishin <[email protected]> - 27.3
320+
- Drop a few dependencies (snmp, ssh, megaco) that RabbitMQ does not use.
321+
322+
* Wed Mar 5 2025 Michael Klishin <[email protected]> - 27.3
323+
- Update to Erlang/OTP 27.3
324+
325+
* Thu Feb 20 2025 Michael Klishin <[email protected]> - 27.2.4
326+
- Update to Erlang/OTP 27.2.4
327+
328+
* Mon Feb 17 2025 Michael Klishin <[email protected]> - 27.2.3
329+
- Update to Erlang/OTP 27.2.3
330+
331+
* Thu Feb 6 2025 Michael Klishin <[email protected]> - 27.2.2
332+
- Update to Erlang/OTP 27.2.2
333+
334+
* Thu Jan 23 2025 Michael Klishin <[email protected]> - 27.2.1
335+
- Update to Erlang/OTP 27.2.1
324336

325337
* Wed Dec 11 2024 Michael Klishin <[email protected]> - 27.2
326338
- Update to Erlang/OTP 27.2

otp-0003-Do-not-install-erlang-sources.patch

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -201,66 +201,6 @@ diff --ignore-blank-lines --ignore-space-change -u -r otp-src/lib/sasl/src/Makef
201201
$(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src"
202202
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
203203
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
204-
diff --ignore-blank-lines --ignore-space-change -u -r otp-src/lib/snmp/src/agent/Makefile.in otp-src-patched/lib/snmp/src/agent/Makefile.in
205-
--- otp-src/lib/snmp/src/agent/Makefile.in 2021-05-12 21:31:54.000000000 +0100
206-
+++ otp-src-patched/lib/snmp/src/agent/Makefile.in 2019-05-28 00:08:21.000000000 +0100
207-
@@ -161,7 +161,7 @@
208-
release_spec: opt
209-
$(INSTALL_DIR) "$(RELSYSDIR)/src"
210-
$(INSTALL_DIR) "$(RELSYSDIR)/src/agent"
211-
- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/agent"
212-
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/agent"
213-
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
214-
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
215-
"$(RELSYSDIR)/ebin"
216-
diff --ignore-blank-lines --ignore-space-change -u -r otp-src/lib/snmp/src/app/Makefile otp-src-patched/lib/snmp/src/app/Makefile
217-
--- otp-src/lib/snmp/src/app/Makefile 2021-05-12 21:31:54.000000000 +0100
218-
+++ otp-src-patched/lib/snmp/src/app/Makefile 2019-05-28 00:08:48.000000000 +0100
219-
@@ -144,7 +144,7 @@
220-
release_spec: opt
221-
$(INSTALL_DIR) "$(RELSYSDIR)/src"
222-
$(INSTALL_DIR) "$(RELSYSDIR)/src/app"
223-
- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/app"
224-
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/app"
225-
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
226-
$(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) \
227-
"$(RELSYSDIR)/ebin"
228-
diff --ignore-blank-lines --ignore-space-change -u -r otp-src/lib/snmp/src/compile/Makefile otp-src-patched/lib/snmp/src/compile/Makefile
229-
--- otp-src/lib/snmp/src/compile/Makefile 2021-05-12 21:31:54.000000000 +0100
230-
+++ otp-src-patched/lib/snmp/src/compile/Makefile 2019-05-28 00:09:19.000000000 +0100
231-
@@ -137,7 +137,7 @@
232-
release_spec: opt
233-
$(INSTALL_DIR) "$(RELSYSDIR)/src"
234-
$(INSTALL_DIR) "$(RELSYSDIR)/src/compiler"
235-
- $(INSTALL_DATA) $(ESCRIPT_SRC) $(PARSER_SRC) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler"
236-
+ $(INSTALL_DATA) $(ESCRIPT_SRC) $(PARSER_SRC) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler"
237-
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
238-
$(INSTALL_DATA) $(EBIN_FILES) "$(RELSYSDIR)/ebin"
239-
$(INSTALL_DIR) "$(RELSYSDIR)/bin"
240-
diff --ignore-blank-lines --ignore-space-change -u -r otp-src/lib/snmp/src/manager/Makefile otp-src-patched/lib/snmp/src/manager/Makefile
241-
--- otp-src/lib/snmp/src/manager/Makefile 2021-05-12 21:31:54.000000000 +0100
242-
+++ otp-src-patched/lib/snmp/src/manager/Makefile 2019-05-28 00:09:43.000000000 +0100
243-
@@ -135,7 +135,7 @@
244-
release_spec: opt
245-
$(INSTALL_DIR) "$(RELSYSDIR)/src"
246-
$(INSTALL_DIR) "$(RELSYSDIR)/src/manager"
247-
- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/manager"
248-
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/manager"
249-
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
250-
$(INSTALL_DATA) $(BEHAVIOUR_TARGET_FILES) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
251-
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
252-
diff --ignore-blank-lines --ignore-space-change -u -r otp-src/lib/snmp/src/misc/Makefile otp-src-patched/lib/snmp/src/misc/Makefile
253-
--- otp-src/lib/snmp/src/misc/Makefile 2021-05-12 21:31:54.000000000 +0100
254-
+++ otp-src-patched/lib/snmp/src/misc/Makefile 2019-05-28 00:10:06.000000000 +0100
255-
@@ -125,7 +125,7 @@
256-
release_spec: opt
257-
$(INSTALL_DIR) "$(RELSYSDIR)/src"
258-
$(INSTALL_DIR) "$(RELSYSDIR)/src/misc"
259-
- $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) "$(RELSYSDIR)/src/misc"
260-
+ $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/src/misc"
261-
$(INSTALL_DIR) "$(RELSYSDIR)/ebin"
262-
$(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin"
263-
# $(INSTALL_DIR) "$(RELSYSDIR)/include"
264204
diff --ignore-blank-lines --ignore-space-change -u -r otp-src/lib/ssl/src/Makefile otp-src-patched/lib/ssl/src/Makefile
265205
--- otp-src/lib/ssl/src/Makefile 2021-05-12 21:31:54.000000000 +0100
266206
+++ otp-src-patched/lib/ssl/src/Makefile 2019-05-28 00:10:30.000000000 +0100
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
diff -u -r otp-OTP-24.0/erts/etc/common/Makefile.in otp-OTP-24.0-patched/erts/etc/common/Makefile.in
2+
--- otp-OTP-24.0/erts/etc/common/Makefile.in 2021-05-12 12:58:56.000000000 +0300
3+
+++ otp-OTP-24.0-patched/erts/etc/common/Makefile.in 2019-05-13 13:00:19.000000000 +0300
4+
@@ -525,10 +525,6 @@
5+
ifneq ($(INSTALL_TOP_BIN),)
6+
$(INSTALL_PROGRAM) $(INSTALL_TOP_BIN) "$(RELEASE_PATH)"
7+
endif
8+
-ifneq ($(INSTALL_MISC),)
9+
- $(INSTALL_DIR) "$(RELEASE_PATH)/misc"
10+
- $(INSTALL_SCRIPT) $(INSTALL_MISC) "$(RELEASE_PATH)/misc"
11+
-endif
12+
ifneq ($(INSTALL_SRC),)
13+
$(INSTALL_DIR) "$(RELEASE_PATH)/erts-$(VSN)/src"
14+
$(INSTALL_DATA) $(INSTALL_SRC) "$(RELEASE_PATH)/erts-$(VSN)/src"
15+
diff -u -r otp-OTP-24.0/erts/etc/unix/Install.src otp-OTP-24.0-patched/erts/etc/unix/Install.src
16+
--- otp-OTP-24.0/erts/etc/unix/Install.src 2020-05-10 15:42:49.000000000 +0300
17+
+++ otp-OTP-24.0-patched/erts/etc/unix/Install.src 2021-05-12 12:59:11.000000000 +0300
18+
@@ -142,14 +142,5 @@
19+
cp -p ../releases/%I_SYSTEM_VSN%/no_dot_erlang.boot .
20+
cp -p $Name.boot start.boot
21+
cp -p ../releases/%I_SYSTEM_VSN%/$Name.script start.script
22+
-#
23+
-# Fixing the man pages
24+
-#
25+
-
26+
-if [ -d "$ERL_ROOT/man" ]
27+
-then
28+
- cd "$ERL_ROOT"
29+
- ./misc/format_man_pages "$ERL_ROOT"
30+
-fi
31+
32+
exit 0
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
diff --ignore-blank-lines --ignore-space-change -u -r otp-24.0/lib/asn1/c_src/Makefile otp-24.0-patched/lib/asn1/c_src/Makefile
2+
--- otp-23.0/lib/asn1/c_src/Makefile 2021-05-12 21:39:39.000000000 +0100
3+
+++ otp-23.0-patched/lib/asn1/c_src/Makefile 2021-05-12 21:39:39.000000000 +0100
4+
@@ -136,8 +136,6 @@
5+
release_spec: opt
6+
$(INSTALL_DIR) "$(RELSYSDIR)/priv/lib"
7+
$(INSTALL_PROGRAM) $(NIF_SHARED_OBJ_FILE) "$(RELSYSDIR)/priv/lib"
8+
- $(INSTALL_DIR) "$(RELSYSDIR)/c_src"
9+
- $(INSTALL_DATA) *.c "$(RELSYSDIR)/c_src"
10+
11+
release_docs_spec:
12+
13+
diff --ignore-blank-lines --ignore-space-change -u -r otp-23.0/lib/os_mon/c_src/Makefile.in otp-23.0-patched/lib/os_mon/c_src/Makefile.in
14+
--- otp-24.0/lib/os_mon/c_src/Makefile.in 2021-05-12 21:39:39.000000000 +0100
15+
+++ otp-24.0-patched/lib/os_mon/c_src/Makefile.in 2021-05-12 21:39:39.000000000 +0100
16+
@@ -127,7 +127,6 @@
17+
18+
release_spec: opt
19+
$(INSTALL_DIR) "$(RELSYSDIR)/src"
20+
- $(INSTALL_DATA) $(C_FILES) "$(RELSYSDIR)/src"
21+
$(INSTALL_DIR) "$(RELSYSDIR)/priv/bin"
22+
$(INSTALL_PROGRAM) $(TARGET_FILES) "$(RELSYSDIR)/priv/bin"

0 commit comments

Comments
 (0)