blob: 301ce4ca2cadbb0d36cc082c48c2e610511f0365 [file] [log] [blame]
# Copyright 2020 The ChromiumOS Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CROS_WORKON_COMMIT="8b6e11a069e490c761cdab7ab3ff59434806cd9c"
CROS_WORKON_TREE=("41d899585b7a07ea908a0cca2944a7b8a4d13655" "faa5b8036561b66b5b9d79ea1af8a95927a0ae0f" "6cc45a58beb07dcc2868a1158e596e4193be86ba" "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 metrics minios .gn"
PLATFORM_SUBDIR="minios"
inherit cros-workon platform
DESCRIPTION="The miniOS main logic."
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/minios/"
LICENSE="BSD-Google"
KEYWORDS="*"
IUSE="
lvm_stateful_partition
minios
"
REQUIRED_USE="minios"
COMMON_DEPEND="
chromeos-base/metrics:=
chromeos-base/shill-client:=
chromeos-base/update_engine-client:=
x11-libs/libxkbcommon:=
x11-misc/xkeyboard-config:=
"
RDEPEND="${COMMON_DEPEND}"
DEPEND="${COMMON_DEPEND}
chromeos-base/system_api:=
chromeos-base/vboot_reference:=
"
platform_pkg_test() {
platform_test "run" "${OUT}/minios_test"
}
src_install() {
platform_src_install
into "/build/initramfs"
dobin "${OUT}/minios"
dobin "${OUT}/minios_client"
dobin scripts/root_partition_for_recovery
dobin scripts/stateful_partition_for_recovery
if use lvm_stateful_partition; then
# shellcheck disable=SC2016
# Replace lvm_stateful flag in stateful_partition_for_recovery to true.
sed -i \
'/DEFINE_boolean lvm_stateful "/s:\${FLAGS_FALSE}:\${FLAGS_TRUE}:' \
"${D}/build/initramfs/bin/stateful_partition_for_recovery" ||
die "Failed to set lvm_stateful in stateful_partition_for_recovery"
fi
# D-Bus configuration
insinto "/build/initramfs/etc/dbus-1/system.d"
doins org.chromium.MiniOs.conf
insinto "/build/initramfs/"
doins -r ramfs/*
}