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/15 12:32:55 UTC

[couchdb-ci] 01/03: Drop support for Ubuntu 16.04

This is an automated email from the ASF dual-hosted git repository.

kocolosk pushed a commit to branch drop-obsoleete-distros-and-travis
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git

commit d9a5625d13439a1d14d8c60b2a54a13ac45cf746
Author: Adam Kocoloski <ko...@apache.org>
AuthorDate: Sat Jan 15 07:19:17 2022 -0500

    Drop support for Ubuntu 16.04
    
    As proposed on dev@, removing support for distros that have exited
    vendor LTS window. For Xenial this happened in April 2021.
---
 README.md                  |  1 -
 bin/apt-dependencies.sh    | 22 +-----------------
 build.sh                   |  2 +-
 dockerfiles/ubuntu-xenial  | 56 ----------------------------------------------
 pull-all-couchdbdev-docker |  1 -
 5 files changed, 2 insertions(+), 80 deletions(-)

diff --git a/README.md b/README.md
index 3c1e16b..8f9e6a4 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,6 @@ CouchDB's CI build philosophy is to use Travis (with `kerl`) to validate CouchDB
 ----------------|-------------|--------------------|------------------|--------------------
 **debian**      | stretch     | 19.3.6, 20.3.8.25  | `x86_64`, `arm64v8`        | :heavy_check_mark:
 **debian**      | buster      | 20.3.8.25          | `x86_64`, `arm64v8`                    | :heavy_check_mark:
-**ubuntu**      | xenial      | 20.3.8.25          | `x86_64`         | :heavy_check_mark:
 **ubuntu**      | bionic      | 20.3.8.25          | `x86_64`         | :heavy_check_mark:
 **centos**      | 6           | 20.3.8.25          | `x86_64`         | :heavy_check_mark:
 **centos**      | 7           | 20.3.8.25          | `x86_64`         | :heavy_check_mark:
diff --git a/bin/apt-dependencies.sh b/bin/apt-dependencies.sh
index ca9cd0e..e4d4c65 100755
--- a/bin/apt-dependencies.sh
+++ b/bin/apt-dependencies.sh
@@ -43,7 +43,7 @@ SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 . ${SCRIPTPATH}/detect-arch.sh >/dev/null
 . ${SCRIPTPATH}/detect-os.sh >/dev/null
 debians='(wheezy|jessie|stretch|buster)'
-ubuntus='(xenial|bionic|focal)'
+ubuntus='(bionic|focal)'
 echo "Detected Ubuntu/Debian version: ${VERSION_CODENAME}   arch: ${ARCH}"
 
 # bionic Docker image seems to be missing /etc/timezone...
@@ -74,10 +74,6 @@ apt-get install --no-install-recommends -y apt-transport-https curl git pkg-conf
     vim-tiny screen procps dirmngr ssh-client
 
 
-if [ ${VERSION_CODENAME} == "xenial" ]; then
-  apt-get install --no-install-recommends -y dh-systemd || true
-fi
-
 # createrepo_c or createrepo, depending on packaging support
 if [ ${VERSION_CODENAME} == "bullseye" ]; then
   apt-get install --no-install-recommends -y createrepo-c || true
@@ -87,18 +83,6 @@ else
   apt-get install --no-install-recommends -y createrepo || true
 fi
 
-if [ ${VERSION_CODENAME} == "xenial" ]; then
-  apt remove -y python3-venv
-  apt install --no-install-recommends -y software-properties-common
-  add-apt-repository ppa:deadsnakes/ppa
-  apt-get update
-  apt install --no-install-recommends -y python3.7 python3.7-dev python3.7-venv
-  rm /usr/bin/python3
-  ln -s /usr/bin/python3.7 /usr/bin/python3
-  pip3 install --upgrade pip
-  pip3 install setuptools
-fi
-
 # Node.js
 if [ "${ARCH}" == "ppc64le" -o "${ARCH}" == "s390x" ]; then
   apt-get install --no-install-recommends -y nodejs npm
