#
# 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="GMEC specific packages for the EdgeOS Image"
HOMEPAGE="http://cos.googlesource.com"

LICENSE="metapackage"
SLOT="0"
KEYWORDS="*"
IUSE="bootchart +pam readahead systemd watchdog apparmor criu uefi_bootloaders module_sign lockdown lakitu_kdump update_engine +npd +toolbox +kubernetes +cri_tools +iscsi_initiator +xemu tpu +nvidia_slots"

EDGEOS_RDEPEND="
	bootchart? ( app-benchmarks/bootchart )
	pam? (
		virtual/chromeos-auth-config
		sys-auth/pam_pwdfile
	)
	watchdog? ( sys-apps/daisydog )
	npd? ( app-admin/node-problem-detector )
	app-admin/cgroup-helper
	app-admin/extensions-manager
	app-admin/logrotate
	app-admin/sosreport
	app-admin/sudo
	toolbox? (
	app-admin/toolbox
	app-admin/toolbox-config
	)
	app-arch/gzip
	app-arch/tar
	app-containers/cni-plugins
	app-editors/vim
	app-emulation/cloud-init
	app-containers/containerd-gec
	cri_tools? ( app-containers/cri-tools )
	app-containers/docker
	app-containers/docker-credential-gcr
	app-containers/nerdctl
	kubernetes? ( app-emulation/kubernetes )
	app-shells/bash
	chromeos-base/chromeos-init-systemd
	chromeos-base/chromeos-installer
	chromeos-base/cloud-audit-config
	chromeos-base/cloud-filesystem-init
	chromeos-base/openssh-server-init
	chromeos-base/tty
	update_engine? ( chromeos-base/update_engine )
	dev-lang/python
	dev-util/perf
	lakitu_kdump? (
		app-admin/kdump-helper
		sys-apps/makedumpfile
		sys-apps/kexec-tools
		sys-kernel/dump-capture-kernel
	)
	net-analyzer/netcat
	net-firewall/conntrack-tools
	net-firewall/ebtables
	net-fs/cifs-utils
	net-fs/nfs-utils
	net-misc/bridge-utils
	net-misc/chrony
	net-misc/chrony-config
	net-misc/rsync
	net-misc/wget
	apparmor? (
		sys-apps/apparmor
		sec-policy/apparmor-profiles
	)
	sys-apps/acl
	sys-apps/cloud-disk-resize
	sys-apps/dbus
	sys-apps/ethtool
	>=sys-apps/iproute2-3.19.0
	sys-apps/loadpin-trigger
	iscsi_initiator? ( sys-apps/sg3_utils )
	tpu? ( sys-apps/tpu-drivers )
	xemu? ( sys-apps/xemu )
	iscsi_initiator? ( sys-block/open-iscsi )
	module_sign? ( sys-apps/keyutils )
	sys-apps/less
	sys-apps/log-pci-devices
	sys-apps/nvme-cli
	sys-apps/pv
	sys-apps/stalld
	sys-cluster/k9scli
	sys-fs/cryptsetup
	iscsi_initiator? ( sys-fs/lsscsi )
	sys-fs/mdadm
	iscsi_initiator? ( sys-fs/multipath-tools )
	uefi_bootloaders? (
		sys-boot/grub-lakitu
		sys-boot/shim
	)
	sys-fs/e2fsprogs
	sys-fs/fuse
	sys-fs/lvm2
	sys-fs/xfsprogs
	criu? ( sys-process/criu )
	sys-process/lsof
	virtual/chromeos-bsp
	virtual/chromeos-firewall
	app-emulation/cloud-init-config
	virtual/implicit-system
	virtual/lakitu-network-init
	virtual/linux-sources
	virtual/modutils
	virtual/udev
	amd64? (
		nvidia_slots? (
			x11-drivers/nvidia-drivers:0=
			x11-drivers/nvidia-drivers:1=
		)
		!nvidia_slots? ( x11-drivers/nvidia-drivers )
	)
"

RDEPEND="
	app-arch/cpio
	app-arch/unzip
	amd64? ( app-benchmarks/stress-ng )
	app-crypt/tpm2-tools
	app-misc/screen
	dev-util/rt-tests
	net-analyzer/bing
	net-analyzer/bmon
	net-analyzer/iftop
	net-analyzer/ipband
	net-analyzer/iptraf-ng
	net-analyzer/speedtest-cli
	net-analyzer/nload
	net-analyzer/vnstat
	net-analyzer/wondershaper
	net-dns/bind
	net-dns/bind-tools
	net-misc/linuxptp
	net-misc/synce4l
	sys-apps/cgroup-setup
	sys-apps/hdparm
	sys-apps/ipmitool
	sys-apps/irqbalance
	sys-apps/lshw
	sys-apps/motd-edgeos
	sys-apps/msr-tools
	sys-apps/pciutils
	sys-apps/sg3_utils
	sys-apps/systemd-cryptsetup
	sys-block/sedutil
	amd64? ( sys-boot/syslinux )
	sys-devel/binutils
	sys-fs/lvm2
	sys-fs/cryptsetup
	virtual/linux-modules
	app-admin/kdump-helper
	${EDGEOS_RDEPEND}
"
