################################################################################ # # Build the oci image # ################################################################################ ROOTFS_OCI_DEPENDENCIES = host-sloci-image # architecture - take it from Go OCI_SLOCI_IMAGE_OPTS = --arch $(GO_GOARCH) # architecture variant (typically used only for arm) OCI_SLOCI_IMAGE_OPTS += $(and $(GO_GOARM),--arch-variant v$(GO_GOARM)) # entrypoint OCI_ENTRYPOINT = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_ENTRYPOINT)) ifneq ($(OCI_ENTRYPOINT),) OCI_SLOCI_IMAGE_OPTS += --entrypoint "$(OCI_ENTRYPOINT)" endif # entrypoint arguments OCI_ENTRYPOINT_ARGS = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS)) ifneq ($(OCI_ENTRYPOINT_ARGS),) OCI_SLOCI_IMAGE_OPTS += --cmd "$(OCI_ENTRYPOINT_ARGS)" endif # author OCI_AUTHOR = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_AUTHOR)) ifneq ($(OCI_AUTHOR),) OCI_SLOCI_IMAGE_OPTS += --author "$(OCI_AUTHOR)" endif # username or UID OCI_UID = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_UID)) ifneq ($(OCI_UID),) OCI_SLOCI_IMAGE_OPTS += --user "$(OCI_UID)" endif # labels OCI_LABELS = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_LABELS)) ifneq ($(OCI_LABELS),) OCI_SLOCI_IMAGE_OPTS += \ $(foreach label,$(OCI_LABELS),--label "$(label)") endif # environment variables OCI_ENV_VARS = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_ENV_VARS)) ifneq ($(OCI_ENV_VARS),) OCI_SLOCI_IMAGE_OPTS += \ $(foreach var,$(OCI_ENV_VARS),--env "$(var)") endif # working directory OCI_WORKDIR = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_WORKDIR)) ifneq ($(OCI_WORKDIR),) OCI_SLOCI_IMAGE_OPTS += --working-dir "$(OCI_WORKDIR)" endif # ports OCI_PORTS = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_PORTS)) ifneq ($(OCI_PORTS),) OCI_SLOCI_IMAGE_OPTS += \ $(foreach port,$(OCI_PORTS),--port "$(port)") endif # tag OCI_TAG = $(or $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_TAG)),latest) # enable tar archive ifeq ($(BR2_TARGET_ROOTFS_OCI_ARCHIVE),y) OCI_SLOCI_IMAGE_OPTS += --tar endif define ROOTFS_OCI_CMD rm -rf $(BINARIES_DIR)/rootfs-oci $(HOST_DIR)/bin/sloci-image $(OCI_SLOCI_IMAGE_OPTS) $(TARGET_DIR) \ $(BINARIES_DIR)/rootfs-oci:$(OCI_TAG) endef $(eval $(rootfs))