#
# Copyright 2021 Google LLC
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
EAPI=7

DESCRIPTION="Alphabet compliance scripts"

CROS_WORKON_MANUAL_UPREV="1"
CROS_WORKON_COMMIT="c6ba920602c7db3b3d3ec748e3d891db5e3e4eee"
CROS_WORKON_TREE="0265ac10c103f122d10a7f484565d947fb109b3f"
CROS_WORKON_REPO="https://cos.googlesource.com"
CROS_WORKON_PROJECT="cos/compliance"
CROS_WORKON_LOCALNAME="../compliance"

inherit systemd cros-workon

LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
IUSE=""
DEPEND=""
RDEPEND="${DEPEND}
	sys-apps/systemd
	net-firewall/iptables
	sys-auth/pambase
	sys-libs/pam[audit]
	sys-process/audit
"

src_install() {
	ebegin "Installing alphabet-compliance scripts"
	SCRIPTS=/usr/share/google/security/experimental/alphabet-compliance/scripts
	exeinto ${SCRIPTS}
	doexe "${FILESDIR}"/configure.sh

	# install scripts and readme from cos/compliance repo
	doexe ${CROS_WORKON_DESTDIR}/alphabet-compliance/scripts/*.sh
	insinto ${SCRIPTS}
	doins ${CROS_WORKON_DESTDIR}/README.md

	systemd_dounit "${FILESDIR}"/cos-alphabet-compliance.service
	systemd_enable_service multi-user.target cos-alphabet-compliance.service
}
