All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/libxmlsec1: bump version to 1.3.12
@ 2026-07-13  8:37 Alexis Lothoré via buildroot
  2026-07-13  8:43 ` Alexis Lothoré via buildroot
  0 siblings, 1 reply; 2+ messages in thread
From: Alexis Lothoré via buildroot @ 2026-07-13  8:37 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni, Bernd Kuhls, Alexis Lothoré

Update libxmlsec from 1.3.9 to 1.3.12. The package then needs a few
adjustments:
- there are undefined references to xmlDebugDumpDocument ([1]):

  unit_tests/transform_helpers_unit_tests.c:291:9: error: implicit
  declaration of function ‘xmlDebugDumpDocument’
  [-Wimplicit-function-declaration]

This is due to xmlsec1 unit tests being built systematically, and
depending on libxml2 being built with --with-debug, so patch
apps/Makefile.am accordingly at build time to disable unit tests build.

- the build can fail with older GCC versions due to an unimplemented
  parameter ([2]):

  aarch64-linux-gcc.br_real: error: unrecognized command line option \
  ‘-Wformat-overflow=2’; did you mean ‘-Wstrict-overflow=’?

This format-overflow parameter has been implemented in GCC 7, so make
the package depend on GCC >= 7. Another solution could have been to
pass --disable-pedantic to the package's configure, but that sounds a
bit strong just to disable a parameter that has been exisiting for
almost 10 years.

- the build can fail on missing atomics ([3]):

  [...]/bootlin-m68k-5208-uclibc/host/opt/ext-toolchain/m68k-buildroot-uclinux-uclibc/bin/ld.real:
  [...]/bootlin-m68k-5208-uclibc/host/bin/../m68k-buildroot-uclinux-uclibc/sysroot/usr/lib/libcrypto.a(libcrypto-lib-threads_pthread.o):
  in function `CRYPTO_atomic_store': threads_pthread.c:(.text+0xcd2):
  undefined reference to `__atomic_is_lock_free'

So make the package depend on libatomic

[1] https://gitlab.com/jolivain/buildroot/-/pipelines/2527527034
[2] https://gitlab.com/jolivain/buildroot/-/jobs/14449681615
[3] https://gitlab.com/jolivain/buildroot/-/jobs/14449681621

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
---
This patch follows Bernd Kuhls' attempt to upgrade libxmlsec1 to 1.3.11
from a few months ago:

https://lore.kernel.org/buildroot/20260519185732.1029402-1-bernd@kuhls.net/

Bernd, I then took the liberty to add your SoB and Co-Developed-by for
the unit test disabling part, please let me know if that's not ok.
---
 package/libxmlsec1/Config.in       |  5 +++++
 package/libxmlsec1/libxmlsec1.hash |  2 +-
 package/libxmlsec1/libxmlsec1.mk   | 10 +++++++++-
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/package/libxmlsec1/Config.in b/package/libxmlsec1/Config.in
index 4a686853ae0e..782e6ced7ce9 100644
--- a/package/libxmlsec1/Config.in
+++ b/package/libxmlsec1/Config.in
@@ -1,5 +1,7 @@
 config BR2_PACKAGE_LIBXMLSEC1
 	bool "libxmlsec1"
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 #-Wformat-overflow
+	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_LIBXML2
 	help
@@ -10,3 +12,6 @@ config BR2_PACKAGE_LIBXMLSEC1
 
 	  https://www.aleksey.com/xmlsec/
 	  https://github.com/lsh123/xmlsec
+
+comment "libxmlsec1 needs a toolchain w/ gcc >= 7"
+	depends on  !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_TOOLCHAIN_HAS_ATOMIC
diff --git a/package/libxmlsec1/libxmlsec1.hash b/package/libxmlsec1/libxmlsec1.hash
index 9e0e67e7322e..7f34c289841b 100644
--- a/package/libxmlsec1/libxmlsec1.hash
+++ b/package/libxmlsec1/libxmlsec1.hash
@@ -1,3 +1,3 @@
 # Locally computed
-sha256  a631c8cd7a6b86e6adb9f5b935d45a9cf9768b3cb090d461e8eb9d043cf9b62f  xmlsec1-1.3.9.tar.gz
+sha256  24045199af12d93fe5fdbbbf7e386e823e4842071e9432e2b90ac108b889a923  xmlsec1-1.3.12.tar.gz
 sha256  d5e9388534256360c6a009d4f19ab2b8d6ec0aa7ff32a51e22d899ed7beb5c48  Copyright
diff --git a/package/libxmlsec1/libxmlsec1.mk b/package/libxmlsec1/libxmlsec1.mk
index 29222bc16ffd..88f0ae9fd94f 100644
--- a/package/libxmlsec1/libxmlsec1.mk
+++ b/package/libxmlsec1/libxmlsec1.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LIBXMLSEC1_VERSION = 1.3.9
+LIBXMLSEC1_VERSION = 1.3.12
 LIBXMLSEC1_SOURCE = xmlsec1-$(LIBXMLSEC1_VERSION).tar.gz
 LIBXMLSEC1_SITE = https://github.com/lsh123/xmlsec/releases/download/$(LIBXMLSEC1_VERSION)
 LIBXMLSEC1_LICENSE = MIT
@@ -22,6 +22,14 @@ LIBXMLSEC1_CONF_OPTS = \
 	--without-nss \
 	--disable-des
 
+# xmlsec_unit_tests needs xmlDebugDumpDocument() from libxml2 which is not
+# present in buildroot because libxml2 is build with -without-debug
+define LIBXMLSEC1_DISABLE_UNIT_TESTS
+	$(SED) 's/noinst_PROGRAMS = xmlsec_unit_tests/noinst_PROGRAMS =/' \
+		$(@D)/apps/Makefile.am
+endef
+LIBXMLSEC1_POST_PATCH_HOOKS += LIBXMLSEC1_DISABLE_UNIT_TESTS
+
 HOST_LIBXMLSEC1_CONF_OPTS = \
 	--enable-crypto-dl=no \
 	--with-openssl \

---
base-commit: d2a6599f7b85ba64b6542ada56457eba6e2be364
change-id: 20260713-libxmslxec-bump-144fd60beff2

Best regards,
--  
Alexis Lothoré <alexis.lothore@bootlin.com>

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Buildroot] [PATCH] package/libxmlsec1: bump version to 1.3.12
  2026-07-13  8:37 [Buildroot] [PATCH] package/libxmlsec1: bump version to 1.3.12 Alexis Lothoré via buildroot
@ 2026-07-13  8:43 ` Alexis Lothoré via buildroot
  0 siblings, 0 replies; 2+ messages in thread
