@@ -78,6 +78,23 @@ config BR2_PACKAGE_MENDER_UPDATE_MODULES_DIRTY
https://github.com/mendersoftware/mender-update-modules/tree/master/dirty
+config BR2_PACKAGE_MENDER_UPDATE_MODULES_DOCKER
+ bool "docker"
+ depends on BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_DOCKER
+ help
+ The Docker Update Module handles the Docker images that shall
+ be running in the device. A deployment with this module will
+ stop all currently running Docker containers in the device,
+ and start new containers with the provided list of Docker
+ images in the Mender Artifact.
+
+ In case of an unforeseen error during the process, the module
+ will use the rollback mechanism of the Mender client to
+ restore the previously running Docker containers.
+
+ https://github.com/mendersoftware/mender-update-modules/tree/master/docker
+
config BR2_PACKAGE_MENDER_UPDATE_MODULES_IPK
bool "ipk"
select BR2_PACKAGE_OPKG
@@ -126,6 +143,47 @@ config BR2_PACKAGE_MENDER_UPDATE_MODULES_ROOTFS_VERSION_CHECK
comment "rootfs version check needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
+config BR2_PACKAGE_MENDER_UPDATE_MODULES_RPM
+ bool "rpm"
+ depends on !BR2_STATIC_LIBS # dlfcn.h
+ depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
+ depends on BR2_PACKAGE_LUA && !BR2_PACKAGE_LUA_5_1
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ select BR2_PACKAGE_RPM
+ help
+ The Rpm Update Module updates software on the device using
+ the native local package manager.
+
+ A Mender Artifact containing one or more software packages
+ is sent to the device, where the Update Module will call
+ the package manager to install them in alphabetical order.
+
+ https://github.com/mendersoftware/mender-update-modules/tree/master/rpm
+
+comment "rpm needs a toolchain w/ dynamic library, threads and lua >= 5.3"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \
+ || !BR2_PACKAGE_LUA || BR2_PACKAGE_LUA_5_1
+ depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
+
+config BR2_PACKAGE_MENDER_UPDATE_MODULES_SCRIPT
+ bool "script"
+ help
+ The Script Update Module allows to execute any general
+ purpose script or binary on the target device. A Mender
+ Artifact containing one or more executables
+ (usually scripts) is sent to the device, where the Update
+ Module will execute these during the ArtifactInstall state.
+
+ If multiple scripts are provided, they will be executed in
+ alphabetical order on the device.
+
+ Example use-cases:
+ - Restart application into diagnostic mode
+ - Run diagnostics script
+ - Execute any other generic command
+
+ https://github.com/mendersoftware/mender-update-modules/tree/master/script
+
config BR2_PACKAGE_MENDER_UPDATE_MODULES_SWU
bool "swupdate"
depends on !BR2_STATIC_LIBS
@@ -22,6 +22,10 @@ ifeq ($(BR2_PACKAGE_MENDER_UPDATE_MODULES_DIRTY),y)
MENDER_UPDATE_MODULES_MODULES += dirty
endif
+ifeq ($(BR2_PACKAGE_MENDER_UPDATE_MODULES_DOCKER),y)
+MENDER_UPDATE_MODULES_MODULES += docker
+endif
+
ifeq ($(BR2_PACKAGE_MENDER_UPDATE_MODULES_IPK),y)
MENDER_UPDATE_MODULES_MODULES += ipk
endif
@@ -45,6 +49,14 @@ endef
MENDER_UPDATE_MODULES_POST_INSTALL_TARGET_HOOKS += MENDER_UPDATE_MODULES_INSTALL_MENDER_COMPARE_VERSIONS
endif
+ifeq ($(BR2_PACKAGE_MENDER_UPDATE_MODULES_RPM),y)
+MENDER_UPDATE_MODULES_MODULES += rpm
+endif
+
+ifeq ($(BR2_PACKAGE_MENDER_UPDATE_MODULES_SCRIPT),y)
+MENDER_UPDATE_MODULES_MODULES += script
+endif
+
ifeq ($(BR2_PACKAGE_MENDER_UPDATE_MODULES_SWU),y)
MENDER_UPDATE_MODULES_MODULES += swu
endif
@@ -45,12 +45,7 @@ MENDER_DEPENDENCIES = host-pkgconf openssl
MENDER_LDFLAGS = -X github.com/mendersoftware/mender/conf.Version=$(MENDER_VERSION)
-MENDER_UPDATE_MODULES_FILES = \
- directory \
- script \
- single-file \
- $(if $(BR2_PACKAGE_DOCKER_CLI),docker) \
- $(if $(BR2_PACKAGE_RPM),rpm)
+MENDER_UPDATE_MODULES_FILES = directory single-file
define MENDER_INSTALL_CONFIG_FILES
$(INSTALL) -d -m 755 $(TARGET_DIR)/etc/mender/scripts
Starting with mender 5.x, the docker, rpm and script modules provided by the mender package now reside in the mender-update-modules repository. Even though the mender package provided by Buildroot is not updated yet to 5.x, it is best to enable the modules here to help facilitate the future update of the mender package to 5.x, and to ensure that any future modifications or bug fixes to these modules are easy to apply by simply bumping the upstream package version. Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> --- package/mender-update-modules/Config.in | 58 +++++++++++++++++++ .../mender-update-modules.mk | 12 ++++ package/mender/mender.mk | 7 +-- 3 files changed, 71 insertions(+), 6 deletions(-)