#
# Copyright 2020 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"

inherit systemd

DESCRIPTION="Chrony configuration package"
HOMEPAGE="http://src.chromium.org"
SRC_URI=""

LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="-* amd64 arm64"
IUSE="platform_gcp platform_aws platform_azure platform_vsphere"

RDEPEND="
	net-misc/chrony
"

S="${WORKDIR}"

src_install() {
	insinto /etc/chrony
	if use platform_gcp; then
		newins "${FILESDIR}"/platform_gcp-chrony.conf chrony.conf
	elif use platform_aws; then
		newins "${FILESDIR}"/platform_aws-chrony.conf chrony.conf
	elif use platform_azure; then
		newins "${FILESDIR}"/platform_azure-chrony.conf chrony.conf
	elif use platform_vsphere; then
		newins "${FILESDIR}"/platform_vsphere-chrony.conf chrony.conf
	else
		newins "${FILESDIR}"/default-chrony.conf chrony.conf
	fi
}
