mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
rootfs-postcommands: add QA check for overlayfs
The check is conditional and only enabled when overlayfs is set in DISTRO_FEATURES (From OE-Core rev: 4734799bacf0a5d2487e1cde3ae1c00223b032b2) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
d6e1f08ee3
commit
550511e446
@@ -39,6 +39,8 @@ 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
|
||||
|
||||
# Sort the user and group entries in /etc by ID in order to make the content
|
||||
@@ -373,3 +375,26 @@ rootfs_reproducible () {
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
python overlayfs_qa_check() {
|
||||
from oe.overlayfs import mountUnitName
|
||||
|
||||
# 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')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user