@@ -155,10 +139,6 @@ if [[ ${VERSION_CODENAME} =~ ${debians} ]]; then
   fi
 elif [[ ${VERSION_CODENAME} =~ ${ubuntus} ]]; then
   cp ${SCRIPTPATH}/../files/ubuntu.profile /usr/share/lintian/profiles/couchdb/main.profile
-  if [ ${VERSION_CODENAME} == "xenial" ]; then
-    # add rule to suppress python-script-but-no-python-dep
-    sed -i -e 's/Disable-Tags: /Disable-Tags: python-script-but-no-python-dep, /' /usr/share/lintian/profiles/couchdb/main.profile
-  fi
 else
   echo "Unrecognized Debian-like release: ${VERSION_CODENAME}! Skipping lintian work."
 fi
diff --git a/build.sh b/build.sh
index d45d979..611d2fc 100755
--- a/build.sh
+++ b/build.sh
@@ -43,7 +43,7 @@ SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 #    https://access.redhat.com/support/policy/updates/errata/ (same for CentOS)
 #    also https://endoflife.software/operating-systems/linux/centos
 DEBIANS="debian-stretch debian-buster debian-bullseye"
-UBUNTUS="ubuntu-xenial ubuntu-bionic ubuntu-focal"
+UBUNTUS="ubuntu-bionic ubuntu-focal"
 CENTOSES="centos-7 centos-8"
 ERLANGALL_BASE="debian-bullseye"
 XPLAT_BASE="debian-buster"
diff --git a/dockerfiles/ubuntu-xenial b/dockerfiles/ubuntu-xenial
deleted file mode 100644
index 12a7073..0000000
--- a/dockerfiles/ubuntu-xenial
+++ /dev/null
@@ -1,56 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing,
-#   software distributed under the License is distributed on an
-#   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#   KIND, either express or implied.  See the License for the
-#   specific language governing permissions and limitations
-
-# NOTE: These are intended to be built using the arguments as
-# described in ../build.sh. See that script for more details.
-
-FROM ubuntu:xenial
-
-# Choose whether to install SpiderMonkey 1.8.5, default yes
-ARG js=js
-# Choose whether to install Erlang, default yes
-ARG erlang=erlang
-# Select version of Node, Erlang and Elixir to install
-ARG erlangversion=20.3.8.26-1
-ARG elixirversion=v1.9.4
-ARG nodeversion=14
-
-# Create Jenkins user and group
-RUN groupadd --gid 910 jenkins; \
-  useradd --uid 910 --gid jenkins --create-home jenkins
-
-# Copy couchdb-ci repo into root's home directory
-ADD --chown=root:root bin /root/couchdb-ci/bin/
-ADD --chown=root:root files /root/couchdb-ci/files/
-
-# Jenkins builds in /usr/src/couchdb.
-RUN mkdir -p /usr/src/couchdb; \
-  chown -R jenkins:jenkins /usr/src/couchdb
-
-# Install all dependencies, and optionally SM 1.8.5
-# This allows us to use the same Dockerfile for building SM
-RUN ERLANGVERSION=$erlangversion \
-  ELIXIRVERSION=$elixirversion \
-  NODEVERSION=$nodeversion \
-  /root/couchdb-ci/bin/install-dependencies.sh $js $erlang
-
-# Allow Jenkins to sudo
-RUN echo "jenkins ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/jenkins
-
-USER jenkins
-
-# overwrite this with 'CMD []' in a dependent Dockerfile
-CMD ["/bin/bash"]
diff --git a/pull-all-couchdbdev-docker b/pull-all-couchdbdev-docker
index 050db39..1521db7 100644
--- a/pull-all-couchdbdev-docker
+++ b/pull-all-couchdbdev-docker
@@ -12,7 +12,6 @@ couchdbci-centos:8-erlang-20.3.8.26-1
 couchdbci-centos:7-erlang-20.3.8.26-1
 couchdbci-ubuntu:focal-erlang-20.3.8.26-1
 couchdbci-ubuntu:bionic-erlang-20.3.8.26-1
-couchdbci-ubuntu:xenial-erlang-20.3.8.26-1
 )
 
 # Base images are used for building old libmozjs, primarily.