Files
ceph/Dockerfile.build
John Mulligan 00db7fe575 Dockerfile.build: improve docker compatibility
Try to fix:
```
Step 6/18 : COPY     ceph.spec.in     do_cmake.sh     install-deps.sh     run-make-check.sh     src/script/buildcontainer-setup.sh     ${CEPH_CTR_SRC}
When using COPY with more than one source file, the destination must be a directory and end with a /
```

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 8a9b6f8451)
2025-10-21 21:25:11 -04:00

42 lines
1.3 KiB
Docker

ARG DISTRO
FROM scratch as bootstrap
ARG CEPH_CTR_SRC=/usr/local/src/ceph
COPY \
src/script/lib-build.sh \
src/script/run-make.sh \
${CEPH_CTR_SRC}/src/script/
COPY debian ${CEPH_CTR_SRC}/debian
COPY \
ceph.spec.in \
do_cmake.sh \
install-deps.sh \
run-make-check.sh \
src/script/buildcontainer-setup.sh \
${CEPH_CTR_SRC}/
FROM $DISTRO
ARG DISTRO
ARG CEPH_CTR_SRC=/usr/local/src/ceph
ARG CLEAN_DNF=yes
ARG CEPH_BASE_BRANCH=main
ARG SCCACHE_VERSION=v0.8.2
ARG SCCACHE_REPO=https://github.com/mozilla/sccache
ARG WITH_CRIMSON=true
ARG FOR_MAKE_CHECK=1
COPY --from=bootstrap ${CEPH_CTR_SRC} ${CEPH_CTR_SRC}
# Note that we do not use ENV for the following. This is because we do not
# want them permamently stored in the container's layer.
RUN DISTRO=$DISTRO \
CEPH_BASE_BRANCH=$CEPH_BASE_BRANCH \
CLEAN_DNF=$CLEAN_DNF \
CEPH_CTR_SRC=${CEPH_CTR_SRC} \
WITH_CRIMSON=${WITH_CRIMSON} \
FOR_MAKE_CHECK=${FOR_MAKE_CHECK} \
bash -x ${CEPH_CTR_SRC}/buildcontainer-setup.sh
RUN \
SCCACHE_URL="${SCCACHE_REPO}/releases/download/${SCCACHE_VERSION}/sccache-${SCCACHE_VERSION}-$(uname -m)-unknown-linux-musl.tar.gz"; \
echo "${SCCACHE_URL}"; \
curl -sS -L $SCCACHE_URL | tar --no-anchored --strip-components=1 -C /usr/local/bin/ -xzf - sccache