
config BR2_PACKAGE_GOOGLE_PLATFORM
	bool "Google platform tools"
	default n
	help
	  Include some tools designed for running on the Google Fiber
	  devices.

config BR2_PACKAGE_GOOGLE_PLATFORM_BASE
	bool "Google platform dependencies"
	default n
	select BR2_PACKAGE_FREEGREP
	select BR2_PACKAGE_PROCPS
	select BR2_PACKAGE_LOCKFILE_PROGS
	select BR2_PACKAGE_SYSVINIT
	select BR2_PACKAGE_S6_RC
	select BR2_PACKAGE_GOOGLE_SIGNING
	select BR2_PACKAGE_CURL
	select BR2_PACKAGE_SED
	select BR2_PACKAGE_TLSDATE
	select BR2_PACKAGE_CLOCKSPEED
	select BR2_PACKAGE_LIBCARES
	select BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS
	select BR2_PACKAGE_LIBJSONCPP
	select BR2_PACKAGE_GPERF
	select BR2_PACKAGE_PY_TORNADO
	help
	  This package is a placeholder that depends on other packages needed
	  to run the Google Fiber devices.

config BR2_PACKAGE_GOOGLE_PLATFORM_DVBUTILS
	bool "include dvb tools"
	default n
	help
	  DVB utility tools.

config BR2_PACKAGE_GOOGLE_PLATFORM_CRYPTDEV
	bool "include cryptdev"
	default n
	help
	  dm-crypt setup tool.

config BR2_PACKAGE_GOOGLE_PLATFORM_HNVRAM
	bool "include hnvram access tools"
	default n
	select BR2_PACKAGE_HUMAX_MISC
	help
	  NVRAM manipulation utility for Google platforms.

config BR2_PACKAGE_GOOGLE_PLATFORM_WAVEGUIDE
	bool "include waveguide tool"
	default n
	help
	  Waveguide tool for Wi-Fi.

config BR2_PACKAGE_GOOGLE_PLATFORM_BOUNCER
	bool "include advanced http_bouncer"
	default n
	help
	  HTTP Bouncer with support for guest networks.

config BR2_PACKAGE_GOOGLE_PLATFORM_CACHE_WARMING
        bool "include cache warming"
        default n
        help
          Periodically fetches top requested hosts.

config BR2_PACKAGE_GOOGLE_PLATFORM_LOGUPLOAD
	bool "include log upload tool"
	default n
	help
	  Log upload tool for Google platforms.

config BR2_PACKAGE_GOOGLE_PLATFORM_SYSMGR
	bool "include system manager"
	default n
	help
	  System manager.

config BR2_PACKAGE_GOOGLE_PLATFORM_JSONPOLL
	bool "include jsonpoll tool"
	help
	  Include the jsonpoll tool used by PTP devices to poll data
	  from the modem and radio to be exported via catawampus.

config BR2_PACKAGE_GOOGLE_PLATFORM_CRAFTUI
	bool "include craftui"
	select BR2_PACKAGE_CATAWAMPUS
	help
	  Include the craftui web server used by PTP devices for
	  site configuration.

config BR2_PACKAGE_GOOGLE_PLATFORM_PRESTERASTATS
	bool "include presterastats tool"
	help
	  Include the presterastats tool used by PTP devices to
	  extract data from the on-board prestera switch

config BR2_PACKAGE_GOOGLE_PLATFORM_LEDPATTERN
	bool "include ledpattern"
	help
	  Include the ledpattern tool.

config BR2_PACKAGE_GOOGLE_PLATFORM_SYSLOG
	bool "include syslogd"
	default n
	help
	  Simple syslog daemon with strong filtering support.

config BR2_PACKAGE_GOOGLE_OPENBOX
	bool "Openbox Release"
	default n
	help
	  Build google openbox release, using the openbox (unlocked)
	  bootloader.

