diff options
| -rw-r--r-- | meta-oe/recipes-support/libosinfo/libosinfo/0001-osinfo-Make-xmlError-struct-constant-in-propagate_li.patch | 32 | ||||
| -rw-r--r-- | meta-oe/recipes-support/libosinfo/libosinfo/0adf38535637ec668e658d43f04f60f11f51574f.patch | 86 | ||||
| -rw-r--r-- | meta-oe/recipes-support/libosinfo/libosinfo_1.12.0.bb (renamed from meta-oe/recipes-support/libosinfo/libosinfo_1.11.0.bb) | 4 | 
3 files changed, 88 insertions, 34 deletions
| diff --git a/meta-oe/recipes-support/libosinfo/libosinfo/0001-osinfo-Make-xmlError-struct-constant-in-propagate_li.patch b/meta-oe/recipes-support/libosinfo/libosinfo/0001-osinfo-Make-xmlError-struct-constant-in-propagate_li.patch deleted file mode 100644 index 467c6b4baf..0000000000 --- a/meta-oe/recipes-support/libosinfo/libosinfo/0001-osinfo-Make-xmlError-struct-constant-in-propagate_li.patch +++ /dev/null | |||
| @@ -1,32 +0,0 @@ | |||
| 1 | From 5bbdd06503456784c5ffa22409e8bab50470d673 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Michal Privoznik <mprivozn@redhat.com> | ||
| 3 | Date: Mon, 27 Nov 2023 15:11:45 +0100 | ||
| 4 | Subject: [PATCH] osinfo: Make xmlError struct constant in | ||
| 5 | propagate_libxml_error() | ||
| 6 | |||
| 7 | In libxml2 commit v2.12.0~14 the API changed so that | ||
| 8 | xmlGetLastError() returns pointer to a constant xmlError struct. | ||
| 9 | Reflect this change in our code. | ||
| 10 | |||
| 11 | Upstream-Status: Backport [https://gitlab.com/libosinfo/libosinfo/-/merge_requests/155] | ||
| 12 | Signed-off-by: Michal Privoznik <mprivozn@redhat.com> | ||
| 13 | --- | ||
| 14 | osinfo/osinfo_install_script.c | 2 +- | ||
| 15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 16 | |||
| 17 | diff --git a/osinfo/osinfo_install_script.c b/osinfo/osinfo_install_script.c | ||
| 18 | index 5800f37..303245a 100644 | ||
| 19 | --- a/osinfo/osinfo_install_script.c | ||
| 20 | +++ b/osinfo/osinfo_install_script.c | ||
| 21 | @@ -769,7 +769,7 @@ static void propagate_libxml_error(GError **error, const char *format, ...) G_GN | ||
| 22 | |||
| 23 | static void propagate_libxml_error(GError **error, const char *format, ...) | ||
| 24 | { | ||
| 25 | - xmlErrorPtr err = xmlGetLastError(); | ||
| 26 | + const xmlError *err = xmlGetLastError(); | ||
| 27 | char *prefix; | ||
| 28 | va_list ap; | ||
| 29 | |||
| 30 | -- | ||
| 31 | 2.44.0 | ||
| 32 | |||
| diff --git a/meta-oe/recipes-support/libosinfo/libosinfo/0adf38535637ec668e658d43f04f60f11f51574f.patch b/meta-oe/recipes-support/libosinfo/libosinfo/0adf38535637ec668e658d43f04f60f11f51574f.patch new file mode 100644 index 0000000000..f76aef8b25 --- /dev/null +++ b/meta-oe/recipes-support/libosinfo/libosinfo/0adf38535637ec668e658d43f04f60f11f51574f.patch | |||
| @@ -0,0 +1,86 @@ | |||
| 1 | From 0adf38535637ec668e658d43f04f60f11f51574f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Roman Bogorodskiy <bogorodskiy@gmail.com> | ||
| 3 | Date: Thu, 10 Apr 2025 13:54:02 +0200 | ||
| 4 | Subject: [PATCH] loader: don't use libxml2 deprecated APIs | ||
| 5 | |||
| 6 | Address the following items: | ||
| 7 | |||
| 8 | - Deprecated direct access to buf's content | ||
| 9 | - Mismatching error function signature | ||
| 10 | - Deprecated direct access to ctxt's lastError | ||
| 11 | |||
| 12 | Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com> | ||
| 13 | Signed-off-by: Markus Volk <f_l_k@t-online.de> | ||
| 14 | |||
| 15 | Upstream-Status: Backport [https://gitlab.com/libosinfo/libosinfo/-/commit/0adf38535637ec668e658d43f04f60f11f51574f.patch] | ||
| 16 | --- | ||
| 17 | osinfo/osinfo_loader.c | 42 +++++++++++++++++++++++------------------- | ||
| 18 | 1 file changed, 23 insertions(+), 19 deletions(-) | ||
| 19 | |||
| 20 | diff --git a/osinfo/osinfo_loader.c b/osinfo/osinfo_loader.c | ||
| 21 | index 0a9004af..b3fd4535 100644 | ||
| 22 | --- a/osinfo/osinfo_loader.c | ||
| 23 | +++ b/osinfo/osinfo_loader.c | ||
| 24 | @@ -354,7 +354,7 @@ osinfo_loader_doc(const char *xpath, | ||
| 25 | xmlXPathFreeObject(obj); | ||
| 26 | OSINFO_LOADER_SET_ERROR(err, "Cannot format stylesheet"); | ||
| 27 | } | ||
| 28 | - ret = g_strdup((char *)buf->content); | ||
| 29 | + ret = g_strdup((char *)xmlBufferContent(buf)); | ||
| 30 | |||
| 31 | xmlBufferFree(buf); | ||
| 32 | xmlXPathFreeObject(obj); | ||
| 33 | @@ -1902,28 +1902,32 @@ static void osinfo_loader_root(OsinfoLoader *loader, | ||
| 34 | } | ||
| 35 | |||
| 36 | static void | ||
| 37 | -catchXMLError(void *ctx, const char *msg ATTRIBUTE_UNUSED, ...) | ||
| 38 | +catchXMLError(void *ctx, const char *msg, ...) | ||
| 39 | { | ||
| 40 | xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; | ||
| 41 | + const xmlError *xmlErr = NULL; | ||
| 42 | + g_autofree gchar *xmlmsg = NULL; | ||
| 43 | |||
| 44 | - if (ctxt && ctxt->_private) { | ||
| 45 | - GError **err = ctxt->_private; | ||
| 46 | - if (!error_is_set(err)) { | ||
| 47 | - gchar *xmlmsg; | ||
| 48 | - if (ctxt->lastError.file) { | ||
| 49 | - xmlmsg = g_strdup_printf("%s:%d: %s", | ||
| 50 | - ctxt->lastError.file, | ||
| 51 | - ctxt->lastError.line, | ||
| 52 | - ctxt->lastError.message); | ||
| 53 | - } else { | ||
| 54 | - xmlmsg = g_strdup_printf("at line %d: %s", | ||
| 55 | - ctxt->lastError.line, | ||
| 56 | - ctxt->lastError.message); | ||
| 57 | - } | ||
| 58 | - OSINFO_LOADER_SET_ERROR(ctxt->_private, xmlmsg); | ||
| 59 | - g_free(xmlmsg); | ||
| 60 | - } | ||
| 61 | + if (!ctxt || !ctxt->_private) | ||
| 62 | + return; | ||
| 63 | + | ||
| 64 | + if (error_is_set(ctxt->_private)) | ||
| 65 | + return; | ||
| 66 | + | ||
| 67 | + if (!(xmlErr = xmlCtxtGetLastError(ctx))) | ||
| 68 | + return; | ||
| 69 | + | ||
| 70 | + if (xmlErr->file) { | ||
| 71 | + xmlmsg = g_strdup_printf("%s:%d: %s", | ||
| 72 | + xmlErr->file, | ||
| 73 | + xmlErr->line, | ||
| 74 | + xmlErr->message); | ||
| 75 | + } else { | ||
| 76 | + xmlmsg = g_strdup_printf("at line %d: %s", | ||
| 77 | + xmlErr->line, | ||
| 78 | + xmlErr->message); | ||
| 79 | } | ||
| 80 | + OSINFO_LOADER_SET_ERROR(ctxt->_private, xmlmsg); | ||
| 81 | } | ||
| 82 | |||
| 83 | static void osinfo_loader_process_xml(OsinfoLoader *loader, | ||
| 84 | -- | ||
| 85 | GitLab | ||
| 86 | |||
| diff --git a/meta-oe/recipes-support/libosinfo/libosinfo_1.11.0.bb b/meta-oe/recipes-support/libosinfo/libosinfo_1.12.0.bb index 727d5ecf89..edcebf522a 100644 --- a/meta-oe/recipes-support/libosinfo/libosinfo_1.11.0.bb +++ b/meta-oe/recipes-support/libosinfo/libosinfo_1.12.0.bb | |||
| @@ -8,10 +8,10 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" | |||
| 8 | SRC_URI = " \ | 8 | SRC_URI = " \ | 
| 9 | git://gitlab.com/libosinfo/libosinfo.git;branch=main;protocol=https \ | 9 | git://gitlab.com/libosinfo/libosinfo.git;branch=main;protocol=https \ | 
| 10 | file://0001-meson.build-allow-crosscompiling-gir.patch \ | 10 | file://0001-meson.build-allow-crosscompiling-gir.patch \ | 
| 11 | file://0001-osinfo-Make-xmlError-struct-constant-in-propagate_li.patch \ | 11 | file://0adf38535637ec668e658d43f04f60f11f51574f.patch \ | 
| 12 | " | 12 | " | 
| 13 | 13 | ||
| 14 | SRCREV = "ca9dd5b810dc04ea38048ae9be491654c8596ef9" | 14 | SRCREV = "b505ef5161d2552102a743acd4ad83298d3d8f99" | 
| 15 | 15 | ||
| 16 | S = "${WORKDIR}/git" | 16 | S = "${WORKDIR}/git" | 
| 17 | 17 | ||
