#
# Copyright 2022 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="CIS compliance scripts to configure the VM for level 2 checks"

CROS_WORKON_MANUAL_UPREV="1"
CROS_WORKON_COMMIT="330356e1bb583312c3b49adff7436b3624120039"
CROS_WORKON_TREE="ee6b271f5d60442e85e53694c3b64810ba6c1729"
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 cis compliance scripts"
	SCRIPTS=/usr/share/google/security/cis-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
}