config BR2_PACKAGE_GOOGLE_PROD
	bool "Production Release"
	depends on !BR2_PACKAGE_GOOGLE_OPENBOX
	select BR2_PACKAGE_BCM_SIGNING if BR2_mipsel
	select BR2_PACKAGE_BCM_BOLT_SIGNING if BR2_PACKAGE_BCM_COMMON_PLATFORM = 97439
	help
	  Build google production release, using the signed/locked bootloader.

config BR2_PACKAGE_GOOGLE_UNSIGNED
	bool "Unsigned Release"
	default n
	help
	  Prevent signing workflows from being executed to allow post-build signing.

config BR2_PACKAGE_GOOGLE_KEY_SUFFIX
	string "Signing key suffix"
	help
	  Suffix to select a different set of signing keys.

config BR2_PACKAGE_GOOGLE_PLATFORM_CONNECTION_MANAGER
	bool "include connection manager"
	default n
	select BR2_PACKAGE_PY_INOTIFY
	select BR2_PACKAGE_PY_WPACTRL
	help
	  Connection manager for devices which can operate entirely over Wi-Fi.

config BR2_PACKAGE_GOOGLE_TEST
	bool "Include Test Packages"
	default n
	depends on !(BR2_PACKAGE_GOOGLE_PROD && BR2_PACKAGE_GOOGLE_SPACECAST)
	select BR2_PACKAGE_CRASHME
	select BR2_PACKAGE_DHRYSTONE
	select BR2_PACKAGE_DROPBEAR
	select BR2_PACKAGE_DROPBEAR_SMALL
	select BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS
	select BR2_PACKAGE_LESS
	select BR2_PACKAGE_NANO
	select BR2_PACKAGE_ZSH
	select BR2_PACKAGE_ZSH_BINARIES_ONLY
	select BR2_PACKAGE_ETHTOOL
	select BR2_PACKAGE_FIO
	select BR2_PACKAGE_IPERF
	select BR2_PACKAGE_IPERF3
	select BR2_PACKAGE_MEMSTAT
	select BR2_PACKAGE_MEMTESTER
	select BR2_PACKAGE_NETPERF
	select BR2_PACKAGE_RSYNC
	select BR2_PACKAGE_SSHFS
	select BR2_PACKAGE_STRACE
	select BR2_PACKAGE_TCPDUMP
	select BR2_PACKAGE_TCPDUMP_SMB
	select BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS
	select BR2_PACKAGE_UTIL_LINUX_AGETTY
	select BR2_PACKAGE_WHETSTONE
	select BR2_PACKAGE_SYSSTAT
	select BR2_PACKAGE_TESTUSB
	select BR2_PACKAGE_TRACEROUTE_NEW
	help
	  Enable packages for test.

config BR2_PACKAGE_GOOGLE_PLATFORM_ONLY
	bool "Disable all application-level code"
	default n
	help
	  This meta-package disables Fiber Jack, Network Box, Storage Box,
	  and TV Box functionality, leaving only the core operating system.
	  (It works because other packages depend on !GOOGLE_PLATFORM_ONLY.)

config BR2_PACKAGE_GOOGLE_FIBER_JACK
	bool "Device can act as Google Fiber Jack"
	default n
	depends on !BR2_PACKAGE_GOOGLE_PLATFORM_ONLY
	select BR2_PACKAGE_IFPLUGD
	select BR2_PACKAGE_PROTOBUF
	select BR2_PACKAGE_PROTOBUF_ONLY_LITE

config BR2_PACKAGE_GOOGLE_NETWORK_BOX
	bool "Device can act as Google Fiber Network Box"
	default n
	depends on !BR2_PACKAGE_GOOGLE_PLATFORM_ONLY
	select BR2_PACKAGE_IFPLUGD
	select BR2_PACKAGE_PROTOBUF
	select BR2_PACKAGE_INADYN
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_GOOGLE_GCM if !BR2_arc

config BR2_PACKAGE_GOOGLE_SPACECAST
	bool "Device can act as Google SpaceCast Box"
	default n
	depends on !BR2_PACKAGE_GOOGLE_PLATFORM_ONLY
	select BR2_PACKAGE_PROTOBUF

