config BR2_PACKAGE_RAUC
	bool "rauc"
	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
	depends on BR2_USE_MMU # glib2
	depends on BR2_USE_WCHAR # glib2
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_OPENSSL
	select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL # uses X509_PURPOSE_get_by_id
	# uses ENGINE_* API
	select BR2_PACKAGE_LIBOPENSSL_ENGINES
	select BR2_PACKAGE_SQUASHFS # run-time dependency
	help
	  RAUC is the Robust Auto-Update Controller developed by
	  Pengutronix. It supports updating embedded Linux
	  systems over the network or from disks and provides a
	  d-bus interface.

	  Notice: The U-Boot bootloader support requires fw_getenv /
	  fw_setenv from uboot-tools.

	  http://rauc.io/

if BR2_PACKAGE_RAUC

config BR2_PACKAGE_RAUC_DBUS
	bool "dbus support"
	select BR2_PACKAGE_DBUS
	help
	  This option enables support for controlling rauc through
	  D-Bus.

config BR2_PACKAGE_RAUC_GPT
	bool "GPT support"
	select BR2_PACKAGE_UTIL_LINUX
	select BR2_PACKAGE_UTIL_LINUX_LIBS
	select BR2_PACKAGE_UTIL_LINUX_LIBFDISK
	help
	  This option enables support for GPT partition tables.

config BR2_PACKAGE_RAUC_NETWORK
	bool "network support"
	select BR2_PACKAGE_LIBCURL
	help
	  This option enables support for updating firmware over
	  the network using libcurl.

if BR2_PACKAGE_RAUC_NETWORK

config BR2_PACKAGE_RAUC_STREAMING
	bool "streaming update support"
	select BR2_PACKAGE_LIBNL
	help
	  This option enables support for streaming update mode.

endif

config BR2_PACKAGE_RAUC_JSON
	bool "JSON output support"
	select BR2_PACKAGE_JSON_GLIB
	help
	  This option enables support for providing output in
	  JSON format.

endif

comment "rauc needs a toolchain w/ wchar, threads"
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_MMU
