- updated to 1.06.04

- patched the broken buildsystem
- disabled libwww backend explicitely
This commit is contained in:
ensc 2006-09-18 06:22:42 +00:00
parent e361e735f9
commit 087093797d
16 changed files with 1789 additions and 207 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,79 @@
From 6ec81dc315d105d733e4be4cdd02ef324e587bbe Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 15:53:23 +0200
Subject: [PATCH] added multilib stuff
---
CMakeLists.txt | 5 ++++-
lib/abyss/src/CMakeLists.txt | 6 +++---
src/CMakeLists.txt | 4 ++--
src/cpp/CMakeLists.txt | 4 ++--
4 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 239a434..7c668d2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -190,8 +190,11 @@ add_custom_target(dist
COMMAND cd _dist && tar cjf ../xmlrpc-c-${XMLRPC_C_VERSION}.tar.bz2 xmlrpc-c-${XMLRPC_C_VERSION} --exclude=.git --exclude=CVS --exclude=.svn
)
+set(_lib lib CACHE STRING "Basename of the library-directory; usually 'lib' or 'lib64' (on multilib archs)")
+set(_bin bin CACHE STRING "Basename of the bin-directory; usually 'bin'")
set(prefix ${CMAKE_INSTALL_PREFIX})
-set(libdir "${prefix}/lib")
+set(libdir "${prefix}/${_lib}")
+set(bindir "${prefix}/${_bin}")
set(pkgconfdir "${libdir}/pkgconfig")
set(includedir "${prefix}/include")
diff --git a/lib/abyss/src/CMakeLists.txt b/lib/abyss/src/CMakeLists.txt
index 4e18b81..a8fb5a9 100644
--- a/lib/abyss/src/CMakeLists.txt
+++ b/lib/abyss/src/CMakeLists.txt
@@ -49,9 +49,9 @@ if(ENABLE_ABYSS_THREADS)
endif(ENABLE_ABYSS_THREADS)
install(TARGETS xmlrpc_abyss
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib)
+ RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION ${_lib}
+ ARCHIVE DESTINATION ${_lib})
set_target_properties(xmlrpc_abyss
PROPERTIES
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index bc0dce3..b201fa1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -93,8 +93,8 @@ ensc_pkgconfig(xmlrpc_server_cgi)
install(TARGETS ${lib_TARGETS}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib)
+ RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION ${_lib})
set_target_properties(${lib_TARGETS}
PROPERTIES
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
index 3dba3a7..9ab2530 100644
--- a/src/cpp/CMakeLists.txt
+++ b/src/cpp/CMakeLists.txt
@@ -38,8 +38,8 @@ ensc_pkgconfig(xmlrpc_client++)
install(TARGETS ${lib_TARGETS}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib)
+ RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION ${_lib})
set_target_properties(${lib_TARGETS}
PROPERTIES
--
1.4.2

View File

@ -0,0 +1,56 @@
From 29b9db8273ef88e93c45b43add367a04282044c8 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 16:22:50 +0200
Subject: [PATCH] added xmlrpc-c-config wrapper
---
xmlrpc-c-config | 38 ++++++++++++++++++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/xmlrpc-c-config b/xmlrpc-c-config
new file mode 100755
index 0000000..e8ba549
--- /dev/null
+++ b/xmlrpc-c-config
@@ -0,0 +1,38 @@
+#! /bin/sh
+
+comp=
+
+need_cxx=
+need_client=
+need_server=
+need_abyss=
+
+while test $# -gt 0; do
+ case $1 in
+ (c++) comp="$comp xmlrpc_cpp";;
+ (server-util) comp="$comp xmlrpc_server_util";;
+ (cgi-server) comp="$comp xmlrpc_server_cgi";;
+ (c++2) need_cxx=1;;
+ (abyss-server) need_abyss=1;;
+ (client|libwww-client) need_client=1;;
+ (--) shift; break;;
+ (--*) break;;
+ (*)
+ echo "Unrecognized token '$1'"
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+if test -z "$need_cxx"; then
+ test -z "$need_client" || comp="$comp xmlrpc_client"
+ test -z "$need_abyss" || comp="$comp xmlrpc_abyss"
+ test -z "$need_server" || comp="$comp xmlrpc_server"
+else
+ test -z "$need_client" || comp="$comp xmlrpc_client++"
+ test -z "$need_abyss" || comp="$comp xmlrpc_abyss++"
+ test -z "$need_server" || comp="$comp xmlrpc_server++"
+fi
+
+exec pkg-config "$@" $comp
--
1.4.2

View File

@ -0,0 +1,96 @@
From 53ca6acb5c628f143894147e1c789de68defbc6d Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 16:54:15 +0200
Subject: [PATCH] added some tools-directories
- build 'xmlrpc' and 'xmlrpc_transport' tools
- build lib/util stuff as static library which is used internally
---
lib/util/CMakeLists.txt | 13 +++++++++++++
tools/xmlrpc/CMakeLists.txt | 19 +++++++++++++++++++
tools/xmlrpc/config.h | 1 +
tools/xmlrpc_transport/CMakeLists.txt | 14 ++++++++++++++
tools/xmlrpc_transport/config.h | 1 +
5 files changed, 48 insertions(+), 0 deletions(-)
diff --git a/lib/util/CMakeLists.txt b/lib/util/CMakeLists.txt
new file mode 100644
index 0000000..be6ded2
--- /dev/null
+++ b/lib/util/CMakeLists.txt
@@ -0,0 +1,13 @@
+## -*- cmake -*-
+
+set(util_SOURCES
+ casprintf.c
+ cmdline_parser.c
+ getoptx.c
+ getoptx.h)
+
+if(WIN32)
+ list(APPEND util_SOURCES pthreadx_win32.c)
+endif(WIN32)
+
+add_library(util STATIC ${util_SOURCES})
diff --git a/tools/xmlrpc/CMakeLists.txt b/tools/xmlrpc/CMakeLists.txt
new file mode 100644
index 0000000..e313e37
--- /dev/null
+++ b/tools/xmlrpc/CMakeLists.txt
@@ -0,0 +1,19 @@
+# -*- cmake -*-
+
+add_executable(tool-xmlrpc
+ xmlrpc.c
+ dumpvalue.c
+ dumpvalue.h)
+target_link_libraries(tool-xmlrpc xmlrpc_client util)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/tool-xmlrpc
+ DESTINATION ${_bin}
+ PERMISSIONS WORLD_EXECUTE GROUP_EXECUTE OWNER_EXECUTE OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ WORLD_READ
+ RENAME xmlrpc)
+
+## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
+if(NOT MUST_BUILD_LIBWWW_CLIENT)
+ set_target_properties(tool-xmlrpc
+ PROPERTIES
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
+endif(NOT MUST_BUILD_LIBWWW_CLIENT)
diff --git a/tools/xmlrpc/config.h b/tools/xmlrpc/config.h
new file mode 100644
index 0000000..7409aed
--- /dev/null
+++ b/tools/xmlrpc/config.h
@@ -0,0 +1 @@
+#include <xmlrpc_config.h>
diff --git a/tools/xmlrpc_transport/CMakeLists.txt b/tools/xmlrpc_transport/CMakeLists.txt
new file mode 100644
index 0000000..0575488
--- /dev/null
+++ b/tools/xmlrpc_transport/CMakeLists.txt
@@ -0,0 +1,14 @@
+# -*- cmake -*-
+
+add_executable(xmlrpc_transport xmlrpc_transport.c)
+target_link_libraries(xmlrpc_transport xmlrpc_client util)
+
+install(TARGETS xmlrpc_transport
+ DESTINATION ${_bin})
+
+## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
+if(NOT MUST_BUILD_LIBWWW_CLIENT)
+ set_target_properties(xmlrpc_transport
+ PROPERTIES
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
+endif(NOT MUST_BUILD_LIBWWW_CLIENT)
diff --git a/tools/xmlrpc_transport/config.h b/tools/xmlrpc_transport/config.h
new file mode 100644
index 0000000..7409aed
--- /dev/null
+++ b/tools/xmlrpc_transport/config.h
@@ -0,0 +1 @@
+#include <xmlrpc_config.h>
--
1.4.2

View File

@ -0,0 +1,58 @@
From 010b828759d2a43ee774522524c18e9d94eb1333 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 16:49:31 +0200
Subject: [PATCH] implemented testsuite
---
CMakeLists.txt | 1 +
src/test/CMakeLists.txt | 27 +++++++++++++++++++++++++++
2 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7c668d2..ccbd371 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -198,6 +198,7 @@ set(bindir "${prefix}/${_bin}")
set(pkgconfdir "${libdir}/pkgconfig")
set(includedir "${prefix}/include")
+enable_testing()
add_subdirectory(lib)
add_subdirectory(Windows)
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
new file mode 100644
index 0000000..3deb9cb
--- /dev/null
+++ b/src/test/CMakeLists.txt
@@ -0,0 +1,27 @@
+# -*- cmake -*-
+
+set(test_SOURCES
+ test.c abyss.c cgi.c method_registry.c parse_xml.c serialize.c server_abyss.c
+ value.c xml_data.c)
+
+if(MUST_BUILD_CLIENT)
+ list(APPEND test_SOURCES client.c)
+ list(APPEND test_LIBS xmlrpc_client)
+else(MUST_BUILD_CLIENT)
+ list(APPEND test_SOURCES client_dummy.c)
+endif(MUST_BUILD_CLIENT)
+
+
+add_executable(src-test ${test_SOURCES})
+target_link_libraries(src-test xmlrpc_server_abyss util ${test_LIBS})
+
+add_executable(cgitest1 cgitest1.c)
+target_link_libraries(cgitest1 xmlrpc_server_cgi)
+
+add_custom_command(TARGET src-test
+ POST_BUILD
+ COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/data
+ COMMAND ln -s ${CMAKE_CURRENT_SOURCE_DIR}/data ${CMAKE_CURRENT_BINARY_DIR})
+
+enable_testing()
+add_test(runtests src-test)
--
1.4.2

View File

@ -0,0 +1,95 @@
From d36ae0e17f30acc2afd7d74b074bde1da791ee79 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 17:20:08 +0200
Subject: [PATCH] use a macro to set the linker flags for executables
---
CMakeLists.txt | 8 ++++++++
examples/CMakeLists.txt | 7 +------
examples/cpp/CMakeLists.txt | 7 +------
tools/xmlrpc/CMakeLists.txt | 7 +------
tools/xmlrpc_transport/CMakeLists.txt | 7 +------
5 files changed, 12 insertions(+), 24 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ccbd371..1e86c61 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -33,6 +33,14 @@ macro(ensc_pkgconfig_lib TARGET LIBS)
endif("${libtype}" STREQUAL "STATIC_LIBRARY")
endmacro(ensc_pkgconfig_lib)
+macro(ensc_set_link_exe_flags)
+ ## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
+ if(NOT MUST_BUILD_LIBWWW_CLIENT)
+ set_target_properties(${ARGV}
+ PROPERTIES
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
+ endif(NOT MUST_BUILD_LIBWWW_CLIENT)
+endmacro(ensc_set_link_exe_flags)
###########
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 4cbe95a..9f18b0d 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -48,9 +48,4 @@ if(ENABLE_ABYSS_SERVER)
ensc_add_example(xmlrpc_server_validatee c abyss_server)
endif(ENABLE_ABYSS_SERVER)
-## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
-if(NOT MUST_BUILD_LIBWWW_CLIENT)
- set_target_properties(${example_TARGETS}
- PROPERTIES
- LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
-endif(NOT MUST_BUILD_LIBWWW_CLIENT)
+ensc_set_link_exe_flags(${example_TARGETS})
diff --git a/examples/cpp/CMakeLists.txt b/examples/cpp/CMakeLists.txt
index c2e3ab7..9fbea7e 100644
--- a/examples/cpp/CMakeLists.txt
+++ b/examples/cpp/CMakeLists.txt
@@ -17,9 +17,4 @@ if(MUST_BUILD_CLIENT)
endif(MUST_BUILD_CLIENT)
-## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
-if(NOT MUST_BUILD_LIBWWW_CLIENT)
- set_target_properties(${example_TARGETS}
- PROPERTIES
- LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
-endif(NOT MUST_BUILD_LIBWWW_CLIENT)
+ensc_set_link_exe_flags(${example_TARGETS})
diff --git a/tools/xmlrpc/CMakeLists.txt b/tools/xmlrpc/CMakeLists.txt
index e313e37..a996e18 100644
--- a/tools/xmlrpc/CMakeLists.txt
+++ b/tools/xmlrpc/CMakeLists.txt
@@ -11,9 +11,4 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR
PERMISSIONS WORLD_EXECUTE GROUP_EXECUTE OWNER_EXECUTE OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ WORLD_READ
RENAME xmlrpc)
-## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
-if(NOT MUST_BUILD_LIBWWW_CLIENT)
- set_target_properties(tool-xmlrpc
- PROPERTIES
- LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
-endif(NOT MUST_BUILD_LIBWWW_CLIENT)
+ensc_set_link_exe_flags(tool-xmlrpc)
diff --git a/tools/xmlrpc_transport/CMakeLists.txt b/tools/xmlrpc_transport/CMakeLists.txt
index 0575488..b73d7c0 100644
--- a/tools/xmlrpc_transport/CMakeLists.txt
+++ b/tools/xmlrpc_transport/CMakeLists.txt
@@ -6,9 +6,4 @@ target_link_libraries(xmlrpc_transport x
install(TARGETS xmlrpc_transport
DESTINATION ${_bin})
-## HACK: libwww has broken inter-lib dependencies and '-Wl,--as-needed' fails with it
-if(NOT MUST_BUILD_LIBWWW_CLIENT)
- set_target_properties(xmlrpc_transport
- PROPERTIES
- LINK_FLAGS ${XMLRPC_LINKER_FLAGS})
-endif(NOT MUST_BUILD_LIBWWW_CLIENT)
+ensc_set_link_exe_flags(xmlrpc_transport)
--
1.4.2

View File

@ -0,0 +1,43 @@
From 226f9e8336f203d89143bb89f0efa2909d268928 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 19:59:50 +0200
Subject: [PATCH] Install xmlrpc-c-config and man-pages + added ${mandir} variable
---
CMakeLists.txt | 5 +++++
tools/xml-rpc-api2cpp/CMakeLists.txt | 3 +++
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1e86c61..a6b76b0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -203,9 +203,14 @@ set(_bin bin CACHE STRING "Basenam
set(prefix ${CMAKE_INSTALL_PREFIX})
set(libdir "${prefix}/${_lib}")
set(bindir "${prefix}/${_bin}")
+set(mandir "${prefix}/share/man")
set(pkgconfdir "${libdir}/pkgconfig")
set(includedir "${prefix}/include")
+#############
+
+install(PROGRAMS xmlrpc-c-config DESTINATION ${_bin})
+
enable_testing()
add_subdirectory(lib)
diff --git a/tools/xml-rpc-api2cpp/CMakeLists.txt b/tools/xml-rpc-api2cpp/CMakeLists.txt
index a97e33c..c759dec 100644
--- a/tools/xml-rpc-api2cpp/CMakeLists.txt
+++ b/tools/xml-rpc-api2cpp/CMakeLists.txt
@@ -10,3 +10,6 @@ target_link_libraries(xml-rpc-api2cpp xm
install(TARGETS xml-rpc-api2cpp
RUNTIME DESTINATION bin)
+
+install(FILES xml-rpc-api2cpp.1
+ DESTINATION ${mandir}/man1)
--
1.4.2

View File

@ -0,0 +1,32 @@
From 68a7168a4324ab356e3992dfc182faf9d51ae821 Mon Sep 17 00:00:00 2001
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Date: Sun, 17 Sep 2006 20:09:29 +0200
Subject: [PATCH] install libxmlrpc_util.so and set version-information
---
lib/libutil/CMakeLists.txt | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/lib/libutil/CMakeLists.txt b/lib/libutil/CMakeLists.txt
index cc6ccab..5e5d382 100644
--- a/lib/libutil/CMakeLists.txt
+++ b/lib/libutil/CMakeLists.txt
@@ -8,4 +8,15 @@ add_library(xmlrpc_util SHARED
resource.c
sleep.c)
+set_target_properties(xmlrpc_util
+ PROPERTIES
+ LINK_FLAGS ${XMLRPC_LINKER_FLAGS}
+ VERSION ${XMLRPC_C_LIBVERSION}
+ SOVERSION ${XMLRPC_C_SOVERSION})
+
+install(TARGETS xmlrpc_util
+ RUNTIME DESTINATION ${_bin}
+ LIBRARY DESTINATION ${_lib}
+ ARCHIVE DESTINATION ${_lib})
+
ensc_pkgconfig(xmlrpc_util)
--
1.4.2

View File

@ -1 +0,0 @@
http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild

View File

@ -1 +1 @@
60d59b39f13d21c3db9285274ea23bab xmlrpc-c-1.05.tgz 25c43707810525b077c6ad64e25dd978 xmlrpc-c-1.06.04.tgz

View File

@ -1,43 +0,0 @@
--- xmlrpc-c-1.04/src/xmlrpc_libxml2.c.builderr 2005-12-12 10:05:46.000000000 +0100
+++ xmlrpc-c-1.04/src/xmlrpc_libxml2.c 2005-12-12 10:11:57.000000000 +0100
@@ -147,7 +147,7 @@
** documentation on each function works.
*/
-char *xml_element_name (xml_element *elem)
+char const *xml_element_name (xml_element const * const elem)
{
XMLRPC_ASSERT_ELEM_OK(elem);
return elem->_name;
@@ -167,13 +167,13 @@
return XMLRPC_TYPED_MEM_BLOCK_CONTENTS(char, &elem->_cdata);
}
-size_t xml_element_children_size (xml_element *elem)
+size_t xml_element_children_size (xml_element const *elem)
{
XMLRPC_ASSERT_ELEM_OK(elem);
return XMLRPC_TYPED_MEM_BLOCK_SIZE(xml_element*, &elem->_children);
}
-xml_element **xml_element_children (xml_element *elem)
+xml_element **xml_element_children (xml_element const *elem)
{
XMLRPC_ASSERT_ELEM_OK(elem);
return XMLRPC_TYPED_MEM_BLOCK_CONTENTS(xml_element*, &elem->_children);
@@ -410,13 +410,13 @@
XMLRPC_ASSERT(context.root != NULL);
XMLRPC_ASSERT(context.current == NULL);
- *resultP = context.root;
+ *resultPP = context.root;
cleanup:
if (parser)
xmlFreeParserCtxt(parser);
- if (env->fault_occurred) {
+ if (envP->fault_occurred) {
if (context.root)
xml_element_free(context.root);
}

View File

@ -1,15 +0,0 @@
--- xmlrpc-c-1.05/include/Makefile.buildsys 2005-11-22 18:22:57.000000000 +0100
+++ xmlrpc-c-1.05/include/Makefile 2006-06-04 16:06:58.000000000 +0200
@@ -45,10 +45,11 @@ HEADERINST_PREFIX = /xmlrpc-c
ifeq ($(MUST_BUILD_CLIENT),yes)
HEADERS_TO_INSTALL += \
xmlrpc-c/client.h \
+ xmlrpc-c/client_global.h \
xmlrpc-c/transport.h \
ifeq ($(ENABLE_CPLUSPLUS),yes)
- HEADERS_TO_INSTALL += xmlrpc-c/client.hpp xmlrpc-c/client_simple.hpp
+ HEADERS_TO_INSTALL += xmlrpc-c/client.hpp xmlrpc-c/client_simple.hpp xmlrpc-c/client_transport.hpp
endif
endif
ifeq ($(ENABLE_CGI_SERVER),yes)

View File

@ -1,41 +0,0 @@
2006-06-04 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
* include/xmlrpc-c/server_abyss.hpp: fixed compilation with
gcc41 by removing duplicate class-name in method declaration
* examples/cpp/xmlrpc_loop_server.cpp: added includes and
namespaces for std::cout + std::endl
--- xmlrpc-c-1.05/examples/cpp/xmlrpc_loop_server.cpp.gcc41 2006-01-09 00:36:06.000000000 +0100
+++ xmlrpc-c-1.05/examples/cpp/xmlrpc_loop_server.cpp 2006-06-04 14:24:28.000000000 +0200
@@ -11,6 +11,7 @@
#include <xmlrpc-c/base.hpp>
#include <xmlrpc-c/registry.hpp>
#include <xmlrpc-c/server_abyss.hpp>
+#include <iostream>
using namespace std;
@@ -55,7 +56,7 @@ main(int const,
);
while (true) {
- cout << "Waiting for next RPC..." << endl;
+ std::cout << "Waiting for next RPC..." << std::endl;
myAbyssServer.runOnce();
/* This waits for the next connection, accepts it, reads the
--- xmlrpc-c-1.05/include/xmlrpc-c/server_abyss.hpp.gcc41 2006-01-29 04:59:31.000000000 +0100
+++ xmlrpc-c-1.05/include/xmlrpc-c/server_abyss.hpp 2006-06-04 14:22:36.000000000 +0200
@@ -84,10 +84,10 @@ private:
TServer cServer;
void
- serverAbyss::setAdditionalServerParms(constrOpt const& opt);
+ setAdditionalServerParms(constrOpt const& opt);
void
- serverAbyss::initialize(constrOpt const& opt);
+ initialize(constrOpt const& opt);
};

View File

@ -1,72 +0,0 @@
--- xmlrpc-c-1.05/tools/xml-rpc-api2cpp/Makefile.libtool 2005-09-23 04:17:35.000000000 +0200
+++ xmlrpc-c-1.05/tools/xml-rpc-api2cpp/Makefile 2006-06-04 15:02:13.000000000 +0200
@@ -22,11 +22,11 @@ LDFLAGS = $(CLIENT_LDFLAGS)
all: xml-rpc-api2cpp
OBJECTS = \
- xml-rpc-api2cpp.o \
- DataType.o \
- XmlRpcFunction.o \
- XmlRpcClass.o \
- SystemProxy.o \
+ xml-rpc-api2cpp.lo \
+ DataType.lo \
+ XmlRpcFunction.lo \
+ XmlRpcClass.lo \
+ SystemProxy.lo \
xml-rpc-api2cpp: \
$(OBJECTS) \
@@ -38,7 +38,7 @@ xml-rpc-api2cpp: \
$(LIBXMLRPC_UTIL)
$(LIBTOOL) --mode=link $(CXXLD) -o $@ $(LDFLAGS) $^
-%.o:%.cpp
+%.lo:%.cpp
$(LIBTOOL) --mode=compile $(CXX) -c $(CXXFLAGS) $<
# This Makefile.config dependency makes sure the symlinks get built before
--- xmlrpc-c-1.05/tools/xmlrpc/Makefile.libtool 2006-01-13 18:19:35.000000000 +0100
+++ xmlrpc-c-1.05/tools/xmlrpc/Makefile 2006-06-04 15:00:48.000000000 +0200
@@ -17,17 +17,17 @@ CFLAGS = $(CFLAGS_COMMON) $(INCLUDES) $(
LDFLAGS = $(CLIENT_LDFLAGS) $(LADD)
-UTIL_OBJS = cmdline_parser.o getoptx.o casprintf.o
+UTIL_OBJS = cmdline_parser.lo getoptx.lo casprintf.lo
UTILS = $(UTIL_OBJS:%=$(UTIL_DIR)/%)
LIBS = $(LIBXMLRPC_CLIENT) $(LIBXMLRPC) $(LIBXMLRPC_UTIL) $(LIBXML) $(UTILS)
-XMLRPC_OBJS = xmlrpc.o dumpvalue.o
+XMLRPC_OBJS = xmlrpc.lo dumpvalue.lo
xmlrpc: $(XMLRPC_OBJS) $(LIBS)
$(LIBTOOL) --mode=link $(CCLD) -o $@ $(LDFLAGS) $^
-%.o:%.c
+%.lo:%.c
$(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $<
*.c: config.h
--- xmlrpc-c-1.05/tools/xmlrpc_transport/Makefile.libtool 2005-11-23 05:04:51.000000000 +0100
+++ xmlrpc-c-1.05/tools/xmlrpc_transport/Makefile 2006-06-04 15:01:32.000000000 +0200
@@ -17,15 +17,15 @@ CFLAGS = $(CFLAGS_COMMON) $(INCLUDES) $(
LDFLAGS = $(CLIENT_LDFLAGS) $(LADD)
-UTIL_OBJS = cmdline_parser.o getoptx.o casprintf.o
+UTIL_OBJS = cmdline_parser.lo getoptx.lo casprintf.lo
UTILS = $(UTIL_OBJS:%=$(UTIL_DIR)/%)
LIBS = $(LIBXMLRPC_CLIENT) $(LIBXMLRPC) $(LIBXML) $(LIBXMLRPC_UTIL) $(UTILS)
-xmlrpc_transport:%:%.o $(LIBS)
+xmlrpc_transport:%:%.lo $(LIBS)
$(LIBTOOL) --mode=link $(CCLD) -o $@ $(LDFLAGS) $^
-%.o:%.c
+%.lo:%.c
$(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $<
*.c: config.h

View File

@ -0,0 +1,146 @@
2006-06-04 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
* fixed a lot of format strings which produce
| warning: format '%d' expects type 'int', but argument 6 has type 'size_t'
style warnings on x86_64 machines else
--- xmlrpc-c-1.05/lib/libutil/memblock.c.sizet 2005-09-23 04:17:23.000000000 +0200
+++ xmlrpc-c-1.05/lib/libutil/memblock.c 2006-06-04 19:02:10.000000000 +0200
@@ -73,7 +73,7 @@ xmlrpc_mem_block_init(xmlrpc_env *
blockP->_block = (void*) malloc(blockP->_allocated);
if (!blockP->_block)
- xmlrpc_faultf(envP, "Can't allocate %u-byte memory block",
+ xmlrpc_faultf(envP, "Can't allocate %zu-byte memory block",
blockP->_allocated);
}
--- xmlrpc-c-1.05/src/xmlrpc_data.c.sizet 2006-01-03 07:48:59.000000000 +0100
+++ xmlrpc-c-1.05/src/xmlrpc_data.c 2006-06-04 19:06:02.000000000 +0200
@@ -288,7 +288,7 @@ xmlrpc_read_string(xmlrpc_env *
if (stringValue == NULL)
xmlrpc_env_set_fault_formatted(
envP, XMLRPC_INTERNAL_ERROR, "Unable to allocate space "
- "for %u-character string", length);
+ "for %zu-character string", length);
else {
memcpy(stringValue, contents, length);
stringValue[length] = '\0';
@@ -419,7 +419,7 @@ xmlrpc_read_string_w(xmlrpc_env * co
if (stringValue == NULL)
xmlrpc_env_set_fault_formatted(
envP, XMLRPC_INTERNAL_ERROR,
- "Unable to allocate space for %u-byte string",
+ "Unable to allocate space for %zu-byte string",
length);
else {
memcpy(stringValue, wcontents, length * sizeof(wchar_t));
@@ -466,7 +466,7 @@ xmlrpc_read_string_w_lp(xmlrpc_env *
if (stringValue == NULL)
xmlrpc_env_set_fault_formatted(
envP, XMLRPC_INTERNAL_ERROR,
- "Unable to allocate space for %u-byte string",
+ "Unable to allocate space for %zu-byte string",
size);
else {
memcpy(stringValue, wcontents, size * sizeof(wchar_t));
@@ -523,7 +523,7 @@ xmlrpc_read_base64(xmlrpc_env *
byteStringValue = malloc(size);
if (byteStringValue == NULL)
xmlrpc_env_set_fault_formatted(
- envP, XMLRPC_INTERNAL_ERROR, "Unable to allocate %u bytes "
+ envP, XMLRPC_INTERNAL_ERROR, "Unable to allocate %zu bytes "
"for byte string.", size);
else {
memcpy(byteStringValue, contents, size);
--- xmlrpc-c-1.05/src/xmlrpc_datetime.c.sizet 2006-01-03 04:39:22.000000000 +0100
+++ xmlrpc-c-1.05/src/xmlrpc_datetime.c 2006-06-04 19:06:37.000000000 +0200
@@ -331,7 +331,7 @@ validateFormat(xmlrpc_env * const envP,
const char * const t) {
if (strlen(t) != 17)
- xmlrpc_faultf(envP, "%u characters instead of 15.", strlen(t));
+ xmlrpc_faultf(envP, "%zu characters instead of 15.", strlen(t));
else if (t[8] != 'T')
xmlrpc_faultf(envP, "9th character is '%c', not 'T'", t[8]);
else {
--- xmlrpc-c-1.05/src/xmlrpc_parse.c.sizet 2006-03-23 00:48:31.000000000 +0100
+++ xmlrpc-c-1.05/src/xmlrpc_parse.c 2006-06-04 19:10:00.000000000 +0200
@@ -57,7 +57,7 @@
do \
if (xml_element_children_size(elem) != (count)) \
XMLRPC_FAIL3(env, XMLRPC_PARSE_ERROR, \
- "Expected <%s> to have %d children, found %d", \
+ "Expected <%s> to have %d children, found %zd", \
xml_element_name(elem), (count), \
xml_element_children_size(elem)); \
while (0)
@@ -595,7 +595,7 @@ parseMethodNameElement(xmlrpc_env * con
xmlrpc_env_set_fault_formatted(
envP, XMLRPC_PARSE_ERROR,
"A <methodName> element should not have children. "
- "This one has %u of them.", xml_element_children_size(nameElemP));
+ "This one has %zu of them.", xml_element_children_size(nameElemP));
else {
const char * const cdata = xml_element_cdata(nameElemP);
@@ -654,7 +654,7 @@ parseCallChildren(xmlrpc_env * const
xmlrpc_env_set_fault_formatted(
envP, XMLRPC_PARSE_ERROR,
"<methodCall> has extraneous children, other than "
- "<methodName> and <params>. Total child count = %u",
+ "<methodName> and <params>. Total child count = %zu",
callChildCount);
if (envP->fault_occurred)
@@ -697,7 +697,7 @@ xmlrpc_parse_call(xmlrpc_env * const
if (xmlLen > xmlrpc_limit_get(XMLRPC_XML_SIZE_LIMIT_ID))
xmlrpc_env_set_fault_formatted(
envP, XMLRPC_LIMIT_EXCEEDED_ERROR,
- "XML-RPC request too large. Max allowed is %u bytes",
+ "XML-RPC request too large. Max allowed is %zu bytes",
xmlrpc_limit_get(XMLRPC_XML_SIZE_LIMIT_ID));
else {
xml_element * callElemP;
@@ -773,7 +773,7 @@ parseFaultElement(xmlrpc_env * co
if (xml_element_children_size(faultElement) != 1)
xmlrpc_env_set_fault_formatted(
envP, XMLRPC_PARSE_ERROR,
- "<fault> element should have 1 child, but it has %u.",
+ "<fault> element should have 1 child, but it has %zu.",
xml_element_children_size(faultElement));
else {
xml_element * const faultValueP =
@@ -869,7 +869,7 @@ parseMethodResponseElt(xmlrpc_env *
} else
xmlrpc_env_set_fault_formatted(
envP, XMLRPC_PARSE_ERROR,
- "<methodResponse> has %u children, should have 1.",
+ "<methodResponse> has %zu children, should have 1.",
xml_element_children_size(methodResponseEltP));
}
@@ -908,8 +908,8 @@ xmlrpc_parse_response2(xmlrpc_env * c
if (xmlDataLen > xmlrpc_limit_get(XMLRPC_XML_SIZE_LIMIT_ID))
xmlrpc_env_set_fault_formatted(
envP, XMLRPC_LIMIT_EXCEEDED_ERROR,
- "XML-RPC response too large. Our limit is %u characters. "
- "We got %u characters",
+ "XML-RPC response too large. Our limit is %zu characters. "
+ "We got %zu characters",
xmlrpc_limit_get(XMLRPC_XML_SIZE_LIMIT_ID), xmlDataLen);
else {
xml_parse(envP, xmlData, xmlDataLen, &response);
--- xmlrpc-c-1.05/src/xmlrpc_server_abyss.c.sizet 2006-03-25 20:15:31.000000000 +0100
+++ xmlrpc-c-1.05/src/xmlrpc_server_abyss.c 2006-06-04 19:11:24.000000000 +0200
@@ -348,7 +348,7 @@ processCall(TSession * const abys
if (contentSize > xmlrpc_limit_get(XMLRPC_XML_SIZE_LIMIT_ID))
xmlrpc_env_set_fault_formatted(
&env, XMLRPC_LIMIT_EXCEEDED_ERROR,
- "XML-RPC request too large (%d bytes)", contentSize);
+ "XML-RPC request too large (%zd bytes)", contentSize);
else {
xmlrpc_mem_block *body;
/* Read XML data off the wire. */

View File

@ -4,17 +4,22 @@
Summary: A lightweight RPC library based on XML and HTTP Summary: A lightweight RPC library based on XML and HTTP
Name: xmlrpc-c Name: xmlrpc-c
Version: 1.05 Version: 1.06.04
Release: %release_func 1 Release: %release_func 2
License: BSD/PSF -- see COPYING License: BSD/PSF -- see COPYING
Group: System Environment/Libraries Group: System Environment/Libraries
URL: http://xmlrpc-c.sourceforge.net/ URL: http://xmlrpc-c.sourceforge.net/
Source0: http://dl.sourceforge.net/sourceforge/xmlrpc-c/%name-%version.tgz Source0: http://dl.sourceforge.net/sourceforge/xmlrpc-c/%name-%version.tgz
Patch0: xmlrpc-c-1.04-libxml2.patch
Patch2: xmlrpc-c-1.05-gcc41.patch
Patch3: xmlrpc-c-1.05-typo.patch Patch3: xmlrpc-c-1.05-typo.patch
Patch4: xmlrpc-c-1.05-libtool.patch Patch6: xmlrpc-c-1.06.04-sizet.patch
Patch5: xmlrpc-c-1.05-buildsys.patch Patch100: http://ensc.de/xmlrpc-c/0003-make-cmake-transition.txt
Patch101: http://ensc.de/xmlrpc-c/0004-added-multilib-stuff.txt
Patch102: http://ensc.de/xmlrpc-c/0005-added-xmlrpc-c-config-wrapper.txt
Patch103: http://ensc.de/xmlrpc-c/0006-added-some-tools-directories.txt
Patch104: http://ensc.de/xmlrpc-c/0007-implemented-testsuite.txt
Patch105: http://ensc.de/xmlrpc-c/0008-use-a-macro-to-set-the-linker-flags-for-executables.txt
Patch106: http://ensc.de/xmlrpc-c/0009-Install-xmlrpc-c-config-and-man-pages-added-mandir-variable.txt
Patch107: http://ensc.de/xmlrpc-c/0010-install-libxmlrpc_util.so-and-set-version-information.txt
BuildRoot: %_tmppath/%name-%version-%release-root BuildRoot: %_tmppath/%name-%version-%release-root
#BuildRequires: w3c-libwww-devel #BuildRequires: w3c-libwww-devel
BuildRequires: curl-devel libxml2-devel BuildRequires: curl-devel libxml2-devel
@ -24,6 +29,7 @@ Summary: Development files for xmlrpc-c based programs
Group: Development/Libraries Group: Development/Libraries
Requires: %name = %version-%release Requires: %name = %version-%release
Requires: libxml2-devel curl-devel Requires: libxml2-devel curl-devel
Requires: pkgconfig
%package apps %package apps
Summary: Sample XML-RPC applications Summary: Sample XML-RPC applications
@ -54,44 +60,40 @@ This package contains some handy XML-RPC demo applications.
%prep %prep
%setup -q %setup -q
%patch0 -p1 -b .libxml2
%patch2 -p1 -b .gcc41
%patch3 -p1 -b .typo %patch3 -p1 -b .typo
%patch4 -p1 -b .libtool %patch6 -p1 -b .sizet
%patch5 -p1 -b .buildsys
cat %PATCH100 %PATCH101 %PATCH102 %PATCH103 \
%PATCH104 %PATCH105 %PATCH106 %PATCH107 | patch -p1
sed -i -e '/\(chan\|init\.c\)/d' lib/abyss/src/CMakeLists.txt
sed -i -e 's!xmlrpc_decompose.c!xmlrpc_builddecomp.c!g;
s!xmlrpc_build.c!!g;' src/CMakeLists.txt
sed -i -e 's! abyss.c!!g;' src/test/CMakeLists.txt
## not needed... ## not needed...
rm doc/{INSTALL,configure_doc} rm doc/{INSTALL,configure_doc}
%build %build
%configure --enable-libxml2-backend --disable-libwww-client mkdir fedora
cd fedora
sed -i -e 's!-L/usr/%_lib\s\s*!!g; export CFLAGS="$RPM_OPT_FLAGS"
s!-L/usr/%_lib"!"!g; export CXXFLAGS="$RPM_OPT_FLAGS"
s!\(the_\S*rpath=\)\"..*\"!\1!g' xmlrpc-c-config cmake .. \
-D_lib:STRING=%_lib \
%__make \ -DMUST_BUILD_CURL_CLIENT:BOOL=ON \
CFLAGS_COMMON="-DNDEBUG -fno-common $RPM_OPT_FLAGS" \ -DMUST_BUILD_LIBWWW_CLIENT:BOOL=OFF \
CXXFLAGS_COMMON="-DNDEBUG $RPM_OPT_FLAGS" \ -DCMAKE_INSTALL_PREFIX:PATH=%_prefix \
#%{?_smp_mflags} -DBUILD_SHARED_LIBS:BOOL=ON \
-DCMAKE_SKIP_RPATH:BOOL=ON
make VERBOSE=1 %{?_smp_mflags}
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
%__make DESTDIR="$RPM_BUILD_ROOT" install cd fedora
make install DESTDIR=$RPM_BUILD_ROOT
%__install -d -m0755 $RPM_BUILD_ROOT%_mandir/man1
F=tools/xml-rpc-api2cpp/xml-rpc-api2cpp
./libtool --mode=install %__install -p -m755 $F $RPM_BUILD_ROOT/%_bindir/
%__install -p -m0644 $F.1 $RPM_BUILD_ROOT%_mandir/man1/
for i in $RPM_BUILD_ROOT%_libdir/*.a; do
test ! -e "${i%%.a}.so" || rm -f $i
done
rm -f $RPM_BUILD_ROOT%_libdir/*.la
%clean %clean
@ -112,6 +114,7 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root,-) %defattr(-,root,root,-)
%_bindir/xmlrpc-c-config %_bindir/xmlrpc-c-config
%_includedir %_includedir
%_libdir/pkgconfig/*.pc
%_libdir/*.so %_libdir/*.so
@ -126,6 +129,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog %changelog
* Sat Sep 16 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.06.04-1
- updated to 1.06.04
- patched the broken buildsystem
- disabled libwww backend explicitely
* Sun Jun 4 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.05-1 * Sun Jun 4 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 1.05-1
- updated to 1.05 - updated to 1.05
- updated patches - updated patches