Update to Debian bullseye

This commit is contained in:
Stan Hu 2022-02-10 07:37:01 +00:00 committed by Balasankar 'Balu' C
parent cc18fe8b5b
commit 27c59b7e27
10 changed files with 50 additions and 15 deletions

View file

@ -2,7 +2,8 @@
.gitaly-matrix: .gitaly-matrix:
parallel: parallel:
matrix: matrix:
- RUBY: ['2.7', '3.0'] - DEBIAN: ['bullseye']
RUBY: ['2.7', '3.0']
GOLANG: ['1.16', '1.17'] GOLANG: ['1.16', '1.17']
GIT: ['2.31', '2.33'] GIT: ['2.31', '2.33']
PGBOUNCER: ['1.14', ''] PGBOUNCER: ['1.14', '']

View file

@ -8,7 +8,8 @@
GRAPHICSMAGICK: '1.3.36' GRAPHICSMAGICK: '1.3.36'
parallel: parallel:
matrix: matrix:
- RUBY: ['2.7.patched', '3.0.patched'] - DEBIAN: ['bullseye']
RUBY: ['2.7.patched', '3.0.patched']
GIT: ['2.33'] GIT: ['2.33']
POSTGRESQL: ['11', '12', '13'] POSTGRESQL: ['11', '12', '13']
GOLANG: ['1.16', '1.17'] GOLANG: ['1.16', '1.17']

View file

@ -54,8 +54,9 @@ RUN if [ -n "$LFS_VERSION" ]; then /scripts/install-lfs && git lfs --version; fi
# Postgres # Postgres
ARG POSTGRES_VERSION ARG POSTGRES_VERSION
ARG DEBIAN_VERSION
RUN if [ -n "$POSTGRES_VERSION" ] ; then /scripts/install-postgresql $POSTGRES_VERSION; fi RUN if [ -n "$POSTGRES_VERSION" ] ; then /scripts/install-postgresql $POSTGRES_VERSION $DEBIAN_VERSION; fi
# GraphicsMagick # GraphicsMagick
ARG GRAPHISMAGICK_VERSION ARG GRAPHISMAGICK_VERSION
@ -66,8 +67,9 @@ RUN if [ -n "$GRAPHISMAGICK_VERSION" ]; then /scripts/install-graphicsmagick &&
# Docker # Docker
ARG DOCKER_VERSION ARG DOCKER_VERSION
ARG DEBIAN_VERSION
RUN if [ -n "$DOCKER_VERSION" ]; then /scripts/install-docker $DOCKER_VERSION; fi RUN if [ -n "$DOCKER_VERSION" ]; then /scripts/install-docker $DOCKER_VERSION $DEBIAN_VERSION; fi
# PgBouncer # PgBouncer
ARG PGBOUNCER_VERSION ARG PGBOUNCER_VERSION
@ -98,4 +100,5 @@ ENV RUBY_VERSION=${RUBY_VERSION} \
GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} \ GRAPHISMAGICK_VERSION=${GRAPHISMAGICK_VERSION} \
DOCKER_VERSION=${DOCKER_VERSION} \ DOCKER_VERSION=${DOCKER_VERSION} \
PGBOUNCER_VERSION=${PGBOUNCER_VERSION} \ PGBOUNCER_VERSION=${PGBOUNCER_VERSION} \
BAZELISK_VERSION=${BAZELISK_VERSION} BAZELISK_VERSION=${BAZELISK_VERSION} \
DEBIAN_VERSION=${DEBIAN_VERSION}

View file

