| # Copyright 2021 The ChromiumOS Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=7 |
| 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 |
| } |