# We have a conf and classes directory, add to BBPATH
BBPATH =. "${LAYERDIR}:"

# We have a packages directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
            ${LAYERDIR}/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "integrity"
BBFILE_PATTERN_integrity := "^${LAYERDIR}/"
BBFILE_PRIORITY_integrity = "6"

# Set a variable to get to the top of the metadata location. Needed
# for finding scripts (when following the README.md instructions) and
# default debug keys (in ima-evm-rootfs.bbclass).
INTEGRITY_BASE := '${LAYERDIR}'

# We must not export this path to all shell scripts (as in "export
# INTEGRITY_BASE"), because that causes problems with sstate (becames
# dependent on location of the layer). Exporting it to just the
# interactive shell is enough.
OE_TERMINAL_EXPORTS += "INTEGRITY_BASE"

LAYERSERIES_COMPAT_integrity = "mickledore"
# ima-evm-utils depends on keyutils from meta-oe
LAYERDEPENDS_integrity = "core openembedded-layer"

BBLAYERS_LAYERINDEX_NAME_integrity = "meta-integrity"

# Sanity check for meta-integrity layer.
# Setting SKIP_META_INTEGRITY_SANITY_CHECK to "1" would skip the bbappend files check.
INHERIT += "sanity-meta-integrity"

BBFILES_DYNAMIC += " \
networking-layer:${LAYERDIR}/dynamic-layers/meta-networking/recipes-*/*/*.bbappend \
"

addpylib ${LAYERDIR}/lib oeqa