@ -249,6 +249,7 @@ function parse_arguments() {
if [ -n "${!tool}" ]; then if [ -n "${!tool}" ]; then
version="${!tool}" version="${!tool}"
case "$tool" in case "$tool" in
DEBIAN) CUSTOM_IMAGE_VERSION=$version ;;
RUBY) print_ruby_args $version ;; RUBY) print_ruby_args $version ;;
GOLANG) print_golang_args $version ;; GOLANG) print_golang_args $version ;;
CHROME) print_chrome_args $version ;; CHROME) print_chrome_args $version ;;
@ -268,6 +269,7 @@ function parse_arguments() {
printf -- "--build-arg CUSTOM_IMAGE_NAME=%s " "$CUSTOM_IMAGE_NAME" printf -- "--build-arg CUSTOM_IMAGE_NAME=%s " "$CUSTOM_IMAGE_NAME"
printf -- "--build-arg CUSTOM_IMAGE_VERSION=%s " "$CUSTOM_IMAGE_VERSION" printf -- "--build-arg CUSTOM_IMAGE_VERSION=%s " "$CUSTOM_IMAGE_VERSION"
printf -- "--build-arg DEBIAN_VERSION=%s " "$CUSTOM_IMAGE_VERSION"
} }
function generate_command() { function generate_command() {

View file

@ -5,6 +5,7 @@ set -xeuo pipefail
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
DOCKER_VERSION=${1} DOCKER_VERSION=${1}
DEBIAN_VERSION=${2:-buster}
apt-get update apt-get update
apt-get -y install \ apt-get -y install \
@ -16,7 +17,7 @@ apt-get -y install \
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/debian stretch stable" >> /etc/apt/sources.list.d/docker.list echo "deb [arch=amd64] https://download.docker.com/linux/debian ${DEBIAN_VERSION} stable" >> /etc/apt/sources.list.d/docker.list
apt-get update apt-get update
PACKAGE_VERSION=$(apt-cache policy docker-ce | awk -v dv=${DOCKER_VERSION}~ '$1 ~ dv {print $1}') PACKAGE_VERSION=$(apt-cache policy docker-ce | awk -v dv=${DOCKER_VERSION}~ '$1 ~ dv {print $1}')

View file

@ -10,9 +10,7 @@ apt-get update
# We install `git-core` as some tooling expect `/usr/bin/git` # We install `git-core` as some tooling expect `/usr/bin/git`
# other tools that rely on PATH ordering will pick a one in `/usr/local` # other tools that rely on PATH ordering will pick a one in `/usr/local`
# if present # if present
function install_debian_stretch_deps() {
if grep "Debian GNU/Linux 9" /etc/issue
then
apt-get install -y \ apt-get install -y \
curl wget build-essential apt-utils locales openssh-client \ curl wget build-essential apt-utils locales openssh-client \
libssl-dev libyaml-dev libreadline6-dev zlib1g-dev \ libssl-dev libyaml-dev libreadline6-dev zlib1g-dev \
@ -23,7 +21,9 @@ then
libkrb5-dev postgresql-client mysql-client unzip \ libkrb5-dev postgresql-client mysql-client unzip \
libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \ libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \
libre2-dev libevent-dev gettext rsync git-core libre2-dev libevent-dev gettext rsync git-core
else }
function install_debian_buster_deps() {
apt-get install -y \ apt-get install -y \
curl wget build-essential apt-utils locales openssh-client \ curl wget build-essential apt-utils locales openssh-client \
libssl-dev libyaml-dev libreadline-dev zlib1g-dev \ libssl-dev libyaml-dev libreadline-dev zlib1g-dev \
@ -33,7 +33,33 @@ else
libkrb5-dev postgresql-client unzip \ libkrb5-dev postgresql-client unzip \
libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \ libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \
libre2-dev libevent-dev gettext rsync git-core libre2-dev libevent-dev gettext rsync git-core
fi }
function install_debian_bullseye_deps() {
apt-get install -y \
curl wget build-essential apt-utils locales openssh-client \
libssl-dev libyaml-dev libreadline-dev zlib1g-dev \
libncurses5-dev libffi-dev ca-certificates libxml2-dev \
libxslt1-dev libcurl4-openssl-dev libicu-dev \
logrotate python3-docutils pkg-config cmake \
libkrb5-dev postgresql-client unzip \
libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \
libre2-dev libevent-dev gettext rsync git-core
}
VERSION=`cat /etc/issue | cut -d ' ' -f 3`
case "$VERSION" in
9)
install_debian_stretch_deps
;;
10)
install_debian_buster_deps
;;
11)
install_debian_bullseye_deps
;;
esac
# Set UTF-8 # Set UTF-8
# http://stackoverflow.com/a/3182519/2137281 # http://stackoverflow.com/a/3182519/2137281

View file

@ -13,7 +13,7 @@ curl -sS -L https://deb.nodesource.com/setup_${NODE_MAJOR} | bash -
apt-get update apt-get update
NODE_FILE_NAME="nodejs_$NODE_INSTALL_VERSION-1nodesource1_amd64.deb" NODE_FILE_NAME="nodejs_$NODE_INSTALL_VERSION-deb-1nodesource1_amd64.deb"
curl -s -O "https://deb.nodesource.com/node_$NODE_MAJOR/pool/main/n/nodejs/$NODE_FILE_NAME" curl -s -O "https://deb.nodesource.com/node_$NODE_MAJOR/pool/main/n/nodejs/$NODE_FILE_NAME"
dpkg -i "$NODE_FILE_NAME" dpkg -i "$NODE_FILE_NAME"
rm -f "$NODE_FILE_NAME" rm -f "$NODE_FILE_NAME"

View file

@ -3,10 +3,11 @@ set -xeuo pipefail
IFS=$'\n\t' IFS=$'\n\t'
POSTGRES_VERSION=${1:-12} POSTGRES_VERSION=${1:-12}
DEBIAN_VERSION=${2:-buster}
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
curl -sS -L https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - curl -sS -L https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" | tee /etc/apt/sources.list.d/postgresql.list echo "deb http://apt.postgresql.org/pub/repos/apt/ ${DEBIAN_VERSION}-pgdg main" | tee /etc/apt/sources.list.d/postgresql.list
apt-get update apt-get update
apt-get install -y postgresql-client-${POSTGRES_VERSION} apt-get install -y postgresql-client-${POSTGRES_VERSION}

View file

@ -2,7 +2,7 @@
set -xeou pipefail set -xeou pipefail
# Based on https://github.com/docker-library/ruby/blob/master/2.7/buster/Dockerfile # Based on https://github.com/docker-library/ruby/blob/master/2.7/bullseye/Dockerfile
RUBY_VERSION=${1} RUBY_VERSION=${1}
RUBY_MAJOR=${1%.*} # strip last component RUBY_MAJOR=${1%.*} # strip last component

View file

@ -1,4 +1,4 @@
TOOLS=(RUBY GOLANG GIT LFS CHROME NODE YARN POSTGRESQL GRAPHICSMAGICK PGBOUNCER BAZELISK) TOOLS=(DEBIAN RUBY GOLANG GIT LFS CHROME NODE YARN POSTGRESQL GRAPHICSMAGICK PGBOUNCER BAZELISK)
function get_image_name(){ function get_image_name(){
local IMAGE_NAME local IMAGE_NAME