blob: e6b1590efe7ecbff70882005cab7ab618fbbed8f [file] [log] [blame]
# Copyright 2016 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
CROS_WORKON_COMMIT="66f6866bdc8eba77858b4c1a521b19ca596480b2"
CROS_WORKON_TREE=("a9c9dfedee8947f546a02e996ac05ea263acfaa1" "f31f0fa049a67ca3d3d6c4253cb1fdb662b958dd" "908c23bbb6282bde896b944c40bb0d57850692cd" "dc1506ef7c8cfd2c5ffd1809dac05596ec18773c")
CROS_WORKON_USE_VCSID="1"
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_OUTOFTREE_BUILD=1
CROS_WORKON_SUBTREE="common-mk biod metrics .gn"
PLATFORM_SUBDIR="biod"
inherit cros-fuzzer cros-sanitizers cros-workon platform udev user
DESCRIPTION="Biometrics Daemon for Chromium OS"
HOMEPAGE="http://dev.chromium.org/chromium-os/packages/biod"
LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
IUSE="fuzzer"
RDEPEND="
chromeos-base/libbrillo
chromeos-base/libchrome
chromeos-base/metrics
sys-apps/flashmap
sys-apps/flashrom
"
DEPEND="
${RDEPEND}
chromeos-base/chromeos-ec-headers
chromeos-base/system_api
"
pkg_setup() {
enewuser biod
enewgroup biod
}
src_install() {
dobin "${OUT}"/biod
dobin "${OUT}"/bio_crypto_init
dobin "${OUT}"/bio_wash
dosbin "${OUT}"/bio_fw_updater
into /usr/local
dobin "${OUT}"/biod_client_tool
insinto /usr/share/policy
local seccomp_src_dir="init/seccomp"
newins "${seccomp_src_dir}/biod-seccomp-${ARCH}.policy" \
biod-seccomp.policy
newins "${seccomp_src_dir}/bio-crypto-init-seccomp-${ARCH}.policy" \
bio-crypto-init-seccomp.policy
insinto /etc/init
doins init/*.conf
insinto /etc/dbus-1/system.d
doins dbus/org.chromium.BiometricsDaemon.conf
udev_dorules udev/99-biod.rules
# Set up cryptohome daemon mount store in daemon's mount
# namespace.
local daemon_store="/etc/daemon-store/biod"
dodir "${daemon_store}"
fperms 0700 "${daemon_store}"
fowners biod:biod "${daemon_store}"
platform_fuzzer_install "${S}/OWNERS" "${OUT}"/biod_storage_fuzzer
}
platform_pkg_test() {
platform_test "run" "${OUT}/biod_test_runner"
}