* [Buildroot] [PATCH] swupdate: bump to version 2017.11
@ 2018-01-10 22:28 Jörg Krause
2018-01-12 21:16 ` Thomas Petazzoni
2018-01-13 22:28 ` Yann E. MORIN
0 siblings, 2 replies; 4+ messages in thread
From: Jörg Krause @ 2018-01-10 22:28 UTC (permalink / raw)
To: buildroot
Remove upstream patch 0001-Fix-SHA256-hash-verification.patch.
Re-enable support for Lua 5.1 and LuaJIT, which was removed in version 2017.09
because of compatibility issues [1]. Meanwhile, the issues have been resolved
upstream [2].
Note, that `CONFIG_HANDLER_IN_LUA` is now supported by Lua 5.1/LuaJIT, too.
Add a fixup command `SWUPDATE_SET_LUA_VERSION` to set the correct base name for
the Lua/LuaJIT pkg-config file used by the swupdates config option `LUAPKG`.
Fix a small type in the help text:
'in my mind' -> 'in mind'.
Regenerated the .config script by doing:
```
make swupdate-menuconfig
make swupdate-update-config
```
.. and removing the paths for the build options manually.
[1] http://patchwork.ozlabs.org/patch/795958/
[2] https://github.com/sbabic/swupdate/commit/7b49b8dc59acc0591fe9823f1739ba7422eb30c7
Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
.../0001-Fix-SHA256-hash-verification.patch | 119 ---------------------
package/swupdate/Config.in | 8 +-
package/swupdate/swupdate.config | 63 +++++++++--
package/swupdate/swupdate.hash | 2 +-
package/swupdate/swupdate.mk | 12 ++-
5 files changed, 71 insertions(+), 133 deletions(-)
delete mode 100644 package/swupdate/0001-Fix-SHA256-hash-verification.patch
diff --git a/package/swupdate/0001-Fix-SHA256-hash-verification.patch b/package/swupdate/0001-Fix-SHA256-hash-verification.patch
deleted file mode 100644
index b7bd9d3d0c..0000000000
--- a/package/swupdate/0001-Fix-SHA256-hash-verification.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From dba95dcd3739c604a81ffa2df2545e7a4cd430cf Mon Sep 17 00:00:00 2001
-From: Maksim Salau <msalau@iotecha.com>
-Date: Wed, 25 Oct 2017 16:17:14 +0300
-Subject: [PATCH] Fix SHA256 hash verification
-
-If a CPIO archive is not valid or copying fails due to any reason,
-an error message is printed, but update process continues.
-The change makes the utility fail in case of read errors or
-hash verification errors.
-
-Signed-off-by: Maksim Salau <msalau@iotecha.com>
-Acked-by: Stefano Babic <sbabic@denx.de>
----
- core/cpio_utils.c | 28 +++++++++++++++++++++-------
- corelib/installer.c | 11 +++++++++--
- 2 files changed, 30 insertions(+), 9 deletions(-)
-
-diff --git a/core/cpio_utils.c b/core/cpio_utils.c
-index e962fae..de674ec 100644
---- a/core/cpio_utils.c
-+++ b/core/cpio_utils.c
-@@ -414,24 +414,34 @@ int extract_img_from_cpio(int fd, unsigned long offset, struct filehdr *fdh)
- off_t extract_next_file(int fd, int fdout, off_t start, int compressed,
- int encrypted, unsigned char *hash)
- {
-+ int ret;
- struct filehdr fdh;
- uint32_t checksum = 0;
- unsigned long offset = start;
-
-- if (lseek(fd, offset, SEEK_SET) < 0) {
-+ ret = lseek(fd, offset, SEEK_SET);
-+ if (ret < 0) {
- ERROR("CPIO file corrupted : %s\n",
- strerror(errno));
-- return -1;
-+ return ret;
- }
-
-- if (extract_cpio_header(fd, &fdh, &offset)) {
-+ ret = extract_cpio_header(fd, &fdh, &offset);
-+ if (ret) {
- ERROR("CPIO Header wrong\n");
-+ return ret;
- }
-
-- if (lseek(fd, offset, SEEK_SET) < 0)
-+ ret = lseek(fd, offset, SEEK_SET);
-+ if (ret < 0) {
- ERROR("CPIO file corrupted : %s\n", strerror(errno));
-- if (copyfile(fd, &fdout, fdh.size, &offset, 0, 0, compressed, &checksum, hash, encrypted, NULL) < 0) {
-+ return ret;
-+ }
-+
-+ ret = copyfile(fd, &fdout, fdh.size, &offset, 0, 0, compressed, &checksum, hash, encrypted, NULL);
-+ if (ret < 0) {
- ERROR("Error copying extracted file\n");
-+ return ret;
- }
-
- TRACE("Copied file:\n\tfilename %s\n\tsize %u\n\tchecksum 0x%lx %s\n",
-@@ -440,9 +450,11 @@ off_t extract_next_file(int fd, int fdout, off_t start, int compressed,
- (unsigned long)checksum,
- (checksum == fdh.chksum) ? "VERIFIED" : "WRONG");
-
-- if (checksum != fdh.chksum)
-+ if (checksum != fdh.chksum) {
- ERROR("Checksum WRONG ! Computed 0x%lx, it should be 0x%lx\n",
- (unsigned long)checksum, fdh.chksum);
-+ return -EINVAL;
-+ }
-
- return offset;
- }
-@@ -492,8 +504,10 @@ int cpio_scan(int fd, struct swupdate_cfg *cfg, off_t start)
-
- /* Next header must be 4-bytes aligned */
- offset += NPAD_BYTES(offset);
-- if (lseek(fd, offset, SEEK_SET) < 0)
-+ if (lseek(fd, offset, SEEK_SET) < 0) {
- ERROR("CPIO file corrupted : %s\n", strerror(errno));
-+ return -1;
-+ }
- }
-
- return 0;
-diff --git a/corelib/installer.c b/corelib/installer.c
-index 592ada8..d2dee28 100644
---- a/corelib/installer.c
-+++ b/corelib/installer.c
-@@ -154,6 +154,7 @@ static int extract_script(int fd, struct imglist *head, const char *dest)
- {
- struct img_type *script;
- int fdout;
-+ int ret = 0;
-
- LIST_FOREACH(script, head, next) {
- if (script->provided == 0) {
-@@ -166,9 +167,15 @@ static int extract_script(int fd, struct imglist *head, const char *dest)
- dest, script->fname);
-
- fdout = openfileoutput(script->extract_file);
-- extract_next_file(fd, fdout, script->offset, 0,
-- script->is_encrypted, script->sha256);
-+ if (fdout < 0)
-+ return fdout;
-+
-+ ret = extract_next_file(fd, fdout, script->offset, 0,
-+ script->is_encrypted, script->sha256);
- close(fdout);
-+
-+ if (ret < 0)
-+ return ret;
- }
- return 0;
- }
---
-2.7.4
-
diff --git a/package/swupdate/Config.in b/package/swupdate/Config.in
index 61f08c5826..ca2eaf2940 100644
--- a/package/swupdate/Config.in
+++ b/package/swupdate/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_SWUPDATE
depends on BR2_USE_MMU # fork()
# swupdate requires a parser and uses libconfig as default
select BR2_PACKAGE_LIBCONFIG if !BR2_PACKAGE_JSON_C && \
- !BR2_PACKAGE_LUA_5_2 && !BR2_PACKAGE_LUA_5_3
+ !BR2_PACKAGE_HAS_LUAINTERPRETER
help
swupdate provides a reliable way to update the software on
an embedded system.
@@ -16,11 +16,11 @@ config BR2_PACKAGE_SWUPDATE
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,
+ 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_5_2 or BR2_PACKAGE_LUA_5_3 if you
+ * Select BR2_PACKAGE_LUA or BR2_PACKAGE_LUAJIT if you want
want to have Lua support.
* Select BR2_LIBCURL if you want to use the download
feature.
diff --git a/package/swupdate/swupdate.config b/package/swupdate/swupdate.config
index 328e49fdf0..0f6e9615e5 100644
--- a/package/swupdate/swupdate.config
+++ b/package/swupdate/swupdate.config
@@ -11,9 +11,26 @@ 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"
+
+#
+# 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
#
@@ -33,21 +50,27 @@ CONFIG_EXTRA_LDLIBS=""
# CONFIG_NOCLEANUP is not set
#
-# Bootloader
+# U-Boot support needs libubootenv, libz
#
-# CONFIG_BOOTLOADER is not set
CONFIG_BOOTLOADER_NONE=y
# CONFIG_BOOTLOADER_GRUB is not set
#
-# Suricatta
+# Image downloading support needs libcurl
#
-# CONFIG_SURICATTA is not set
-CONFIG_SURICATTA_SERVER_NONE=y
#
-# Server
+# Hash verification needs libssl
#
+
+#
+# Image verification (signed images) needs libssl
+#
+
+#
+# Image encryption needs libssl
+#
+# CONFIG_SURICATTA is not set
CONFIG_WEBSERVER=y
#
@@ -60,20 +83,48 @@ CONFIG_MONGOOSE=y
#
CONFIG_MONGOOSEIPV6=y
+#
+# SSL support needs libcrypto, libssl
+#
+
#
# Archival Features
#
+#
+# gunzip support needs libz
+#
+
#
# Parser Features
#
CONFIG_LIBCONFIG=y
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
+
+#
+# archive support needs libarchive
+#
+
+#
+# remote handler needs zeromq
+#
+
+#
+# SWU forwarder requires libcurl
+#
# CONFIG_BOOTLOADERHANDLER is not set
diff --git a/package/swupdate/swupdate.hash b/package/swupdate/swupdate.hash
index 7acc249b80..d1b69c9a03 100644
--- a/package/swupdate/swupdate.hash
+++ b/package/swupdate/swupdate.hash
@@ -1,2 +1,2 @@
# Locally calculated
-sha256 898a98b0c5a6bd09a4138fa98bb9883357db1ec6fe4dd5e8f4bcb11d092b9bf3 swupdate-2017.07.tar.gz
+sha256 1e15d9675cf7e23886dca7ea058498282c35679a555845dbc85ffe688f2cc681 swupdate-2017.11.tar.gz
diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk
index fbb092da05..d1afbc4882 100644
--- a/package/swupdate/swupdate.mk
+++ b/package/swupdate/swupdate.mk
@@ -4,7 +4,7 @@
#
################################################################################
-SWUPDATE_VERSION = 2017.07
+SWUPDATE_VERSION = 2017.11
SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION))
SWUPDATE_LICENSE = GPL-2.0+, MIT, Public Domain
SWUPDATE_LICENSE_FILES = COPYING
@@ -39,8 +39,13 @@ else
SWUPDATE_MAKE_ENV += HAVE_LIBCURL=n
endif
-ifeq ($(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUA_5_3),y)
-SWUPDATE_DEPENDENCIES += lua host-pkgconf
+
+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
@@ -110,6 +115,7 @@ endef
define SWUPDATE_KCONFIG_FIXUP_CMDS
$(SWUPDATE_PREFER_STATIC)
$(SWUPDATE_SET_BUILD_OPTIONS)
+ $(SWUPDATE_SET_LUA_VERSION)
endef
define SWUPDATE_BUILD_CMDS
--
2.15.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* [Buildroot] [PATCH] swupdate: bump to version 2017.11
2018-01-10 22:28 [Buildroot] [PATCH] swupdate: bump to version 2017.11 Jörg Krause
@ 2018-01-12 21:16 ` Thomas Petazzoni
2018-01-13 22:28 ` Yann E. MORIN
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2018-01-12 21:16 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 10 Jan 2018 23:28:16 +0100, J?rg Krause wrote:
> Remove upstream patch 0001-Fix-SHA256-hash-verification.patch.
>
> Re-enable support for Lua 5.1 and LuaJIT, which was removed in version 2017.09
> because of compatibility issues [1]. Meanwhile, the issues have been resolved
> upstream [2].
>
> Note, that `CONFIG_HANDLER_IN_LUA` is now supported by Lua 5.1/LuaJIT, too.
>
> Add a fixup command `SWUPDATE_SET_LUA_VERSION` to set the correct base name for
> the Lua/LuaJIT pkg-config file used by the swupdates config option `LUAPKG`.
>
> Fix a small type in the help text:
> 'in my mind' -> 'in mind'.
>
> Regenerated the .config script by doing:
>
> ```
> make swupdate-menuconfig
> make swupdate-update-config
> ```
> .. and removing the paths for the build options manually.
>
> [1] http://patchwork.ozlabs.org/patch/795958/
> [2] https://github.com/sbabic/swupdate/commit/7b49b8dc59acc0591fe9823f1739ba7422eb30c7
>
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> ---
> .../0001-Fix-SHA256-hash-verification.patch | 119 ---------------------
> package/swupdate/Config.in | 8 +-
> package/swupdate/swupdate.config | 63 +++++++++--
> package/swupdate/swupdate.hash | 2 +-
> package/swupdate/swupdate.mk | 12 ++-
> 5 files changed, 71 insertions(+), 133 deletions(-)
> delete mode 100644 package/swupdate/0001-Fix-SHA256-hash-verification.patch
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] swupdate: bump to version 2017.11
2018-01-10 22:28 [Buildroot] [PATCH] swupdate: bump to version 2017.11 Jörg Krause
2018-01-12 21:16 ` Thomas Petazzoni
@ 2018-01-13 22:28 ` Yann E. MORIN
2018-01-14 17:53 ` Jörg Krause
1 sibling, 1 reply; 4+ messages in thread
From: Yann E. MORIN @ 2018-01-13 22:28 UTC (permalink / raw)
To: buildroot
J?rg, All,
On 2018-01-10 23:28 +0100, J?rg Krause spake thusly:
[--SNIP--]
> diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk
> index fbb092da05..d1afbc4882 100644
> --- a/package/swupdate/swupdate.mk
> +++ b/package/swupdate/swupdate.mk
> @@ -4,7 +4,7 @@
> #
> ################################################################################
>
> -SWUPDATE_VERSION = 2017.07
> +SWUPDATE_VERSION = 2017.11
> SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION))
> SWUPDATE_LICENSE = GPL-2.0+, MIT, Public Domain
> SWUPDATE_LICENSE_FILES = COPYING
> @@ -39,8 +39,13 @@ else
> SWUPDATE_MAKE_ENV += HAVE_LIBCURL=n
> endif
>
> -ifeq ($(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUA_5_3),y)
> -SWUPDATE_DEPENDENCIES += lua host-pkgconf
> +
This is adding an extra empty line, which would have been caught by
running:
$ ./utils/check-package package/swupdate/swupdate.mk
package/swupdate/swupdate.mk:42: consecutive empty lines
140 lines processed
1 warnings generated
Care to fix, please?
Regards,
Yann E. MORIN.
> +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
> @@ -110,6 +115,7 @@ endef
> define SWUPDATE_KCONFIG_FIXUP_CMDS
> $(SWUPDATE_PREFER_STATIC)
> $(SWUPDATE_SET_BUILD_OPTIONS)
> + $(SWUPDATE_SET_LUA_VERSION)
> endef
>
> define SWUPDATE_BUILD_CMDS
> --
> 2.15.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 4+ messages in thread* [Buildroot] [PATCH] swupdate: bump to version 2017.11
2018-01-13 22:28 ` Yann E. MORIN
@ 2018-01-14 17:53 ` Jörg Krause
0 siblings, 0 replies; 4+ messages in thread
From: Jörg Krause @ 2018-01-14 17:53 UTC (permalink / raw)
To: buildroot
Yann,
On Sat, 2018-01-13 at 23:28 +0100, Yann E. MORIN wrote:
> J?rg, All,
>
> On 2018-01-10 23:28 +0100, J?rg Krause spake thusly:
> [--SNIP--]
> > diff --git a/package/swupdate/swupdate.mk b/package/swupdate/swupdate.mk
> > index fbb092da05..d1afbc4882 100644
> > --- a/package/swupdate/swupdate.mk
> > +++ b/package/swupdate/swupdate.mk
> > @@ -4,7 +4,7 @@
> > #
> > ################################################################################
> >
> > -SWUPDATE_VERSION = 2017.07
> > +SWUPDATE_VERSION = 2017.11
> > SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION))
> > SWUPDATE_LICENSE = GPL-2.0+, MIT, Public Domain
> > SWUPDATE_LICENSE_FILES = COPYING
> > @@ -39,8 +39,13 @@ else
> > SWUPDATE_MAKE_ENV += HAVE_LIBCURL=n
> > endif
> >
> > -ifeq ($(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUA_5_3),y)
> > -SWUPDATE_DEPENDENCIES += lua host-pkgconf
> > +
>
> This is adding an extra empty line, which would have been caught by
> running:
>
> $ ./utils/check-package package/swupdate/swupdate.mk
> package/swupdate/swupdate.mk:42: consecutive empty lines
> 140 lines processed
> 1 warnings generated
>
> Care to fix, please?
Thanks for reporting! Fix is on his way...
J?rg
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-01-14 17:53 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-10 22:28 [Buildroot] [PATCH] swupdate: bump to version 2017.11 Jörg Krause
2018-01-12 21:16 ` Thomas Petazzoni
2018-01-13 22:28 ` Yann E. MORIN
2018-01-14 17:53 ` Jörg Krause
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox