blob: 1254ea3e7a526a1e58336918c2ca524c933fd914 [file] [log] [blame]
# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI=6
CROS_WORKON_COMMIT="ba8bd67e0e4d81f0468fe4f259d8a7e79306dd6a"
CROS_WORKON_TREE=("190c4cfe4984640ab62273e06456d51a30cfb725" "d9b6d7e969e8d8c380f24dd781c4a6aaab962da2" "dc1506ef7c8cfd2c5ffd1809dac05596ec18773c")
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_OUTOFTREE_BUILD=1
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_SUBTREE="common-mk diagnostics .gn"
PLATFORM_SUBDIR="diagnostics"
inherit cros-workon platform user
DESCRIPTION="Device telemetry and diagnostics for Chrome OS"
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/diagnostics"
LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
IUSE="+seccomp"
COMMON_DEPEND="
chromeos-base/libbrillo:=
chromeos-base/libmojo
dev-libs/grpc
dev-libs/protobuf:=
"
DEPEND="
${COMMON_DEPEND}
chromeos-base/system_api
"
RDEPEND="
${COMMON_DEPEND}
chromeos-base/minijail
"
pkg_preinst() {
enewuser diagnostics
enewgroup diagnostics
}
src_install() {
dobin "${OUT}/diagnosticsd"
dobin "${OUT}/diagnostics_processor"
# Install seccomp policy files.
insinto /usr/share/policy
use seccomp && newins "init/diagnosticsd-seccomp-${ARCH}.policy" \
diagnosticsd-seccomp.policy
use seccomp && newins "init/diagnostics_processor-seccomp-${ARCH}.policy" \
diagnostics_processor-seccomp.policy
# Install D-Bus configuration file.
insinto /etc/dbus-1/system.d
doins dbus/org.chromium.Diagnosticsd.conf
# Install the init scripts.
insinto /etc/init
doins init/diagnosticsd.conf
doins init/diagnostics_processor.conf
}
platform_pkg_test() {
local tests=(
diagnosticsd_test
libgrpc_async_adapter_test
)
local test_bin
for test_bin in "${tests[@]}"; do
platform_test "run" "${OUT}/${test_bin}"
done
}