summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorVyacheslav Yurkov <uvv.mail@gmail.com>2021-12-10 14:01:45 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-12-12 11:27:24 +0000
commit9fc8c38658f123ab2ebd8cc764ed4418b959467f (patch)
treed469f342b9be3cc19d65dbc961a8b9fd9020c57b /meta
parent3c2b8e47e7f0c422cd182c6883aacba0cf179773 (diff)
downloadpoky-9fc8c38658f123ab2ebd8cc764ed4418b959467f.tar.gz
overlayfs: move templates to files directory
(From OE-Core rev: b08ce6d23f2c6c89073ddff90b758360f9ce9fea) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/overlayfs.bbclass52
-rw-r--r--meta/files/overlayfs-all-overlays.service.in12
-rw-r--r--meta/files/overlayfs-create-dirs.service.in14
-rw-r--r--meta/files/overlayfs-unit.mount.in13
4 files changed, 49 insertions, 42 deletions
diff --git a/meta/classes/overlayfs.bbclass b/meta/classes/overlayfs.bbclass
index f1b8086ea8..4a860f7308 100644
--- a/meta/classes/overlayfs.bbclass
+++ b/meta/classes/overlayfs.bbclass
@@ -37,51 +37,19 @@ REQUIRED_DISTRO_FEATURES += "systemd overlayfs"
37 37
38inherit systemd features_check 38inherit systemd features_check
39 39
40OVERLAYFS_CREATE_DIRS_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-create-dirs.service.in"
41OVERLAYFS_MOUNT_UNIT_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-unit.mount.in"
42OVERLAYFS_ALL_OVERLAYS_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-all-overlays.service.in"
43
40python do_create_overlayfs_units() { 44python do_create_overlayfs_units() {
41 from oe.overlayfs import mountUnitName 45 from oe.overlayfs import mountUnitName
42 46
43 CreateDirsUnitTemplate = """[Unit] 47 with open(d.getVar("OVERLAYFS_CREATE_DIRS_TEMPLATE"), "r") as f:
44Description=Overlayfs directories setup 48 CreateDirsUnitTemplate = f.read()
45Requires={DATA_MOUNT_UNIT} 49 with open(d.getVar("OVERLAYFS_MOUNT_UNIT_TEMPLATE"), "r") as f:
46After={DATA_MOUNT_UNIT} 50 MountUnitTemplate = f.read()
47DefaultDependencies=no 51 with open(d.getVar("OVERLAYFS_ALL_OVERLAYS_TEMPLATE"), "r") as f:
48 52 AllOverlaysTemplate = f.read()
49[Service]
50Type=oneshot
51ExecStart=mkdir -p {DATA_MOUNT_POINT}/workdir{LOWERDIR} && mkdir -p {DATA_MOUNT_POINT}/upper{LOWERDIR}
52RemainAfterExit=true
53StandardOutput=journal
54
55[Install]
56WantedBy=multi-user.target
57"""
58 MountUnitTemplate = """[Unit]
59Description=Overlayfs mount unit
60Requires={CREATE_DIRS_SERVICE}
61After={CREATE_DIRS_SERVICE}
62
63[Mount]
64What=overlay
65Where={LOWERDIR}
66Type=overlay
67Options=lowerdir={LOWERDIR},upperdir={DATA_MOUNT_POINT}/upper{LOWERDIR},workdir={DATA_MOUNT_POINT}/workdir{LOWERDIR}
68
69[Install]
70WantedBy=multi-user.target
71"""
72 AllOverlaysTemplate = """[Unit]
73Description=Groups all overlays required by {PN} in one unit
74After={ALL_OVERLAYFS_UNITS}
75Requires={ALL_OVERLAYFS_UNITS}
76
77[Service]
78Type=oneshot
79ExecStart=/bin/true
80RemainAfterExit=true
81
82[Install]
83WantedBy=local-fs.target
84"""
85 53
86 def prepareUnits(data, lower): 54 def prepareUnits(data, lower):
87 from oe.overlayfs import helperUnitName 55 from oe.overlayfs import helperUnitName
diff --git a/meta/files/overlayfs-all-overlays.service.in b/meta/files/overlayfs-all-overlays.service.in
new file mode 100644
index 0000000000..74ee4e90ae
--- /dev/null
+++ b/meta/files/overlayfs-all-overlays.service.in
@@ -0,0 +1,12 @@
1[Unit]
2Description=Groups all overlays required by {PN} in one unit
3After={ALL_OVERLAYFS_UNITS}
4Requires={ALL_OVERLAYFS_UNITS}
5
6[Service]
7Type=oneshot
8ExecStart=/bin/true
9RemainAfterExit=true
10
11[Install]
12WantedBy=local-fs.target
diff --git a/meta/files/overlayfs-create-dirs.service.in b/meta/files/overlayfs-create-dirs.service.in
new file mode 100644
index 0000000000..17204145f2
--- /dev/null
+++ b/meta/files/overlayfs-create-dirs.service.in
@@ -0,0 +1,14 @@
1[Unit]
2Description=Overlayfs directories setup
3Requires={DATA_MOUNT_UNIT}
4After={DATA_MOUNT_UNIT}
5DefaultDependencies=no
6
7[Service]
8Type=oneshot
9ExecStart=mkdir -p {DATA_MOUNT_POINT}/workdir{LOWERDIR} && mkdir -p {DATA_MOUNT_POINT}/upper{LOWERDIR}
10RemainAfterExit=true
11StandardOutput=journal
12
13[Install]
14WantedBy=multi-user.target
diff --git a/meta/files/overlayfs-unit.mount.in b/meta/files/overlayfs-unit.mount.in
new file mode 100644
index 0000000000..1d33b7e39c
--- /dev/null
+++ b/meta/files/overlayfs-unit.mount.in
@@ -0,0 +1,13 @@
1[Unit]
2Description=Overlayfs mount unit
3Requires={CREATE_DIRS_SERVICE}
4After={CREATE_DIRS_SERVICE}
5
6[Mount]
7What=overlay
8Where={LOWERDIR}
9Type=overlay
10Options=lowerdir={LOWERDIR},upperdir={DATA_MOUNT_POINT}/upper{LOWERDIR},workdir={DATA_MOUNT_POINT}/workdir{LOWERDIR}
11
12[Install]
13WantedBy=multi-user.target