From: Alexis Lothoré via buildroot @ 2026-07-13  8:43 UTC (permalink / raw)
  To: Alexis Lothoré, buildroot; +Cc: Thomas Petazzoni, Bernd Kuhls

On Mon Jul 13, 2026 at 10:37 AM CEST, Alexis Lothoré wrote:
> Update libxmlsec from 1.3.9 to 1.3.12. The package then needs a few
> adjustments:
> - there are undefined references to xmlDebugDumpDocument ([1]):
>
>   unit_tests/transform_helpers_unit_tests.c:291:9: error: implicit
>   declaration of function ‘xmlDebugDumpDocument’
>   [-Wimplicit-function-declaration]
>
> This is due to xmlsec1 unit tests being built systematically, and
> depending on libxml2 being built with --with-debug, so patch
> apps/Makefile.am accordingly at build time to disable unit tests build.
>
> - the build can fail with older GCC versions due to an unimplemented
>   parameter ([2]):
>
>   aarch64-linux-gcc.br_real: error: unrecognized command line option \
>   ‘-Wformat-overflow=2’; did you mean ‘-Wstrict-overflow=’?
>
> This format-overflow parameter has been implemented in GCC 7, so make
> the package depend on GCC >= 7. Another solution could have been to
> pass --disable-pedantic to the package's configure, but that sounds a
> bit strong just to disable a parameter that has been exisiting for
> almost 10 years.
>
> - the build can fail on missing atomics ([3]):
>
>   [...]/bootlin-m68k-5208-uclibc/host/opt/ext-toolchain/m68k-buildroot-uclinux-uclibc/bin/ld.real:
>   [...]/bootlin-m68k-5208-uclibc/host/bin/../m68k-buildroot-uclinux-uclibc/sysroot/usr/lib/libcrypto.a(libcrypto-lib-threads_pthread.o):
>   in function `CRYPTO_atomic_store': threads_pthread.c:(.text+0xcd2):
>   undefined reference to `__atomic_is_lock_free'
>
> So make the package depend on libatomic
>
> [1] https://gitlab.com/jolivain/buildroot/-/pipelines/2527527034
> [2] https://gitlab.com/jolivain/buildroot/-/jobs/14449681615
> [3] https://gitlab.com/jolivain/buildroot/-/jobs/14449681621
>
> Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>

Aaaaaand I forgot Bernd's SoB and Co-developed-by, despite mentioning
those below. They will be included in v2, depending on the feedback.

