blob: 9d8b40c7523523072b1d0ad648970b277ae08e84 [file] [log] [blame]
# Copyright 2020 The ChromiumOS Authors
# 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_OUTOFTREE_BUILD=1
CROS_WORKON_SUBTREE="common-mk libpasswordprovider net-base system-proxy .gn"
PLATFORM_SUBDIR="system-proxy"
# Do not run test parallelly for system-proxy. See b/293997430.
# shellcheck disable=SC2034
PLATFORM_PARALLEL_GTEST_TEST="no"
inherit cros-workon platform user
DESCRIPTION="A daemon that provides authentication support for system services
and ARC apps behind an authenticated web proxy."
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system-proxy/"
LICENSE="BSD-Google"
SLOT="0/0"
KEYWORDS="~*"
IUSE="fuzzer"
COMMON_DEPEND="
chromeos-base/libpasswordprovider:=
chromeos-base/minijail:=
chromeos-base/net-base:=
chromeos-base/patchpanel:=
chromeos-base/patchpanel-client:=
dev-libs/protobuf:=
sys-apps/dbus:=
net-misc/curl:=
"
RDEPEND="${COMMON_DEPEND}"
DEPEND="
${COMMON_DEPEND}
chromeos-base/permission_broker-client:=
fuzzer? ( dev-libs/libprotobuf-mutator:= )
"
BDEPEND="
chromeos-base/chromeos-dbus-bindings
chromeos-base/minijail
dev-libs/protobuf
"
pkg_preinst() {
enewuser "system-proxy"
enewgroup "system-proxy"
}
src_install() {
platform_src_install
if use fuzzer; then
local fuzzer_component_id="156085"
platform_fuzzer_install "${S}"/OWNERS "${OUT}"/system_proxy_connect_headers_parser_fuzzer \
--comp "${fuzzer_component_id}"
platform_fuzzer_install "${S}"/OWNERS "${OUT}"/system_proxy_worker_config_fuzzer \
--comp "${fuzzer_component_id}"
platform_fuzzer_install "${S}"/OWNERS "${OUT}"/system_proxy_http_util_fuzzer \
--comp "${fuzzer_component_id}"
fi
}
platform_pkg_test() {
platform test_all
}