diff --git a/tools/docker/Makefile b/tools/docker/Makefile index ca398cbc73..70c88c92db 100644 --- a/tools/docker/Makefile +++ b/tools/docker/Makefile @@ -93,7 +93,7 @@ help: @echo -e "\t\t${BOLD}alpine-edge${RESET} (latest)" @echo -e "\t\t${BOLD}archlinux${RESET} (latest)" @echo -e "\t\t${BOLD}debian-sid${RESET} (unstable)" -# @echo -e "\t\t${BOLD}debian-13${RESET} (Trixie)" + #@echo -e "\t\t${BOLD}debian-13${RESET} (Trixie)" @echo -e "\t\t${BOLD}debian-12${RESET} (Bookworm)" @echo -e "\t\t${BOLD}debian-11${RESET} (Bullseye)" @echo -e "\t\t${BOLD}fedora-42${RESET}" diff --git a/tools/docker/images/debian-13.Dockerfile b/tools/docker/images/debian-13.Dockerfile index 1616e3c48f..5bb761afed 100644 --- a/tools/docker/images/debian-13.Dockerfile +++ b/tools/docker/images/debian-13.Dockerfile @@ -4,10 +4,10 @@ FROM debian:13 AS env ############# ## SETUP ## ############# -RUN apt-get update -qq \ -&& apt-get install -qq \ - git pkg-config wget cmake make autoconf libtool zlib1g-dev gawk g++ curl subversion \ - swig lsb-release \ +RUN apt update -qq \ +&& apt install -yq \ + git pkg-config wget cmake build-essential zlib1g-dev \ + swig lsb-release libicu-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ENTRYPOINT ["/bin/bash", "-c"] @@ -30,10 +30,12 @@ ENV JAVA_HOME=/usr/lib/jvm/default-java # Install Python RUN apt-get update -qq \ -&& apt-get install -qq python3 python3-dev python3-pip python3-venv \ +&& apt-get install -qq python3 python3-dev python3-pip \ + python3-venv python3-virtualenv \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* -RUN python3 -m pip install absl-py mypy mypy-protobuf +RUN python3 -m pip install --break-system-package \ + absl-py mypy mypy-protobuf ENV TZ=America/Los_Angeles RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone diff --git a/tools/docker/images/debian-sid.Dockerfile b/tools/docker/images/debian-sid.Dockerfile index 1b4803b773..27fc2bb075 100644 --- a/tools/docker/images/debian-sid.Dockerfile +++ b/tools/docker/images/debian-sid.Dockerfile @@ -5,29 +5,19 @@ FROM debian:sid AS env ## SETUP ## ############# RUN apt update -qq \ -&& apt install -yq git wget build-essential cmake lsb-release zlib1g-dev \ +&& apt install -yq \ + git pkg-config wget cmake build-essential zlib1g-dev \ + swig libicu-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ENTRYPOINT ["/bin/bash", "-c"] CMD ["/bin/bash"] -# Install SWIG -RUN apt update -qq \ -&& apt install -yq swig \ -&& apt-get clean \ -&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - # Install .Net -# see https://docs.microsoft.com/en-us/dotnet/core/install/linux-debian#debian-13- -RUN apt-get update -qq \ -&& apt-get install -qq gpg apt-transport-https \ -&& wget -q "https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb" -O packages-microsoft-prod.deb \ -&& dpkg -i packages-microsoft-prod.deb \ -&& rm packages-microsoft-prod.deb \ -&& apt-get update -qq \ -&& apt-get install -qq dotnet-sdk-8.0 \ -&& apt-get clean \ -&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* +# see: https://learn.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#scripted-install +RUN wget -q "https://dot.net/v1/dotnet-install.sh" \ +&& chmod a+x dotnet-install.sh \ +&& ./dotnet-install.sh -c 8.0 -i /usr/local/bin # Trigger first run experience by running arbitrary cmd RUN dotnet --info @@ -44,7 +34,8 @@ RUN apt-get update -qq \ python3-venv python3-virtualenv \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* -RUN python3 -m pip install --break-system-package absl-py mypy mypy-protobuf +RUN python3 -m pip install --break-system-package \ + absl-py mypy mypy-protobuf ENV TZ=America/Los_Angeles RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone diff --git a/tools/docker/images/fedora-41.Dockerfile b/tools/docker/images/fedora-41.Dockerfile index 4f5efeaef3..9db9337a66 100644 --- a/tools/docker/images/fedora-41.Dockerfile +++ b/tools/docker/images/fedora-41.Dockerfile @@ -6,7 +6,7 @@ FROM fedora:41 AS env ############# RUN dnf -y update \ && dnf -y install git \ - wget which redhat-lsb-core pkgconfig autoconf libtool zlib-devel \ + wget which lsb_release pkgconfig autoconf libtool zlib-devel \ && dnf -y install @development-tools \ && dnf -y install gcc-c++ cmake \ && dnf clean all diff --git a/tools/docker/images/fedora-42.Dockerfile b/tools/docker/images/fedora-42.Dockerfile index 78472a4412..485022bca2 100644 --- a/tools/docker/images/fedora-42.Dockerfile +++ b/tools/docker/images/fedora-42.Dockerfile @@ -6,7 +6,7 @@ FROM fedora:42 AS env ############# RUN dnf -y update \ && dnf -y install git \ - wget which redhat-lsb-core pkgconfig autoconf libtool zlib-devel \ + wget which lsb_release pkgconfig autoconf libtool zlib-devel \ && dnf -y install @development-tools \ && dnf -y install gcc-c++ cmake \ && dnf clean all @@ -30,7 +30,7 @@ RUN dotnet --info # Install Java RUN dnf -y update \ -&& dnf -y install java-11-openjdk java-11-openjdk-devel maven \ +&& dnf -y install java-21-openjdk java-21-openjdk-devel maven \ && dnf clean all ENV JAVA_HOME=/usr/lib/jvm/java-openjdk diff --git a/tools/docker/images/ubuntu-22.04.Dockerfile b/tools/docker/images/ubuntu-22.04.Dockerfile index 2b6a884c10..1b32512b26 100644 --- a/tools/docker/images/ubuntu-22.04.Dockerfile +++ b/tools/docker/images/ubuntu-22.04.Dockerfile @@ -8,11 +8,18 @@ FROM ubuntu:22.04 AS env ############# ENV DEBIAN_FRONTEND=noninteractive RUN apt update -qq \ -&& apt install -yq git wget build-essential cmake lsb-release zlib1g-dev \ +&& apt install -yq git wget build-essential lsb-release zlib1g-dev \ && apt clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* -ENTRYPOINT ["/usr/bin/bash", "-c"] -CMD ["/usr/bin/bash"] +ENTRYPOINT ["/bin/bash", "-c"] +CMD ["/bin/bash"] + +# Install CMake 3.31.0 +RUN ARCH=$(uname -m) \ +&& wget -q "https://cmake.org/files/v3.31/cmake-3.31.0-linux-${ARCH}.sh" \ +&& chmod a+x cmake-3.31.0-linux-${ARCH}.sh \ +&& ./cmake-3.31.0-linux-${ARCH}.sh --prefix=/usr/local/ --skip-license \ +&& rm cmake-3.31.0-linux-${ARCH}.sh # Install SWIG RUN apt-get update -qq \ diff --git a/tools/docker/test/fedora-41/cpp.Dockerfile b/tools/docker/test/fedora-41/cpp.Dockerfile index 631db505b2..f1de2d071c 100644 --- a/tools/docker/test/fedora-41/cpp.Dockerfile +++ b/tools/docker/test/fedora-41/cpp.Dockerfile @@ -3,7 +3,7 @@ FROM fedora:41 RUN dnf -y update \ && dnf -y install git \ - wget which redhat-lsb-core pkgconfig autoconf libtool zlib-devel \ + wget which lsb_release pkgconfig autoconf libtool zlib-devel \ && dnf -y install @development-tools \ && dnf -y install gcc-c++ cmake \ && dnf clean all diff --git a/tools/docker/test/fedora-41/dotnet.Dockerfile b/tools/docker/test/fedora-41/dotnet.Dockerfile index 293a7194f2..5fe20ec661 100644 --- a/tools/docker/test/fedora-41/dotnet.Dockerfile +++ b/tools/docker/test/fedora-41/dotnet.Dockerfile @@ -3,7 +3,7 @@ FROM fedora:41 RUN dnf -y update \ && dnf -y install git \ - wget which redhat-lsb-core pkgconfig autoconf libtool zlib-devel \ + wget which lsb_release pkgconfig autoconf libtool zlib-devel \ && dnf -y install @development-tools \ && dnf -y install gcc-c++ cmake \ && dnf clean all diff --git a/tools/docker/test/fedora-41/java.Dockerfile b/tools/docker/test/fedora-41/java.Dockerfile index 24d33e64c1..9d53bd8730 100644 --- a/tools/docker/test/fedora-41/java.Dockerfile +++ b/tools/docker/test/fedora-41/java.Dockerfile @@ -3,7 +3,7 @@ FROM fedora:41 RUN dnf -y update \ && dnf -y install git \ - wget which redhat-lsb-core pkgconfig autoconf libtool zlib-devel \ + wget which lsb_release pkgconfig autoconf libtool zlib-devel \ && dnf -y install @development-tools \ && dnf -y install gcc-c++ cmake \ && dnf clean all diff --git a/tools/docker/test/fedora-41/python.Dockerfile b/tools/docker/test/fedora-41/python.Dockerfile index c9cc24ca1f..45b07aa0e3 100644 --- a/tools/docker/test/fedora-41/python.Dockerfile +++ b/tools/docker/test/fedora-41/python.Dockerfile @@ -3,7 +3,7 @@ FROM fedora:41 RUN dnf -y update \ && dnf -y install git \ - wget which redhat-lsb-core pkgconfig autoconf libtool zlib-devel \ + wget which lsb_release pkgconfig autoconf libtool zlib-devel \ && dnf -y install @development-tools \ && dnf -y install gcc-c++ cmake \ && dnf clean all diff --git a/tools/docker/test/fedora-42/cpp.Dockerfile b/tools/docker/test/fedora-42/cpp.Dockerfile index 80356489bd..b6511cb9fc 100644 --- a/tools/docker/test/fedora-42/cpp.Dockerfile +++ b/tools/docker/test/fedora-42/cpp.Dockerfile @@ -3,7 +3,7 @@ FROM fedora:42 RUN dnf -y update \ && dnf -y install git \ - wget which redhat-lsb-core pkgconfig autoconf libtool zlib-devel \ + wget which lsb_release pkgconfig autoconf libtool zlib-devel \ && dnf -y install @development-tools \ && dnf -y install gcc-c++ cmake \ && dnf clean all diff --git a/tools/docker/test/fedora-42/dotnet.Dockerfile b/tools/docker/test/fedora-42/dotnet.Dockerfile index 118af294a8..b1b201202d 100644 --- a/tools/docker/test/fedora-42/dotnet.Dockerfile +++ b/tools/docker/test/fedora-42/dotnet.Dockerfile @@ -3,7 +3,7 @@ FROM fedora:42 RUN dnf -y update \ && dnf -y install git \ - wget which redhat-lsb-core pkgconfig autoconf libtool zlib-devel \ + wget which lsb_release pkgconfig autoconf libtool zlib-devel \ && dnf -y install @development-tools \ && dnf -y install gcc-c++ cmake \ && dnf clean all diff --git a/tools/docker/test/fedora-42/java.Dockerfile b/tools/docker/test/fedora-42/java.Dockerfile index 95666161de..11b5281629 100644 --- a/tools/docker/test/fedora-42/java.Dockerfile +++ b/tools/docker/test/fedora-42/java.Dockerfile @@ -3,14 +3,14 @@ FROM fedora:42 RUN dnf -y update \ && dnf -y install git \ - wget which redhat-lsb-core pkgconfig autoconf libtool zlib-devel \ + wget which lsb_release pkgconfig autoconf libtool zlib-devel \ && dnf -y install @development-tools \ && dnf -y install gcc-c++ cmake \ && dnf clean all # Java Install RUN dnf -y update \ -&& dnf -y install java-11-openjdk java-11-openjdk-devel maven \ +&& dnf -y install java-21-openjdk java-21-openjdk-devel maven \ && dnf clean all ENV JAVA_HOME=/usr/lib/jvm/java-openjdk diff --git a/tools/docker/test/fedora-42/python.Dockerfile b/tools/docker/test/fedora-42/python.Dockerfile index a5d0bf0ba7..5a9748e320 100644 --- a/tools/docker/test/fedora-42/python.Dockerfile +++ b/tools/docker/test/fedora-42/python.Dockerfile @@ -3,7 +3,7 @@ FROM fedora:42 RUN dnf -y update \ && dnf -y install git \ - wget which redhat-lsb-core pkgconfig autoconf libtool zlib-devel \ + wget which lsb_release pkgconfig autoconf libtool zlib-devel \ && dnf -y install @development-tools \ && dnf -y install gcc-c++ cmake \ && dnf clean all