blob: a3c3db6ef3c74363002e6216a52aceb5bb941a4b [file] [log] [blame]
# Copyright 2017 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI=5
CROS_WORKON_COMMIT="452c023d405f429cc3a8c61f20374d2c8df6b6bf"
CROS_WORKON_TREE=("6f3abf0e1487e52593fe1b4fc780df5844fa9cc1" "69e0ce2fc29f710ca9da747b17592a469b1a390b" "29f189ad55783cbc94472357acd9898d075e534b" "bb1e0b651b26e8442a744c61ed7633d032dac607" "dc1506ef7c8cfd2c5ffd1809dac05596ec18773c")
CROS_WORKON_INCREMENTAL_BUILD="1"
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_OUTOFTREE_BUILD=1
# TODO(crbug.com/809389): Avoid directly including headers from other packages.
CROS_WORKON_SUBTREE="common-mk arc/setup chromeos-config metrics .gn"
PLATFORM_NATIVE_TEST="yes"
PLATFORM_SUBDIR="arc/setup"
PLATFORM_GYP_FILE="arc-setup.gyp"
inherit cros-workon platform
DESCRIPTION="Set up environment to run ARC."
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/setup"
LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
IUSE="
android-container-nyc
arcvm
esdfs
houdini
ndk_translation
unibuild"
RDEPEND="
chromeos-base/bootstat
!<chromeos-base/chromeos-cheets-scripts-0.0.4
unibuild? ( chromeos-base/chromeos-config )
chromeos-base/chromeos-config-tools
chromeos-base/cryptohome-client
chromeos-base/libbrillo
chromeos-base/metrics
chromeos-base/minijail
chromeos-base/swap-init
sys-libs/libselinux
dev-libs/dbus-glib
dev-libs/protobuf
esdfs? ( sys-apps/restorecon )"
DEPEND="${RDEPEND}
chromeos-base/system_api"
enable_esdfs() {
[[ -f "$1" ]] || die
local data=$(jq ".USE_ESDFS=true" "$1")
echo "${data}" > "$1" || die
}
src_install() {
dosbin "${OUT}"/arc-setup
insinto /etc/init
if ! use arcvm; then
doins etc/arc-boot-continue.conf
doins etc/arc-kmsg-logger.conf
doins etc/arc-lifetime.conf
doins etc/arc-sensor.conf
doins etc/arc-update-restorecon-last.conf
fi
if use esdfs; then
doins etc/arc-sdcard.conf
doins etc/arc-sdcard-mount.conf
fi
doins etc/arc-sysctl.conf
doins etc/arc-system-mount.conf
doins etc/arc-ureadahead.conf
doins etc/arc-ureadahead-trace.conf
insinto /etc/dbus-1/system.d
doins etc/dbus-1/ArcUpstart.conf
insinto /usr/share/arc-setup
doins etc/config.json
if use esdfs; then
enable_esdfs "${D}/usr/share/arc-setup/config.json"
fi
if ! use arcvm; then
insinto /opt/google/containers/arc-art
doins "${OUT}/dev-rootfs.squashfs"
# container-root is where the root filesystem of the container in which
# patchoat and dex2oat runs is mounted. dev-rootfs is mount point
# for squashfs.
diropts --mode=0700 --owner=root --group=root
keepdir /opt/google/containers/arc-art/mountpoints/container-root
keepdir /opt/google/containers/arc-art/mountpoints/dev-rootfs
keepdir /opt/google/containers/arc-art/mountpoints/vendor
fi
}
platform_pkg_test() {
platform_test "run" "${OUT}/arc-setup_testrunner"
}