|
@@ -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')
|
|
|
+}
|