]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
test: Refresh dockerfiles and add Debian 12 (#1538)
authorMaksym Sobolyev <sobomax@sippysoft.com>
Mon, 3 Mar 2025 19:13:05 +0000 (11:13 -0800)
committerGitHub <noreply@github.com>
Mon, 3 Mar 2025 19:13:05 +0000 (20:13 +0100)
- Make gcc package name configurable, this is to fix
  "E: Package 'gcc-multilib' has no installation candidate"
  on non-x86.

- Allow BASE_IMAGE to be overridden.

- Add Debian 12.

dockerfiles/alpine-3.11/Dockerfile
dockerfiles/alpine-3.15/Dockerfile
dockerfiles/debian-11/Dockerfile
dockerfiles/debian-12/Dockerfile [new file with mode: 0644]
dockerfiles/fedora-36/Dockerfile
dockerfiles/fedora-40/Dockerfile
dockerfiles/ubuntu-20.04/Dockerfile
dockerfiles/ubuntu-22.04/Dockerfile
dockerfiles/ubuntu-24.04/Dockerfile

index 7bc1d29f337796f64eaf40bbc6f2e5e8ae4c638b..8bc04cb385e6616b55177d53a8135f9ddd8d351a 100644 (file)
@@ -1,4 +1,5 @@
-FROM alpine:3.11
+ARG BASE_IMAGE=alpine:3.11
+FROM ${BASE_IMAGE} AS build
 
 RUN apk add --no-cache \
         bash \
index b97b38c622a532698b5e5fb25f5bcb81d691f35b..ff3d4c167115a803bda003e713f1f080d1976bc5 100644 (file)
@@ -1,4 +1,5 @@
-FROM alpine:3.15
+ARG BASE_IMAGE=alpine:3.15
+FROM ${BASE_IMAGE} AS build
 
 RUN apk add --no-cache \
         bash \
index ce7db7be250c00c1cfb2f23026378b66c390f6d7..bf71f493bf5bd0d96c3ac83095dec064cdfdcf17 100644 (file)
@@ -1,5 +1,7 @@
-FROM debian:11
+ARG BASE_IMAGE=debian:11
+FROM ${BASE_IMAGE} AS build
 
+ARG GCC_APT="gcc-multilib"
 RUN apt-get update \
  && apt-get install -y --no-install-recommends \
         bash \
@@ -8,7 +10,7 @@ RUN apt-get update \
         clang \
         cmake \
         elfutils \
-        gcc-multilib \
+        ${GCC_APT} \
         libhiredis-dev \
         libzstd-dev \
         python3 \
diff --git a/dockerfiles/debian-12/Dockerfile b/dockerfiles/debian-12/Dockerfile
new file mode 100644 (file)
index 0000000..9f6ebf9
--- /dev/null
@@ -0,0 +1,21 @@
+ARG BASE_IMAGE=debian:12
+FROM ${BASE_IMAGE} AS build
+
+RUN apt-get update \
+ && apt-get install -y --no-install-recommends \
+        bash \
+        build-essential \
+        ccache \
+        clang \
+        cmake \
+        elfutils \
+        gcc \
+        libhiredis-dev \
+        libzstd-dev \
+        python3 \
+        redis-server \
+        redis-tools \
+ && rm -rf /var/lib/apt/lists/*
+
+# Redirect all compilers to ccache.
+RUN for t in gcc g++ cc c++ clang clang++; do ln -vs /usr/bin/ccache /usr/local/bin/$t; done
index 5817fca7e5d8fecdb6d7a2f2fd5658b0680870a4..d7aa9c5610fa94ef6447b088200707290d860eb1 100644 (file)
@@ -1,4 +1,5 @@
-FROM fedora:36
+ARG BASE_IMAGE=fedora:36
+FROM ${BASE_IMAGE} AS build
 
 RUN dnf install -y \
         autoconf \
@@ -11,6 +12,7 @@ RUN dnf install -y \
         findutils \
         gcc \
         gcc-c++ \
+        libstdc++-static \
         hiredis-devel \
         libzstd-devel \
         make \
index e9a25cf60d4d3cc79533305ee143e7e43352d067..b9f0b4ac97eb212d966d5a94e40bf3d308adebbb 100644 (file)
@@ -1,4 +1,5 @@
-FROM fedora:40
+ARG BASE_IMAGE=fedora:40
+FROM ${BASE_IMAGE} AS build
 
 RUN dnf install -y \
         blake3-devel \
@@ -14,6 +15,7 @@ RUN dnf install -y \
         fmt-devel \
         gcc \
         gcc-c++ \
+        libstdc++-static \
         hiredis-devel \
         less \
         libzstd-devel \
index 46f4135e1ab13bac6e52356858429d01e62b1f39..3c2cebfb583126ae030533b04d1d26ce753f65f3 100644 (file)
@@ -1,6 +1,8 @@
-FROM ubuntu:20.04
+ARG BASE_IMAGE=ubuntu:20.04
+FROM ${BASE_IMAGE} AS build
 
 # Non-interactive: do not set up timezone settings.
+ARG GCC_APT="gcc-multilib"
 RUN apt-get update \
  && DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \
         asciidoctor \
@@ -12,7 +14,7 @@ RUN apt-get update \
         docbook-xml \
         docbook-xsl \
         elfutils \
-        gcc-multilib \
+        ${GCC_APT} \
         libhiredis-dev \
         libzstd-dev \
         python3 \
index 1c6d56143269fce12dfd4a727bb8a4d8fc2d39b9..8e9f6a041377b3b5b4fc1437e92f927593c03c60 100644 (file)
@@ -1,6 +1,8 @@
-FROM ubuntu:22.04
+ARG BASE_IMAGE=ubuntu:22.04
+FROM ${BASE_IMAGE} AS build
 
 # Non-interactive: do not set up timezone settings.
+ARG GCC_APT="gcc-multilib"
 RUN apt-get update \
  && DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \
         asciidoctor \
@@ -12,7 +14,7 @@ RUN apt-get update \
         docbook-xml \
         docbook-xsl \
         elfutils \
-        gcc-multilib \
+        ${GCC_APT} \
         gcc-12 \
         g++-12 \
         libhiredis-dev \
index 6b893b3d8228c966333b14a9c60e2b4e007573e8..e0733aa161c2d3f924c65536c14365ad86cc8350 100644 (file)
@@ -1,6 +1,8 @@
-FROM ubuntu:24.04
+ARG BASE_IMAGE=ubuntu:24.04
+FROM ${BASE_IMAGE} AS build
 
 # Non-interactive: do not set up timezone settings.
+ARG GCC_APT="gcc-multilib"
 RUN apt-get update \
  && DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \
         asciidoctor \
@@ -12,7 +14,7 @@ RUN apt-get update \
         docbook-xml \
         docbook-xsl \
         elfutils \
-        gcc-multilib \
+        ${GCC_APT} \
         g++-13 \
         g++-14 \
         libhiredis-dev \