diff --git a/package/mender-update-modules/Config.in b/package/mender-update-modules/Config.in index 8181cfe91b..beec9d24e7 100644 --- a/package/mender-update-modules/Config.in +++ b/package/mender-update-modules/Config.in @@ -72,6 +72,40 @@ 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_HOST_GO_TARGET_ARCH_SUPPORTS # docker-engine, docker-cli + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS # docker-engine, docker-cli + depends on BR2_TOOLCHAIN_HAS_THREADS # docker-engine, docker-cli + depends on !BR2_TOOLCHAIN_USES_UCLIBC # containerd -> runc + depends on BR2_USE_MMU # containerd + depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomp + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # libseccom + select BR2_PACKAGE_DOCKER_ENGINE + select BR2_PACKAGE_DOCKER_CLI + select BR2_PACKAGE_JQ # runtime + 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 + +comment "docker support needs a glibc or musl toolchain w/ threads, headers >= 3.17" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_TOOLCHAIN_USES_UCLIBC || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + depends on BR2_USE_MMU + config BR2_PACKAGE_MENDER_UPDATE_MODULES_IPK bool "ipk" select BR2_PACKAGE_OPKG @@ -157,6 +191,28 @@ 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_SWU bool "swupdate" depends on !BR2_STATIC_LIBS diff --git a/package/mender-update-modules/mender-update-modules.mk b/package/mender-update-modules/mender-update-modules.mk index 90c076ea96..0024acc189 100644 --- a/package/mender-update-modules/mender-update-modules.mk +++ b/package/mender-update-modules/mender-update-modules.mk @@ -10,6 +10,8 @@ MENDER_UPDATE_MODULES_LICENSE = Apache-2.0 MENDER_UPDATE_MODULES_LICENSE_FILES = LICENSE MENDER_UPDATE_MODULES_DEPENDENCIES = host-mender-artifact mender +MENDER_UPDATE_MODULES_MODULES = script + ifeq ($(BR2_PACKAGE_MENDER_UPDATE_MODULES_DFU),y) MENDER_UPDATE_MODULES_MODULES += dfu endif @@ -22,6 +24,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 @@ -49,6 +55,10 @@ 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_SWU),y) MENDER_UPDATE_MODULES_MODULES += swu endif diff --git a/package/mender/mender.mk b/package/mender/mender.mk index 146e6b2b73..770589390f 100644 --- a/package/mender/mender.mk +++ b/package/mender/mender.mk @@ -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