blob: 975d2b3664839d30969b05ba5b03143ef255994c [file] [log] [blame]
# Copyright 2017 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CROS_WORKON_COMMIT="388009cab8aca7ef2eb6652c67fc175fa0cc3326"
CROS_WORKON_TREE=("2ef18d1c42c7aee2c4bb4110359103045c055adf" "0f2432c3af26046333db81ed4c784fc542917b76" "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 arc/obb-mounter .gn"
PLATFORM_SUBDIR="arc/obb-mounter"
inherit cros-workon platform
DESCRIPTION="D-Bus service to mount OBB files"
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/obb-mounter"
LICENSE="BSD-Google"
KEYWORDS="*"
RDEPEND="
sys-fs/fuse:=
sys-libs/libcap:=
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
"
CONTAINER_DIR="/opt/google/containers/arc-obb-mounter"
src_install() {
dobin "${OUT}"/arc-obb-mounter
dobin "${OUT}"/mount-obb
insinto /etc/dbus-1/system.d
doins org.chromium.ArcObbMounter.conf
insinto /etc/init
doins init/arc-obb-mounter.conf
insinto "${CONTAINER_DIR}"
doins "${OUT}"/rootfs.squashfs
# Keep the parent directory of mountpoints inaccessible from non-root
# users because mountpoints themselves are often world-readable but we
# do not want to expose them.
# container-root is where the root filesystem of the container in which
# arc-obb-mounter daemon runs is mounted.
diropts --mode=0700 --owner=root --group=root
keepdir "${CONTAINER_DIR}"/mountpoints/
keepdir "${CONTAINER_DIR}"/mountpoints/container-root
platform_fuzzer_install "${S}"/OWNERS "${OUT}"/mount-obb_fuzzer
}
platform_pkg_test() {
platform_test "run" "${OUT}/arc-obb-mounter_testrunner"
}