From fbc62e76369623055ce562686f7abf3b3eef836e Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Thu, 22 May 2025 15:14:26 +0000 Subject: [PATCH] docker: update to current Ubuntu releases --- tools/docker/README.md | 2 +- tools/docker/focal/Dockerfile | 37 ------------------------------ tools/docker/plucky/Dockerfile | 42 ++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 38 deletions(-) delete mode 100644 tools/docker/focal/Dockerfile create mode 100644 tools/docker/plucky/Dockerfile diff --git a/tools/docker/README.md b/tools/docker/README.md index af5c5afb7d..4dcc56087c 100644 --- a/tools/docker/README.md +++ b/tools/docker/README.md @@ -2,9 +2,9 @@ **Docker containers** - Ubuntu - - focal (Ubuntu 20.04) - jammy (Ubuntu 22.04) - noble (Ubuntu 24.04) + - plucky (Ubuntu 25.04) - Debian - bookworm (Debian 12) diff --git a/tools/docker/focal/Dockerfile b/tools/docker/focal/Dockerfile deleted file mode 100644 index 15513d7507..0000000000 --- a/tools/docker/focal/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:focal - -ARG DEBIAN_FRONTEND=noninteractive - -RUN apt-get update \ - && apt-get dist-upgrade -y \ - && apt-get install -y locales sudo \ - && rm -rf /var/lib/apt/lists/* - -RUN locale-gen en_US.UTF-8 \ - && update-locale LANG=en_US.UTF-8 LANGUAGE=en_US:en -ENV LANG=en_US.UTF-8 \ - LANGUAGE=en_US:en \ - LC_ALL=en_US.UTF-8 - -RUN adduser --disabled-password --gecos '' docker \ - && adduser docker sudo \ - && echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers - -RUN apt-get update && apt-get install -y \ - curl bash bc gcc-10 sed patch patchutils tar bzip2 gzip xz-utils zstd perl gawk gperf zip \ - unzip diffutils lzop make file g++-10 xfonts-utils xsltproc default-jre-headless python3 \ - libc6-dev libncurses5-dev libjson-perl libxml-parser-perl libparse-yapp-perl rdfind \ - golang-1.20-go git openssh-client rsync \ - --no-install-recommends \ - && ln -s /usr/lib/go-1.20 /usr/lib/go \ - && ln -s /usr/lib/go-1.20/bin/go /usr/bin/go \ - && ln -s /usr/lib/go-1.20/bin/gofmt /usr/bin/gofmt \ - && rm -rf /var/lib/apt/lists/* - -RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 \ - --slave /usr/bin/cpp cpp /usr/bin/cpp-10 \ - --slave /usr/bin/g++ g++ /usr/bin/g++-10 \ - --slave /usr/bin/gcov gcov /usr/bin/gcov-10 -RUN update-alternatives --config gcc - -USER docker diff --git a/tools/docker/plucky/Dockerfile b/tools/docker/plucky/Dockerfile new file mode 100644 index 0000000000..ec5f34d6f3 --- /dev/null +++ b/tools/docker/plucky/Dockerfile @@ -0,0 +1,42 @@ +FROM ubuntu:plucky + +ARG DEBIAN_FRONTEND=noninteractive + +RUN apt-get update \ + && apt-get dist-upgrade -y \ + && apt-get install -y locales sudo + +RUN locale-gen en_US.UTF-8 \ + && update-locale LANG=en_US.UTF-8 LANGUAGE=en_US:en +ENV LANG=en_US.UTF-8 \ + LANGUAGE=en_US:en \ + LC_ALL=en_US.UTF-8 + +RUN useradd docker -U -G sudo -m -s /bin/bash \ + && echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +RUN apt-get update + +RUN apt-get install -y \ + curl bash bc gcc-15 cpp-15 sed patch patchutils tar bzip2 gzip xz-utils zstd perl gawk gperf zip \ + unzip diffutils lzop make file g++-15 xfonts-utils xsltproc default-jre-headless python3 \ + libc6-dev libncurses5-dev libjson-perl libxml-parser-perl libparse-yapp-perl rdfind \ + golang-1.24-go git openssh-client rsync upx-ucl \ + --no-install-recommends \ + && ln -s /usr/lib/go-1.24 /usr/lib/go \ + && ln -s /usr/lib/go-1.24/bin/go /usr/bin/go \ + && ln -s /usr/lib/go-1.24/bin/gofmt /usr/bin/gofmt + +RUN if [ "$(uname -m)" = "aarch64" ]; then \ + apt-get install -y libc6-amd64-cross qemu-user-binfmt --no-install-recommends; \ + fi + +RUN rm -rf /var/lib/apt/lists/* + +RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-15 100 \ + --slave /usr/bin/cpp cpp /usr/bin/cpp-15 \ + --slave /usr/bin/g++ g++ /usr/bin/g++-15 \ + --slave /usr/bin/gcov gcov /usr/bin/gcov-15 +RUN update-alternatives --config gcc + +USER docker