From ea2cdb3472115ee4added30ec75896c04ec4b1f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?=
 <bernhard.rosenkraenzer.ext@huawei.com>
Date: Tue, 23 Aug 2022 01:45:26 +0200
Subject: [PATCH] oniro-mounts: Deal with /data for OpenHarmony
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

OpenHarmony needs a writable /data directory. Create it by bind-mounting
a subdirectory of /run/mount/appdata if the openharmony
DISTRO_FEATURE is set.

Signed-off-by: Bernhard Rosenkränzer <bernhard.rosenkraenzer.ext@huawei.com>
---
 .../recipes-core/oniro-mounts/oniro-mounts.bb   |  9 +++++++++
 .../oniro-mounts/oniro-mounts/data.mount        | 17 +++++++++++++++++
 2 files changed, 26 insertions(+)
 create mode 100644 meta-oniro-core/recipes-core/oniro-mounts/oniro-mounts/data.mount

diff --git a/meta-oniro-core/recipes-core/oniro-mounts/oniro-mounts.bb b/meta-oniro-core/recipes-core/oniro-mounts/oniro-mounts.bb
index 8bb185d1..1abf90a6 100644
--- a/meta-oniro-core/recipes-core/oniro-mounts/oniro-mounts.bb
+++ b/meta-oniro-core/recipes-core/oniro-mounts/oniro-mounts.bb
@@ -19,6 +19,9 @@ SRC_URI = " \
     file://run-mount-sysdata.mount \
     file://oniro-homes.conf.tmpfiles \
     "
+SRC_URI:df-openharmony += " \
+    file://data.mount \
+    "
 
 REQUIRED_DISTRO_FEATURES ?= "systemd"
 
@@ -31,6 +34,9 @@ SYSTEMD_SERVICE:${PN} = " \
     run-mount-devdata.mount \
     run-mount-appdata.mount \
     "
+SYSTEMD_SERVICE:${PN}:df-openharmony += " \
+    data.mount \
+    "
 SYSTEMD_AUTO_ENABLE = "enable"
 
 LABELS = " \
@@ -50,5 +56,8 @@ do_install () {
     install -D "${WORKDIR}/oniro-homes.conf.tmpfiles" \
         "${D}${sysconfdir}/tmpfiles.d/oniro-homes.conf"
 }
+do_install:append:df-openharmony () {
+    install -m 0644 "${WORKDIR}/data.mount" "${D}${systemd_unitdir}/system"
+}
 
 FILES:${PN} += "${systemd_unitdir}"
diff --git a/meta-oniro-core/recipes-core/oniro-mounts/oniro-mounts/data.mount b/meta-oniro-core/recipes-core/oniro-mounts/oniro-mounts/data.mount
new file mode 100644
index 00000000..7c3c5c2c
--- /dev/null
+++ b/meta-oniro-core/recipes-core/oniro-mounts/oniro-mounts/data.mount
@@ -0,0 +1,17 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+[Unit]
+Description=data mount - openharmony
+Before=sysinit.target
+Requires=run-mount-appdata.mount
+After=run-mount-appdata.mount
+
+[Mount]
+What=/run/mount/appdata/openharmony
+Where=/data
+Options=bind
+
+[Install]
+WantedBy=sysinit.target
-- 
GitLab