You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ko...@apache.org on 2022/01/14 01:57:28 UTC
[couchdb-ci] 04/04: Simplify Debian 11 support
This is an automated email from the ASF dual-hosted git repository.
kocolosk pushed a commit to branch update-debian-pr-images
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git
commit 467f4ff1be04482663cca65d572c0c0f1256b787
Author: Adam Kocoloski <ko...@apache.org>
AuthorDate: Thu Jan 13 20:52:51 2022 -0500
Simplify Debian 11 support
When we first introduced support for Bullseye we added some logic to
handle Erlang 19 and below. We no longer support those obsolete
versions, and the logic we added is now actively harmful (e.g. the use
of gcc 9 instead of gcc 10 caused us to build Erlang 24 without the
much-anticipated JIT compiler).
This patch reverts back to defaults for Bullseye. It has the side effect
of causing Erlang 20 builds to fail to link properly, possibly because
of the switch to `-fno-common` by default in gcc 10. Given that Erlang
20 is already unsupported by the Erlang team, I didn't bother to try to
fix it here.
---
bin/source-erlang.sh | 22 ++--------------------
1 file changed, 2 insertions(+), 20 deletions(-)
diff --git a/bin/source-erlang.sh b/bin/source-erlang.sh
index 2c24386..0914cf6 100755
--- a/bin/source-erlang.sh
+++ b/bin/source-erlang.sh
@@ -40,33 +40,17 @@ SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
redhats='(rhel|centos|fedora)'
debians='(debian|ubuntu)'
-latest='(stretch|buster|bionic)'
echo "Erlang source build started @ $(date)"
-export CC=gcc
-export CXX=gcc
-
# Install per-distro dependencies according to:
# http://docs.basho.com/riak/1.3.0/tutorials/installation/Installing-Erlang/
# NB: Dropping suggested superfluous packages; fop and unixodbc-dev
if [[ ${ID} =~ ${redhats} ]]; then
yum install -y git gcc glibc-devel make ncurses-devel openssl-devel autoconf procps
elif [[ ${ID} =~ ${debians} ]]; then
- if [[ ${ERLANGVERSION%%.*} -le 19 ]] && [[ ${VERSION_CODENAME} =~ ${latest} ]] && [ ${ERLANGVERSION} != "all" ]; then
- echo "Recent versions of Linux (Stretch, Bionic, etc) provide a version of libssl"
- echo "which is too new to complile earlier (<=19) versions of Erlang. Please"
- echo "either choose an earlier distro release or a more rencent version of Erlang."
- exit 1
- fi
-
apt-get update
apt-get install -y git build-essential autoconf libncurses5-dev openssl libssl-dev xsltproc procps
- if [ ${VERSION_CODENAME} == "bullseye" ]; then
- apt install -y gcc-9
- export CC=gcc-9
- export CXX=g++-9
- fi
else
echo "Sorry, we don't support this Linux (${ID}) yet."
exit 1
@@ -105,9 +89,10 @@ else
cd otp
git checkout OTP-${ERLANGVERSION} -b local-OTP-${ERLANGVERSION}
- # Configure Erlang - skip building things we don't want or need
+ # This command is a no-op as of Erlang 22
./otp_build autoconf
+ # Configure Erlang - skip building things we don't want or need
./otp_build configure --without-javac --without-wx --without-odbc \
--without-debugger --without-observer --without-et --without-cosEvent \
--without-cosEventDomain --without-cosFileTransfer \
@@ -126,7 +111,4 @@ elif [[ ${ID} =~ ${debians} ]]; then
apt-get clean
fi
-unset CC
-unset CXX
-
echo "Erlang source build finished @ $(date)"