From: "Vyacheslav Yurkov" <uvv.mail@gmail.com>
To: Openembedded-core@lists.openembedded.org
Cc: Vyacheslav Yurkov <uvv.mail@gmail.com>
Subject: [PATCH v2 4/8] rootfs-postcommands: add QA check for overlayfs
Date: Fri, 9 Jul 2021 13:31:42 +0200 [thread overview]
Message-ID: <20210709113146.69020-4-uvv.mail@gmail.com> (raw)
In-Reply-To: <20210709113146.69020-1-uvv.mail@gmail.com>
The check is conditional and only enabled when overlayfs is set in
DISTRO_FEATURES
Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
---
meta/classes/rootfs-postcommands.bbclass | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass
index e66ed5938b..b6ddf5475c 100644
--- a/meta/classes/rootfs-postcommands.bbclass
+++ b/meta/classes/rootfs-postcommands.bbclass
@@ -39,7 +39,10 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "systemd"
ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile;'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check;", "", d)}'
+
inherit image-artifact-names
+inherit ${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs-qa", "", d)}
# Sort the user and group entries in /etc by ID in order to make the content
# deterministic. Package installs are not deterministic, causing the ordering
@@ -373,3 +376,24 @@ rootfs_reproducible () {
fi
fi
}
+
+python overlayfs_qa_check() {
+ # this is a dumb check for unit existence, not its validity
+ overlayMountPoints = d.getVarFlags("OVERLAYFS_MOUNT_POINT")
+ imagepath = d.getVar("IMAGE_ROOTFS")
+ searchpaths = [oe.path.join(imagepath, d.getVar("sysconfdir"), "systemd", "system"),
+ oe.path.join(imagepath, d.getVar("systemd_system_unitdir"))]
+
+ allUnitExist = True;
+ for mountPoint in overlayMountPoints:
+ path = d.getVarFlag('OVERLAYFS_MOUNT_POINT', mountPoint)
+ unit = mountUnitName(path)
+
+ if not any(os.path.isfile(oe.path.join(dirpath, unit))
+ for dirpath in searchpaths):
+ bb.warn('Unit name %s not found in systemd unit directories' % unit)
+ allUnitExist = False;
+
+ if not allUnitExist:
+ bb.fatal('Not all mount units are installed by the BSP')
+}
--
2.28.0
next prev parent reply other threads:[~2021-07-09 11:32 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-09 11:31 [PATCH v2 1/8] overlayfs-qa: common functions for overlayfs Vyacheslav Yurkov
2021-07-09 11:31 ` [PATCH v2 2/8] overlayfs.bbclass: generate overlayfs mount units Vyacheslav Yurkov
2021-07-09 11:31 ` [PATCH v2 3/8] maintainers.inc: overlayfs bbclass maintainer Vyacheslav Yurkov
2021-07-09 11:31 ` Vyacheslav Yurkov [this message]
2021-07-09 11:31 ` [PATCH v2 5/8] systemd-machine-units: add bbappend for meta-selftest Vyacheslav Yurkov
2021-07-09 11:31 ` [PATCH v2 6/8] overlayfs: meta-selftest recipe Vyacheslav Yurkov
2021-07-09 11:31 ` [PATCH v2 7/8] oeqa/selftest: overlayfs unit tests Vyacheslav Yurkov
2021-07-10 9:01 ` [OE-core] " Alexander Kanavin
2021-07-10 9:41 ` Alexandre Belloni
2021-07-10 12:47 ` Vyacheslav Yurkov
2021-07-10 17:15 ` Alexandre Belloni
2021-07-11 15:16 ` Vyacheslav Yurkov
2021-07-12 9:14 ` Alexandre Belloni
2021-07-12 9:42 ` Vyacheslav Yurkov
2021-07-09 11:31 ` [PATCH v2 8/8] docs: add overlayfs class Vyacheslav Yurkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210709113146.69020-4-uvv.mail@gmail.com \
--to=uvv.mail@gmail.com \
--cc=Openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox