blob: 7647f0dce4d536f47c1e4e400ed64092e75b98ae [file] [log] [blame]
# Copyright 2015 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI=4
CROS_WORKON_COMMIT=("f6cf9ac6d0ff7ada322f310ecb594fe323b6322b" "bd0dc3c259a6da35a17d5fa6962b25b6a52a1a3d")
CROS_WORKON_TREE=("7dae0b54df35f300e201c2c9abe0d7ca87299de4" "f06f46011644232134f40e76f0304ca87d4c659b")
CROS_WORKON_BLACKLIST=1
CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/aosp/system/tpm")
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_LOCALNAME=("platform2" "aosp/system/tpm")
CROS_WORKON_PROJECT=("chromiumos/platform2" "platform/system/tpm")
CROS_WORKON_REPO=("https://chromium.googlesource.com" "https://android.googlesource.com")
CROS_WORKON_USE_VCSID=1
PLATFORM_SUBDIR="tpm_manager"
inherit cros-workon platform user
DESCRIPTION="Daemon to manage TPM ownership."
HOMEPAGE="http://www.chromium.org/"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="*"
IUSE="test -tpm2"
RDEPEND="
!tpm2? (
app-crypt/trousers
)
tpm2? (
chromeos-base/trunks
)
chromeos-base/chromeos-minijail
chromeos-base/libbrillo
"
DEPEND="
${RDEPEND}
test? ( dev-cpp/gmock )
dev-cpp/gtest
"
pkg_preinst() {
enewuser tpm_manager
enewgroup tpm_manager
}
src_unpack() {
local s="${S}"
platform_src_unpack
S="${s}/aosp/system/tpm/tpm_manager"
}
src_install() {
# Install D-Bus configuration file.
insinto /etc/dbus-1/system.d
doins server/org.chromium.TpmManager.conf
# Install upstart config file.
insinto /etc/init
doins server/tpm_managerd.conf
# Install the executables provided by TpmManager
dosbin "${OUT}"/tpm_managerd
dobin "${OUT}"/tpm_manager_client
dolib.so "${OUT}"/lib/libtpm_manager.so
# Install seccomp policy files.
insinto /usr/share/policy
newins server/tpm_manager-seccomp-${ARCH}.policy tpm_managerd-seccomp.policy
# Install header files.
insinto /usr/include/tpm_manager/tpm_manager_client
doins client/tpm_nvram_dbus_proxy.h
doins client/tpm_ownership_dbus_proxy.h
insinto /usr/include/tpm_manager/common
doins common/export.h
doins common/tpm_manager_constants.h
doins common/tpm_nvram_interface.h
doins common/tpm_ownership_interface.h
}
platform_pkg_test() {
local tests=(
tpm_manager_testrunner
)
local test_bin
for test_bin in "${tests[@]}"; do
platform_test "run" "${OUT}/${test_bin}"
done
}