summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/xmlrpc-c
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-devtools/xmlrpc-c')
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-bool-reserved-word-error-in-gcc-15.patch50
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch16
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-unix-common.mk-Ensuring-Sequential-Execution-of-rm-a.patch80
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch34
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/no-automake.patch18
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.64.0.bb (renamed from meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb)15
6 files changed, 167 insertions, 46 deletions
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-bool-reserved-word-error-in-gcc-15.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-bool-reserved-word-error-in-gcc-15.patch
new file mode 100644
index 0000000000..813efbc62a
--- /dev/null
+++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-fix-bool-reserved-word-error-in-gcc-15.patch
@@ -0,0 +1,50 @@
1From a811ea6af5296b89ee7c2a358dd4ffd2584429f4 Mon Sep 17 00:00:00 2001
2From: "mark.yang" <mark.yang@lge.com>
3Date: Wed, 2 Apr 2025 11:00:27 +0900
4Subject: [PATCH] fix bool reserved word error in gcc 15
5
6* Fix build error with gcc-15.0.1
7 http://errors.yoctoproject.org/Errors/Details/850147/
8 srcdir/lib/util/include/bool.h:13:5: error: cannot use keyword 'false' as enumeration constant
9 13 | false = 0,
10 | ^~~~~
11 srcdir/lib/util/include/bool.h:13:5: note: 'false' is a keyword with '-std=c23' onwards
12 srcdir/lib/util/include/bool.h:15:3: error: expected ';', identifier or '(' before 'bool'
13 15 | } bool;
14 | ^~~~
15 srcdir/lib/util/include/bool.h:15:3: warning: useless type name in empty declaration
16 In file included from sleep.c:2:
17 srcdir/lib/util/include/bool.h:13:5: error: cannot use keyword 'false' as enumeration constant
18 13 | false = 0,
19 | ^~~~~
20 srcdir/lib/util/include/bool.h:13:5: note: 'false' is a keyword with '-std=c23' onwards
21 srcdir/lib/util/include/bool.h:15:3: error: expected ';', identifier or '(' before 'bool'
22 15 | } bool;
23 | ^~~~
24
25 gcc-15 switched to -std=c23 by default.
26 https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
27
28Upstream-Status: Submitted [https://sourceforge.net/p/xmlrpc-c/discussion/131628/thread/70e626d73a]
29Signed-off-by: mark.yang <mark.yang@lge.com>
30---
31 stable/lib/util/include/bool.h | 2 ++
32 1 file changed, 2 insertions(+)
33
34diff --git a/stable/lib/util/include/bool.h b/stable/lib/util/include/bool.h
35index 312477c4..a5e81eb6 100644
36--- a/stable/lib/util/include/bool.h
37+++ b/stable/lib/util/include/bool.h
38@@ -9,10 +9,12 @@
39 /* At least the GNU compiler defines __bool_true_false_are_defined */
40 #ifndef __bool_true_false_are_defined
41 #define __bool_true_false_are_defined
42+#if defined __STDC__ && defined __STDC_VERSION__ && __STDC_VERSION__ <= 201710L
43 typedef enum {
44 false = 0,
45 true = 1
46 } bool;
47 #endif
48 #endif
49+#endif
50
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch
index be83b0166c..531f0d45fb 100644
--- a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch
+++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch
@@ -1,6 +1,6 @@
1From dba3c5bf34ed530fd41ed50968825af2158f142e Mon Sep 17 00:00:00 2001 1From 371c59c6135f53a6892c415bf9450c32e7ca3523 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 29 Jan 2019 13:31:39 -0800 3Date: Mon, 10 Mar 2025 20:25:02 -0700
4Subject: [PATCH] test/cpp/server_abyss: Fix build with clang/libc++ 4Subject: [PATCH] test/cpp/server_abyss: Fix build with clang/libc++
5 5
6/mnt/a/yoe/workspace/sources/xmlrpc-c/test/cpp/server_abyss.cpp:87:14: error: assigning to 'int' from incompatible type '__bind<int 6/mnt/a/yoe/workspace/sources/xmlrpc-c/test/cpp/server_abyss.cpp:87:14: error: assigning to 'int' from incompatible type '__bind<int
@@ -10,10 +10,15 @@ Subject: [PATCH] test/cpp/server_abyss: Fix build with clang/libc++
10 10
11Upstream-Status: Pending 11Upstream-Status: Pending
12Signed-off-by: Khem Raj <raj.khem@gmail.com> 12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13
14Rebase to 1.64.0
15Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13--- 16---
14 test/cpp/server_abyss.cpp | 56 +++++++++++++++++++-------------------- 17 test/cpp/server_abyss.cpp | 2 +-
15 1 file changed, 28 insertions(+), 28 deletions(-) 18 1 file changed, 1 insertion(+), 1 deletion(-)
16 19
20diff --git a/test/cpp/server_abyss.cpp b/test/cpp/server_abyss.cpp
21index c1b44995..14faf5a5 100644
17--- a/test/cpp/server_abyss.cpp 22--- a/test/cpp/server_abyss.cpp
18+++ b/test/cpp/server_abyss.cpp 23+++ b/test/cpp/server_abyss.cpp
19@@ -85,7 +85,7 @@ public: 24@@ -85,7 +85,7 @@ public:
@@ -25,3 +30,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
25 30
26 if (rc != 0) { 31 if (rc != 0) {
27 closesock(this->fd); 32 closesock(this->fd);
33--
342.25.1
35
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-unix-common.mk-Ensuring-Sequential-Execution-of-rm-a.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-unix-common.mk-Ensuring-Sequential-Execution-of-rm-a.patch
new file mode 100644
index 0000000000..15e088965f
--- /dev/null
+++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0001-unix-common.mk-Ensuring-Sequential-Execution-of-rm-a.patch
@@ -0,0 +1,80 @@
1From e246247aceb3ac0fd7491b1ee34a049dd44f5025 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 10 Mar 2025 20:26:29 -0700
4Subject: [PATCH] unix-common.mk: Avoid race condition between mutliple make
5 calls running in parallel
6
7With high parallel execution, it results in race condition where
8its trying to create symlink while the original symlink while rm is
9not done deleting the existing file yet.
10
11The issue is that submake for libxmlrpc_util.so is called 12 times
12which can run in parallel and then some of them will try to create
13target link at the same time (after both already finished rm call).
14
15Use -f which should be supported even by relatively old ln and
16should avoid the need for rm (and hopefully will avoid this race)
17
18For libutil++ it calls "all" and "libxmlrpc_util++.so" only once,
19but for libutil it calls "all" and then 12 times libxmlrpc_util.so
20(after-clean-j1.log is the make output with -n and -j1 instead of
21-j70), still trying to figure out why, my autofoo is rusty :).
22
23Ideally we should prevent calling it 12 times, but until we figure
24out why we can at least avoid the random build failures.
25
26Another interesting fact is that I haven't seen this issue until
27the upgrade to 1.60.03 from 1.59.01 from:
28https://lists.openembedded.org/g/openembedded-devel/message/112706
29but I don't see any changes which should cause this in the git since
301.59.01, but the gentoo bug report is against 1.54.06 already.
31
32martin@jama /OE/build/oe-core/tmp/work/core2-64-oe-linux/xmlrpc-c/1.60.03/git/stable $ grep -A 1 lib/libutil++/Makefile after-clean-j1.log
33make -C libutil++/ -f /OE/build/oe-core/tmp/work/core2-64-oe-linux/xmlrpc-c/1.60.03/git/lib/libutil++/Makefile \
34 all
35--
36make -C /OE/build/oe-core/tmp/work/core2-64-oe-linux/xmlrpc-c/1.60.03/git/lib/libutil++/ -f /OE/build/oe-core/tmp/work/core2-64-oe-linux/xmlrpc-c/1.60.03/git/lib/libutil++/Makefile \
37 libxmlrpc_util++.so
38
39--
40make -C /OE/build/oe-core/tmp/work/core2-64-oe-linux/xmlrpc-c/1.60.03/git/lib/libutil/ -f /OE/build/oe-core/tmp/work/core2-64-oe-linux/xmlrpc-c/1.60.03/git/lib/libutil/Makefile \
41 libxmlrpc_util.so
42
43Similar error reported here [1]
44
45[1] https://bugs.gentoo.org/932835
46
47Upstream-Status: Pending
48Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
49Signed-off-by: Khem Raj <raj.khem@gmail.com>
50
51Rebase to 1.64.0
52Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
53---
54 unix-common.mk | 6 ++----
55 1 file changed, 2 insertions(+), 4 deletions(-)
56
57diff --git a/unix-common.mk b/unix-common.mk
58index 6954faf5..e15a4f5c 100644
59--- a/unix-common.mk
60+++ b/unix-common.mk
61@@ -62,14 +62,12 @@ SHLIB_CMD = $(CCLD) $(LADD) $(LDFLAGS_SHLIB) -o $@ $^
62 SHLIB_LE_TARGETS = $(call shliblefn, $(SHARED_LIBS_TO_BUILD))
63
64 $(SHLIB_LE_TARGETS):%:%.$(MAJ)
65- rm -f $@
66- $(LN_S) $< $@
67+ $(LN_S) -f $< $@
68
69 SONAME_TARGETS = $(SHLIB_LE_TARGETS:%=%.$(MAJ))
70
71 $(SONAME_TARGETS):%:%.$(MIN)
72- rm -f $@
73- $(LN_S) $< $@
74+ $(LN_S) -f $< $@
75
76 .PHONY: $(SHLIB_INSTALL_TARGETS)
77 .PHONY: install-shared-libraries
78--
792.25.1
80
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch
deleted file mode 100644
index 9d92e4712b..0000000000
--- a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0002-fix-formatting-issues.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From 14f15cb0f03defa8efb4c8e2fece58e50655be6b Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Sun, 23 Jul 2017 22:20:29 -0400
4Subject: [PATCH] src/xmlrpc_server_abyss.c: fix formatting issues
5
6Fixed when compile with "-Wformat -Wformat-security -Werror=format-security":
7|src/xmlrpc_server_abyss.c:771:13: error: format not a string literal
8and no format arguments [-Werror=format-security]
9| xmlrpc_faultf(envP, error);
10| ^~~~~~~~~~~~~
11
12Upstream-Status: Pending
13
14Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
15---
16 src/xmlrpc_server_abyss.c | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/src/xmlrpc_server_abyss.c b/src/xmlrpc_server_abyss.c
20index 2388652..3843f10 100644
21--- a/src/xmlrpc_server_abyss.c
22+++ b/src/xmlrpc_server_abyss.c
23@@ -768,7 +768,7 @@ createServer(xmlrpc_env * const envP,
24 ServerInit2(abyssServerP, &error);
25
26 if (error) {
27- xmlrpc_faultf(envP, error);
28+ xmlrpc_faultf(envP, "%s", error);
29 xmlrpc_strfree(error);
30 }
31 }
32--
332.8.1
34
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/no-automake.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/no-automake.patch
new file mode 100644
index 0000000000..f309cd4890
--- /dev/null
+++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/no-automake.patch
@@ -0,0 +1,18 @@
1This doesn't use automake so don't turn it on, as autoreconf will refuse to work.
2
3Upstream-Status: Submitted
4Signed-off-by: Ross Burton <ross.burton@arm.com>
5
6diff --git i/stable/configure.in w/stable/configure.in
7index 4a9ade8c..baba1edc 100644
8--- i/configure.in
9+++ w/configure.in
10@@ -8,7 +8,7 @@ dnl =======================================================================
11
12 dnl "x.xx" is supposed to be a version number, but is meaningless here.
13 dnl The real version number is in Makefile.version.
14-AM_INIT_AUTOMAKE(xmlrpc-c, x.xx)
15+dnl AM_INIT_AUTOMAKE(xmlrpc-c, x.xx)
16
17 dnl Define @build@, @build_cpu@, @build_vendor@, @build_os,
18 dnl @host, @host_cpu@, @host_vender, and @host_os@ substitutions.
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.64.0.bb
index 5d5152b834..3b923fb99e 100644
--- a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb
+++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.64.0.bb
@@ -6,18 +6,20 @@ LICENSE = "BSD-3-Clause & MIT"
6LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951" 6LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951"
7 7
8SRC_URI = "git://github.com/mirror/xmlrpc-c.git;branch=master;protocol=https \ 8SRC_URI = "git://github.com/mirror/xmlrpc-c.git;branch=master;protocol=https \
9 file://no-automake.patch \
9 file://0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch \ 10 file://0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch \
10 file://0002-fix-formatting-issues.patch \ 11 file://0001-unix-common.mk-Ensuring-Sequential-Execution-of-rm-a.patch \
12 file://0001-fix-bool-reserved-word-error-in-gcc-15.patch;striplevel=2 \
11 " 13 "
12#Release 1.59.01 14SRCREV = "8ce36bce2438df9b02fcaafd19efa90a56426601"
13SRCREV = "352aeaa9ae49e90e55187cbda839f2113df06278"
14 15
15S = "${WORKDIR}/git/stable" 16S = "${UNPACKDIR}/${BP}/advanced"
16 17
17inherit autotools-brokensep binconfig pkgconfig 18inherit autotools-brokensep binconfig pkgconfig
18 19
19TARGET_CFLAGS += "-Wno-narrowing" 20TARGET_CFLAGS += "-Wno-narrowing"
20 21
22# These are needed for the integrated expat
21EXTRA_OEMAKE += "CC_FOR_BUILD='${BUILD_CC}' \ 23EXTRA_OEMAKE += "CC_FOR_BUILD='${BUILD_CC}' \
22 LD_FOR_BUILD='${BUILD_LD}' \ 24 LD_FOR_BUILD='${BUILD_LD}' \
23 CFLAGS_FOR_BUILD='${BUILD_CFLAGS}' \ 25 CFLAGS_FOR_BUILD='${BUILD_CFLAGS}' \
@@ -32,10 +34,7 @@ PACKAGECONFIG[abyss] = "--enable-abyss-server --enable-abyss-threads --enable-ab
32PACKAGECONFIG[cplusplus] = "--enable-cplusplus,--disable-cplusplus" 34PACKAGECONFIG[cplusplus] = "--enable-cplusplus,--disable-cplusplus"
33PACKAGECONFIG[curl] = "--enable-curl-client,--disable-curl-client,curl" 35PACKAGECONFIG[curl] = "--enable-curl-client,--disable-curl-client,curl"
34 36
35do_configure() { 37do_configure:prepend() {
36 gnu-configize --verbose --force ${S}
37 autoconf
38 oe_runconf
39 # license is incompatible with lib/util/getoptx.* 38 # license is incompatible with lib/util/getoptx.*
40 rm -fv ${S}/tools/turbocharger/mod_gzip.c 39 rm -fv ${S}/tools/turbocharger/mod_gzip.c
41} 40}