Skip to content

Commit 0ef7685

Browse files
committed
Update Erlang 25, 26 and Elixir
Erlang: 25.3.2.13, 26.2.5.2 Elixir: 1.17.2 Elixir 1.17 is the only that seems to be supported for Erlang 25, 26 and 27. Unfortunately Erlang 26 + OpenSSL 3.x doesn't work with FIPS OTP config flag even with runtime fips mode off, so disable it for now.
1 parent 5dc1ab5 commit 0ef7685

File tree

11 files changed

+43
-31
lines changed

11 files changed

+43
-31
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ On the other hand, some OSes won't run older Erlangs because of library changes,
4949
Just specify on the command line any of the `ERLANGVERSION`, `NODEVERSION`, or `ELIXIRVERSION` environment variables:
5050

5151
```
52-
NODEVERSION=18 ELIXIRVERSION=v1.15.7 ERLANGVERSION=25.3.2.12 ./build.sh platform debian-bullseye
52+
NODEVERSION=18 ELIXIRVERSION=v1.17.2 ERLANGVERSION=25.3.2.13 ./build.sh platform debian-bullseye
5353
```
5454

5555
## Building images for other architectures
@@ -71,7 +71,7 @@ will build **and upload** a new multi-arch container image to the registry. For
7171
example:
7272

7373
```
74-
./build.sh buildx-platform debian-bullseye
74+
./build.sh buildx-platform debian-bookworm
7575
```
7676

7777
The `$BUILDX_PLATFORMS` environment variable can be used to override the default
@@ -90,7 +90,7 @@ This will build all the Debian and RHEL-clone OS images on x86-64 with that vers
9090
## Update images used for CI with new Erlang versions
9191

9292
```
93-
ERLANGVERSION=24.3.4.7 ./build.sh buildx-platform debian-bullseye
93+
ERLANGVERSION=24.3.4.7 ./build.sh buildx-platform debian-bookworm
9494
```
9595

