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)"