diff options
author | Vyacheslav Yurkov <uvv.mail@gmail.com> | 2021-12-10 14:01:45 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-12-12 11:27:24 +0000 |
commit | 9fc8c38658f123ab2ebd8cc764ed4418b959467f (patch) | |
tree | d469f342b9be3cc19d65dbc961a8b9fd9020c57b /meta | |
parent | 3c2b8e47e7f0c422cd182c6883aacba0cf179773 (diff) | |
download | poky-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.bbclass | 52 | ||||
-rw-r--r-- | meta/files/overlayfs-all-overlays.service.in | 12 | ||||
-rw-r--r-- | meta/files/overlayfs-create-dirs.service.in | 14 | ||||
-rw-r--r-- | meta/files/overlayfs-unit.mount.in | 13 |
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 | ||
38 | inherit systemd features_check | 38 | inherit systemd features_check |
39 | 39 | ||
40 | OVERLAYFS_CREATE_DIRS_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-create-dirs.service.in" | ||
41 | OVERLAYFS_MOUNT_UNIT_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-unit.mount.in" | ||
42 | OVERLAYFS_ALL_OVERLAYS_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-all-overlays.service.in" | ||
43 | |||
40 | python do_create_overlayfs_units() { | 44 | python 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: |
44 | Description=Overlayfs directories setup | 48 | CreateDirsUnitTemplate = f.read() |
45 | Requires={DATA_MOUNT_UNIT} | 49 | with open(d.getVar("OVERLAYFS_MOUNT_UNIT_TEMPLATE"), "r") as f: |
46 | After={DATA_MOUNT_UNIT} | 50 | MountUnitTemplate = f.read() |
47 | DefaultDependencies=no | 51 | with open(d.getVar("OVERLAYFS_ALL_OVERLAYS_TEMPLATE"), "r") as f: |
48 | 52 | AllOverlaysTemplate = f.read() | |
49 | [Service] | ||
50 | Type=oneshot | ||
51 | ExecStart=mkdir -p {DATA_MOUNT_POINT}/workdir{LOWERDIR} && mkdir -p {DATA_MOUNT_POINT}/upper{LOWERDIR} | ||
52 | RemainAfterExit=true | ||
53 | StandardOutput=journal | ||
54 | |||
55 | [Install] | ||
56 | WantedBy=multi-user.target | ||
57 | """ | ||
58 | MountUnitTemplate = """[Unit] | ||
59 | Description=Overlayfs mount unit | ||
60 | Requires={CREATE_DIRS_SERVICE} | ||
61 | After={CREATE_DIRS_SERVICE} | ||
62 | |||
63 | [Mount] | ||
64 | What=overlay | ||
65 | Where={LOWERDIR} | ||
66 | Type=overlay | ||
67 | Options=lowerdir={LOWERDIR},upperdir={DATA_MOUNT_POINT}/upper{LOWERDIR},workdir={DATA_MOUNT_POINT}/workdir{LOWERDIR} | ||
68 | |||
69 | [Install] | ||
70 | WantedBy=multi-user.target | ||
71 | """ | ||
72 | AllOverlaysTemplate = """[Unit] | ||
73 | Description=Groups all overlays required by {PN} in one unit | ||
74 | After={ALL_OVERLAYFS_UNITS} | ||
75 | Requires={ALL_OVERLAYFS_UNITS} | ||
76 | |||
77 | [Service] | ||
78 | Type=oneshot | ||
79 | ExecStart=/bin/true | ||
80 | RemainAfterExit=true | ||
81 | |||
82 | [Install] | ||
83 | WantedBy=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] | ||
2 | Description=Groups all overlays required by {PN} in one unit | ||
3 | After={ALL_OVERLAYFS_UNITS} | ||
4 | Requires={ALL_OVERLAYFS_UNITS} | ||
5 | |||
6 | [Service] | ||
7 | Type=oneshot | ||
8 | ExecStart=/bin/true | ||
9 | RemainAfterExit=true | ||
10 | |||
11 | [Install] | ||
12 | WantedBy=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] | ||
2 | Description=Overlayfs directories setup | ||
3 | Requires={DATA_MOUNT_UNIT} | ||
4 | After={DATA_MOUNT_UNIT} | ||
5 | DefaultDependencies=no | ||
6 | |||
7 | [Service] | ||
8 | Type=oneshot | ||
9 | ExecStart=mkdir -p {DATA_MOUNT_POINT}/workdir{LOWERDIR} && mkdir -p {DATA_MOUNT_POINT}/upper{LOWERDIR} | ||
10 | RemainAfterExit=true | ||
11 | StandardOutput=journal | ||
12 | |||
13 | [Install] | ||
14 | WantedBy=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] | ||
2 | Description=Overlayfs mount unit | ||
3 | Requires={CREATE_DIRS_SERVICE} | ||
4 | After={CREATE_DIRS_SERVICE} | ||
5 | |||
6 | [Mount] | ||
7 | What=overlay | ||
8 | Where={LOWERDIR} | ||
9 | Type=overlay | ||
10 | Options=lowerdir={LOWERDIR},upperdir={DATA_MOUNT_POINT}/upper{LOWERDIR},workdir={DATA_MOUNT_POINT}/workdir{LOWERDIR} | ||
11 | |||
12 | [Install] | ||
13 | WantedBy=multi-user.target | ||