blob: 314ae229aa78ff3b5dee16f9fb98b165709e2c06 [file] [log] [blame]
# Copyright 2022 The ChromiumOS Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CROS_WORKON_COMMIT="8b6e11a069e490c761cdab7ab3ff59434806cd9c"
CROS_WORKON_TREE=("41d899585b7a07ea908a0cca2944a7b8a4d13655" "1412f4f94e99da326acdb6c9509bb83b9c5a6b89" "9dbbe059a64bdb3260dc088895573df5ea421399" "0d9d2046eb78dc8620f7594f245298f9fd964832" "faa5b8036561b66b5b9d79ea1af8a95927a0ae0f" "f91b6afd5f2ae04ee9a2c19109a3a4a36f7659e6")
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_OUTOFTREE_BUILD=1
CROS_WORKON_SUBTREE="common-mk bootlockbox libhwsec libhwsec-foundation metrics .gn"
PLATFORM_SUBDIR="bootlockbox"
inherit cros-workon platform user
DESCRIPTION="BootLockbox service for Chromium OS"
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/bootlockbox/"
SRC_URI=""
LICENSE="BSD-Google"
KEYWORDS="*"
IUSE="fuzzer profiling systemd test tpm tpm2 tpm_dynamic"
RDEPEND="
!<chromeos-base/cryptohome-0.0.2
chromeos-base/bootlockbox-client:=
chromeos-base/libhwsec:=[test?]
chromeos-base/libhwsec-foundation:=
chromeos-base/metrics:=
chromeos-base/minijail:=
chromeos-base/system_api:=[fuzzer?]
>=chromeos-base/metrics-0.0.1-r3152:=
chromeos-base/tpm_manager:=
chromeos-base/vboot_reference:=
dev-libs/openssl:=
dev-libs/protobuf:=
"
DEPEND="${RDEPEND}"
BDEPEND="
chromeos-base/chromeos-dbus-bindings
chromeos-base/minijail
"
src_install() {
platform_src_install
# Allow specific syscalls for profiling.
# TODO (b/242806964): Need a better approach for fixing up the seccomp policy
# related issues (i.e. fix with a single function call)
if use profiling; then
sed -i "/prctl:/d" "${D}/usr/share/policy/bootlockboxd-seccomp.policy" &&
echo -e "\n# Syscalls added for profiling case only.\nmkdir: 1\nftruncate: 1\nprctl: 1\n" >> \
"${D}/usr/share/policy/bootlockboxd-seccomp.policy"
fi
}
pkg_preinst() {
enewuser "bootlockboxd"
enewgroup "bootlockboxd"
}
platform_pkg_test() {
platform test_all
}