# Copyright 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

EAPI=7

DESCRIPTION="Common packages that make up the lakitu image"
HOMEPAGE="http://dev.chromium.org/"

LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
IUSE="bootchart +crash_reporting +pam readahead systemd watchdog apparmor criu uefi_bootloaders module_sign lockdown lakitu_kdump update_engine +npd +toolbox +kubernetes +cri_tools"

LAKITU_RDEPEND="
	bootchart? ( app-benchmarks/bootchart )
	crash_reporting? ( chromeos-base/crash-reporter )
	pam? (
		virtual/chromeos-auth-config
		sys-auth/pam_pwdfile
	)
	watchdog? ( sys-apps/daisydog )
	npd? ( app-admin/node-problem-detector )
	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-editors/vim
	app-emulation/cloud-init
	cri_tools? ( app-emulation/cri-tools )
	app-emulation/docker
	app-emulation/docker-credential-gcr
	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/cloud-udev-config
	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/autofs
	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
	module_sign? ( sys-apps/keyutils )
	sys-apps/less
	sys-apps/mosys
	sys-apps/nvme-cli
	sys-apps/pv
	sys-fs/mdadm
	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 )
	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
"

RDEPEND="${LAKITU_RDEPEND}
"

DEPEND="
	${LAKITU_RDEPEND}
	amd64? ( sys-boot/syslinux )
"
