diff mbox series

[meta-oe,2/5] xmlstarlet: Fix build with API breakage in libxml2 2.12

Message ID 20240308012429.577792-2-raj.khem@gmail.com
State Accepted, archived
Headers show
Series [meta-oe,1/5] layer.conf: Update for the scarthgap release series | expand

Commit Message

Khem Raj March 8, 2024, 1:24 a.m. UTC
Fixes
|   300 |     xmlSetStructuredErrorFunc(&errorInfo, reportError);
|       |                                           ^~~~~~~~~~~
| /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/xmlstarlet/1.6.1/recipe-sysroot/usr/lib/../include/libxml2/libxml/xmlerror.h:898:29: note: passing argument to parameter 'handler' here
|   898 |                                  xmlStructuredErrorFunc handler);
|       |                                                         ^

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../0001-Make-xmlError-struct-constant.patch  | 45 +++++++++++++++++++
 .../xmlstarlet/xmlstarlet_1.6.1.bb            |  1 +
 2 files changed, 46 insertions(+)
 create mode 100644 meta-oe/recipes-support/xmlstarlet/files/0001-Make-xmlError-struct-constant.patch
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/xmlstarlet/files/0001-Make-xmlError-struct-constant.patch b/meta-oe/recipes-support/xmlstarlet/files/0001-Make-xmlError-struct-constant.patch
new file mode 100644
index 0000000000..a9d98db69c
--- /dev/null
+++ b/meta-oe/recipes-support/xmlstarlet/files/0001-Make-xmlError-struct-constant.patch
@@ -0,0 +1,45 @@ 
+From f7a5ebc3a673b246a64c9a664df304c1520a3951 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Mar 2024 12:35:17 -0800
+Subject: [PATCH] Make xmlError struct constant
+
+In libxml2 commit v2.12.0~14 the API changed so that
+xmlGetLastError() returns pointer to a constant xmlError struct.
+Reflect this change in our code.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/xml.c     | 2 +-
+ src/xmlstar.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/xml.c b/src/xml.c
+index cf47cc2..e6f19c1 100644
+--- a/src/xml.c
++++ b/src/xml.c
+@@ -104,7 +104,7 @@ void reportGenericError(void* ctx, const char * msg, ...) {
+ /* by default all errors are reported */
+ static ErrorInfo errorInfo = { NULL, NULL, VERBOSE, CONTINUE };
+ 
+-void reportError(void *ptr, xmlErrorPtr error)
++void reportError(void *ptr, const xmlError *error)
+ {
+     ErrorInfo *errorInfo = (ErrorInfo*) ptr;
+     assert(errorInfo);
+diff --git a/src/xmlstar.h b/src/xmlstar.h
+index 3e1eed3..7e41ac4 100644
+--- a/src/xmlstar.h
++++ b/src/xmlstar.h
+@@ -32,7 +32,7 @@ typedef struct _errorInfo {
+     ErrorStop stop;
+ } ErrorInfo;
+ 
+-void reportError(void *ptr, xmlErrorPtr error);
++void reportError(void *ptr, const xmlError* error);
+ void suppressErrors(void);
+ 
+ typedef struct _gOptions {
+-- 
+2.44.0
+
diff --git a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb
index 930fbdd6c7..61eeaaa095 100644
--- a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb
+++ b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb
@@ -15,6 +15,7 @@  DEPENDS = "libxml2 libxslt"
 SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BP}.tar.gz \
            file://configure.ac.patch \
            file://0001-usage2c.awk-fix-wrong-basename-regexp.patch \
+           file://0001-Make-xmlError-struct-constant.patch \
            file://0001-Fix-hash_key_put-signature.patch"
 SRC_URI[sha256sum] = "15d838c4f3375332fd95554619179b69e4ec91418a3a5296e7c631b7ed19e7ca"