blob: 8778d532ffe6ff7febe1d3d5f9ebfa9ba550a25a [file] [log] [blame]
# Copyright 2020 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CROS_WORKON_COMMIT="dbb1136242ba822d539eaf11493f3b68815adb7f"
CROS_WORKON_TREE=("60fa47aebd6ebfb702012849bd560717fceddcd4" "509fcdecd3a70e50e5aa4e48d65de2dbd6decdb9" "267f4c31778cc992ff3cbbff6a8147c24cad8a2c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
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/*
}