aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Angelo Compagnucci <angelo@amarulasolutions.com>2019-02-05 11:49:55 +0100
committerGravatar Peter Korsgaard <peter@korsgaard.com>2019-02-05 13:40:10 +0100
commite78d5161787ed3bbfbb7bd72bb22022de91a72b4 (patch)
tree294dbf3727d49bddff60864a7fcbd5ce7f4b4ad6
parent6da049f8ae61b956d135526722ce58fc2f67626a (diff)
downloadbuildroot-e78d5161787ed3bbfbb7bd72bb22022de91a72b4.tar.gz
buildroot-e78d5161787ed3bbfbb7bd72bb22022de91a72b4.tar.bz2
package/mender: adding a writable location
Mender needs /var/lib/mender to be writable at the service start, the path is hardcoded and thus we cannot change it. This patch solves the problem using the same approach we have for dropbear. Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: <aduskett@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r--package/mender/mender.mk2
-rw-r--r--package/mender/mender.service12
2 files changed, 13 insertions, 1 deletions
diff --git a/package/mender/mender.mk b/package/mender/mender.mk
index a5cece7044..3203df8a47 100644
--- a/package/mender/mender.mk
+++ b/package/mender/mender.mk
@@ -49,6 +49,8 @@ define MENDER_INSTALL_CONFIG_FILES
$(INSTALL) -D -m 0755 $(@D)/support/mender-inventory-$(f) \
$(TARGET_DIR)/usr/share/mender/inventory/mender-inventory-$(f)
)
+
+ ln -snf /var/run/mender $(TARGET_DIR)/var/lib/mender
endef
MENDER_POST_INSTALL_TARGET_HOOKS += MENDER_INSTALL_CONFIG_FILES
diff --git a/package/mender/mender.service b/package/mender/mender.service
index 9ede55acb5..8b60a4f1aa 100644
--- a/package/mender/mender.service
+++ b/package/mender/mender.service
@@ -6,7 +6,17 @@ After=systemd-resolved.service
Type=idle
User=root
Group=root
-ExecStartPre=/bin/mkdir -p -m 0700 /data/mender
+ExecStartPre=/bin/sh -c '\
+if [ -L /var/lib/mender \
+ -a "$(readlink /var/lib/mender)" = "/var/run/mender" ]; then \
+ if rm -f /var/lib/mender >/dev/null 2>&1; then \
+ mkdir -p /var/lib/mender; \
+ else \
+ echo "No persistent location to store mender data. Data will be lost\
+ echo "at reboot. Are you sure this is what you want to do?"; \
+ mkdir -p "$(readlink /var/lib/mender)"; \
+ fi; \
+fi'
ExecStart=/usr/bin/mender -daemon
Restart=on-abort