blob: 0f78818e0c24182f2be24ed2b34b7069dd3637d0 [file] [log] [blame]
# Copyright 2020 The ChromiumOS Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cros-racc.eclass
# @BLURB: helper eclass for building Chromium packages of RACC
# Packages src/platform2/{hardware_verifier,runtime_probe} are in active
# development. We have to add board-specific rules manually.
EXPORT_FUNCTIONS src_compile src_install
# @FUNCTION: cros-racc_src_compile
# Remove all indents, line breaks and spaces in json file to reduce disk usage.
cros-racc_src_compile() {
einfo "cros-racc src_compile"
local CMD_MINIFY_JSON=("jq" "-c" ".")
local BUILD_ROOT="${WORKDIR}/build"
local config
if [[ -d "${FILESDIR}/runtime_probe/" ]]; then
# shellcheck disable=SC2015
while read -r -d $'\0' config; do
mkdir -p "$(dirname "${BUILD_ROOT}/${config}")"
< "${FILESDIR}/${config}" > "${BUILD_ROOT}/${config}" ||
die "Failed to minify json file: ${config}"
done < <(cd "${FILESDIR}" && find "runtime_probe/" -maxdepth 2 -name "*.json" -type f -print0 || die)
# @FUNCTION: cros-racc_src_install
# Install AVL runtime verification config files.
# for more details.
cros-racc_src_install() {
einfo "cros-racc src_install"
if [[ -d "${WORKDIR}/build/runtime_probe/" ]]; then
insinto /etc/runtime_probe
doins -r "${WORKDIR}/build/runtime_probe/"*
if [[ -e "${FILESDIR}/hw_verification_spec.prototxt" ]]; then
insinto /etc/hardware_verifier
doins "${FILESDIR}/hw_verification_spec.prototxt"