> ---
> This patch follows Bernd Kuhls' attempt to upgrade libxmlsec1 to 1.3.11
> from a few months ago:
>
> https://lore.kernel.org/buildroot/20260519185732.1029402-1-bernd@kuhls.net/
>
> Bernd, I then took the liberty to add your SoB and Co-Developed-by for
> the unit test disabling part, please let me know if that's not ok.
> ---
>  package/libxmlsec1/Config.in       |  5 +++++
>  package/libxmlsec1/libxmlsec1.hash |  2 +-
>  package/libxmlsec1/libxmlsec1.mk   | 10 +++++++++-
>  3 files changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/package/libxmlsec1/Config.in b/package/libxmlsec1/Config.in
> index 4a686853ae0e..782e6ced7ce9 100644
> --- a/package/libxmlsec1/Config.in
> +++ b/package/libxmlsec1/Config.in
> @@ -1,5 +1,7 @@
>  config BR2_PACKAGE_LIBXMLSEC1
>  	bool "libxmlsec1"
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 #-Wformat-overflow
> +	depends on BR2_TOOLCHAIN_HAS_ATOMIC
>  	select BR2_PACKAGE_OPENSSL
>  	select BR2_PACKAGE_LIBXML2
>  	help
> @@ -10,3 +12,6 @@ config BR2_PACKAGE_LIBXMLSEC1
>  
>  	  https://www.aleksey.com/xmlsec/
>  	  https://github.com/lsh123/xmlsec
> +
> +comment "libxmlsec1 needs a toolchain w/ gcc >= 7"
> +	depends on  !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_TOOLCHAIN_HAS_ATOMIC
> diff --git a/package/libxmlsec1/libxmlsec1.hash b/package/libxmlsec1/libxmlsec1.hash
> index 9e0e67e7322e..7f34c289841b 100644
> --- a/package/libxmlsec1/libxmlsec1.hash
> +++ b/package/libxmlsec1/libxmlsec1.hash
> @@ -1,3 +1,3 @@
>  # Locally computed
> -sha256  a631c8cd7a6b86e6adb9f5b935d45a9cf9768b3cb090d461e8eb9d043cf9b62f  xmlsec1-1.3.9.tar.gz
> +sha256  24045199af12d93fe5fdbbbf7e386e823e4842071e9432e2b90ac108b889a923  xmlsec1-1.3.12.tar.gz
>  sha256  d5e9388534256360c6a009d4f19ab2b8d6ec0aa7ff32a51e22d899ed7beb5c48  Copyright
> diff --git a/package/libxmlsec1/libxmlsec1.mk b/package/libxmlsec1/libxmlsec1.mk
> index 29222bc16ffd..88f0ae9fd94f 100644
> --- a/package/libxmlsec1/libxmlsec1.mk
> +++ b/package/libxmlsec1/libxmlsec1.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -LIBXMLSEC1_VERSION = 1.3.9
> +LIBXMLSEC1_VERSION = 1.3.12
>  LIBXMLSEC1_SOURCE = xmlsec1-$(LIBXMLSEC1_VERSION).tar.gz
>  LIBXMLSEC1_SITE = https://github.com/lsh123/xmlsec/releases/download/$(LIBXMLSEC1_VERSION)
>  LIBXMLSEC1_LICENSE = MIT
> @@ -22,6 +22,14 @@ LIBXMLSEC1_CONF_OPTS = \
>  	--without-nss \
>  	--disable-des
>  
> +# xmlsec_unit_tests needs xmlDebugDumpDocument() from libxml2 which is not
> +# present in buildroot because libxml2 is build with -without-debug
> +define LIBXMLSEC1_DISABLE_UNIT_TESTS
> +	$(SED) 's/noinst_PROGRAMS = xmlsec_unit_tests/noinst_PROGRAMS =/' \
> +		$(@D)/apps/Makefile.am
> +endef
> +LIBXMLSEC1_POST_PATCH_HOOKS += LIBXMLSEC1_DISABLE_UNIT_TESTS
> +
>  HOST_LIBXMLSEC1_CONF_OPTS = \
>  	--enable-crypto-dl=no \
>  	--with-openssl \
>
> ---
> base-commit: d2a6599f7b85ba64b6542ada56457eba6e2be364
> change-id: 20260713-libxmslxec-bump-144fd60beff2
>
> Best regards,
> --  
> Alexis Lothoré <alexis.lothore@bootlin.com>




-- 
Alexis Lothoré, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-07-13  8:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-13  8:37 [Buildroot] [PATCH] package/libxmlsec1: bump version to 1.3.12 Alexis Lothoré via buildroot
2026-07-13  8:43 ` Alexis Lothoré via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.