Browse Source

package/swupdate: bump version to 2023.12

* make json-c mandatory according to [0]
* make libubootenv mandatory according to [1]
* drop local patch that has been upstreamed [2]
* libconfig is not mandatory anymore if no lua parser is enabled
* adjust Config.in comment according to json-c and libubootenv

[0]: https://github.com/sbabic/swupdate/commit/82e75322443e021d119a026a3476c410f4705d67
[1]: https://github.com/sbabic/swupdate/commit/75838874e2575f822ed85d89532f47e9adf781b6
[2]: https://github.com/sbabic/swupdate/commit/1999685830d6e9b57014666b9e53e46de17a471c

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Giulio Benetti 1 năm trước cách đây
mục cha
commit
c9c28434b2

+ 0 - 41
package/swupdate/0001-include-util-h-fix-build-on-musl.patch

@@ -1,41 +0,0 @@
-From 1999685830d6e9b57014666b9e53e46de17a471c Mon Sep 17 00:00:00 2001
-From: Dominique Martinet <dominique.martinet@atmark-techno.com>
-Date: Fri, 15 Sep 2023 18:14:57 +0900
-Subject: [PATCH] include/util.h: fix build on musl
-
-Building on musl 1.2.4 fails with the following error/warnings:
-
-include/util.h:211:23: error: unknown type name 'mode_t'
-  211 | int mkpath(char *dir, mode_t mode);
-include/util.h:269:36: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
-  269 | char *swupdate_time_iso8601(struct timeval *tv);
-
-These were caused by a recent reorganization of the headers and glibc
-appears more tolerant here.
-
-Fixes: 8228b1390632 ("Reorganize includes to have smaller files")
-Signed-off-by: Dominique Martinet <dominique.martinet@atmark-techno.com>
-Upstream: https://github.com/sbabic/swupdate/commit/1999685830d6e9b57014666b9e53e46de17a471c
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- include/util.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/include/util.h b/include/util.h
-index 2f5c7adc..5f4cdc01 100644
---- a/include/util.h
-+++ b/include/util.h
-@@ -8,11 +8,13 @@
- #ifndef _UTIL_H
- #define _UTIL_H
- 
-+#include <fcntl.h>
- #include <stdint.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
- #include <stdbool.h>
-+#include <sys/time.h>
- #if defined(__linux__)
- #include <linux/types.h>
- #endif

+ 6 - 7
package/swupdate/Config.in

@@ -3,9 +3,9 @@ config BR2_PACKAGE_SWUPDATE
 	depends on !BR2_STATIC_LIBS
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	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_HAS_LUAINTERPRETER
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
+	select BR2_PACKAGE_JSON_C
+	select BR2_PACKAGE_LIBUBOOTENV
 	help
 	  swupdate provides a reliable way to update the software on
 	  an embedded system.
@@ -37,14 +37,12 @@ config BR2_PACKAGE_SWUPDATE
 	    remote handler.
 	  * Select BR2_PACKAGE_LIBRSYNC to add support for using
 	    rdiff handler.
-	  * Select BR2_PACKAGE_LIBUBOOTENV to add support for setting
-	    the U-Boot environment.
 	  * Select BR2_PACKAGE_LIBGPIOD to add support for
 	    microcontroller firmware update.
 	  * Select BR2_PACKAGE_EFIBOOTMGR to add support for EFI Boot
 	    Guard.
-	  * Select BR2_PACKAGE_LIBCURL, BR2_PACKAGE_JSON_C,
-	    BR2_PACKAGE_LIBWEBSOCKETS, and BR2_PACKAGE_LIBURIPARSER
+	  * Select BR2_PACKAGE_LIBCURL, BR2_PACKAGE_LIBWEBSOCKETS,
+	    and BR2_PACKAGE_LIBURIPARSER
 	    to add support for the SWU forwarder.
 
 	  https://sbabic.github.io/swupdate
@@ -89,4 +87,5 @@ endif
 
 comment "swupdate needs a toolchain w/ dynamic library, threads"
 	depends on BR2_USE_MMU
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS

+ 1 - 1
package/swupdate/swupdate.hash

@@ -1,5 +1,5 @@
 # Locally calculated
-sha256  888df5050035e4fbe14e3a964885646fa3163e727f78c423c3d24c28f7a50b66  swupdate-2023.05.tar.gz
+sha256  ce24032300e2b6a6faa3d22e49f981fd90f04ac6f5d7e802166824b0cd5ca669  swupdate-2023.12.tar.gz
 sha256  4cf04ed34ff0ebbf5c71345b56e6af5093fc17206364cca0ebbae92ef3940683  LICENSES/BSD-1-Clause.txt
 sha256  e27a3e87706b3aa5ff2e50eaafe2e6ed5397fbf2d7679eaf444a6d000518a3a6  LICENSES/BSD-3-Clause.txt
 sha256  0558101984550fa84d1d13c2af11d116c20079d2be58711e8d99cadce7009192  LICENSES/CC0-1.0.txt

+ 2 - 15
package/swupdate/swupdate.mk

@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-SWUPDATE_VERSION = 2023.05
+SWUPDATE_VERSION = 2023.12
 SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION))
 SWUPDATE_LICENSE = GPL-2.0, GPL-2.0+, LGPL-2.1+, MIT, ISC, BSD-1-Clause, BSD-3-Clause, CC0-1.0, CC-BY-SA-4.0, OFL-1.1
 SWUPDATE_LICENSE_FILES = LICENSES/BSD-1-Clause.txt \
@@ -18,6 +18,7 @@ SWUPDATE_LICENSE_FILES = LICENSES/BSD-1-Clause.txt \
 	LICENSES/MIT.txt \
 	LICENSES/OFL-1.1.txt
 SWUPDATE_INSTALL_STAGING = YES
+SWUPDATE_DEPENDENCIES = json-c libubootenv
 
 # swupdate uses $CROSS-cc instead of $CROSS-gcc, which is not
 # available in all external toolchains, and use CC for linking. Ensure
@@ -36,13 +37,6 @@ else
 SWUPDATE_MAKE_ENV += HAVE_LIBEXT2FS=n
 endif
 
-ifeq ($(BR2_PACKAGE_JSON_C),y)
-SWUPDATE_DEPENDENCIES += json-c
-SWUPDATE_MAKE_ENV += HAVE_JSON_C=y
-else
-SWUPDATE_MAKE_ENV += HAVE_JSON_C=n
-endif
-
 ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
 SWUPDATE_DEPENDENCIES += libarchive
 SWUPDATE_MAKE_ENV += HAVE_LIBARCHIVE=y
@@ -85,13 +79,6 @@ else
 SWUPDATE_MAKE_ENV += HAVE_LIBGPIOD=n
 endif
 
-ifeq ($(BR2_PACKAGE_LIBUBOOTENV),y)
-SWUPDATE_DEPENDENCIES += libubootenv
-SWUPDATE_MAKE_ENV += HAVE_LIBUBOOTENV=y
-else
-SWUPDATE_MAKE_ENV += HAVE_LIBUBOOTENV=n
-endif
-
 ifeq ($(BR2_PACKAGE_LIBURIPARSER),y)
 SWUPDATE_DEPENDENCIES += liburiparser
 SWUPDATE_MAKE_ENV += HAVE_URIPARSER=y