diff --git a/cookbook b/cookbook index c0feb7ecd..c8e3791da 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit c0feb7ecdac6d0c0a374356634107b8644d1b64f +Subproject commit c8e3791da9b4234138433b535f1340c4ef51195e diff --git a/mk/ci.mk b/mk/ci.mk index 63de0d28a..33ee1f52e 100644 --- a/mk/ci.mk +++ b/mk/ci.mk @@ -31,7 +31,7 @@ else $(HOST_CARGO) build --manifest-path installer/Cargo.toml --release export CI=1 PATH="$(PREFIX_PATH):$$PATH" COOKBOOK_HOST_SYSROOT="$(ROOT)/$(PREFIX_INSTALL)" && \ PACKAGES="$$($(LIST_PACKAGES) $(LIST_PACKAGES_OPTS) --short -c config/$(ARCH)/ci.toml)" && \ - ./cookbook/repo.sh $(REPO_NONSTOP) --with-package-deps "--filesystem=../config/$(ARCH)/ci.toml" + ./cookbook/repo.sh $(REPO_APPSTREAM) $(REPO_NONSTOP) --with-package-deps "--filesystem=../config/$(ARCH)/ci.toml" endif # CI toolchain diff --git a/mk/config.mk b/mk/config.mk index 93b57e66c..026871ed5 100644 --- a/mk/config.mk +++ b/mk/config.mk @@ -15,6 +15,8 @@ PREFIX_BINARY?=1 REPO_BINARY?=0 ## Name of the configuration to include in the image name e.g. desktop or server CONFIG_NAME?=desktop +## Build appstream data for repo +REPO_APPSTREAM?=0 ## Ignore errors when building the repo, attempt to build every package REPO_NONSTOP?=0 ## Do not update source repos, attempt to build in offline condition @@ -66,6 +68,11 @@ ifeq (,$(shell command -v sccache)) endif endif +ifeq ($(REPO_APPSTREAM),1) + REPO_APPSTREAM=--appstream +else ifeq ($(REPO_APPSTREAM),0) + REPO_APPSTREAM= +endif ifeq ($(REPO_NONSTOP),1) REPO_NONSTOP=--nonstop else ifeq ($(REPO_NONSTOP),0) diff --git a/mk/podman.mk b/mk/podman.mk index 8978275f4..b6a4bf499 100644 --- a/mk/podman.mk +++ b/mk/podman.mk @@ -19,7 +19,7 @@ PODMAN_HOME?=$(ROOT)/build/podman ## Podman command with its many arguments PODMAN_VOLUMES?=--volume $(ROOT):$(CONTAINER_WORKDIR)$(PODMAN_VOLUME_FLAG) --volume $(PODMAN_HOME):/home$(PODMAN_VOLUME_FLAG) PODMAN_ENV?=--env PATH=/home/poduser/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env PODMAN_BUILD=0 -PODMAN_CONFIG?=--env ARCH=$(ARCH) --env BOARD=$(BOARD) --env CONFIG_NAME=$(CONFIG_NAME) --env FILESYSTEM_CONFIG=$(FILESYSTEM_CONFIG) +PODMAN_CONFIG?=--env ARCH=$(ARCH) --env BOARD=$(BOARD) --env CONFIG_NAME=$(CONFIG_NAME) --env FILESYSTEM_CONFIG=$(FILESYSTEM_CONFIG) --env REPO_APPSTREAM=$(REPO_APPSTREAM) --env REPO_NONSTOP=$(REPO_NONSTOP) --env REPO_OFFLINE=$(REPO_OFFLINE) PODMAN_OPTIONS?=--rm --workdir $(CONTAINER_WORKDIR) --userns keep-id --user `id -u` --interactive --tty --env TERM=$(TERM) PODMAN_RUN?=podman run $(PODMAN_OPTIONS) $(PODMAN_VOLUMES) $(PODMAN_ENV) $(PODMAN_CONFIG) $(IMAGE_TAG) diff --git a/mk/repo.mk b/mk/repo.mk index 03e6ea34f..22050b71d 100644 --- a/mk/repo.mk +++ b/mk/repo.mk @@ -6,7 +6,7 @@ ifeq ($(PODMAN_BUILD),1) else export PATH="$(PREFIX_PATH):$$PATH" && \ export COOKBOOK_HOST_SYSROOT="$(ROOT)/$(PREFIX_INSTALL)" && \ - ./cookbook/repo.sh $(REPO_NONSTOP) $(REPO_OFFLINE) --with-package-deps "--filesystem=../$(FILESYSTEM_CONFIG)" + ./cookbook/repo.sh $(REPO_APPSTREAM) $(REPO_NONSTOP) $(REPO_OFFLINE) --with-package-deps "--filesystem=../$(FILESYSTEM_CONFIG)" mkdir -p $(BUILD) # make sure fstools.tag are newer than the things repo modifies touch $(FSTOOLS_TAG) @@ -145,13 +145,10 @@ else endif # Invoke repo.sh and push for one of more targets separated by comma +# Don't use podman here, as the p target cannot mount inside podman rp.%: $(FSTOOLS_TAG) FORCE -ifeq ($(PODMAN_BUILD),1) - $(PODMAN_RUN) make $@ -else $(MAKE) r.$* $(MAKE) p.$* -endif # Invoke clean.sh, repo.sh and push for one of more targets separated by comma crp.%: $(FSTOOLS_TAG) FORCE