From: Jakub Bogusz Date: Sun, 25 Feb 2018 17:43:21 +0000 (+0100) Subject: - updated to 1.39.12 (from super stable branch) X-Git-Tag: auto/th/xmlrpc-c-1.39.12-1 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=6df01d6614d60f52f3b3dbb65d54f1a1ab673db3;p=packages%2Fxmlrpc-c.git - updated to 1.39.12 (from super stable branch) - updated soname,cmake,longlong patches - removed obsolete check-vasprintf-return-value,include-string_int.h patches - cmake-fix patch applied to cmake patch --- diff --git a/xmlrpc-c-check-vasprintf-return-value.patch b/xmlrpc-c-check-vasprintf-return-value.patch deleted file mode 100644 index cfc7f45..0000000 --- a/xmlrpc-c-check-vasprintf-return-value.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 80047d74644eeda55c451aea59951eb502649cf4 Mon Sep 17 00:00:00 2001 -From: Enrico Scholz -Date: Thu, 29 Jul 2010 19:43:08 +0200 -Subject: [PATCH 7/8] check vasprintf return value - ---- - lib/libutil/asprintf.c | 3 ++- - lib/util/casprintf.c | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/lib/libutil/asprintf.c b/lib/libutil/asprintf.c -index a79cd81..5a06f0f 100644 ---- a/lib/libutil/asprintf.c -+++ b/lib/libutil/asprintf.c -@@ -121,7 +121,8 @@ xmlrpc_vasprintf(const char ** const retvalP, - char * string; - - #if HAVE_ASPRINTF -- vasprintf(&string, fmt, varargs); -+ if (vasprintf(&string, fmt, varargs) < 0) -+ string = NULL; - #else - simpleVasprintf(&string, fmt, varargs); - #endif -diff --git a/lib/util/casprintf.c b/lib/util/casprintf.c -index 643f145..9139253 100644 ---- a/lib/util/casprintf.c -+++ b/lib/util/casprintf.c -@@ -99,7 +99,8 @@ cvasprintf(const char ** const retvalP, - char * string; - - #if HAVE_ASPRINTF -- vasprintf(&string, fmt, varargs); -+ if (vasprintf(&string, fmt, varargs) < 0) -+ string = NULL; - #else - simpleVasprintf(&string, fmt, varargs); - #endif --- -1.7.3.4 - diff --git a/xmlrpc-c-cmake-fix.patch b/xmlrpc-c-cmake-fix.patch deleted file mode 100644 index 4e93ec9..0000000 --- a/xmlrpc-c-cmake-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- xmlrpc-c/src/CMakeLists.txt.orig 2013-03-03 17:47:58.712094469 +0100 -+++ xmlrpc-c/src/CMakeLists.txt 2013-03-03 17:50:33.195421319 +0100 -@@ -22,7 +22,7 @@ - if(MUST_BUILD_LIBWWW_CLIENT) - set(client_libwww_CFLAGS "${LIBWWW_CFLAGS}") - set(client_libwww_LIBS "${LIBWWW_LIBS}") -- list(APPEND transport_SOURCES ${libwww_srcdir}/xmlrpc_libwww_transport.c ${libwww_srcdir}/xmlrpc_libwww_transport.h) -+ list(APPEND transport_SOURCES ${libwww_srcdir}/xmlrpc_libwww_transport.c) - endif(MUST_BUILD_LIBWWW_CLIENT) - - if(MUST_BUILD_CURL_CLIENT) diff --git a/xmlrpc-c-cmake.patch b/xmlrpc-c-cmake.patch index 6d544fb..101478e 100644 --- a/xmlrpc-c-cmake.patch +++ b/xmlrpc-c-cmake.patch @@ -4,128 +4,6 @@ Date: Sat, 5 Apr 2008 10:55:02 +0200 Subject: [PATCH 1/8] make -> cmake transition cmake: updated ---- - CMakeLists.txt | 290 +++++++++++++++++++++++++++ - cmake/try-attr.cc | 3 + - cmake/va-list-is-array.c | 9 + - examples/CMakeLists.txt | 68 +++++++ - examples/config.h | 1 + - examples/cpp/CMakeLists.txt | 34 ++++ - include/CMakeLists.txt | 3 + - include/xmlrpc-c/CMakeLists.txt | 74 +++++++ - include/xmlrpc-c/config.h.cmake | 34 ++++ - lib/CMakeLists.txt | 12 ++ - lib/abyss/CMakeLists.txt | 3 + - lib/abyss/src/CMakeLists.txt | 70 +++++++ - lib/abyss/src/xmlrpc_abyss.pc.cmake | 12 ++ - lib/curl_transport/CMakeLists.txt | 20 ++ - lib/expat/CMakeLists.txt | 9 + - lib/expat/gennmtab/CMakeLists.txt | 3 + - lib/expat/xmlparse/CMakeLists.txt | 7 + - lib/expat/xmlparse/xmlrpc_xmlparse.pc.cmake | 12 ++ - lib/expat/xmltok/CMakeLists.txt | 23 +++ - lib/expat/xmltok/xmlrpc_xmltok.pc.cmake | 9 + - lib/libutil/CMakeLists.txt | 26 +++ - lib/libutil/xmlrpc_util.pc.cmake | 10 + - lib/libwww_transport/CMakeLists.txt | 7 + - lib/util/CMakeLists.txt | 17 ++ - lib/wininet_transport/CMakeLists.txt | 7 + - src/CMakeLists.txt | 121 +++++++++++ - src/cpp/CMakeLists.txt | 70 +++++++ - src/cpp/test/CMakeLists.txt | 18 ++ - src/cpp/xmlrpc++.pc.cmake | 12 ++ - src/cpp/xmlrpc_client++.pc.cmake | 12 ++ - src/cpp/xmlrpc_cpp.pc.cmake | 12 ++ - src/cpp/xmlrpc_packetsocket.pc.cmake | 12 ++ - src/cpp/xmlrpc_server++.pc.cmake | 12 ++ - src/cpp/xmlrpc_server_abyss++.pc.cmake | 12 ++ - src/cpp/xmlrpc_server_cgi++.pc.cmake | 12 ++ - src/cpp/xmlrpc_server_pstream++.pc.cmake | 12 ++ - src/xmlrpc.pc.cmake | 12 ++ - src/xmlrpc_client.pc.cmake | 12 ++ - src/xmlrpc_server.pc.cmake | 12 ++ - src/xmlrpc_server_abyss.pc.cmake | 12 ++ - src/xmlrpc_server_cgi.pc.cmake | 12 ++ - test/CMakeLists.txt | 41 ++++ - test/cpp/CMakeLists.txt | 34 ++++ - tools/CMakeLists.txt | 22 ++ - tools/binmode-rpc-kit/CMakeLists.txt | 1 + - tools/lib/CMakeLists.txt | 1 + - tools/turbocharger/CMakeLists.txt | 1 + - tools/xml-rpc-api2cpp/CMakeLists.txt | 15 ++ - tools/xml-rpc-api2txt/CMakeLists.txt | 7 + - tools/xml/CMakeLists.txt | 16 ++ - tools/xmlrpc/CMakeLists.txt | 17 ++ - tools/xmlrpc/config.h | 1 + - tools/xmlrpc_cpp_proxy/CMakeLists.txt | 17 ++ - tools/xmlrpc_pstream/CMakeLists.txt | 16 ++ - tools/xmlrpc_transport/CMakeLists.txt | 9 + - tools/xmlrpc_transport/config.h | 1 + - transport_config.h.cmake | 16 ++ - version.h.cmake | 5 + - xmlrpc-c-config | 105 ++++++++++ - xmlrpc_config.h.cmake | 183 +++++++++++++++++ - 60 files changed, 1636 insertions(+) - create mode 100644 CMakeLists.txt - create mode 100644 cmake/try-attr.cc - create mode 100644 cmake/va-list-is-array.c - create mode 100644 examples/CMakeLists.txt - create mode 100644 examples/config.h - create mode 100644 examples/cpp/CMakeLists.txt - create mode 100644 include/CMakeLists.txt - create mode 100644 include/xmlrpc-c/CMakeLists.txt - create mode 100644 include/xmlrpc-c/config.h.cmake - create mode 100644 lib/CMakeLists.txt - create mode 100644 lib/abyss/CMakeLists.txt - create mode 100644 lib/abyss/src/CMakeLists.txt - create mode 100644 lib/abyss/src/xmlrpc_abyss.pc.cmake - create mode 100644 lib/curl_transport/CMakeLists.txt - create mode 100644 lib/expat/CMakeLists.txt - create mode 100644 lib/expat/gennmtab/CMakeLists.txt - create mode 100644 lib/expat/xmlparse/CMakeLists.txt - create mode 100644 lib/expat/xmlparse/xmlrpc_xmlparse.pc.cmake - create mode 100644 lib/expat/xmltok/CMakeLists.txt - create mode 100644 lib/expat/xmltok/xmlrpc_xmltok.pc.cmake - create mode 100644 lib/libutil/CMakeLists.txt - create mode 100644 lib/libutil/xmlrpc_util.pc.cmake - create mode 100644 lib/libwww_transport/CMakeLists.txt - create mode 100644 lib/util/CMakeLists.txt - create mode 100644 lib/wininet_transport/CMakeLists.txt - create mode 100644 src/CMakeLists.txt - create mode 100644 src/cpp/CMakeLists.txt - create mode 100644 src/cpp/test/CMakeLists.txt - create mode 100644 src/cpp/xmlrpc++.pc.cmake - create mode 100644 src/cpp/xmlrpc_client++.pc.cmake - create mode 100644 src/cpp/xmlrpc_cpp.pc.cmake - create mode 100644 src/cpp/xmlrpc_packetsocket.pc.cmake - create mode 100644 src/cpp/xmlrpc_server++.pc.cmake - create mode 100644 src/cpp/xmlrpc_server_abyss++.pc.cmake - create mode 100644 src/cpp/xmlrpc_server_cgi++.pc.cmake - create mode 100644 src/cpp/xmlrpc_server_pstream++.pc.cmake - create mode 100644 src/xmlrpc.pc.cmake - create mode 100644 src/xmlrpc_client.pc.cmake - create mode 100644 src/xmlrpc_server.pc.cmake - create mode 100644 src/xmlrpc_server_abyss.pc.cmake - create mode 100644 src/xmlrpc_server_cgi.pc.cmake - create mode 100644 test/CMakeLists.txt - create mode 100644 test/cpp/CMakeLists.txt - create mode 100644 tools/CMakeLists.txt - create mode 100644 tools/binmode-rpc-kit/CMakeLists.txt - create mode 100644 tools/lib/CMakeLists.txt - create mode 100644 tools/turbocharger/CMakeLists.txt - create mode 100644 tools/xml-rpc-api2cpp/CMakeLists.txt - create mode 100644 tools/xml-rpc-api2txt/CMakeLists.txt - create mode 100644 tools/xml/CMakeLists.txt - create mode 100644 tools/xmlrpc/CMakeLists.txt - create mode 100644 tools/xmlrpc/config.h - create mode 100644 tools/xmlrpc_cpp_proxy/CMakeLists.txt - create mode 100644 tools/xmlrpc_pstream/CMakeLists.txt - create mode 100644 tools/xmlrpc_transport/CMakeLists.txt - create mode 100644 tools/xmlrpc_transport/config.h - create mode 100644 transport_config.h.cmake - create mode 100644 version.h.cmake - create mode 100755 xmlrpc-c-config - create mode 100644 xmlrpc_config.h.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 @@ -147,8 +25,8 @@ index 0000000..2876dea + + +set(XMLRPC_C_VERSION_MAJOR "1" CACHE STRING "Version (major) of xmlrpc-c") -+set(XMLRPC_C_VERSION_MINOR "32" CACHE STRING "Version (minor) of xmlrpc-c") -+set(XMLRPC_C_VERSION_POINT "5" CACHE STRING "Version (point) of xmlrpc-c") ++set(XMLRPC_C_VERSION_MINOR "39" CACHE STRING "Version (minor) of xmlrpc-c") ++set(XMLRPC_C_VERSION_POINT "12" CACHE STRING "Version (point) of xmlrpc-c") + +set(XMLRPC_C_VERSION + "${XMLRPC_C_VERSION_MAJOR}.${XMLRPC_C_VERSION_MINOR}.${XMLRPC_C_VERSION_POINT}" @@ -459,11 +337,11 @@ index 0000000..1535adf + +macro(ensc_add_example name ext class) + # HACK: avoid name collision of c and c++ program -+ if("${ext}" STREQUAL "cpp") ++ if(${ext} STREQUAL "cpp") + set(_target ${name}++) -+ else("${ext}" STREQUAL "cpp") ++ else(${ext} STREQUAL "cpp") + set(_target ${name}) -+ endif("${ext}" STREQUAL "cpp") ++ endif(${ext} STREQUAL "cpp") + + add_executable(${_target} ${name}.${ext}) + target_link_libraries(${_target} ${${class}_LIBS}) @@ -582,7 +460,7 @@ new file mode 100644 index 0000000..b9386b8 --- /dev/null +++ b/include/xmlrpc-c/CMakeLists.txt -@@ -0,0 +1,74 @@ +@@ -0,0 +1,75 @@ +# -*- cmake -*- + +macro(ensc_install_symlink src dst) @@ -616,6 +494,7 @@ index 0000000..b9386b8 + girerr.hpp + girmem.hpp + base.hpp ++ base64.hpp + timeout.hpp + xml.hpp + registry.hpp @@ -702,7 +581,7 @@ new file mode 100644 index 0000000..7f8f912 --- /dev/null +++ b/lib/CMakeLists.txt -@@ -0,0 +1,12 @@ +@@ -0,0 +1,14 @@ +## -*- cmake -*- + +add_subdirectory(abyss) @@ -711,6 +590,8 @@ index 0000000..7f8f912 +add_subdirectory(curl_transport) +add_subdirectory(libwww_transport) +add_subdirectory(wininet_transport) ++add_subdirectory(libutil++) ++add_subdirectory(abyss++) + +if(NOT ENABLE_LIBXML2_BACKEND) + add_subdirectory(expat) @@ -818,12 +699,57 @@ index 0000000..b0dbcc9 +Requires.private: xmlrpc_util +Libs: -L${libdir} -lxmlrpc_abyss @xmlrpc_abyss_pkgconfig_libs@ +Cflags: +diff --git a/lib/abyss++/CMakeLists.txt b/lib/abyss++/CMakeLists.txt +new file mode 100644 +index 0000000..b1813bb +--- /dev/null ++++ b/lib/abyss++/CMakeLists.txt +@@ -0,0 +1,21 @@ ++## -*- cmake -*- ++ ++add_library(xmlrpc_abyss++ SHARED ++ AbyssChanSwitch.cpp ++ AbyssEnvironment.cpp ++ AbyssServer.cpp) ++ ++target_link_libraries(xmlrpc_abyss++ xmlrpc_abyss xmlrpc_util++ xmlrpc_util) ++ ++install(TARGETS xmlrpc_abyss++ ++ RUNTIME DESTINATION ${_bin} ++ LIBRARY DESTINATION ${_lib} ++ ARCHIVE DESTINATION ${_lib}) ++ ++set_target_properties(xmlrpc_abyss++ ++ PROPERTIES ++ LINK_FLAGS ${XMLRPC_LINKER_FLAGS} ++ VERSION ${XMLRPC_CXX_LIBVERSION} ++ SOVERSION ${XMLRPC_CXX_SOVERSION}) ++ ++ensc_pkgconfig(xmlrpc_abyss++) +diff --git a/lib/abyss++/xmlrpc_abyss++.pc.cmake b/lib/abyss++/xmlrpc_abyss++.pc.cmake +new file mode 100644 +index 0000000..b0dbcc9 +--- /dev/null ++++ b/lib/abyss++/xmlrpc_abyss++.pc.cmake +@@ -0,0 +1,12 @@ ++bindir=@bindir@ ++prefix=@prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: xmlrpc_abyss++ ++Description: XMLRPC C++ Abyss library ++Version: @XMLRPC_C_VERSION@ ++ ++Requires.private: xmlrpc_abyss xmlrpc_util++ xmlrpc_util ++Libs: -L${libdir} -lxmlrpc_abyss++ ++Cflags: diff --git a/lib/curl_transport/CMakeLists.txt b/lib/curl_transport/CMakeLists.txt new file mode 100644 index 0000000..4224a13 --- /dev/null +++ b/lib/curl_transport/CMakeLists.txt -@@ -0,0 +1,20 @@ +@@ -0,0 +1,15 @@ +# -*- cmake -*- + +if(MUST_BUILD_CURL_CLIENT) @@ -836,11 +762,6 @@ index 0000000..4224a13 + ${CMAKE_CURRENT_SOURCE_DIR}/curlmulti.c + ${CMAKE_CURRENT_SOURCE_DIR}/curlmulti.h + -+ ${CMAKE_CURRENT_SOURCE_DIR}/lock.h -+ -+ ${CMAKE_CURRENT_SOURCE_DIR}/lock_pthread.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/lock_pthread.h -+ + ${CMAKE_CURRENT_SOURCE_DIR}/curlversion.h + ) +endif(MUST_BUILD_CURL_CLIENT) @@ -948,13 +869,16 @@ new file mode 100644 index 0000000..25ba487 --- /dev/null +++ b/lib/libutil/CMakeLists.txt -@@ -0,0 +1,26 @@ +@@ -0,0 +1,30 @@ +# -*- cmake -*- + +add_library(xmlrpc_util SHARED + asprintf.c + base64.c + error.c ++ lock_platform.c ++ lock_pthread.c ++ lock_none.c + make_printable.c + memblock.c + select.c @@ -968,6 +892,7 @@ index 0000000..25ba487 + LINK_FLAGS ${XMLRPC_LINKER_FLAGS} + VERSION ${XMLRPC_C_LIBVERSION} + SOVERSION ${XMLRPC_C_SOVERSION}) ++target_link_libraries(xmlrpc_util ${THREAD_LIBS}) + +install(TARGETS xmlrpc_util + RUNTIME DESTINATION ${_bin} @@ -991,18 +916,62 @@ index 0000000..d4e01bf + +Libs: -L${libdir} -lxmlrpc_util +Cflags: -I${includedir} +diff --git a/lib/libutil++/CMakeLists.txt b/lib/libutil++/CMakeLists.txt +new file mode 100644 +index 0000000..25ba487 +--- /dev/null ++++ b/lib/libutil++/CMakeLists.txt +@@ -0,0 +1,22 @@ ++# -*- cmake -*- ++ ++add_library(xmlrpc_util++ SHARED ++ Lock.cpp ++ base64.cpp ++ env_wrap.cpp ++ girerr.cpp ++ girmem.cpp) ++ ++set_target_properties(xmlrpc_util++ ++ PROPERTIES ++ LINK_FLAGS ${XMLRPC_LINKER_FLAGS} ++ VERSION ${XMLRPC_CXX_LIBVERSION} ++ SOVERSION ${XMLRPC_CXX_SOVERSION}) ++target_link_libraries(xmlrpc_util++ xmlrpc_util ${THREAD_LIBS}) ++ ++install(TARGETS xmlrpc_util++ ++ RUNTIME DESTINATION ${_bin} ++ LIBRARY DESTINATION ${_lib} ++ ARCHIVE DESTINATION ${_lib}) ++ ++ensc_pkgconfig(xmlrpc_util++) +diff --git a/lib/libutil++/xmlrpc_util++.pc.cmake b/lib/libutil++/xmlrpc_util++.pc.cmake +new file mode 100644 +index 0000000..d4e01bf +--- /dev/null ++++ b/lib/libutil++/xmlrpc_util++.pc.cmake +@@ -0,0 +1,11 @@ ++prefix=@prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: xmlrpc_util++ ++Description: XMLRPC C++ utility library ++Version: @XMLRPC_C_VERSION@ ++ ++Requires.private: xmlrpc_util ++Libs: -L${libdir} -lxmlrpc_util++ ++Cflags: -I${includedir} diff --git a/lib/libwww_transport/CMakeLists.txt b/lib/libwww_transport/CMakeLists.txt new file mode 100644 index 0000000..aa52d9e --- /dev/null +++ b/lib/libwww_transport/CMakeLists.txt -@@ -0,0 +1,7 @@ +@@ -0,0 +1,6 @@ +# -*- cmake -*- + +if(MUST_BUILD_LIBWWW_CLIENT) + list(APPEND transport_SOURCES -+ ${CMAKE_CURRENT_SOURCE_DIR}/xmlrpc_libwww_transport.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/xmlrpc_libwww_transport.h) ++ ${CMAKE_CURRENT_SOURCE_DIR}/xmlrpc_libwww_transport.c) +endif(MUST_BUILD_LIBWWW_CLIENT) diff --git a/lib/util/CMakeLists.txt b/lib/util/CMakeLists.txt new file mode 100644 @@ -1045,7 +1014,7 @@ new file mode 100644 index 0000000..f51e15b --- /dev/null +++ b/src/CMakeLists.txt -@@ -0,0 +1,121 @@ +@@ -0,0 +1,118 @@ +# -*- cmake -*- + +if(ENABLE_LIBXML2_BACKEND) @@ -1070,7 +1039,7 @@ index 0000000..f51e15b +if(MUST_BUILD_LIBWWW_CLIENT) + set(client_libwww_CFLAGS "${LIBWWW_CFLAGS}") + set(client_libwww_LIBS "${LIBWWW_LIBS}") -+ list(APPEND transport_SOURCES ${libwww_srcdir}/xmlrpc_libwww_transport.c ${libwww_srcdir}/xmlrpc_libwww_transport.h) ++ list(APPEND transport_SOURCES ${libwww_srcdir}/xmlrpc_libwww_transport.c) +endif(MUST_BUILD_LIBWWW_CLIENT) + +if(MUST_BUILD_CURL_CLIENT) @@ -1083,9 +1052,6 @@ index 0000000..f51e15b + ${curl_srcdir}/curltransaction.h + ${curl_srcdir}/curlmulti.c + ${curl_srcdir}/curlmulti.h -+ ${curl_srcdir}/lock.h -+ ${curl_srcdir}/lock_pthread.c -+ ${curl_srcdir}/lock_pthread.h + ${curl_srcdir}/curlversion.h + ) +endif(MUST_BUILD_CURL_CLIENT) @@ -1100,7 +1066,7 @@ index 0000000..f51e15b + +### libxmlrpc.so +add_library(xmlrpc SHARED -+ double.c parse_datetime.c parse_value.c resource.c trace.c version.c ++ base_global.c double.c parse_datetime.c parse_value.c resource.c trace.c version.c + json.c + ${xmlrpc_xml_parser} + xmlrpc_data.c xmlrpc_datetime.c xmlrpc_string.c @@ -1177,15 +1143,15 @@ index 0000000..3171156 + +####### libxmlrpc++.so +add_library(xmlrpc++ SHARED -+ base64.cpp env_wrap.cpp fault.cpp girerr.cpp girmem.cpp ++ fault.cpp global.cpp + outcome.cpp param_list.cpp value.cpp xml.cpp) -+target_link_libraries(xmlrpc++ xmlrpc pthread) ++target_link_libraries(xmlrpc++ xmlrpc_util++ xmlrpc pthread) +list(APPEND lib_TARGETS xmlrpc++) +ensc_pkgconfig(xmlrpc++) + +####### libxmlrpc_cpp.so +add_library(xmlrpc_cpp SHARED XmlRpcCpp) -+target_link_libraries(xmlrpc_cpp xmlrpc xmlrpc_server xmlrpc_client) ++target_link_libraries(xmlrpc_cpp xmlrpc xmlrpc_server) +list(APPEND lib_TARGETS xmlrpc_cpp) +ensc_pkgconfig(xmlrpc_cpp) + @@ -1198,7 +1164,7 @@ index 0000000..3171156 +####### libxmlrpc_server_abyss++.so +if(ENABLE_ABYSS_SERVER) + add_library(xmlrpc_server_abyss++ SHARED server_abyss.cpp) -+ target_link_libraries(xmlrpc_server_abyss++ xmlrpc_server++ xmlrpc_server_abyss) ++ target_link_libraries(xmlrpc_server_abyss++ xmlrpc_abyss++ xmlrpc_server++ xmlrpc_server_abyss) + list(APPEND lib_TARGETS xmlrpc_server_abyss++) + ensc_pkgconfig(xmlrpc_server_abyss++) +endif(ENABLE_ABYSS_SERVER) @@ -1553,11 +1519,12 @@ new file mode 100644 index 0000000..15a7c3a --- /dev/null +++ b/test/cpp/CMakeLists.txt -@@ -0,0 +1,34 @@ +@@ -0,0 +1,36 @@ +# -*- cmake -*- + +set(testcpp_SOURCES + test.cpp ++ abyss.cpp + base64.cpp + registry.cpp + server_abyss.cpp @@ -1580,6 +1547,7 @@ index 0000000..15a7c3a +add_executable(src-testcpp ${testcpp_SOURCES}) +target_link_libraries(src-testcpp + xmlrpc++ ++ xmlrpc_abyss++ + xmlrpc_server++ + xmlrpc_server_abyss++ + xmlrpc_server_pstream++ @@ -1828,7 +1796,7 @@ new file mode 100755 index 0000000..50577fd --- /dev/null +++ b/xmlrpc-c-config -@@ -0,0 +1,105 @@ +@@ -0,0 +1,110 @@ +#! /bin/sh + +comp= @@ -1837,6 +1805,7 @@ index 0000000..50577fd +need_client= +need_server= +need_abyss= ++need_abysssrv= +need_pstream= +need_packetsocket= +need_cgi= @@ -1853,6 +1822,7 @@ index 0000000..50577fd + abyss-server ABYSS-based server functions + pstream-server pstream-based server functions + server-util basic server functions (implied by *-server) ++ abyss Abyss HTTP server (not necessary with abyss-server) + +Options are: + --version The version number of the package @@ -1874,10 +1844,11 @@ index 0000000..50577fd + (server-util) need_server=1;; + (cgi-server) need_cgi=1;; + (c++2) need_cxx=1;; -+ (abyss-server) need_abyss=1;; ++ (abyss-server) need_abysssrv=1;; + (pstream-server) need_pstream=1;; + (packetsocket) need_packetsocket=1;; + (client|libwww-client) need_client=1;; ++ (abyss) need_abyss=1;; + (--help) show_help 0;; + (--) shift; break;; + (--*) break;; @@ -1891,12 +1862,14 @@ index 0000000..50577fd + +if test -z "$need_cxx"; then + test -z "$need_client" || comp="$comp xmlrpc_client" -+ test -z "$need_abyss" || comp="$comp xmlrpc_server_abyss" ++ test -z "$need_abysssrv" || comp="$comp xmlrpc_server_abyss" ++ test -z "$need_abyss" || comp="$comp xmlrpc_server" + test -z "$need_server" || comp="$comp xmlrpc_server" + test -z "$need_cgi" || comp="$comp xmlrpc_server_cgi" +else + test -z "$need_client" || comp="$comp xmlrpc_client++" -+ test -z "$need_abyss" || comp="$comp xmlrpc_server_abyss++" ++ test -z "$need_abysssrv" || comp="$comp xmlrpc_server_abyss++" ++ test -z "$need_abyss" || comp="$comp xmlrpc_abyss++" + test -z "$need_server" || comp="$comp xmlrpc_server++" + test -z "$need_cgi" || comp="$comp xmlrpc_server_cgi++" +fi @@ -1939,7 +1912,7 @@ new file mode 100644 index 0000000..9eff724 --- /dev/null +++ b/xmlrpc_config.h.cmake -@@ -0,0 +1,183 @@ +@@ -0,0 +1,184 @@ +/* -*- c -*- */ + +#ifndef H_XMLRPC_C_CONFIG_H @@ -2034,8 +2007,10 @@ index 0000000..9eff724 + ssize_t on POSIX. +*/ +#if MSVCRT ++ #define XMLRPC_SNPRINTF _snprintf + #define XMLRPC_VSNPRINTF _vsnprintf +#else ++ #define XMLRPC_SNPRINTF snprintf + #define XMLRPC_VSNPRINTF vsnprintf +#endif + @@ -2092,7 +2067,6 @@ index 0000000..9eff724 +#endif + +#if MSVCRT -+ #define snprintf _snprintf + #define popen _popen +#endif + diff --git a/xmlrpc-c-include-string_int.h.patch b/xmlrpc-c-include-string_int.h.patch deleted file mode 100644 index 3a4ef8e..0000000 --- a/xmlrpc-c-include-string_int.h.patch +++ /dev/null @@ -1,32 +0,0 @@ -From df68067713ab58bf14ac1e75eace9fac45dba7d9 Mon Sep 17 00:00:00 2001 -From: Enrico Scholz -Date: Thu, 30 Dec 2010 20:44:06 +0100 -Subject: [PATCH 8/8] include missing - -gives - -| /tmp/xmlrpc-c/src/xmlrpc_libxml2.c: In function 'end_element': -| /tmp/xmlrpc-c/src/xmlrpc_libxml2.c:303:2: warning: implicit declaration of function 'xmlrpc_streq' -| ... -| ../src/libxmlrpc.so.3.25: undefined reference to `xmlrpc_streq' - -else. ---- - src/xmlrpc_libxml2.c | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/src/xmlrpc_libxml2.c b/src/xmlrpc_libxml2.c -index 57ae06b..ef073d4 100644 ---- a/src/xmlrpc_libxml2.c -+++ b/src/xmlrpc_libxml2.c -@@ -38,6 +38,7 @@ - - #include "xmlrpc-c/base.h" - #include "xmlrpc-c/base_int.h" -+#include "xmlrpc-c/string_int.h" - #include "xmlrpc-c/xmlparser.h" - - /* Define the contents of our internal structure. */ --- -1.7.3.4 - diff --git a/xmlrpc-c-longlong.patch b/xmlrpc-c-longlong.patch index 8f2f06e..3458d84 100644 --- a/xmlrpc-c-longlong.patch +++ b/xmlrpc-c-longlong.patch @@ -70,20 +70,6 @@ diff --git a/src/cpp/param_list.cpp b/src/cpp/param_list.cpp index 67c636b..60f7df9 100644 --- a/src/cpp/param_list.cpp +++ b/src/cpp/param_list.cpp -@@ -265,10 +265,10 @@ paramList::getNil(unsigned int const paramNumber) const { - - - --long long -+xmlrpc_int64 - paramList::getI8(unsigned int const paramNumber, -- long long const minimum, -- long long const maximum) const { -+ xmlrpc_int64 const minimum, -+ xmlrpc_int64 const maximum) const { - - if (paramNumber >= this->paramVector.size()) - throw(fault("Not enough parameters", fault::CODE_TYPE)); @@ -277,7 +277,7 @@ paramList::getI8(unsigned int const paramNumber, throw(fault("Parameter that is supposed to be 64-bit integer is not", fault::CODE_TYPE)); diff --git a/xmlrpc-c-soname.patch b/xmlrpc-c-soname.patch index c984025..719b649 100644 --- a/xmlrpc-c-soname.patch +++ b/xmlrpc-c-soname.patch @@ -1,5 +1,5 @@ ---- xmlrpc-c/src/Makefile.orig 2013-03-03 16:31:13.000000000 +0100 -+++ xmlrpc-c/src/Makefile 2013-03-03 17:08:21.062194251 +0100 +--- xmlrpc-c-1.39.12/src/Makefile.orig 2014-12-28 19:55:09.000000000 +0100 ++++ xmlrpc-c-1.39.12/src/Makefile 2018-02-18 21:01:54.376804414 +0100 @@ -15,7 +15,7 @@ SUBDIRS += cpp endif @@ -26,8 +26,8 @@ + $(call shliblefn, libxmlrpc-c) $(LIBXMLRPC_SERVER): LIBOBJECTS = $(LIBXMLRPC_SERVER_MODS:%=%.osh) $(LIBXMLRPC_SERVER): LIBDEP = \ -- -L. -lxmlrpc $(XML_PARSER_LIBDEP) -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util -+ -L. -lxmlrpc-c $(XML_PARSER_LIBDEP) -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util +- -L. -lxmlrpc $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP) ++ -L. -lxmlrpc-c $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP) LIBXMLRPC_SERVER_ABYSS = $(call shlibfn, libxmlrpc_server_abyss) @@ -41,8 +41,8 @@ $(LIBXMLRPC_SERVER_ABYSS): LIBDEP = \ -L. -lxmlrpc_server \ -L$(LIBXMLRPC_ABYSS_DIR) -lxmlrpc_abyss \ -- -L. -lxmlrpc $(XML_PARSER_LIBDEP) -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util -+ -L. -lxmlrpc-c $(XML_PARSER_LIBDEP) -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util +- -L. -lxmlrpc $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP) ++ -L. -lxmlrpc-c $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP) ifeq ($(MSVCRT),yes) $(LIBXMLRPC_SERVER_ABYSS): LIBDEP += -lws2_32 -lwsock32 endif @@ -55,8 +55,8 @@ $(LIBXMLRPC_SERVER_CGI): LIBOBJECTS = $(LIBXMLRPC_SERVER_CGI_MODS:%=%.osh) $(LIBXMLRPC_SERVER_CGI): LIBDEP = \ -L. -lxmlrpc_server \ -- -L. -lxmlrpc $(XML_PARSER_LIBDEP) -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util -+ -L. -lxmlrpc-c $(XML_PARSER_LIBDEP) -L$(LIBXMLRPC_UTIL_DIR) -lxmlrpc_util +- -L. -lxmlrpc $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP) ++ -L. -lxmlrpc-c $(XML_PARSER_LIBDEP) $(LIBXMLRPC_UTIL_LIBDEP) LIBXMLRPC_CLIENT = $(call shlibfn, libxmlrpc_client) @@ -109,14 +109,14 @@ LIBXMLRPC_CLIENT_A = $(BLDDIR)/src/libxmlrpc_client.a LIBXMLRPC_SERVER_A = $(BLDDIR)/src/libxmlrpc_server.a LIBXMLRPC_SERVER_ABYSS_A = $(BLDDIR)/src/libxmlrpc_server_abyss.a ---- xmlrpc-c/xmlrpc-c-config.main.orig 2013-03-03 17:06:35.282198688 +0100 -+++ xmlrpc-c/xmlrpc-c-config.main 2013-03-03 17:44:58.868768683 +0100 -@@ -45,7 +45,7 @@ +--- xmlrpc-c-1.39.12/xmlrpc-c-config.main.orig 2018-02-18 18:00:53.710261758 +0100 ++++ xmlrpc-c-1.39.12/xmlrpc-c-config.main 2018-02-18 21:02:28.870137355 +0100 +@@ -46,7 +46,7 @@ the_libdirs="-L$LIBINST_DIR $the_libdirs" --the_libs="-lxmlrpc ${LIBXML} -lxmlrpc_util" -+the_libs="-lxmlrpc-c ${LIBXML} -lxmlrpc_util" +-the_libs="-lxmlrpc ${LIBXML} -lxmlrpc_util -lpthread" ++the_libs="-lxmlrpc-c ${LIBXML} -lxmlrpc_util -lpthread" the_rpath="-R$LIBINST_DIR $the_rpath" the_wl_rpath="-Wl,-rpath,$LIBINST_DIR $the_wl_rpath" @@ -203,9 +203,9 @@ -Libs: -L${libdir} -lxmlrpc @xmlrpc_pkgconfig_libs@ +Libs: -L${libdir} -lxmlrpc-c @xmlrpc_pkgconfig_libs@ Cflags: -I${includedir} ---- xmlrpc-c-1.20.3/src/CMakeLists.txt 2009-12-05 22:06:26.335153315 +0000 -+++ xmlrpc-c-1.20.3/src/CMakeLists.txt 2009-12-05 22:09:49.944925301 +0000 -@@ -51,8 +51,8 @@ +--- xmlrpc-c-1.39.12/src/CMakeLists.txt.orig 2018-02-25 15:31:16.940125278 +0100 ++++ xmlrpc-c-1.39.12/src/CMakeLists.txt 2018-02-25 15:35:10.696789278 +0100 +@@ -48,8 +48,8 @@ @@ -213,12 +213,12 @@ -add_library(xmlrpc SHARED +### libxmlrpc-c.so +add_library(xmlrpc-c SHARED - double.c parse_datetime.c parse_value.c resource.c trace.c version.c + base_global.c double.c parse_datetime.c parse_value.c resource.c trace.c version.c + json.c ${xmlrpc_xml_parser} - xmlrpc_data.c xmlrpc_datetime.c xmlrpc_string.c -@@ -60,19 +60,19 @@ +@@ -58,19 +58,19 @@ xmlrpc_build.c xmlrpc_decompose.c xmlrpc_parse.c xmlrpc_serialize.c - xmlrpc_base64.c xmlrpc_authcookie.c) + xmlrpc_authcookie.c) -set_target_properties(xmlrpc +set_target_properties(xmlrpc-c @@ -240,7 +240,7 @@ set_target_properties(xmlrpc_client PROPERTIES COMPILE_FLAGS "${client_CFLAGS}") -@@ -82,7 +82,7 @@ +@@ -80,7 +80,7 @@ ### libxmlrpc_server.so add_library(xmlrpc_server SHARED registry.c method.c system_method.c) @@ -249,21 +249,21 @@ list(APPEND lib_TARGETS xmlrpc_server) ensc_pkgconfig(xmlrpc_server) ---- xmlrpc-c/src/cpp/CMakeLists.txt.orig 2011-03-20 15:41:37.000000000 +0100 -+++ xmlrpc-c/src/cpp/CMakeLists.txt 2011-03-20 15:42:37.524711244 +0100 +--- xmlrpc-c-1.39.12/src/cpp/CMakeLists.txt.orig 2018-02-25 15:31:16.956791945 +0100 ++++ xmlrpc-c-1.39.12/src/cpp/CMakeLists.txt 2018-02-25 15:37:15.140121190 +0100 @@ -4,13 +4,13 @@ add_library(xmlrpc++ SHARED - base64.cpp env_wrap.cpp fault.cpp girerr.cpp girmem.cpp + fault.cpp global.cpp outcome.cpp param_list.cpp value.cpp xml.cpp) --target_link_libraries(xmlrpc++ xmlrpc pthread) -+target_link_libraries(xmlrpc++ xmlrpc-c pthread) +-target_link_libraries(xmlrpc++ xmlrpc_util++ xmlrpc pthread) ++target_link_libraries(xmlrpc++ xmlrpc_util++ xmlrpc-c pthread) list(APPEND lib_TARGETS xmlrpc++) ensc_pkgconfig(xmlrpc++) ####### libxmlrpc_cpp.so add_library(xmlrpc_cpp SHARED XmlRpcCpp) --target_link_libraries(xmlrpc_cpp xmlrpc xmlrpc_server xmlrpc_client) -+target_link_libraries(xmlrpc_cpp xmlrpc-c xmlrpc_server xmlrpc_client) +-target_link_libraries(xmlrpc_cpp xmlrpc xmlrpc_server) ++target_link_libraries(xmlrpc_cpp xmlrpc-c xmlrpc_server) list(APPEND lib_TARGETS xmlrpc_cpp) ensc_pkgconfig(xmlrpc_cpp) diff --git a/xmlrpc-c.spec b/xmlrpc-c.spec index 5599cec..27c741d 100644 --- a/xmlrpc-c.spec +++ b/xmlrpc-c.spec @@ -1,29 +1,27 @@ 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.32.05 -Release: 5 +Version: 1.39.12 +Release: 1 License: XML-RPC for C License (BSD-like) Group: Libraries +# for feature versions: # svn co http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced xmlrpc-c # Unfortunately, upstream does not tag versions so we must fetch from the branch -# and check which version was used for it -# 1.32.05 is svn r2451 -Source0: %{name}-%{version}.tar.xz -# Source0-md5: c80cfb54a6e26247369de042474e08e0 +# and check which version was used for it. +# for "super stable" versions: +Source0: http://downloads.sourceforge.net/xmlrpc-c/%{name}-%{version}.tgz +# Source0-md5: 1e01d4a462198b6c0a4f44b66cbf7a93 Patch0: %{name}-fastdep.patch Patch1: %{name}-soname.patch Patch2: %{name}-cflags.patch -Patch3: %{name}-cmake-fix.patch -Patch4: %{name}-format.patch -# patches 10+ come from Fedora +Patch3: %{name}-format.patch +# patches 10+ come from Fedora (cmake patch is updated from original version) Patch10: %{name}-cmake.patch Patch11: %{name}-printf-size_t.patch Patch12: %{name}-longlong.patch Patch13: %{name}-uninit-curl.patch Patch14: %{name}-30x-redirect.patch -Patch15: %{name}-check-vasprintf-return-value.patch -Patch16: %{name}-include-string_int.h.patch URL: http://xmlrpc-c.sourceforge.net/ BuildRequires: cmake >= 2.6 BuildRequires: curl-devel @@ -272,7 +270,7 @@ Ten pakiet zawiera kilka podręcznych aplikacji demonstracyjnych XML-RPC. %prep -%setup -q -n %{name} +%setup -q %patch0 -p1 %patch2 -p1 %patch10 -p1 @@ -280,11 +278,8 @@ XML-RPC. %patch12 -p1 %patch13 -p1 %patch14 -p1 -%patch15 -p1 -%patch16 -p1 %patch1 -p1 %patch3 -p1 -%patch4 -p1 %build mkdir -p build @@ -405,17 +400,24 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libxmlrpc++.so.*.* %attr(755,root,root) %ghost %{_libdir}/libxmlrpc++.so.8 +%attr(755,root,root) %{_libdir}/libxmlrpc_abyss++.so.*.* +%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_abyss++.so.8 %attr(755,root,root) %{_libdir}/libxmlrpc_cpp.so.*.* %attr(755,root,root) %ghost %{_libdir}/libxmlrpc_cpp.so.8 %attr(755,root,root) %{_libdir}/libxmlrpc_packetsocket.so.*.* %attr(755,root,root) %ghost %{_libdir}/libxmlrpc_packetsocket.so.8 +%attr(755,root,root) %{_libdir}/libxmlrpc_util++.so.*.* +%attr(755,root,root) %ghost %{_libdir}/libxmlrpc_util++.so.8 %files c++-devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libxmlrpc++.so +%attr(755,root,root) %{_libdir}/libxmlrpc_abyss++.so %attr(755,root,root) %{_libdir}/libxmlrpc_cpp.so %attr(755,root,root) %{_libdir}/libxmlrpc_packetsocket.so +%attr(755,root,root) %{_libdir}/libxmlrpc_util++.so %{_includedir}/xmlrpc-c/base.hpp +%{_includedir}/xmlrpc-c/base64.hpp %{_includedir}/xmlrpc-c/girerr.hpp %{_includedir}/xmlrpc-c/girmem.hpp %{_includedir}/xmlrpc-c/oldcppwrapper.hpp @@ -425,8 +427,10 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/xmlrpc-c/xml.hpp %{_includedir}/XmlRpcCpp.h %{_pkgconfigdir}/xmlrpc++.pc +%{_pkgconfigdir}/xmlrpc_abyss++.pc %{_pkgconfigdir}/xmlrpc_cpp.pc %{_pkgconfigdir}/xmlrpc_packetsocket.pc +%{_pkgconfigdir}/xmlrpc_util++.pc %files client++ %defattr(644,root,root,755) @@ -465,7 +469,7 @@ rm -rf $RPM_BUILD_ROOT %files apps %defattr(644,root,root,755) -%doc tools/xmlrpc/xmlrpc.html tools/xmlrpc_transport/xmlrpc_transport.html +%doc tools/xmlrpc_transport/xmlrpc_transport.html %attr(755,root,root) %{_bindir}/xmlrpc %attr(755,root,root) %{_bindir}/xmlrpc_parsecall %attr(755,root,root) %{_bindir}/xmlrpc_transport