[Buildroot] [PATCH v2] rauc: new package
Yegor Yefremov
yegorslists at googlemail.com
Thu Jun 29 05:20:48 UTC 2017
On Wed, Jun 28, 2017 at 11:40 PM, Andrey Yurovsky <yurovsky at gmail.com> wrote:
> RAUC is the Robust Auto-Update Controller developed by the folks at
> Penguintronix. It supports updating embedded systems from the network
> (ex: HawkBit) or from a disk and provides a d-bus interface.
>
> Signed-off-by: Andrey Yurovsky <yurovsky at gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists at googlemail.com>
> ---
> DEVELOPERS | 3 +++
> package/Config.in | 1 +
> package/Config.in.host | 1 +
> package/rauc/Config.in | 37 +++++++++++++++++++++++++++++++++++++
> package/rauc/Config.in.host | 9 +++++++++
> package/rauc/rauc.hash | 3 +++
> package/rauc/rauc.mk | 36 ++++++++++++++++++++++++++++++++++++
> 7 files changed, 90 insertions(+)
> create mode 100644 package/rauc/Config.in
> create mode 100644 package/rauc/Config.in.host
> create mode 100644 package/rauc/rauc.hash
> create mode 100644 package/rauc/rauc.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 9e421f4..7600cb5 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -95,6 +95,9 @@ F: package/python-scandir/
> F: package/python-simplegeneric/
> F: package/python-traitlets/
>
> +N: Andrey Yurovsky <yurovsky at gmail.com>
> +F: package/rauc
> +
> N: Andy Kennedy <andy.kennedy at adtran.com>
> F: package/libunwind/
>
> diff --git a/package/Config.in b/package/Config.in
> index f69f67f..fdfcd02 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1865,6 +1865,7 @@ menu "System tools"
> source "package/psmisc/Config.in"
> source "package/pwgen/Config.in"
> source "package/quota/Config.in"
> + source "package/rauc/Config.in"
> source "package/rsyslog/Config.in"
> source "package/runc/Config.in"
> source "package/s6/Config.in"
> diff --git a/package/Config.in.host b/package/Config.in.host
> index 38f919a..0932b9f 100644
> --- a/package/Config.in.host
> +++ b/package/Config.in.host
> @@ -39,6 +39,7 @@ menu "Host utilities"
> source "package/python-lxml/Config.in.host"
> source "package/qemu/Config.in.host"
> source "package/raspberrypi-usbboot/Config.in.host"
> + source "package/rauc/Config.in.host"
> source "package/s6-rc/Config.in.host"
> source "package/sam-ba/Config.in.host"
> source "package/squashfs/Config.in.host"
> diff --git a/package/rauc/Config.in b/package/rauc/Config.in
> new file mode 100644
> index 0000000..f63ab54
> --- /dev/null
> +++ b/package/rauc/Config.in
> @@ -0,0 +1,37 @@
> +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_DBUS # run-time dependency
> + help
> + RAUC is the Robust Auto-Update Controller developed by
> + Penguintronix. It supports updating embedded Linux
> + systems over the network or from disks and provides a
> + d-bus interface.
> +
> + http://rauc.io/
> +
> +if BR2_PACKAGE_RAUC
> +
> +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.
> +
> +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
> diff --git a/package/rauc/Config.in.host b/package/rauc/Config.in.host
> new file mode 100644
> index 0000000..e45406e
> --- /dev/null
> +++ b/package/rauc/Config.in.host
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_HOST_RAUC
> + bool "host rauc"
> + help
> + RAUC is the Robust Auto-Update Controller developed by
> + Penguintronix. Enable this option to build the rauc
> + host tool which may be used to generate firmware
> + bundles that are handled by the target rauc service.
> +
> + http://rauc.io/
> diff --git a/package/rauc/rauc.hash b/package/rauc/rauc.hash
> new file mode 100644
> index 0000000..78c3e27
> --- /dev/null
> +++ b/package/rauc/rauc.hash
> @@ -0,0 +1,3 @@
> +# Locally calculated, after verifying against
> +# https://github.com/rauc/rauc/releases/download/v0.1.1/rauc-0.1.1.tar.xz.asc
> +sha256 d2901d493f1d3210aef6411e83b02edac3a678d6d825d71a1c61b5b6afc7e478 rauc-0.1.1.tar.xz
> diff --git a/package/rauc/rauc.mk b/package/rauc/rauc.mk
> new file mode 100644
> index 0000000..12819d9
> --- /dev/null
> +++ b/package/rauc/rauc.mk
> @@ -0,0 +1,36 @@
> +################################################################################
> +#
> +# rauc
> +#
> +################################################################################
> +
> +RAUC_VERSION = 0.1.1
> +RAUC_SITE = https://github.com/rauc/rauc/releases/download/v$(RAUC_VERSION)
> +RAUC_SOURCE = rauc-$(RAUC_VERSION).tar.xz
> +RAUC_LICENSE = LGPL-2.1
> +RAUC_DEPENDENCIES = host-pkgconf openssl libglib2
> +
> +ifeq ($(BR2_PACKAGE_RAUC_NETWORK),y)
> +RAUC_CONF_OPTS += --enable-network
> +RAUC_DEPENDENCIES += libcurl
> +else
> +RAUC_CONF_OPTS += --disable-network
> +endif
> +
> +ifeq ($(BR2_PACKAGE_RAUC_JSON),y)
> +RAUC_CONF_OPTS += --enable-json
> +RAUC_DEPENDENCIES += json-glib
> +else
> +RAUC_CONF_OPTS += --disable-json
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> +# configure uses pkg-config --variable=systemdsystemunitdir systemd
> +RAUC_DEPENDENCIES += systemd
> +endif
> +
> +HOST_RAUC_DEPENDENCIES = host-pkgconf
> +HOST_RAUC_CONF_OPTS += --disable-network --disable-json --disable-service
> +
> +$(eval $(autotools-package))
> +$(eval $(host-autotools-package))
> --
> 2.9.4
>
More information about the buildroot
mailing list