rauc: new package

RAUC is the Robust Auto-Update Controller developed by the folks at
Pengutronix. 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@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Andrey Yurovsky 2017-06-29 12:08:11 -07:00 committed by Thomas Petazzoni
parent 85b36daa94
commit 3372b316e7
7 changed files with 90 additions and 0 deletions

View File

@ -95,6 +95,9 @@ F: package/python-scandir/
F: package/python-simplegeneric/ F: package/python-simplegeneric/
F: package/python-traitlets/ F: package/python-traitlets/
N: Andrey Yurovsky <yurovsky@gmail.com>
F: package/rauc/
N: Andy Kennedy <andy.kennedy@adtran.com> N: Andy Kennedy <andy.kennedy@adtran.com>
F: package/libunwind/ F: package/libunwind/

View File

@ -1865,6 +1865,7 @@ menu "System tools"
source "package/psmisc/Config.in" source "package/psmisc/Config.in"
source "package/pwgen/Config.in" source "package/pwgen/Config.in"
source "package/quota/Config.in" source "package/quota/Config.in"
source "package/rauc/Config.in"
source "package/rsyslog/Config.in" source "package/rsyslog/Config.in"
source "package/runc/Config.in" source "package/runc/Config.in"
source "package/s6/Config.in" source "package/s6/Config.in"

View File

@ -39,6 +39,7 @@ menu "Host utilities"
source "package/python-lxml/Config.in.host" source "package/python-lxml/Config.in.host"
source "package/qemu/Config.in.host" source "package/qemu/Config.in.host"
source "package/raspberrypi-usbboot/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/s6-rc/Config.in.host"
source "package/sam-ba/Config.in.host" source "package/sam-ba/Config.in.host"
source "package/squashfs/Config.in.host" source "package/squashfs/Config.in.host"

37
package/rauc/Config.in Normal file
View File

@ -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
Pengutronix. 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

View File

@ -0,0 +1,9 @@
config BR2_PACKAGE_HOST_RAUC
bool "host rauc"
help
RAUC is the Robust Auto-Update Controller developed by
Pengutronix. 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/

3
package/rauc/rauc.hash Normal file
View File

@ -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

36
package/rauc/rauc.mk Normal file
View File

@ -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))