[Buildroot] [[PATCH v2 13/14] package/mender: add BR2_PACKAGE_MENDER_ARTIFACT_NAME option
Mirza Krak
mirza.krak at northern.tech
Mon Aug 20 13:09:13 UTC 2018
ARTIFACT_NAME is used to set a unique string of the built artifact/image
and this will be reported to the Mender managment server as "current
software running".
The Mender managment server will skip updating device if the
ARTIFACT_NAME is the same on the target device as in the Mender artifact
and hence this name must be unique for every release.
Signed-off-by: Mirza Krak <mirza.krak at northern.tech>
---
package/mender/Config.in | 13 +++++++++++++
package/mender/mender.mk | 7 +++++++
2 files changed, 20 insertions(+)
diff --git a/package/mender/Config.in b/package/mender/Config.in
index 853a472ea1..8a6359c906 100644
--- a/package/mender/Config.in
+++ b/package/mender/Config.in
@@ -14,6 +14,19 @@ config BR2_PACKAGE_MENDER
https://github.com/mendersoftware/mender
+if BR2_PACKAGE_MENDER
+
+config BR2_PACKAGE_MENDER_ARTIFACT_NAME
+ string "Mender artifact name"
+ help
+ The name of the image or update that will be built. This is
+ what the device will report that it is running, and different
+ updates must have different names.
+
+ Will be stored in /etc/mender/artifact_info
+
+endif
+
comment "mender needs a toolchain w/ threads"
depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS
diff --git a/package/mender/mender.mk b/package/mender/mender.mk
index a4b9c6ee85..0d4df3a763 100644
--- a/package/mender/mender.mk
+++ b/package/mender/mender.mk
@@ -34,6 +34,10 @@ MENDER_LICENSE_FILES = \
MENDER_LDFLAGS = -X main.Version=$(MENDER_VERSION)
+ifeq ($(call qstrip,$(BR2_PACKAGE_MENDER_ARTIFACT_NAME)),)
+$(error Mender device type not set. Check your BR2_PACKAGE_MENDER_ARTIFACT_NAME setting)
+endif
+
define MENDER_INSTALL_CONFIG_FILES
$(INSTALL) -d -m 755 $(TARGET_DIR)/data/mender
$(INSTALL) -d -m 755 $(TARGET_DIR)/data/uboot
@@ -55,6 +59,9 @@ define MENDER_INSTALL_CONFIG_FILES
)
ln -sf /data/mender $(TARGET_DIR)/var/lib/mender
+
+ echo "artifact_name=$(call qstrip,$(BR2_PACKAGE_MENDER_ARTIFACT_NAME))" > \
+ $(TARGET_DIR)/etc/mender/artifact_info
endef
MENDER_POST_INSTALL_TARGET_HOOKS += MENDER_INSTALL_CONFIG_FILES
--
2.11.0
More information about the buildroot
mailing list