From: Vyacheslav Yurkov Date: Fri, 10 Dec 2021 13:01:45 +0000 (+0100) Subject: overlayfs: move templates to files directory X-Git-Tag: uninative-3.5~508 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=b08ce6d23f2c6c89073ddff90b758360f9ce9fea;p=openembedded-core.git overlayfs: move templates to files directory Signed-off-by: Vyacheslav Yurkov Signed-off-by: Richard Purdie --- 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" inherit systemd features_check +OVERLAYFS_CREATE_DIRS_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-create-dirs.service.in" +OVERLAYFS_MOUNT_UNIT_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-unit.mount.in" +OVERLAYFS_ALL_OVERLAYS_TEMPLATE ??= "${COREBASE}/meta/files/overlayfs-all-overlays.service.in" + python do_create_overlayfs_units() { from oe.overlayfs import mountUnitName - CreateDirsUnitTemplate = """[Unit] -Description=Overlayfs directories setup -Requires={DATA_MOUNT_UNIT} -After={DATA_MOUNT_UNIT} -DefaultDependencies=no - -[Service] -Type=oneshot -ExecStart=mkdir -p {DATA_MOUNT_POINT}/workdir{LOWERDIR} && mkdir -p {DATA_MOUNT_POINT}/upper{LOWERDIR} -RemainAfterExit=true -StandardOutput=journal - -[Install] -WantedBy=multi-user.target -""" - MountUnitTemplate = """[Unit] -Description=Overlayfs mount unit -Requires={CREATE_DIRS_SERVICE} -After={CREATE_DIRS_SERVICE} - -[Mount] -What=overlay -Where={LOWERDIR} -Type=overlay -Options=lowerdir={LOWERDIR},upperdir={DATA_MOUNT_POINT}/upper{LOWERDIR},workdir={DATA_MOUNT_POINT}/workdir{LOWERDIR} - -[Install] -WantedBy=multi-user.target -""" - AllOverlaysTemplate = """[Unit] -Description=Groups all overlays required by {PN} in one unit -After={ALL_OVERLAYFS_UNITS} -Requires={ALL_OVERLAYFS_UNITS} - -[Service] -Type=oneshot -ExecStart=/bin/true -RemainAfterExit=true - -[Install] -WantedBy=local-fs.target -""" + with open(d.getVar("OVERLAYFS_CREATE_DIRS_TEMPLATE"), "r") as f: + CreateDirsUnitTemplate = f.read() + with open(d.getVar("OVERLAYFS_MOUNT_UNIT_TEMPLATE"), "r") as f: + MountUnitTemplate = f.read() + with open(d.getVar("OVERLAYFS_ALL_OVERLAYS_TEMPLATE"), "r") as f: + AllOverlaysTemplate = f.read() def prepareUnits(data, lower): 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 @@ +[Unit] +Description=Groups all overlays required by {PN} in one unit +After={ALL_OVERLAYFS_UNITS} +Requires={ALL_OVERLAYFS_UNITS} + +[Service] +Type=oneshot +ExecStart=/bin/true +RemainAfterExit=true + +[Install] +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 @@ +[Unit] +Description=Overlayfs directories setup +Requires={DATA_MOUNT_UNIT} +After={DATA_MOUNT_UNIT} +DefaultDependencies=no + +[Service] +Type=oneshot +ExecStart=mkdir -p {DATA_MOUNT_POINT}/workdir{LOWERDIR} && mkdir -p {DATA_MOUNT_POINT}/upper{LOWERDIR} +RemainAfterExit=true +StandardOutput=journal + +[Install] +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 @@ +[Unit] +Description=Overlayfs mount unit +Requires={CREATE_DIRS_SERVICE} +After={CREATE_DIRS_SERVICE} + +[Mount] +What=overlay +Where={LOWERDIR} +Type=overlay +Options=lowerdir={LOWERDIR},upperdir={DATA_MOUNT_POINT}/upper{LOWERDIR},workdir={DATA_MOUNT_POINT}/workdir{LOWERDIR} + +[Install] +WantedBy=multi-user.target