blob: c99c7b633cbd3a2733083874b0718007c0db649b [file] [log] [blame]
# Copyright 2020 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "193c9f869b11ef9acebdda75fc70f0f0e79c54ee" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_DESTDIR="${S}/platform2"
CROS_WORKON_SUBTREE="common-mk missive .gn"
PLATFORM_SUBDIR="missive"
inherit cros-workon platform tmpfiles user
DESCRIPTION="Daemon to encrypt, store, and forward reporting events for managed devices."
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/missive/"
LICENSE="BSD-Google"
SLOT=0/0
KEYWORDS="*"
IUSE=""
RDEPEND="
app-arch/snappy
chromeos-base/metrics:=
chromeos-base/minijail:=
dev-libs/protobuf:=
"
DEPEND="
${RDEPEND}
chromeos-base/system_api:=
"
pkg_preinst() {
enewuser missived
enewgroup missived
enewgroup missived_senders
}
src_install() {
# Installs the client libraries
dolib.a "${OUT}/libmissiveclientlib.a"
dolib.a "${OUT}/libmissiveprotohealth.a"
dolib.a "${OUT}/libmissiveprotointerface.a"
dolib.a "${OUT}/libmissiveprotorecord.a"
dolib.a "${OUT}/libmissiveprotorecordconstants.a"
dolib.a "${OUT}/libmissiveprotosecurityevents.a"
dolib.a "${OUT}/libmissiveprotostatus.a"
# Installs the header files to /usr/include/missive/.
local header_files=(
"client/missive_client.h"
"client/report_queue_configuration.h"
"client/report_queue_factory.h"
"client/report_queue.h"
"util/status.h"
"util/status_macros.h"
"util/statusor.h"
)
local pd_header_files=(
"${OUT}/gen/include/missive/proto/health.pb.h"
"${OUT}/gen/include/missive/proto/record.pb.h"
"${OUT}/gen/include/missive/proto/record_constants.pb.h"
"${OUT}/gen/include/missive/proto/security_events.pb.h"
"${OUT}/gen/include/missive/proto/status.pb.h"
)
local f
for f in "${header_files[@]}"; do
insinto "/usr/include/missive/${f%/*}"
doins "${f}"
done
for f in "${pd_header_files[@]}"; do
insinto "/usr/include/missive/proto"
doins "${f}"
done
insinto "/usr/$(get_libdir)/pkgconfig"
doins "${OUT}/obj/missive/libmissiveclient.pc"
# Install binary
dobin "${OUT}"/missived
# Install upstart configurations
insinto /etc/init
doins init/missived.conf
# Install tmpfiles
dotmpfiles tmpfiles.d/missived.conf
# TODO(zatrudo): Generate at end of devleopment before release.
# Install seccomp policy file.
#insinto /usr/share/policy
#newins "seccomp/missived-seccomp-${ARCH}.policy" missived-seccomp.policy
# Install D-Bus configuration file.
insinto /etc/dbus-1/system.d
doins dbus/org.chromium.Missived.conf
# Install D-Bus service activation configuration.
insinto /usr/share/dbus-1/system-services
doins dbus/org.chromium.Missived.service
# Install rsyslog config.
# TODO(zatrudo): Determine if logs from this daemon should be redirected.
#insinto /etc/rsyslog.d
#doins rsyslog/rsyslog.missived.conf
}
platform_pkg_test() {
platform_test "run" "${OUT}/missived_testrunner"
}