Buildroot Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox