blob: fd37a2dc0564b45b54176140b2706eb47fac017b [file] [log] [blame]
# Copyright 2018 The ChromiumOS Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_DESTDIR="${S}/platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_SUBTREE="common-mk diagnostics .gn"
PLATFORM_SUBDIR="diagnostics"
inherit cros-workon cros-unibuild platform cros-protobuf udev user
DESCRIPTION="Device telemetry and diagnostics for Chrome OS"
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/diagnostics"
LICENSE="BSD-Google"
KEYWORDS="~*"
IUSE="fuzzer mesa_reven diagnostics dlc"
COMMON_DEPEND="
acct-user/cros_healthd
acct-group/cros_healthd
chromeos-base/bootstat:=
chromeos-base/chromeos-config-tools:=
chromeos-base/libec:=
chromeos-base/metrics:=
chromeos-base/minijail:=
chromeos-base/missive:=
chromeos-base/mojo_service_manager:=
chromeos-base/spaced:=
chromeos-base/vboot_reference:=
dev-libs/glib:=
dev-libs/libevdev:=
dev-libs/openssl:=
dev-libs/re2:=
net-misc/curl:=
virtual/libudev:=
sys-apps/pciutils:=
virtual/libusb:1=
virtual/opengles:=
sys-apps/fwupd:=
sys-apps/rootdev:=
sys-apps/util-linux:=
x11-libs/libdrm:=
"
DEPEND="
${COMMON_DEPEND}
chromeos-base/attestation-client:=
chromeos-base/chromeos-ec-headers:=
chromeos-base/cros-camera-libs:=
chromeos-base/debugd-client:=
chromeos-base/dlcservice-client:=
chromeos-base/libiioservice_ipc:=
chromeos-base/power_manager-client:=
chromeos-base/tpm_manager-client:=
chromeos-base/system_api:=[fuzzer?]
media-libs/libcras:=
net-analyzer/ndt7-client-cc:=
x11-drivers/opengles-headers:=
"
# TODO(b/271544868): Remove net-wireless/iw once we find alternatives.
RDEPEND="
${COMMON_DEPEND}
chromeos-base/crash-reporter
chromeos-base/debugd
chromeos-base/iioservice
dev-util/stressapptest
net-wireless/iw
dlc? (
chromeos-base/fio-dlc
)
"
BDEPEND="
chromeos-base/chromeos-dbus-bindings
chromeos-base/minijail
"
pkg_preinst() {
enewgroup cros_ec-access
enewgroup fpdev
enewuser healthd_ec
enewgroup healthd_ec
enewuser healthd_fp
enewgroup healthd_fp
enewuser healthd_evdev
enewgroup healthd_evdev
enewuser healthd_psr
enewgroup healthd_psr
enewgroup mei-access
}
src_install() {
platform_src_install
# Install udev rules.
udev_dorules udev/99-mei_driver_files.rules
# Install fuzzers.
local fuzzer_component_id="982097"
platform_fuzzer_install "${S}"/OWNERS "${OUT}"/fetch_system_info_fuzzer \
--comp "${fuzzer_component_id}"
platform_fuzzer_install "${S}"/OWNERS "${OUT}"/crash_events_uploads_log_parser_fuzzer \
--comp "${fuzzer_component_id}"
# TODO(b/299052079): Remove mojom file after completing hotline migration.
insinto /usr/include/cros_healthd-client/diagnostics/mojom/public
doins "${S}"/mojom/public/cros_healthd_probe.mojom
doins "${OUT}"/gen/include/diagnostics/mojom/public/cros_healthd_probe.mojom-module
}