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 | ||