commit e138ec1254a33ea95148f75375b6f1d8e7c958ea199e6ef0a3b889f5e6d9bd9b
| author | 斟酌 鵬兄 <tgckpg@gmail.com> |
| date | 2026-04-16T19:16:27Z |
| subject | Removed git dependency on make |
commit e138ec1254a33ea95148f75375b6f1d8e7c958ea199e6ef0a3b889f5e6d9bd9b
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date: 2026-04-16T19:16:27Z
Removed git dependency on make
---
README.md | 1 -
build.env | 14 ++++++++------
clitools/docker/download-packages.Dockerfile | 26 ++++++++++++++++++++++++++
clitools/docker/uboot-tools.Dockerfile | 2 +-
clitools/makefile | 21 +++++++++++++--------
makefile | 1 +
6 files changed, 49 insertions(+), 16 deletions(-)
diff --git a/README.md b/README.md
index 0c2428b..663fb63 100644
--- a/README.md
+++ b/README.md
@@ -54,7 +54,6 @@ https://docs.mono.si/gateway-development-kit/getting-started
Prerequisites
* make
* Docker
-* git (cloning uboot repo because uboot does not provide direct downloads)
```
make release
diff --git a/build.env b/build.env
index d0e760a..16a7b19 100644
--- a/build.env
+++ b/build.env
@@ -3,13 +3,15 @@ DOCKER_IMAGE_ROOT=monok8s
# Image tag
TAG=dev
-# The Linux kernel, from NXP
-NXP_VERSION=lf-6.18.2-1.0.0
-FMLIB_VERSION=lf-6.18.2-1.0.0
-FMC_VERSION=lf-6.18.2-1.0.0
-DPDK_VERSION=lf-6.18.2-1.0.0
-VPP_VERSION=lf-6.18.2-1.0.0
+# NXP's Linux Factory
+LINUX_FACTORY=6.18.2-1.0.0
+NXP_VERSION=lf-$(LINUX_FACTORY)
+FMLIB_VERSION=lf-$(LINUX_FACTORY)
+FMC_VERSION=lf-$(LINUX_FACTORY)
+DPDK_VERSION=lf-$(LINUX_FACTORY)
+VPP_VERSION=lf-$(LINUX_FACTORY)
VPP_UPSTREAM_VERSION=23.10
+MONO_ASK_VERSION=mt-$(LINUX_FACTORY)
CRIO_VERSION=cri-o.arm64.v1.35.2
KUBE_VERSION=v1.35.3
diff --git a/clitools/docker/download-packages.Dockerfile b/clitools/docker/download-packages.Dockerfile
new file mode 100644
index 0000000..2838d18
--- /dev/null
+++ b/clitools/docker/download-packages.Dockerfile
@@ -0,0 +1,26 @@
+FROM alpine:3.23.0 AS base
+
+# We seperate the packages so this line can be cached upstream
+RUN apk add --no-cache curl ca-certificates
+RUN apk add --no-cache git
+
+# ---- uboot ----
+FROM base AS uboot
+ARG UBOOT_VERSION
+
+WORKDIR /work
+
+RUN apk add --no-cache git tar gzip
+
+RUN git clone \
+ --depth 1 \
+ --branch "${UBOOT_VERSION}" \
+ --filter=blob:none \
+ https://github.com/u-boot/u-boot.git src
+
+RUN mkdir -p /out && \
+ tar -C /work/src -zcf "/out/uboot-${UBOOT_VERSION}.tar.gz" .
+
+# ---- final exported artifact set ----
+FROM scratch
+COPY --from=uboot /out/ /
diff --git a/clitools/docker/uboot-tools.Dockerfile b/clitools/docker/uboot-tools.Dockerfile
index 67c5b64..57f764f 100644
--- a/clitools/docker/uboot-tools.Dockerfile
+++ b/clitools/docker/uboot-tools.Dockerfile
@@ -1,4 +1,4 @@
-FROM alpine:3.22 AS build
+FROM alpine:3.23 AS build
RUN apk add --no-cache \
build-base \
diff --git a/clitools/makefile b/clitools/makefile
index 054911f..427044e 100644
--- a/clitools/makefile
+++ b/clitools/makefile
@@ -27,6 +27,8 @@ LOCAL_REGISTRY_PORT := 5000
CTL_BUILD_BASE_IMAGE := localhost:5000/monok8s/ctl-build-base:$(VERSION)
CTL_BINARY := ctl-linux-aarch64-$(VERSION)
+DOWNLOAD_PACKAGES_STAMP := $(PACKAGES_DIR)/.download-packages.stamp
+
$(PACKAGES_DIR):
mkdir -p $@
@@ -78,15 +80,14 @@ ensure-registry:
fi; \
fi
-$(UBOOT_TAR): | $(PACKAGES_DIR) $(OUT_DIR)
- rm -rf "$(OUT_DIR)/u-boot-$(UBOOT_VERSION)"
- git clone --depth 1 --branch "$(UBOOT_VERSION)" --filter=blob:none \
- https://github.com/u-boot/u-boot.git "$(OUT_DIR)/u-boot-$(UBOOT_VERSION)"
- tar -C "$(OUT_DIR)/u-boot-$(UBOOT_VERSION)" -zcf "$@" .
- rm -rf "$(OUT_DIR)/u-boot-$(UBOOT_VERSION)"
- test -f "$@"
+$(DOWNLOAD_PACKAGES_STAMP): docker/download-packages.Dockerfile makefile | $(PACKAGES_DIR)
+ docker build \
+ -f docker/download-packages.Dockerfile \
+ --build-arg UBOOT_VERSION=$(UBOOT_VERSION) \
+ --output type=local,dest=./$(PACKAGES_DIR) .
+ @touch $@
-uboot-tools: $(UBOOT_TAR)
+uboot-tools: $(DOWNLOAD_PACKAGES_STAMP)
docker buildx build --platform linux/arm64 \
-f docker/uboot-tools.Dockerfile \
--build-arg UBOOT_VERSION=$(UBOOT_VERSION) \
@@ -152,6 +153,7 @@ clean:
dockerclean:
@echo "Removing tagged images..."
- docker rmi \
+ localhost/monok8s/ctl-build-base:$(VERSION) \
localhost/monok8s/control-agent:$(VERSION) \
localhost/monok8s/ctl-builder:$(VERSION) \
localhost/monok8s/crdgen:$(VERSION) \
@@ -161,6 +163,9 @@ dockerclean:
- docker image prune -f
- docker builder prune -f
+pkgclean:
+ rm -rf $(PACKAGES_DIR)
+
all: build build-agent build-local
.PHONY: \
diff --git a/makefile b/makefile
index 569674d..fbe4707 100644
--- a/makefile
+++ b/makefile
@@ -316,6 +316,7 @@ dockerclean:
- docker image prune -f
pkgclean:
+ $(MAKE) -C clitools pkgclean
rm -rf $(PACKAGES_DIR)
.PHONY: release kernel initramfs itb build-base clitools clean distclean pkgclean \