blob: 274c775ecfa963ae2ef4720d6c52bf2bee567c84 [file] [log] [blame]
# Copyright 2017 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
EAPI="5"
inherit eutils toolchain-funcs
DESCRIPTION="Infineon TPM firmware updater"
SRC_URI="gs://chromeos-localmirror/distfiles/${P}.tar.gz"
LICENSE="BSD-Infineon LICENSE.infineon-firmware-updater-TCG"
SLOT="0"
KEYWORDS="*"
IUSE="tpm_slb9655_v4_31"
DEPEND="test? ( dev-util/shunit2 )"
RDEPEND="
dev-libs/openssl:0=
tpm_slb9655_v4_31? ( chromeos-base/ec-utils )
"
DEPEND="${RDEPEND}"
S="${WORKDIR}"
src_prepare() {
epatch "${FILESDIR}"/makefile-fixes.patch
epatch "${FILESDIR}"/unlimited-log-file-size.patch
epatch "${FILESDIR}"/dry-run-option.patch
epatch "${FILESDIR}"/change_default_password.patch
epatch "${FILESDIR}"/retry-send-on-ebusy.patch
epatch "${FILESDIR}"/ignore-error-on-complete-option.patch
epatch "${FILESDIR}"/update-type-ownerauth.patch
epatch "${FILESDIR}"/openssl-1.1.patch
}
src_configure() {
tc-export AR CC
}
src_compile() {
emake -C TPMFactoryUpd
}
src_test() {
"${FILESDIR}"/tpm-firmware-updater-test || die
}
src_install() {
newsbin TPMFactoryUpd/TPMFactoryUpd infineon-firmware-updater
dosbin "${FILESDIR}"/tpm-firmware-updater
dosbin "${FILESDIR}"/tpm-firmware-locate-update
insinto /etc/init
doins "${FILESDIR}"/tpm-firmware-check.conf
doins "${FILESDIR}"/tpm-firmware-update.conf
doins "${FILESDIR}"/send-tpm-firmware-update-metrics.conf
exeinto /usr/share/cros/init
doexe "${FILESDIR}"/tpm-firmware-check.sh
doexe "${FILESDIR}"/tpm-firmware-update.sh
doexe "${FILESDIR}"/tpm-firmware-update-factory.sh
}