config BR2_PACKAGE_GOOGLE_WINDCHARGER
	bool "Device can act as Google WindCharger Box"
	default n
	depends on !BR2_PACKAGE_GOOGLE_PLATFORM_ONLY
	select BR2_PACKAGE_IFPLUGD
	select BR2_PACKAGE_INADYN
	select BR2_PACKAGE_LIBGLIB2

config BR2_PACKAGE_GOOGLE_STORAGE_BOX
	bool "Device can act as Google Fiber Storage Box"
	default n
	depends on !BR2_PACKAGE_GOOGLE_PLATFORM_ONLY
	select BR2_PACKAGE_GOOGLE_CHANNEL_SRV
	select BR2_PACKAGE_GOOGLE_DVBCAPTURE
	select BR2_PACKAGE_GOOGLE_HDHOMERUN_PLUGIN
	select BR2_PACKAGE_GOOGLE_LIBGEP
	select BR2_PACKAGE_GOOGLE_MCASTCAPTURE
	select BR2_PACKAGE_GOOGLE_MEDIA
	select BR2_PACKAGE_GOOGLE_MPEGPARSER
	select BR2_PACKAGE_GOOGLE_OOKLA if BR2_mipsel
	select BR2_PACKAGE_GOOGLE_OREGANO if !BR2_x86_64
	select BR2_PACKAGE_GOOGLE_TS_CHECK
	select BR2_PACKAGE_GOOGLE_TVSTREAMPARSER
	select BR2_PACKAGE_AVAHI
	select BR2_PACKAGE_AVAHI_DAEMON
	select BR2_PACKAGE_BONNIE
	select BR2_PACKAGE_SAMBA
	select BR2_PACKAGE_SAMBA_NMBLOOKUP
	select BR2_PACKAGE_SDPARM
	select BR2_PACKAGE_AVAHI_COMPAT_LIBDNS_SD
	select BR2_PACKAGE_PROTOBUF
	select BR2_PACKAGE_GOOGLE_FROBNICAST

config BR2_PACKAGE_GOOGLE_TV_BOX
	bool "Device can act as Google Fiber TV Box"
	default n
	depends on !BR2_PACKAGE_GOOGLE_PLATFORM_ONLY
	select BR2_PACKAGE_GOOGLE_CAST
	select BR2_PACKAGE_GOOGLE_DASHPLAYER
	select BR2_PACKAGE_GOOGLE_DIAL
	select BR2_PACKAGE_GOOGLE_DVBCAPTURE
	select BR2_PACKAGE_GOOGLE_GFRM200
	select BR2_PACKAGE_GOOGLE_LIBGEP
	select BR2_PACKAGE_GOOGLE_LICENSES if BR2_mipsel
	select BR2_PACKAGE_GOOGLE_MEDIA
	select BR2_PACKAGE_GOOGLE_MINICLIENT
	select BR2_PACKAGE_GOOGLE_MPEGPARSER
	select BR2_PACKAGE_GOOGLE_OOKLA if BR2_mipsel
	select BR2_PACKAGE_GOOGLE_OREGANO
	select BR2_PACKAGE_GOOGLE_PULLREADER
	select BR2_PACKAGE_GOOGLE_TVSTREAMPARSER
	select BR2_PACKAGE_CHROMIUM
	select BR2_PACKAGE_LIBXSLT
	select BR2_PACKAGE_BCM_BSEAV
	select BR2_PACKAGE_BCM_NEXUS
	select BR2_PACKAGE_BCM_NETFLIX if BR2_mipsel
	select BR2_PACKAGE_BCM_VUDU if BR2_mipsel
	select BR2_PACKAGE_IFPLUGD
	select BR2_PACKAGE_JPEG
	select BR2_PACKAGE_LIBPNG
	select BR2_PACKAGE_BOOST
	select BR2_PACKAGE_AVAHI
	select BR2_PACKAGE_AVAHI_DAEMON
	select BR2_PACKAGE_AVAHI_COMPAT_LIBDNS_SD
	select BR2_PACKAGE_PROTOBUF
