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

@@ -9,11 +9,11 @@ OUT_DIR := out
E2FSPROGS_TAR := $(PACKAGES_DIR)/e2fsprogs-$(E2FSPROGS_VERSION).tar.gz
BUSYBOX_TAR := $(PACKAGES_DIR)/busybox-$(BUSYBOX_VERSION).tar.gz
ALPINE_TAR := $(PACKAGES_DIR)/alpine-minirootfs-$(ALPINE_VER)-$(ALPINE_ARCH).tar.gz
NXP_TAR := $(PACKAGES_DIR)/$(NXP_VERSION).tar.gz
FMLIB_TAR := $(PACKAGES_DIR)/fmlib/$(FMLIB_VERSION).tar.gz
FMC_TAR := $(PACKAGES_DIR)/fmc/$(FMC_VERSION).tar.gz
VPP_TAR := $(PACKAGES_DIR)/vpp/$(VPP_VERSION).tar.gz
DPDK_TAR := $(PACKAGES_DIR)/dpdk/$(DPDK_VERSION).tar.gz
NXP_TAR := $(PACKAGES_DIR)/nxp/kernel/$(NXP_VERSION).tar.gz
FMLIB_TAR := $(PACKAGES_DIR)/nxp/fmlib/$(FMLIB_VERSION).tar.gz
FMC_TAR := $(PACKAGES_DIR)/nxp/fmc/$(FMC_VERSION).tar.gz
VPP_TAR := $(PACKAGES_DIR)/nxp/vpp/$(VPP_VERSION).tar.gz
DPDK_TAR := $(PACKAGES_DIR)/nxp/dpdk/$(DPDK_VERSION).tar.gz
CRIO_TAR := $(PACKAGES_DIR)/$(CRIO_VERSION).tar.gz
# Kubernetes components
@@ -21,6 +21,8 @@ KUBELET_BIN := $(PACKAGES_DIR)/kubernetes/kubelet-$(KUBE_VERSION)
KUBEADM_BIN := $(PACKAGES_DIR)/kubernetes/kubeadm-$(KUBE_VERSION)
KUBECTL_BIN := $(PACKAGES_DIR)/kubernetes/kubectl-$(KUBE_VERSION)
CLITOOLS_BIN := bin/ctl-linux-$(ARCH)-$(TAG)
CONFIGS_DIR := configs
SCRIPTS_DIR := scripts
CLUSTER_ENV_DEFAULT := $(CONFIGS_DIR)/cluster.env.default
@@ -33,11 +35,10 @@ INITRAMFS := $(OUT_DIR)/initramfs.cpio.gz
CATALOG := $(OUT_DIR)/catalog-$(KUBE_VERSION)-$(TAG).txt
RELEASE_IMAGE := $(OUT_DIR)/monok8s-$(KUBE_VERSION)-$(TAG).img.gz
PART_IMAGE := $(OUT_DIR)/monok8s-$(KUBE_VERSION)-$(TAG).ext4.zst
KERNEL_IMAGE := $(OUT_DIR)/Image.gz
BUILD_BASE_STAMP := $(OUT_DIR)/.build-base-$(TAG).stamp
CLITOOLS_BIN := bin/ctl-linux-$(ARCH)-$(TAG)
BUILD_BASE_STAMP := $(OUT_DIR)/.build-base-$(TAG).stamp
DOWNLOAD_PACKAGES_STAMP := $(PACKAGES_DIR)/.download-packages.stamp
ALPINE_SERIES := $(word 1,$(subst ., ,$(ALPINE_VER))).$(word 2,$(subst ., ,$(ALPINE_VER)))
@@ -62,7 +63,6 @@ BUILD_BASE_DEPS := \
KERNEL_DEPS := \
$(BUILD_BASE_STAMP) \
$(NXP_TAR) \
docker/kernel-build.Dockerfile \
kernel-extra.config \
$(KERNEL_SRCS) \
@@ -71,8 +71,6 @@ KERNEL_DEPS := \
INITRAMFS_DEPS := \
$(KERNEL_IMAGE) \
$(BUSYBOX_TAR) \
$(E2FSPROGS_TAR) \
docker/initramfs.Dockerfile \
$(INITRAMFS_SRCS) \
$(BUILD_INFO_FILE) \
@@ -93,12 +91,7 @@ RELEASE_DEPS := \
$(BUILD_BASE_STAMP) \
$(BUILD_INFO_FILE) \
$(BOARD_ITB) \
$(ALPINE_TAR) \
$(CLITOOLS_BIN) \
$(CRIO_TAR) \
$(KUBELET_BIN) \
$(KUBEADM_BIN) \
$(KUBECTL_BIN) \
docker/alpine.Dockerfile \
$(ALPINE_SRCS) \
build.env \
@@ -109,50 +102,36 @@ RELEASE_DEPS := \
$(PACKAGES_DIR):
mkdir -p $@ \
$@/kubernetes \
$@/vpp
$@/nxp/vpp \
$@/nxp/fmc \
$@/nxp/fmlib \
$@/nxp/kernel \
$@/nxp/dpdk
$(OUT_DIR):
mkdir -p $@
# ---- Package downloads -------------------------------------------------------
$(KUBELET_BIN): | $(PACKAGES_DIR)
curl -L -o $@ "https://dl.k8s.io/$(KUBE_VERSION)/bin/linux/$(ARCH)/kubelet"
$(KUBEADM_BIN): | $(PACKAGES_DIR)
curl -L -o $@ "https://dl.k8s.io/$(KUBE_VERSION)/bin/linux/$(ARCH)/kubeadm"
$(KUBECTL_BIN): | $(PACKAGES_DIR)
curl -L -o $@ "https://dl.k8s.io/$(KUBE_VERSION)/bin/linux/$(ARCH)/kubectl"
$(BUSYBOX_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://github.com/mirror/busybox/archive/refs/tags/$(BUSYBOX_VERSION).tar.gz"
$(E2FSPROGS_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://github.com/tytso/e2fsprogs/archive/refs/tags/v$(E2FSPROGS_VERSION).tar.gz"
$(DPDK_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://github.com/nxp-qoriq/dpdk/archive/refs/tags/$(DPDK_VERSION).tar.gz"
$(FMLIB_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://github.com/nxp-qoriq/fmlib/archive/refs/tags/$(FMLIB_VERSION).tar.gz"
$(FMC_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://github.com/nxp-qoriq/fmc/archive/refs/tags/$(FMC_VERSION).tar.gz"
$(VPP_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://github.com/nxp-qoriq/vpp/archive/refs/tags/$(VPP_VERSION).tar.gz"
$(ALPINE_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://dl-cdn.alpinelinux.org/alpine/v$(ALPINE_SERIES)/releases/$(ALPINE_ARCH)/alpine-minirootfs-$(ALPINE_VER)-$(ALPINE_ARCH).tar.gz"
$(NXP_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://github.com/nxp-qoriq/linux/archive/refs/tags/$(NXP_VERSION).tar.gz"
$(CRIO_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://storage.googleapis.com/cri-o/artifacts/$(CRIO_VERSION).tar.gz"
$(DOWNLOAD_PACKAGES_STAMP): docker/download-packages.Dockerfile build.env makefile | $(PACKAGES_DIR)
docker build \
-f docker/download-packages.Dockerfile \
--build-arg KUBE_VERSION=$(KUBE_VERSION) \
--build-arg ARCH=$(ARCH) \
--build-arg BUSYBOX_VERSION=$(BUSYBOX_VERSION) \
--build-arg E2FSPROGS_VERSION=$(E2FSPROGS_VERSION) \
--build-arg DPDK_VERSION=$(DPDK_VERSION) \
--build-arg FMLIB_VERSION=$(FMLIB_VERSION) \
--build-arg FMC_VERSION=$(FMC_VERSION) \
--build-arg VPP_VERSION=$(VPP_VERSION) \
--build-arg ALPINE_SERIES=$(ALPINE_SERIES) \
--build-arg ALPINE_ARCH=$(ALPINE_ARCH) \
--build-arg ALPINE_VER=$(ALPINE_VER) \
--build-arg NXP_VERSION=$(NXP_VERSION) \
--build-arg CRIO_VERSION=$(CRIO_VERSION) \
--output type=local,dest=./$(PACKAGES_DIR) .
@touch $@
# ---- Build stages ------------------------------------------------------------
$(BUILD_INFO_FILE):
@mkdir -p $(dir $@)
@printf '%s\n' \
@@ -172,7 +151,7 @@ $(BUILD_BASE_STAMP): $(BUILD_BASE_DEPS) | $(OUT_DIR)
docker tag monok8s/build-base:$(TAG) monok8s/build-base:$$iid; \
touch $@
$(KERNEL_IMAGE): $(KERNEL_DEPS) | $(OUT_DIR)
$(KERNEL_IMAGE): $(KERNEL_DEPS) $(DOWNLOAD_PACKAGES_STAMP) | $(OUT_DIR)
docker build \
-f docker/kernel-build.Dockerfile \
--build-arg DOCKER_IMAGE_ROOT=$(DOCKER_IMAGE_ROOT) \
@@ -184,7 +163,7 @@ $(KERNEL_IMAGE): $(KERNEL_DEPS) | $(OUT_DIR)
--output type=local,dest=./$(OUT_DIR) .
test -f $@
$(INITRAMFS): $(INITRAMFS_DEPS) | $(OUT_DIR)
$(INITRAMFS): $(INITRAMFS_DEPS) $(DOWNLOAD_PACKAGES_STAMP) | $(OUT_DIR)
docker build \
-f docker/initramfs.Dockerfile \
--build-arg DOCKER_IMAGE_ROOT=$(DOCKER_IMAGE_ROOT) \
@@ -239,7 +218,7 @@ $(BOARD_ITB): $(ITB_DEPS) | $(OUT_DIR)
--output type=local,dest=./$(OUT_DIR) .
test -f $@
$(RELEASE_IMAGE): $(RELEASE_DEPS) | $(OUT_DIR)
$(RELEASE_IMAGE): $(RELEASE_DEPS) $(DOWNLOAD_PACKAGES_STAMP) | $(OUT_DIR)
@build_base_tag=$$(docker image inspect $(DOCKER_IMAGE_ROOT)/build-base:$(TAG) | jq -r '.[0].Id' | cut -d':' -f2 | cut -c -8); \
docker build \
-f docker/alpine.Dockerfile \
@@ -305,6 +284,7 @@ build-base: $(BUILD_BASE_STAMP)
clitools: $(CLITOOLS_BIN)
clean:
make -C clean clitools
rm -f \
$(BUILD_BASE_STAMP) \
$(KERNEL_IMAGE) \