blob: a50debc6f658666e94345248e376206b8681eb97 [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="5"
CROS_WORKON_COMMIT="57779f9c27d62896f66cced9cc88443ae9585372"
CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "ef51dd487b36f760e134eca70c68065d70000012" "2b6d4230c92e83e39209823855064483eed04754" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_OUTOFTREE_BUILD=1
# TODO(crbug.com/809389): Avoid directly including headers from other packages.
CROS_WORKON_SUBTREE="common-mk installer verity .gn"
PLATFORM_SUBDIR="installer"
inherit cros-workon platform systemd
DESCRIPTION="Chrome OS Installer"
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/installer/"
SRC_URI=""
LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
IUSE="cros_embedded cros_host enable_slow_boot_notify -mtd pam systemd test +oobe_config lvm_stateful_partition"
COMMON_DEPEND="
chromeos-base/libbrillo:=
chromeos-base/vboot_reference
!cros_host? (
x11-libs/libxkbcommon:=
x11-misc/xkeyboard-config:=
)
"
DEPEND="${COMMON_DEPEND}
chromeos-base/verity
dev-libs/openssl:0=
"
RDEPEND="${COMMON_DEPEND}
pam? ( app-admin/sudo )
chromeos-base/chromeos-common-script
!cros_host? (
!cros_embedded? ( chromeos-base/chromeos-storage-info )
oobe_config? ( chromeos-base/oobe_config )
dev-libs/openssl:0=
)
dev-util/shflags
sys-apps/rootdev
sys-apps/util-linux
sys-apps/which
sys-fs/e2fsprogs"
platform_pkg_test() {
platform_test "run" "${OUT}/cros_installer_test"
}
src_install() {
if use cros_host ; then
dosbin chromeos-install
else
dobin "${OUT}"/{cros_installer,cros_oobe_crypto}
if use mtd ; then
dobin "${OUT}"/nand_partition
fi
dosbin chromeos-* encrypted_import "${OUT}"/{evwaitkey,key_reader}
dosym usr/sbin/chromeos-postinst /postinst
# Enable lvm stateful partition.
if use lvm_stateful_partition; then
sed -i '/DEFINE_boolean lvm_stateful "/s:\${FLAGS_FALSE}:\${FLAGS_TRUE}:' \
"${D}/usr/sbin/chromeos-install" ||
die "Failed to set 'lvm_stateful' in chromeos-install"
fi
# Install init scripts.
if use systemd; then
systemd_dounit init/install-completed.service
systemd_enable_service boot-services.target install-completed.service
systemd_dounit init/crx-import.service
systemd_enable_service system-services.target crx-import.service
else
insinto /etc/init
doins init/*.conf
fi
exeinto /usr/share/cros/init
doexe init/crx-import.sh
fi
}