blob: 323af6c97608b5345be440cea1e4f812f5694e10 [file] [log] [blame]
# Copyright 2021 The ChromiumOS Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CROS_WORKON_COMMIT="8b6e11a069e490c761cdab7ab3ff59434806cd9c"
CROS_WORKON_TREE=("41d899585b7a07ea908a0cca2944a7b8a4d13655" "beb4db33a6b93e8d090c25ffffc0deee8d85dbc2" "f91b6afd5f2ae04ee9a2c19109a3a4a36f7659e6")
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_DESTDIR="${S}/platform2"
CROS_WORKON_SUBTREE="common-mk federated .gn"
PLATFORM_SUBDIR="federated"
inherit cros-workon platform user
DESCRIPTION="Federated Computation service for Chromium OS"
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/federated"
LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
IUSE="local-federated-server fuzzer"
RDEPEND="
dev-db/sqlite:=
chromeos-base/dlcservice-client:=
chromeos-base/metrics:=
chromeos-base/session_manager-client:=
chromeos-base/shill-dbus-client:=
chromeos-base/system_api:=[fuzzer?]
dev-cpp/abseil-cpp:=
dev-libs/protobuf:=
dev-libs/re2:=
sys-cluster/fcp:=
"
DEPEND="
${RDEPEND}
"
pkg_setup() {
# Has to be done in pkg_setup() instead of pkg_preinst() since
# src_install() needs the federated-service user and group.
enewuser "federated-service"
enewgroup "federated-service"
cros-workon_pkg_setup
}
src_install() {
platform_src_install
# Storage path for examples, will be mounted as
# /run/daemon-store/federated/<user_hash> after user logs in.
local daemon_store="/etc/daemon-store/federated"
dodir "${daemon_store}"
fperms 0700 "${daemon_store}"
fowners federated-service:federated-service "${daemon_store}"
local fuzzer_component_id="1176098"
for fuzzer in "${OUT}"/*_fuzzer; do
platform_fuzzer_install "${S}"/OWNERS "${fuzzer}" \
--comp "${fuzzer_component_id}"
done
}
platform_pkg_test() {
platform test_all
}