9696
This will update Debian Bullseye OS image for all architectures (x86,
@@ -105,7 +105,7 @@ buildx-platform-release creates as x86 only.
105105
## Update Debian Bullseye image with 25.2
106106

107107
```
108-
BUILDX_PLATFORMS=linux/amd64 ERLANGVERSION=25.2 ./build.sh buildx-platform debian-bullseye
108+
BUILDX_PLATFORMS=linux/amd64 ERLANGVERSION=25.2 ./build.sh buildx-platform debian-bookworm
109109
```
110110

111111
In this case, since we're not using 25.2 for multi-arch testing, opt to build it only for x86.
@@ -136,7 +136,7 @@ After building the image as above:
136136
docker run -it couchdbdev/<tag>
137137
```
138138

139-
where `<tag>` is of the format `<distro>-<version>-<type>`, such as `debian-bullseye-erlang-23.3.4.17`.
139+
where `<tag>` is of the format `<distro>-<version>-<type>`, such as `debian-bookworm-erlang-25.3.2.13`.
140140

141141
## Running the CouchDB build in a published container
142142

bin/install-dependencies.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ set -e
3030

3131
# Defaults updated 2023-03-20
3232
NODEVERSION=${NODEVERSION:-18}
33-
ERLANGVERSION=${ERLANGVERSION:-25.3.2.12}
34-
ELIXIRVERSION=${ELIXIRVERSION:-v1.15.7}
33+
ERLANGVERSION=${ERLANGVERSION:-25.3.2.13}
34+
ELIXIRVERSION=${ELIXIRVERSION:-v1.17.2}
3535

3636

3737
# This works if we're not called through a symlink

bin/install-elixir.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
set -e
2929

3030

31-
ELIXIR_VSN=${ELIXIRVERSION:-v1.15.7}
31+
ELIXIR_VSN=${ELIXIRVERSION:-v1.17.2}
3232
ERLANG_VSN=`erl -noshell -eval 'io:fwrite(erlang:system_info(otp_release)), halt().'`
3333
# See https://github.com/hexpm/bob
3434
URL=https://repo.hex.pm/builds/elixir/${ELIXIR_VSN}-otp-${ERLANG_VSN}.zip

bin/source-erlang.sh

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,24 @@ else
8080
DISABLE_JIT=""
8181
fi
8282

83+
if [[ ${ERLANGMAJORVERSION} -gt 25 ]]; then
84+
echo "************************* WARNING ***************************"
85+
echo "As of 2024-07-11 Erlang 26.2.5* fails access any crypto functions"
86+
echo "on OSes with OpenSSL 3.0.x (Debian Bookworm, at least) if the "
87+
echo "--enable-fips flag is enabled. See: github.com/erlang/otp/issues/8562"
88+
echo "**************************************************************"
89+
ENABLE_FIPS=""
90+
else
91+
ENABLE_FIPS="--enable-fips"
92+
fi
93+
8394
# Configure Erlang - skip building things we don't want or need
84-
./configure --without-javac --without-wx --without-odbc \
85-
--without-debugger --without-observer --without-et --without-cosEvent \
86-
--without-cosEventDomain --without-cosFileTransfer \
87-
--without-cosNotification --without-cosProperty --without-cosTime \
88-
--without-cosTransactions --without-orber --enable-fips ${DISABLE_JIT}
95+
./configure \
96+
--without-javac --without-wx --without-odbc \
97+
--without-debugger --without-observer --without-et \
98+
--without-diameter --without-megaco --without-tftp \
99+
--without-ftp \
100+
${ENABLE_FIPS} ${DISABLE_JIT}
89101

90102
make -j $(nproc)
91103
make install

dockerfiles/almalinux-8

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ ARG js=js
3434
# Choose whether to install Erlang, default yes
3535
ARG erlang=erlang
3636
# Select version of Node, Erlang and Elixir to install
37-
ARG erlangversion=25.3.2.12
38-
ARG elixirversion=v1.15.7
37+
ARG erlangversion=25.3.2.13
38+
ARG elixirversion=v1.17.2
3939
ARG nodeversion=18
4040

4141
# Create Jenkins user and group

dockerfiles/almalinux-9

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ ARG js=js
3434
# Choose whether to install Erlang, default yes
3535
ARG erlang=erlang
3636
# Select version of Node, Erlang and Elixir to install
37-
ARG erlangversion=25.3.2.12
38-
ARG elixirversion=v1.15.7
37+
ARG erlangversion=25.3.2.13
38+
ARG elixirversion=v1.17.2
3939
ARG nodeversion=18
4040

4141
# Create Jenkins user and group

dockerfiles/debian-bookworm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ ARG js=js
3636
# Choose whether to install Erlang, default yes
3737
ARG erlang=erlang
3838
# Select version of Node, Erlang and Elixir
39-
ARG erlangversion=25.3.2.12
40-
ARG elixirversion=v1.15.7
39+
ARG erlangversion=25.3.2.13
40+
ARG elixirversion=v1.17.2
4141
ARG nodeversion=18
4242

4343
# Create Jenkins user and group

dockerfiles/debian-bullseye

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ ARG js=js
3636
# Choose whether to install Erlang, default yes
3737
ARG erlang=erlang
3838
# Select version of Node, Erlang and Elixir
39-
ARG erlangversion=25.3.2.12
40-
ARG elixirversion=v1.15.7
39+
ARG erlangversion=25.3.2.13
40+
ARG elixirversion=v1.17.2
4141
ARG nodeversion=18
4242

4343
# Create Jenkins user and group

dockerfiles/ubuntu-focal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ ARG js=js
3434
# Choose whether to install Erlang, default yes
3535
ARG erlang=erlang
3636
# Select version of Node, Erlang and Elixir to install
37-
ARG erlangversion=25.3.2.12
38-
ARG elixirversion=v1.15.7
37+
ARG erlangversion=25.3.2.13
38+
ARG elixirversion=v1.17.2
3939
ARG nodeversion=18
4040

4141
# Create Jenkins user and group

dockerfiles/ubuntu-jammy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ ARG js=js
3434
# Choose whether to install Erlang, default yes
3535
ARG erlang=erlang
3636
# Select version of Node, Erlang and Elixir to install
37-
ARG erlangversion=25.3.2.12
38-
ARG elixirversion=v1.15.7
37+
ARG erlangversion=25.3.2.13
38+
ARG elixirversion=v1.17.2
3939
ARG nodeversion=18
4040

4141
# Create Jenkins user and group

0 commit comments

Comments
 (0)