Bump buidlroot version to 2018.02.6
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
From 9867a9d6a21e6b0b9bcba57c3e2398fe671cea17 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Storm <christian.storm@siemens.com>
|
||||
Date: Tue, 16 Jan 2018 10:34:52 +0100
|
||||
Subject: [PATCH] compat.h: introduce compatibility header
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Introduce a compat.h housing compatibility definitions
|
||||
and macros along the lines of commit 7b49b8d having
|
||||
introduced a compatibility mechanism for Lua.
|
||||
|
||||
First use case (and motivation) is the support for
|
||||
musl (https://www.musl-libc.org/) which doesn't
|
||||
bother to provide
|
||||
char *strndupa(const char *s, size_t n)
|
||||
|
||||
Backported from: 9867a9d6a21e6b0b9bcba57c3e2398fe671cea17
|
||||
|
||||
Reviewed-by: Stefano Babic <sbabic@denx.de>
|
||||
Reported-by: Jörg Krause <joerg.krause@embedded.rocks>
|
||||
Signed-off-by: Christian Storm <christian.storm@siemens.com>
|
||||
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
|
||||
---
|
||||
include/compat.h | 24 ++++++++++++++++++++++++
|
||||
include/util.h | 1 +
|
||||
ipc/network_ipc.c | 1 +
|
||||
3 files changed, 26 insertions(+)
|
||||
create mode 100644 include/compat.h
|
||||
|
||||
diff --git a/include/compat.h b/include/compat.h
|
||||
new file mode 100644
|
||||
index 0000000..29d7af1
|
||||
--- /dev/null
|
||||
+++ b/include/compat.h
|
||||
@@ -0,0 +1,24 @@
|
||||
+/*
|
||||
+ * Author: Christian Storm
|
||||
+ * Copyright (C) 2018, Siemens AG
|
||||
+ *
|
||||
+ * SPDX-License-Identifier: GPL-2.0-or-later
|
||||
+ */
|
||||
+
|
||||
+#pragma once
|
||||
+
|
||||
+#ifndef strndupa
|
||||
+/*
|
||||
+ * Define char *strndupa(const char *s, size_t n)
|
||||
+ * for, e.g., musl (https://www.musl-libc.org/)
|
||||
+ * which does not bother to implement this function.
|
||||
+ */
|
||||
+#define strndupa(s, n) \
|
||||
+ (__extension__({ \
|
||||
+ const char *__in = (s); \
|
||||
+ size_t __len = strnlen(__in, (n)) + 1; \
|
||||
+ char *__out = (char *)alloca(__len); \
|
||||
+ __out[__len - 1] = '\0'; \
|
||||
+ (char *)memcpy(__out, __in, __len - 1); \
|
||||
+ }))
|
||||
+#endif
|
||||
diff --git a/include/util.h b/include/util.h
|
||||
index bec2975..d43cd8c 100644
|
||||
--- a/include/util.h
|
||||
+++ b/include/util.h
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <string.h>
|
||||
#include "swupdate.h"
|
||||
#include "swupdate_status.h"
|
||||
+#include "compat.h"
|
||||
|
||||
#define NOTIFY_BUF_SIZE 2048
|
||||
#define ENOMEM_ASPRINTF -1
|
||||
diff --git a/ipc/network_ipc.c b/ipc/network_ipc.c
|
||||
index 3f197c7..48f6fcc 100644
|
||||
--- a/ipc/network_ipc.c
|
||||
+++ b/ipc/network_ipc.c
|
||||
@@ -27,6 +27,7 @@
|
||||
#include <pthread.h>
|
||||
|
||||
#include "network_ipc.h"
|
||||
+#include "compat.h"
|
||||
|
||||
#ifdef CONFIG_SOCKET_CTRL_PATH
|
||||
static char* SOCKET_CTRL_PATH = (char*)CONFIG_SOCKET_CTRL_PATH;
|
||||
--
|
||||
2.15.1
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
From 37a6666a532e9cbc42b56301f27919ae7c00d2eb Mon Sep 17 00:00:00 2001
|
||||
From: Stefano Babic <sbabic@denx.de>
|
||||
Date: Tue, 23 Jan 2018 16:52:32 +0100
|
||||
Subject: [PATCH] Fix build if DOWNLOAD is set, but no JSON
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The downloader does not require JSON, but channel_curl is built
|
||||
even if not called. Build fails with the error:
|
||||
|
||||
corelib/channel_curl.c:27:10: fatal error: json-c/json.h: No such file or directory
|
||||
|
||||
Add a CONFIG_CHANNEL_CURL that is automatically set by the modules
|
||||
reuiring it (suricatta and swuforwarder).
|
||||
|
||||
Backported from: 37a6666a532e9cbc42b56301f27919ae7c00d2eb
|
||||
|
||||
Signed-off-by: Stefano Babic <sbabic@denx.de>
|
||||
Reported-by: Jörg Krause <joerg.krause@embedded.rocks>
|
||||
Acked-by: Jörg Krause <joerg.krause@embedded.rocks>
|
||||
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
|
||||
---
|
||||
Kconfig | 7 +++++++
|
||||
corelib/Makefile | 2 +-
|
||||
handlers/Config.in | 8 +++++---
|
||||
suricatta/Config.in | 3 +--
|
||||
4 files changed, 14 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/Kconfig b/Kconfig
|
||||
index 4469096..e344572 100644
|
||||
--- a/Kconfig
|
||||
+++ b/Kconfig
|
||||
@@ -294,6 +294,13 @@ config DOWNLOAD
|
||||
comment "Image downloading support needs libcurl"
|
||||
depends on !HAVE_LIBCURL
|
||||
|
||||
+config CHANNEL_CURL
|
||||
+ bool
|
||||
+ depends on HAVE_LIBCURL
|
||||
+ depends on HAVE_JSON_C
|
||||
+ select CURL
|
||||
+ select JSON
|
||||
+
|
||||
config HASH_VERIFY
|
||||
bool "Allow to add sha256 hash to each image"
|
||||
depends on HAVE_LIBSSL
|
||||
diff --git a/corelib/Makefile b/corelib/Makefile
|
||||
index 282bffd..4b30f9c 100644
|
||||
--- a/corelib/Makefile
|
||||
+++ b/corelib/Makefile
|
||||
@@ -17,4 +17,4 @@ lib-$(CONFIG_ENCRYPTED_IMAGES) += swupdate_decrypt.o
|
||||
lib-$(CONFIG_LIBCONFIG) += swupdate_settings.o \
|
||||
parsing_library_libconfig.o
|
||||
lib-$(CONFIG_JSON) += parsing_library_libjson.o
|
||||
-lib-$(CONFIG_CURL) += channel_curl.o
|
||||
+lib-$(CONFIG_CHANNEL_CURL) += channel_curl.o
|
||||
diff --git a/handlers/Config.in b/handlers/Config.in
|
||||
index 596f069..6226b59 100644
|
||||
--- a/handlers/Config.in
|
||||
+++ b/handlers/Config.in
|
||||
@@ -54,7 +54,6 @@ config UBIVIDOFFSET
|
||||
if your NAND driver incorrectly reports that it can handle
|
||||
sub-page accesses when it should not.
|
||||
|
||||
-
|
||||
config CFI
|
||||
bool "cfi"
|
||||
depends on MTD
|
||||
@@ -164,8 +163,8 @@ comment "remote handler needs zeromq"
|
||||
config SWUFORWARDER_HANDLER
|
||||
bool "SWU forwarder"
|
||||
depends on HAVE_LIBCURL
|
||||
- select CURL
|
||||
- select JSON
|
||||
+ depends on HAVE_JSON_C
|
||||
+ select CHANNEL_CURL
|
||||
default n
|
||||
help
|
||||
This allows to build a chain of updater. A
|
||||
@@ -174,6 +173,9 @@ config SWUFORWARDER_HANDLER
|
||||
embedded SWU to the other devices using the
|
||||
Webserver REST API.
|
||||
|
||||
+comment "swuforward handler needs json-c and curl"
|
||||
+ depends on !HAVE_JSON_C || !HAVE_LIBCURL
|
||||
+
|
||||
comment "SWU forwarder requires libcurl"
|
||||
depends on !HAVE_LIBCURL
|
||||
|
||||
diff --git a/suricatta/Config.in b/suricatta/Config.in
|
||||
index 62e448a..2586169 100644
|
||||
--- a/suricatta/Config.in
|
||||
+++ b/suricatta/Config.in
|
||||
@@ -71,8 +71,7 @@ config SURICATTA_HAWKBIT
|
||||
bool "hawkBit support"
|
||||
depends on HAVE_LIBCURL
|
||||
depends on HAVE_JSON_C
|
||||
- select JSON
|
||||
- select CURL
|
||||
+ select CHANNEL_CURL
|
||||
help
|
||||
Support for hawkBit server.
|
||||
https://projects.eclipse.org/projects/iot.hawkbit
|
||||
--
|
||||
2.16.1
|
||||
|
||||
@@ -6,32 +6,34 @@ config BR2_PACKAGE_SWUPDATE
|
||||
select BR2_PACKAGE_LIBCONFIG if !BR2_PACKAGE_JSON_C && \
|
||||
!BR2_PACKAGE_HAS_LUAINTERPRETER
|
||||
help
|
||||
swupdate provides a reliable way to update the software on an
|
||||
embedded system.
|
||||
swupdate provides a reliable way to update the software on
|
||||
an embedded system.
|
||||
|
||||
swupdate is highly configurable to fit the targets requirements and
|
||||
to minimize the footprint. The provided default configuration file
|
||||
BR2_PACKAGE_SWUPDATE_CONFIG will enable swupdate with an embedded
|
||||
webserver, a parser and a handler for raw NAND or NOR flash.
|
||||
swupdate is highly configurable to fit the targets
|
||||
requirements and to minimize the footprint. The provided
|
||||
default configuration file BR2_PACKAGE_SWUPDATE_CONFIG will
|
||||
enable swupdate with an embedded webserver, a parser and a
|
||||
handler for raw NAND or NOR flash.
|
||||
|
||||
The default configuration file builds a reasonable firmware update
|
||||
system with minimal external dependencies in my mind. If you like to
|
||||
use your own modified configuration, you have to select the
|
||||
necessary packages manually:
|
||||
The default configuration file builds a reasonable firmware
|
||||
update system with minimal external dependencies in mind.
|
||||
If you like to use your own modified configuration,
|
||||
you have to select the necessary packages manually:
|
||||
|
||||
* Select BR2_PACKAGE_LUA or BR2_PACKAGE_LUAJIT if you want
|
||||
to have Lua support.
|
||||
CONFIG_HANDLER_IN_LUA is not supported in LuaJIT or Lua 5.1.
|
||||
Note that for LuaJIT support, you need to set
|
||||
CONFIG_LUAVERSION="jit-5.1".
|
||||
* Select BR2_LIBCURL if you want to use the download feature.
|
||||
* Select BR2_PACKAGE_OPENSSL is you want to add encryption support.
|
||||
* Select BR2_PACKAGE_MTD if you want to use swupdate with UBI
|
||||
partitions.
|
||||
* Select BR2_PACKAGE_ZLIB if you want to deal with gzip compressed
|
||||
archives.
|
||||
* Select BR2_PACKAGE_UBOOT_TOOLS and BR2_PACKAGE_ZLIB to add support
|
||||
for setting the U-Boot environment.
|
||||
want to have Lua support.
|
||||
* Select BR2_LIBCURL if you want to use the download
|
||||
feature.
|
||||
* Select BR2_PACKAGE_OPENSSL is you want to add encryption
|
||||
support.
|
||||
* Select BR2_PACKAGE_MTD if you want to use swupdate with
|
||||
UBI partitions.
|
||||
* Select BR2_PACKAGE_ZLIB if you want to deal with gzip
|
||||
compressed archives.
|
||||
* Select BR2_PACKAGE_UBOOT_TOOLS and BR2_PACKAGE_ZLIB to add
|
||||
support for setting the U-Boot environment.
|
||||
* Select BR2_PACKAGE_ZEROMQ to add support for using a
|
||||
remote handler.
|
||||
|
||||
https://sbabic.github.io/swupdate
|
||||
|
||||
@@ -43,8 +45,8 @@ config BR2_PACKAGE_SWUPDATE_CONFIG
|
||||
help
|
||||
Path to the swupdate configuration file.
|
||||
|
||||
I you wish to use your own modified swupdate configuration file
|
||||
specify the config file location with this option.
|
||||
I you wish to use your own modified swupdate configuration
|
||||
file specify the config file location with this option.
|
||||
|
||||
config BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE
|
||||
bool "install default website"
|
||||
@@ -52,9 +54,9 @@ config BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE
|
||||
help
|
||||
Install the provided website to /var/www/swupdate.
|
||||
|
||||
This is necessary if you want to run swupdate with the embedded
|
||||
webserver and do not provide an own website to be installed to
|
||||
/var/www/swupdate.
|
||||
This is necessary if you want to run swupdate with the
|
||||
embedded webserver and do not provide an own website to be
|
||||
installed to /var/www/swupdate.
|
||||
endif
|
||||
|
||||
comment "swupdate needs a toolchain w/ threads"
|
||||
|
||||
@@ -11,17 +11,31 @@ CONFIG_HAVE_DOT_CONFIG=y
|
||||
#
|
||||
# General Configuration
|
||||
#
|
||||
# CONFIG_CURL is not set
|
||||
# CONFIG_SYSTEMD is not set
|
||||
CONFIG_SCRIPTS=y
|
||||
# CONFIG_HW_COMPATIBILITY is not set
|
||||
CONFIG_SW_VERSIONS_FILE="/etc/sw-versions"
|
||||
# CONFIG_MTD is not set
|
||||
# CONFIG_LUA is not set
|
||||
|
||||
#
|
||||
# Socket Paths
|
||||
#
|
||||
CONFIG_SOCKET_CTRL_PATH="/tmp/sockinstctrl"
|
||||
CONFIG_SOCKET_PROGRESS_PATH="/tmp/swupdateprog"
|
||||
CONFIG_SOCKET_REMOTE_HANDLER_DIRECTORY="/tmp/"
|
||||
|
||||
#
|
||||
# MTD support needs libmtd
|
||||
#
|
||||
|
||||
#
|
||||
# Lua support needs a Lua interpreter
|
||||
#
|
||||
# CONFIG_FEATURE_SYSLOG is not set
|
||||
|
||||
#
|
||||
# Build Options
|
||||
#
|
||||
# CONFIG_STATIC is not set
|
||||
CONFIG_CROSS_COMPILE=""
|
||||
CONFIG_SYSROOT=""
|
||||
CONFIG_EXTRA_CFLAGS=""
|
||||
@@ -34,8 +48,28 @@ CONFIG_EXTRA_LDLIBS=""
|
||||
# CONFIG_DEBUG is not set
|
||||
# CONFIG_WERROR is not set
|
||||
# CONFIG_NOCLEANUP is not set
|
||||
# CONFIG_DOWNLOAD is not set
|
||||
# CONFIG_SIGNED_IMAGES is not set
|
||||
|
||||
#
|
||||
# U-Boot support needs libubootenv, libz
|
||||
#
|
||||
CONFIG_BOOTLOADER_NONE=y
|
||||
# CONFIG_BOOTLOADER_GRUB is not set
|
||||
|
||||
#
|
||||
# Image downloading support needs libcurl
|
||||
#
|
||||
|
||||
#
|
||||
# Hash verification needs libssl
|
||||
#
|
||||
|
||||
#
|
||||
# Image verification (signed images) needs libssl
|
||||
#
|
||||
|
||||
#
|
||||
# Image encryption needs libssl
|
||||
#
|
||||
# CONFIG_SURICATTA is not set
|
||||
CONFIG_WEBSERVER=y
|
||||
|
||||
@@ -48,25 +82,49 @@ CONFIG_MONGOOSE=y
|
||||
# Mongoose Feature
|
||||
#
|
||||
CONFIG_MONGOOSEIPV6=y
|
||||
# CONFIG_MONGOOSESSL is not set
|
||||
|
||||
#
|
||||
# SSL support needs libcrypto, libssl
|
||||
#
|
||||
|
||||
#
|
||||
# Archival Features
|
||||
#
|
||||
# CONFIG_GUNZIP is not set
|
||||
|
||||
#
|
||||
# gunzip support needs libz
|
||||
#
|
||||
|
||||
#
|
||||
# Parser Features
|
||||
#
|
||||
CONFIG_LIBCONFIG=y
|
||||
CONFIG_LIBCONFIGROOT=""
|
||||
# CONFIG_JSON is not set
|
||||
CONFIG_PARSERROOT=""
|
||||
|
||||
#
|
||||
# JSON config parser support needs json-c
|
||||
#
|
||||
# CONFIG_SETSWDESCRIPTION is not set
|
||||
|
||||
#
|
||||
# Image Handlers
|
||||
#
|
||||
|
||||
#
|
||||
# ubivol support needs libubi
|
||||
#
|
||||
CONFIG_RAW=y
|
||||
# CONFIG_SHELLSCRIPTHANDLER is not set
|
||||
# CONFIG_ARCHIVE is not set
|
||||
# CONFIG_UBOOT is not set
|
||||
|
||||
#
|
||||
# archive support needs libarchive
|
||||
#
|
||||
|
||||
#
|
||||
# remote handler needs zeromq
|
||||
#
|
||||
|
||||
#
|
||||
# SWU forwarder requires libcurl
|
||||
#
|
||||
# CONFIG_BOOTLOADERHANDLER is not set
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 840d6287a41f7a42e08a74045ee40b7c2f82c1ecfedf8c915e3935d4f0084376 swupdate-2016.10.tar.gz
|
||||
sha256 1e15d9675cf7e23886dca7ea058498282c35679a555845dbc85ffe688f2cc681 swupdate-2017.11.tar.gz
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
SWUPDATE_VERSION = 2016.10
|
||||
SWUPDATE_VERSION = 2017.11
|
||||
SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION))
|
||||
SWUPDATE_LICENSE = GPLv2+, MIT, Public Domain
|
||||
SWUPDATE_LICENSE = GPL-2.0+, MIT, Public Domain
|
||||
SWUPDATE_LICENSE_FILES = COPYING
|
||||
|
||||
# swupdate bundles its own version of mongoose (version 3.8)
|
||||
@@ -41,6 +41,10 @@ endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y)
|
||||
SWUPDATE_DEPENDENCIES += luainterpreter host-pkgconf
|
||||
# defines the base name for the pkg-config file ("lua" or "luajit")
|
||||
define SWUPDATE_SET_LUA_VERSION
|
||||
$(call KCONFIG_SET_OPT,CONFIG_LUAPKG,$(BR2_PACKAGE_PROVIDES_LUAINTERPRETER),$(SWUPDATE_BUILD_CONFIG))
|
||||
endef
|
||||
SWUPDATE_MAKE_ENV += HAVE_LUA=y
|
||||
else
|
||||
SWUPDATE_MAKE_ENV += HAVE_LUA=n
|
||||
@@ -71,6 +75,13 @@ else
|
||||
SWUPDATE_MAKE_ENV += HAVE_LIBUBOOTENV=n
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ZEROMQ),y)
|
||||
SWUPDATE_DEPENDENCIES += zeromq
|
||||
SWUPDATE_MAKE_ENV += HAVE_LIBZEROMQ=y
|
||||
else
|
||||
SWUPDATE_MAKE_ENV += HAVE_LIBZEROMQ=n
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
||||
SWUPDATE_DEPENDENCIES += zlib
|
||||
SWUPDATE_MAKE_ENV += HAVE_ZLIB=y
|
||||
@@ -103,6 +114,7 @@ endef
|
||||
define SWUPDATE_KCONFIG_FIXUP_CMDS
|
||||
$(SWUPDATE_PREFER_STATIC)
|
||||
$(SWUPDATE_SET_BUILD_OPTIONS)
|
||||
$(SWUPDATE_SET_LUA_VERSION)
|
||||
endef
|
||||
|
||||
define SWUPDATE_BUILD_CMDS
|
||||
|
||||
Reference in New Issue
Block a user