blob: 2647e0ffa35214db8adb8c9887f374c80ef1eb7d [file] [log] [blame]
# Copyright 2014 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI=4
CROS_WORKON_COMMIT="5071aab8e1acf62b2ef75637f43f8fe5290669ed"
CROS_WORKON_TREE="a80346163e0245965f1a74b1a35983c82840fcbb"
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_USE_VCSID=1
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_DESTDIR="${S}/platform2"
PLATFORM_SUBDIR="metrics"
inherit cros-constants cros-workon git-2 platform
DESCRIPTION="Metrics aggregation service for Chromium OS"
HOMEPAGE="http://www.chromium.org/"
LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
IUSE="metrics_uploader +passive_metrics"
RDEPEND="
chromeos-base/libchromeos
chromeos-base/system_api
dev-libs/dbus-glib
sys-apps/rootdev
"
DEPEND="
${RDEPEND}
chromeos-base/vboot_reference
test? ( dev-cpp/gmock )
dev-cpp/gtest
"
src_unpack() {
platform_src_unpack
EGIT_SOURCEDIR="${S}/components/metrics"
EGIT_REPO_URI="${CROS_GIT_HOST_URL}/chromium/src/components/metrics.git" \
EGIT_PROJECT="metrics" \
EGIT_COMMIT="9f8d4f96900b543e191234c04f182c6de5f9869d" \
git-2_src_unpack
}
src_install() {
dobin "${OUT}"/metrics_client syslog_parser.sh
if use passive_metrics; then
dobin "${OUT}"/metrics_daemon
insinto /etc/init
doins init/metrics_library.conf init/metrics_daemon.conf
if use metrics_uploader; then
sed -i '/DAEMON_FLAGS=/s:=.*:="-uploader":' \
"${D}"/etc/init/metrics_daemon.conf || die
fi
fi
insinto /usr/$(get_libdir)/pkgconfig
for v in "${LIBCHROME_VERS[@]}"; do
./platform2_preinstall.sh "${OUT}" "${v}"
dolib.so "${OUT}/lib/libmetrics-${v}.so"
doins "${OUT}/lib/libmetrics-${v}.pc"
done
insinto /usr/include/metrics
doins c_metrics_library.h \
metrics_library{,_mock}.h \
timer{,_mock}.h
# Install the protobuf so that autotests can have access to it.
insinto /usr/include/metrics/proto
doins components/metrics/proto/*.proto
}
platform_pkg_test() {
local tests=(
metrics_library_test
$(usex passive_metrics 'metrics_daemon_test' '')
persistent_integer_test
timer_test
upload_service_test
)
local test_bin
for test_bin in "${tests[@]}"; do
platform_test "run" "${OUT}/${test_bin}"
done
}