[packages/xmlrpc-c] - updated to 1.60.05 + GCC 15 fix
hawk
hawk at pld-linux.org
Sat Aug 16 12:19:04 CEST 2025
commit 7b67e5ba25d5188266823efa8a07f7733b45f2ed
Author: Marcin Krol <hawk at tld-linux.org>
Date: Sat Aug 16 12:18:22 2025 +0200
- updated to 1.60.05 + GCC 15 fix
xmlrpc-c-30x-redirect.patch | 22 +----
xmlrpc-c-format.patch | 11 ---
xmlrpc-c-libxml2.patch | 216 --------------------------------------------
xmlrpc-c.spec | 11 +--
4 files changed, 8 insertions(+), 252 deletions(-)
---
diff --git a/xmlrpc-c.spec b/xmlrpc-c.spec
index 76ab05e..53db8ca 100644
--- a/xmlrpc-c.spec
+++ b/xmlrpc-c.spec
@@ -1,8 +1,8 @@
Summary: XML-RPC C library - an implementation of the xmlrpc protocol
Summary(pl.UTF-8): Biblioteka XML-RPC C - implementacja protokołu xmlrpc
Name: xmlrpc-c
-Version: 1.43.08
-Release: 2
+Version: 1.60.05
+Release: 1
License: XML-RPC for C License (BSD-like)
Group: Libraries
# for feature versions:
@@ -11,12 +11,10 @@ Group: Libraries
# and check which version was used for it.
# for "super stable" versions:
Source0: https://downloads.sourceforge.net/xmlrpc-c/%{name}-%{version}.tgz
-# Source0-md5: 8df27727547c4831fa858bf5059b6f7c
+# Source0-md5: 643abc5b51929400bbb0ceb4c34f2dc4
Patch0: %{name}-fastdep.patch
Patch1: %{name}-soname.patch
Patch2: %{name}-cflags.patch
-Patch3: %{name}-format.patch
-Patch4: %{name}-libxml2.patch
# patches 10+ come from Fedora (cmake patch is updated from original version)
Patch10: %{name}-cmake.patch
Patch11: %{name}-printf-size_t.patch
@@ -278,14 +276,13 @@ XML-RPC.
%patch -P12 -p1
%patch -P14 -p1
%patch -P1 -p1
-%patch -P3 -p1
-%patch -P4 -p1
%build
mkdir -p build
cd build
%cmake .. \
-D_lib:STRING=%{_lib} \
+ -DCMAKE_C_FLAGS="-std=gnu17" \
-DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
-DMUST_BUILD_CURL_CLIENT:BOOL=ON \
diff --git a/xmlrpc-c-30x-redirect.patch b/xmlrpc-c-30x-redirect.patch
index a2d4446..537eea0 100644
--- a/xmlrpc-c-30x-redirect.patch
+++ b/xmlrpc-c-30x-redirect.patch
@@ -1,17 +1,6 @@
-From 255ebf4b1204124123971a3bb27741cccbb51692 Mon Sep 17 00:00:00 2001
-From: Enrico Scholz <enrico.scholz at informatik.tu-chemnitz.de>
-Date: Thu, 29 Jul 2010 19:25:32 +0200
-Subject: [PATCH 5/8] allow 30x redirections
-
----
- lib/curl_transport/curltransaction.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/lib/curl_transport/curltransaction.c b/lib/curl_transport/curltransaction.c
-index 0f76fc2..6292aee 100644
---- a/lib/curl_transport/curltransaction.c
-+++ b/lib/curl_transport/curltransaction.c
-@@ -600,6 +600,10 @@ setupCurlSession(xmlrpc_env * const envP,
+--- xmlrpc-c-1.60.05/lib/curl_transport/curltransaction.c 2023-12-26 20:30:28.000000000 +0100
++++ xmlrpc-c-1.60.05/lib/curl_transport/curltransaction.c 2025-08-16 12:09:40.451572875 +0200
+@@ -709,6 +709,10 @@
curl_easy_setopt(curlSessionP, CURLOPT_POST, 1);
curl_easy_setopt(curlSessionP, CURLOPT_URL, transP->serverUrl);
@@ -21,7 +10,4 @@ index 0f76fc2..6292aee 100644
+
XMLRPC_MEMBLOCK_APPEND(char, envP, transP->postDataP, "\0", 1);
if (!envP->fault_occurred) {
- curl_easy_setopt(curlSessionP, CURLOPT_POSTFIELDS,
---
-1.7.10.4
-
+ curl_easy_setopt(curlSessionP, CURLOPT_POSTFIELDS,
diff --git a/xmlrpc-c-format.patch b/xmlrpc-c-format.patch
deleted file mode 100644
index 7241f69..0000000
--- a/xmlrpc-c-format.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xmlrpc-c/src/xmlrpc_server_abyss.c.orig 2013-03-03 16:31:13.000000000 +0100
-+++ xmlrpc-c/src/xmlrpc_server_abyss.c 2013-03-03 19:05:39.913991242 +0100
-@@ -776,7 +776,7 @@
- ServerInit2(abyssServerP, &error);
-
- if (error) {
-- xmlrpc_faultf(envP, error);
-+ xmlrpc_faultf(envP, "%s", error);
- xmlrpc_strfree(error);
- }
- }
diff --git a/xmlrpc-c-libxml2.patch b/xmlrpc-c-libxml2.patch
deleted file mode 100644
index e7f4e5c..0000000
--- a/xmlrpc-c-libxml2.patch
+++ /dev/null
@@ -1,216 +0,0 @@
---- xmlrpc-c-1.43.08/src/xmlrpc_libxml2.c.orig 2016-11-17 04:06:10.000000000 +0100
-+++ xmlrpc-c-1.43.08/src/xmlrpc_libxml2.c 2024-10-27 09:43:13.526853095 +0100
-@@ -47,10 +47,10 @@
- #include "xmlparser.h"
-
- struct _xml_element {
-- xml_element * parentP;
-+ struct _xml_element * parentP;
- const char * name;
-- xmlrpc_mem_block cdata; /* char */
-- xmlrpc_mem_block children; /* xml_element* */
-+ xmlrpc_mem_block * cdataP; /* char */
-+ xmlrpc_mem_block * childrenP; /* xml_element* */
- };
-
- #define XMLRPC_ASSERT_ELEM_OK(elem) \
-@@ -97,81 +97,78 @@ xmlElementNew(xmlrpc_env * const envP,
- -----------------------------------------------------------------------------*/
-
- xml_element * retval;
-- bool nameIsValid;
-- bool cdataIsValid;
-- bool childrenAreValid;
-+ int name_valid, cdata_valid, children_valid;
-
- XMLRPC_ASSERT_ENV_OK(envP);
-- assert(name != NULL);
-+ XMLRPC_ASSERT(name != NULL);
-
- /* Set up our error-handling preconditions. */
- retval = NULL;
-- nameIsValid = cdataIsValid = childrenAreValid = false;
-+ name_valid = cdata_valid = children_valid = 0;
-
-- MALLOCVAR(retval);
-+ /* Allocate our xml_element structure. */
-+ retval = (xml_element*) malloc(sizeof(xml_element));
- XMLRPC_FAIL_IF_NULL(retval, envP, XMLRPC_INTERNAL_ERROR,
- "Couldn't allocate memory for XML element");
-
-+ /* Set our parent field to NULL. */
- retval->parentP = NULL;
--
-+
- /* Copy over the element name. */
-- retval->name = strdup(name);
-+ retval->name = xmlrpc_strdupnull(name);
- XMLRPC_FAIL_IF_NULL(retval->name, envP, XMLRPC_INTERNAL_ERROR,
- "Couldn't allocate memory for XML element");
-- nameIsValid = true;
-+ name_valid = 1;
-
-- /* Initialize a block to hold our CDATA. */
-- XMLRPC_TYPED_MEM_BLOCK_INIT(char, envP, &retval->cdata, 0);
-+ retval->cdataP = XMLRPC_MEMBLOCK_NEW(char, envP, 0);
- XMLRPC_FAIL_IF_FAULT(envP);
-- cdataIsValid = true;
-+ cdata_valid = 1;
-
-- /* Initialize a block to hold our child elements. */
-- XMLRPC_TYPED_MEM_BLOCK_INIT(xml_element *, envP, &retval->children, 0);
-+ retval->childrenP = XMLRPC_MEMBLOCK_NEW(xml_element *, envP, 0);
- XMLRPC_FAIL_IF_FAULT(envP);
-- childrenAreValid = true;
-+ children_valid = 1;
-
--cleanup:
-+ cleanup:
- if (envP->fault_occurred) {
- if (retval) {
-- if (nameIsValid)
-+ if (name_valid)
- xmlrpc_strfree(retval->name);
-- if (cdataIsValid)
-- xmlrpc_mem_block_clean(&retval->cdata);
-- if (childrenAreValid)
-- xmlrpc_mem_block_clean(&retval->children);
-+ if (cdata_valid)
-+ XMLRPC_MEMBLOCK_FREE(char, retval->cdataP);
-+ if (children_valid)
-+ XMLRPC_MEMBLOCK_FREE(xml_element *, retval->childrenP);
- free(retval);
- }
-- retval = NULL;
-+ return NULL;
-+ } else {
-+ return retval;
- }
-- return retval;
- }
-
-
-
- void
- xml_element_free(xml_element * const elemP) {
--/*----------------------------------------------------------------------------
-- Blow away an existing element & all of its child elements.
-------------------------------------------------------------------------------*/
-- xmlrpc_mem_block * children;
-- unsigned int size;
-- unsigned int i;
-+
-+ xmlrpc_mem_block * childrenP;
-+ size_t size, i;
- xml_element ** contents;
-
- XMLRPC_ASSERT_ELEM_OK(elemP);
-
- xmlrpc_strfree(elemP->name);
- elemP->name = XMLRPC_BAD_POINTER;
-- xmlrpc_mem_block_clean(&elemP->cdata);
-+
-+ XMLRPC_MEMBLOCK_FREE(char, elemP->cdataP);
-
- /* Deallocate all of our children recursively. */
-- children = &elemP->children;
-- contents = XMLRPC_TYPED_MEM_BLOCK_CONTENTS(xml_element *, children);
-- size = XMLRPC_TYPED_MEM_BLOCK_SIZE(xml_element *, children);
-+ childrenP = elemP->childrenP;
-+ contents = XMLRPC_MEMBLOCK_CONTENTS(xml_element *, childrenP);
-+ size = XMLRPC_MEMBLOCK_SIZE(xml_element *, childrenP);
- for (i = 0; i < size; ++i)
- xml_element_free(contents[i]);
-
-- xmlrpc_mem_block_clean(&elemP->children);
-+ XMLRPC_MEMBLOCK_FREE(xml_element *, elemP->childrenP);
-
- free(elemP);
- }
-@@ -198,7 +195,8 @@ xml_element_cdata_size(const xml_element
- has been called!
- */
- XMLRPC_ASSERT_ELEM_OK(elemP);
-- return XMLRPC_TYPED_MEM_BLOCK_SIZE(char, &elemP->cdata) - 1;
-+
-+ return XMLRPC_MEMBLOCK_SIZE(char, elemP->cdataP) - 1;
- }
-
-
-@@ -206,7 +204,8 @@ xml_element_cdata_size(const xml_element
- const char *
- xml_element_cdata(const xml_element * const elemP) {
- XMLRPC_ASSERT_ELEM_OK(elemP);
-- return XMLRPC_TYPED_MEM_BLOCK_CONTENTS(char, &elemP->cdata);
-+
-+ return XMLRPC_TYPED_MEM_BLOCK_CONTENTS(const char, elemP->cdataP);
- }
-
-
-@@ -214,7 +213,8 @@ xml_element_cdata(const xml_element * co
- unsigned int
- xml_element_children_size(const xml_element * const elemP) {
- XMLRPC_ASSERT_ELEM_OK(elemP);
-- return XMLRPC_TYPED_MEM_BLOCK_SIZE(xml_element *, &elemP->children);
-+
-+ return XMLRPC_MEMBLOCK_SIZE(xml_element *, elemP->childrenP);
- }
-
-
-@@ -222,7 +222,7 @@ xml_element_children_size(const xml_elem
- xml_element **
- xml_element_children(const xml_element * const elemP) {
- XMLRPC_ASSERT_ELEM_OK(elemP);
-- return XMLRPC_TYPED_MEM_BLOCK_CONTENTS(xml_element *, &elemP->children);
-+ return XMLRPC_MEMBLOCK_CONTENTS(xml_element *, elemP->childrenP);
- }
-
-
-@@ -239,9 +239,9 @@ xmlElementAppendCdata(xmlrpc_env * cons
- size_t const size) {
-
- XMLRPC_ASSERT_ENV_OK(envP);
-- XMLRPC_ASSERT_ELEM_OK(elemP);
-+ XMLRPC_ASSERT_ELEM_OK(elemP);
-
-- XMLRPC_TYPED_MEM_BLOCK_APPEND(char, envP, &elemP->cdata, cdata, size);
-+ XMLRPC_MEMBLOCK_APPEND(char, envP, elemP->cdataP, cdata, size);
- }
-
-
-@@ -259,10 +259,9 @@ xmlElementAppendChild(xmlrpc_env * cons
- XMLRPC_ASSERT_ENV_OK(envP);
- XMLRPC_ASSERT_ELEM_OK(elemP);
- XMLRPC_ASSERT_ELEM_OK(childP);
-- assert(childP->parentP == NULL);
-+ XMLRPC_ASSERT(childP->parentP == NULL);
-
-- XMLRPC_TYPED_MEM_BLOCK_APPEND(xml_element *, envP, &elemP->children,
-- &childP, 1);
-+ XMLRPC_MEMBLOCK_APPEND(xml_element *, envP, elemP->childrenP, &childP, 1);
- if (!envP->fault_occurred)
- childP->parentP = elemP;
- else
-@@ -428,7 +427,7 @@ static xmlSAXHandler const saxHandler =
-
-
- static void
--removeDocSizeLimit(xmlParserCtx * const parserP ATTR_UNUSED) {
-+removeDocSizeLimit(xmlParserCtxt * const parserP ATTR_UNUSED) {
- /*----------------------------------------------------------------------------
- Set up *parserP to accept a document of any size.
-
-@@ -453,11 +452,11 @@ removeDocSizeLimit(xmlParserCtx * const
- static void
- createParser(xmlrpc_env * const envP,
- ParseContext * const contextP,
-- xmlParserCtx ** const parserPP) {
-+ xmlParserCtxt ** const parserPP) {
- /*----------------------------------------------------------------------------
- Create an appropriate Libxml2 parser for our purpose.
- -----------------------------------------------------------------------------*/
-- xmlParserCtx * parserP;
-+ xmlParserCtxt * parserP;
-
- parserP = xmlCreatePushParserCtxt((xmlSAXHandler *)&saxHandler, contextP,
- NULL, 0, NULL);
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/xmlrpc-c.git/commitdiff/7b67e5ba25d5188266823efa8a07f7733b45f2ed
More information about the pld-cvs-commit
mailing list