Removed curl dependency on make

This commit is contained in:
2026-04-17 02:42:27 +08:00
parent 286241c7fb
commit 8adf03a2a4
5 changed files with 149 additions and 61 deletions

View File

@@ -0,0 +1,109 @@
FROM alpine:3.23.0 AS base
RUN apk add --no-cache curl ca-certificates
# ---- kubelet ----
FROM base AS kubelet
ARG KUBE_VERSION
ARG ARCH
WORKDIR /out/kubernetes
RUN curl -fL --retry 3 -o "kubelet-${KUBE_VERSION}" \
"https://dl.k8s.io/${KUBE_VERSION}/bin/linux/${ARCH}/kubelet" && \
chmod +x "kubelet-${KUBE_VERSION}"
# ---- kubeadm ----
FROM base AS kubeadm
ARG KUBE_VERSION
ARG ARCH
WORKDIR /out/kubernetes
RUN curl -fL --retry 3 -o "kubeadm-${KUBE_VERSION}" \
"https://dl.k8s.io/${KUBE_VERSION}/bin/linux/${ARCH}/kubeadm" && \
chmod +x "kubeadm-${KUBE_VERSION}"
# ---- kubectl ----
FROM base AS kubectl
ARG KUBE_VERSION
ARG ARCH
WORKDIR /out/kubernetes
RUN curl -fL --retry 3 -o "kubectl-${KUBE_VERSION}" \
"https://dl.k8s.io/${KUBE_VERSION}/bin/linux/${ARCH}/kubectl" && \
chmod +x "kubectl-${KUBE_VERSION}"
# ---- busybox ----
FROM base AS busybox
ARG BUSYBOX_VERSION
WORKDIR /out
RUN curl -fL --retry 3 -o "busybox-${BUSYBOX_VERSION}.tar.gz" \
"https://github.com/mirror/busybox/archive/refs/tags/${BUSYBOX_VERSION}.tar.gz"
# ---- e2fsprogs ----
FROM base AS e2fsprogs
ARG E2FSPROGS_VERSION
WORKDIR /out
RUN curl -fL --retry 3 -o "e2fsprogs-v${E2FSPROGS_VERSION}.tar.gz" \
"https://github.com/tytso/e2fsprogs/archive/refs/tags/v${E2FSPROGS_VERSION}.tar.gz"
# ---- dpdk ----
FROM base AS dpdk
ARG DPDK_VERSION
WORKDIR /out/nxp/dpdk
RUN curl -fL --retry 3 -o "${DPDK_VERSION}.tar.gz" \
"https://github.com/nxp-qoriq/dpdk/archive/refs/tags/${DPDK_VERSION}.tar.gz"
# ---- fmlib ----
FROM base AS fmlib
ARG FMLIB_VERSION
WORKDIR /out/nxp/fmlib
RUN curl -fL --retry 3 -o "${FMLIB_VERSION}.tar.gz" \
"https://github.com/nxp-qoriq/fmlib/archive/refs/tags/${FMLIB_VERSION}.tar.gz"
# ---- fmc ----
FROM base AS fmc
ARG FMC_VERSION
WORKDIR /out/nxp/fmc
RUN curl -fL --retry 3 -o "${FMC_VERSION}.tar.gz" \
"https://github.com/nxp-qoriq/fmc/archive/refs/tags/${FMC_VERSION}.tar.gz"
# ---- vpp ----
FROM base AS vpp
ARG VPP_VERSION
WORKDIR /out/nxp/vpp
RUN curl -fL --retry 3 -o "${VPP_VERSION}.tar.gz" \
"https://github.com/nxp-qoriq/vpp/archive/refs/tags/${VPP_VERSION}.tar.gz"
# ---- alpine rootfs ----
FROM base AS alpine_rootfs
ARG ALPINE_SERIES
ARG ALPINE_ARCH
ARG ALPINE_VER
WORKDIR /out
RUN curl -fL --retry 3 -o "alpine-minirootfs-${ALPINE_VER}-${ALPINE_ARCH}.tar.gz" \
"https://dl-cdn.alpinelinux.org/alpine/v${ALPINE_SERIES}/releases/${ALPINE_ARCH}/alpine-minirootfs-${ALPINE_VER}-${ALPINE_ARCH}.tar.gz"
# ---- nxp linux ----
FROM base AS nxp_linux
ARG NXP_VERSION
WORKDIR /out/nxp/kernel
RUN curl -fL --retry 3 -o "${NXP_VERSION}.tar.gz" \
"https://github.com/nxp-qoriq/linux/archive/refs/tags/${NXP_VERSION}.tar.gz"
# ---- crio ----
FROM base AS crio
ARG CRIO_VERSION
WORKDIR /out
RUN curl -fL --retry 3 -o "${CRIO_VERSION}.tar.gz" \
"https://storage.googleapis.com/cri-o/artifacts/${CRIO_VERSION}.tar.gz"
# ---- final exported artifact set ----
FROM scratch
COPY --from=kubelet /out/ /
COPY --from=kubeadm /out/ /
COPY --from=kubectl /out/ /
COPY --from=busybox /out/ /
COPY --from=e2fsprogs /out/ /
COPY --from=dpdk /out/ /
COPY --from=fmlib /out/ /
COPY --from=fmc /out/ /
COPY --from=vpp /out/ /
COPY --from=alpine_rootfs /out/ /
COPY --from=nxp_linux /out/ /
COPY --from=crio /out/ /

View File

@@ -14,7 +14,7 @@ RUN test -n "${NXP_VERSION}" || (echo "Please specify NXP_VERSION" >&2; exit 1);
test -n "${CROSS_COMPILE}" || (echo "Please specify CROSS_COMPILE" >&2; exit 1); \
test -n "${DEVICE_TREE_TARGET}" || (echo "Please specify DEVICE_TREE_TARGET" >&2; exit 1)
COPY packages/${NXP_VERSION}.tar.gz ./
COPY packages/nxp/kernel/${NXP_VERSION}.tar.gz ./
RUN tar -xf ${NXP_VERSION}.tar.gz \
&& mv "linux-${NXP_VERSION}" nxplinux \
&& rm -f ${NXP_VERSION}.tar.gz