blob: 6c622645ed49bf9ac5cfb8b438eb60957e00743d [file] [log] [blame]
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI="4"
CROS_WORKON_COMMIT="37b2e13c99f1f2b9429569378c297aab852c8f53"
CROS_WORKON_TREE="479f684d89d4aec71d0670e12a6707161833f8f2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_DESTDIR="${S}"
CROS_WORKON_OUTOFTREE_BUILD=1
inherit cros-workon cros-debug cros-au
DESCRIPTION="Chrome OS Installer"
HOMEPAGE="http://www.chromium.org/"
SRC_URI=""
LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
IUSE="32bit_au cros_host pam test"
DEPEND="
chromeos-base/verity[32bit_au=]
test? (
32bit_au? (
dev-cpp/gmock32[32bit_au]
dev-cpp/gtest32[32bit_au]
)
dev-cpp/gmock[static-libs(+)]
dev-cpp/gtest[static-libs(+)]
)
!cros_host? (
chromeos-base/vboot_reference[32bit_au=]
)"
RDEPEND="
pam? ( app-admin/sudo )
chromeos-base/vboot_reference[32bit_au=]
dev-util/shflags
sys-apps/rootdev
sys-apps/util-linux
sys-apps/which
sys-fs/e2fsprogs"
src_unpack() {
cros-workon_src_unpack
S+="/installer"
}
src_prepare() {
cros-workon_src_prepare
}
src_configure() {
# need this to get the verity headers working
append-cppflags -I"${SYSROOT}"/usr/include/verity/
append-cppflags -I"${SYSROOT}"/usr/include/vboot
append-ldflags -L"${SYSROOT}"/usr/lib/vboot32
use 32bit_au && board_setup_32bit_au_env
cros-workon_src_configure
use 32bit_au && board_teardown_32bit_au_env
}
src_compile() {
# We don't need the installer in the sdk, just helper scripts.
use cros_host && return 0
use 32bit_au && board_setup_32bit_au_env
cros-workon_src_compile
use 32bit_au && board_teardown_32bit_au_env
}
src_test() {
use 32bit_au && board_setup_32bit_au_env
# Needed for `cros_run_unit_tests`.
cros-workon_src_test
use 32bit_au && board_teardown_32bit_au_env
}
src_install() {
cros-workon_src_install
local path
if use cros_host ; then
# Copy chromeos-* scripts to /usr/lib/installer/ on host.
path="usr/lib/installer"
else
path="usr/sbin"
dobin "${OUT}"/cros_installer
dosym ${path}/chromeos-postinst /postinst
fi
exeinto /${path}
doexe chromeos-* encrypted_import
insinto /usr/share/misc
doins share/chromeos-common.sh
insinto /etc/init
doins init/*.conf
}