diff options
Diffstat (limited to 'meta-oe/recipes-support/libosinfo/osinfo-db-tools/0001-Make-xmlError-structs-constant.patch')
-rw-r--r-- | meta-oe/recipes-support/libosinfo/osinfo-db-tools/0001-Make-xmlError-structs-constant.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/libosinfo/osinfo-db-tools/0001-Make-xmlError-structs-constant.patch b/meta-oe/recipes-support/libosinfo/osinfo-db-tools/0001-Make-xmlError-structs-constant.patch new file mode 100644 index 0000000000..edff5732c6 --- /dev/null +++ b/meta-oe/recipes-support/libosinfo/osinfo-db-tools/0001-Make-xmlError-structs-constant.patch | |||
@@ -0,0 +1,56 @@ | |||
1 | Upstream-Status: Backport [https://gitlab.com/libosinfo/osinfo-db-tools/-/commit/34378a4] | ||
2 | |||
3 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
4 | |||
5 | From 34378a4ac257f2f5fcf364786d1634a8c36b304f Mon Sep 17 00:00:00 2001 | ||
6 | From: Michal Privoznik <mprivozn@redhat.com> | ||
7 | Date: Mon, 27 Nov 2023 15:04:43 +0100 | ||
8 | Subject: [PATCH] Make xmlError structs constant | ||
9 | |||
10 | In libxml2 commits v2.12.0~14 and v2.12.0~77 the API changed so | ||
11 | that: | ||
12 | |||
13 | 1) xmlGetLastError() returns pointer to a constant xmlError | ||
14 | struct, and | ||
15 | |||
16 | 2) xmlSetStructuredErrorFunc() changed the signature of callback | ||
17 | (validate_structured_error_nop()), it too is passed pointer to | ||
18 | a constant xmlError struct. | ||
19 | |||
20 | But of course, older libxml2 expects different callback | ||
21 | signature. Therefore, we need to typecast it anyway. | ||
22 | |||
23 | Also, drop obviously incorrect @error annotation in | ||
24 | validate_structured_error_nop; the variable is used. | ||
25 | |||
26 | Signed-off-by: Michal Privoznik <mprivozn@redhat.com> | ||
27 | --- | ||
28 | tools/osinfo-db-validate.c | 5 +++-- | ||
29 | 1 file changed, 3 insertions(+), 2 deletions(-) | ||
30 | |||
31 | diff --git a/tools/osinfo-db-validate.c b/tools/osinfo-db-validate.c | ||
32 | index a721b4d..b1434a6 100644 | ||
33 | --- a/tools/osinfo-db-validate.c | ||
34 | +++ b/tools/osinfo-db-validate.c | ||
35 | @@ -35,7 +35,7 @@ static void validate_generic_error_nop(void *userData G_GNUC_UNUSED, | ||
36 | } | ||
37 | |||
38 | static void validate_structured_error_nop(void *userData G_GNUC_UNUSED, | ||
39 | - xmlErrorPtr error G_GNUC_UNUSED) | ||
40 | + const xmlError *error) | ||
41 | { | ||
42 | if (error->file) | ||
43 | g_printerr("%s:%d %s", error->file, error->line, error->message); | ||
44 | @@ -173,7 +173,8 @@ static gboolean validate_files(GFile *schema, gsize nfiles, GFile **files, GErro | ||
45 | g_autofree gchar *schemapath = NULL; | ||
46 | |||
47 | xmlSetGenericErrorFunc(NULL, validate_generic_error_nop); | ||
48 | - xmlSetStructuredErrorFunc(NULL, validate_structured_error_nop); | ||
49 | + /* Drop this typecast when >=libxml2-2.12.0 is required */ | ||
50 | + xmlSetStructuredErrorFunc(NULL, (xmlStructuredErrorFunc) validate_structured_error_nop); | ||
51 | |||
52 | schemapath = g_file_get_path(schema); | ||
53 | rngParser = xmlRelaxNGNewParserCtxt(schemapath); | ||
54 | -- | ||
55 | 2.34.1 | ||
56 | |||