diff --git a/mk/fstools.mk b/mk/fstools.mk index 004b4c3c..052368cd 100644 --- a/mk/fstools.mk +++ b/mk/fstools.mk @@ -35,11 +35,16 @@ else $(REPO_BIN) fetch installer redoxfs endif +CARGO_OFFLINE_FLAG= +ifeq ($(REPO_OFFLINE),1) +CARGO_OFFLINE_FLAG=--offline +endif + $(FSTOOLS_TAG): $(CONTAINER_TAG) ifeq ($(PODMAN_BUILD),1) $(PODMAN_RUN) make $@ else - $(HOST_CARGO) build --manifest-path Cargo.toml --release --locked + $(HOST_CARGO) build --manifest-path Cargo.toml --release --locked $(CARGO_OFFLINE_FLAG) mkdir -p $(@D) touch $@ endif diff --git a/mk/repo.mk b/mk/repo.mk index 4b871ccb..fe7ac558 100644 --- a/mk/repo.mk +++ b/mk/repo.mk @@ -39,6 +39,14 @@ else $(REPO_BIN) fetch $(COOKBOOK_OPTS) --with-package-deps endif +# Fetch Cargo dependencies for the cookbook tool (needed for REPO_OFFLINE=1 builds) +cargo-fetch: FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) make $@ +else + $(HOST_CARGO) fetch --manifest-path Cargo.toml --locked +endif + # Find recipe for one or more targets separated by comma find.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1)