oci.mk 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. ################################################################################
  2. #
  3. # Build the oci image
  4. #
  5. ################################################################################
  6. ROOTFS_OCI_DEPENDENCIES = host-sloci-image
  7. # architecture - take it from Go
  8. OCI_SLOCI_IMAGE_OPTS = --arch $(GO_GOARCH)
  9. # architecture variant (typically used only for arm)
  10. OCI_SLOCI_IMAGE_OPTS += $(and $(GO_GOARM),--arch-variant v$(GO_GOARM))
  11. # entrypoint
  12. OCI_ENTRYPOINT = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_ENTRYPOINT))
  13. ifneq ($(OCI_ENTRYPOINT),)
  14. OCI_SLOCI_IMAGE_OPTS += --entrypoint "$(OCI_ENTRYPOINT)"
  15. endif
  16. # entrypoint arguments
  17. OCI_ENTRYPOINT_ARGS = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS))
  18. ifneq ($(OCI_ENTRYPOINT_ARGS),)
  19. OCI_SLOCI_IMAGE_OPTS += --cmd "$(OCI_ENTRYPOINT_ARGS)"
  20. endif
  21. # author
  22. OCI_AUTHOR = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_AUTHOR))
  23. ifneq ($(OCI_AUTHOR),)
  24. OCI_SLOCI_IMAGE_OPTS += --author "$(OCI_AUTHOR)"
  25. endif
  26. # username or UID
  27. OCI_UID = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_UID))
  28. ifneq ($(OCI_UID),)
  29. OCI_SLOCI_IMAGE_OPTS += --user "$(OCI_UID)"
  30. endif
  31. # labels
  32. OCI_LABELS = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_LABELS))
  33. ifneq ($(OCI_LABELS),)
  34. OCI_SLOCI_IMAGE_OPTS += \
  35. $(foreach label,$(OCI_LABELS),--label "$(label)")
  36. endif
  37. # environment variables
  38. OCI_ENV_VARS = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_ENV_VARS))
  39. ifneq ($(OCI_ENV_VARS),)
  40. OCI_SLOCI_IMAGE_OPTS += \
  41. $(foreach var,$(OCI_ENV_VARS),--env "$(var)")
  42. endif
  43. # working directory
  44. OCI_WORKDIR = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_WORKDIR))
  45. ifneq ($(OCI_WORKDIR),)
  46. OCI_SLOCI_IMAGE_OPTS += --working-dir "$(OCI_WORKDIR)"
  47. endif
  48. # ports
  49. OCI_PORTS = $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_PORTS))
  50. ifneq ($(OCI_PORTS),)
  51. OCI_SLOCI_IMAGE_OPTS += \
  52. $(foreach port,$(OCI_PORTS),--port "$(port)")
  53. endif
  54. # tag
  55. OCI_TAG = $(or $(call qstrip,$(BR2_TARGET_ROOTFS_OCI_TAG)),latest)
  56. # enable tar archive
  57. ifeq ($(BR2_TARGET_ROOTFS_OCI_ARCHIVE),y)
  58. OCI_SLOCI_IMAGE_OPTS += --tar
  59. endif
  60. define ROOTFS_OCI_CMD
  61. rm -rf $(BINARIES_DIR)/rootfs-oci
  62. $(HOST_DIR)/bin/sloci-image $(OCI_SLOCI_IMAGE_OPTS) $(TARGET_DIR) \
  63. $(BINARIES_DIR)/rootfs-oci:$(OCI_TAG)
  64. endef
  65. $(eval $(rootfs))