blob: 2fb627f0e10964c8a134a112e9ad83f57d4adecb [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_INCREMENTAL_BUILD=1
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_DESTDIR="${S}/platform2"
CROS_WORKON_SUBTREE="common-mk typecd .gn"
PLATFORM_SUBDIR="typecd"
inherit cros-workon platform user
DESCRIPTION="Chrome OS USB Type C daemon"
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/typecd/"
LICENSE="BSD-Google"
SLOT=0
KEYWORDS="~*"
IUSE="+seccomp"
RDEPEND=">=chromeos-base/metrics-0.0.1-r3152:="
DEPEND="
${RDEPEND}
chromeos-base/debugd-client:=
chromeos-base/session_manager-client:=
chromeos-base/system_api:=
"
src_install() {
dobin "${OUT}"/typecd
insinto /usr/share/dbus-1/system-services
doins dbus/org.chromium.typecd.service
insinto /etc/init
doins init/*.conf
# Install seccomp policy files.
insinto /usr/share/policy
if use seccomp; then
newins "seccomp/typecd-seccomp-${ARCH}.policy" typecd-seccomp.policy
newins "seccomp/ectool_typec-seccomp-${ARCH}.policy" ectool_typec-seccomp.policy
fi
# Install rsyslog config.
insinto /etc/rsyslog.d
doins rsyslog/rsyslog.typecd.conf
# Install D-Bus permission config.
insinto /etc/dbus-1/system.d
doins dbus/typecd.conf
}
pkg_preinst() {
enewuser typecd
enewgroup typecd
# This group is required for debugd EC Type C tool to access /dev/cros_ec.
enewgroup cros_ec-access
# Add user and group for debugd Type C commands.
enewuser typecd_ec
enewgroup typecd_ec
}
platform_pkg_test() {
platform_test "run" "${OUT}/typecd_testrunner"
}