From 4b3190a00d935bcaf554d37bbb92b66ae627fb6f35dade301eb277639bb3de02 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Thu, 15 Jan 2015 18:39:17 +0000 Subject: [PATCH] gsoap-2.8.21 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gsoap?expand=0&rev=35 --- gsoap-01-sharedlibs.diff | 47 +++++++++++----------- gsoap-02-typepuns.diff | 8 ++-- gsoap-05-ipv6.diff | 32 --------------- gsoap-06-ipv6retry.diff | 85 ---------------------------------------- gsoap-2.8.17.tar.xz | 3 -- gsoap-2.8.21.tar.xz | 3 ++ gsoap-automake1_13.diff | 8 ++-- gsoap.changes | 18 +++++++++ gsoap.spec | 12 +++--- sanitize_source.sh | 8 ++-- 10 files changed, 62 insertions(+), 162 deletions(-) delete mode 100644 gsoap-05-ipv6.diff delete mode 100644 gsoap-06-ipv6retry.diff delete mode 100644 gsoap-2.8.17.tar.xz create mode 100644 gsoap-2.8.21.tar.xz diff --git a/gsoap-01-sharedlibs.diff b/gsoap-01-sharedlibs.diff index cb02599..e27931f 100644 --- a/gsoap-01-sharedlibs.diff +++ b/gsoap-01-sharedlibs.diff @@ -4,57 +4,58 @@ Date: 2011-07-01 17:19:00 +0200 build: always use shared libraries --- - configure.in | 9 ++++----- + configure.ac | 10 +++++----- gsoap/Makefile.am | 32 +++++++++++++++++++------------- gsoap/samples/autotest/Makefile.am | 2 +- gsoap/samples/databinding/Makefile.am | 2 +- - 4 files changed, 25 insertions(+), 20 deletions(-) + 4 files changed, 26 insertions(+), 20 deletions(-) -Index: gsoap-2.8.17/configure.in +Index: gsoap-2.8.21/configure.ac =================================================================== ---- gsoap-2.8.17.orig/configure.in -+++ gsoap-2.8.17/configure.in -@@ -15,8 +15,7 @@ AM_PROG_CC_C_O +--- gsoap-2.8.21.orig/configure.ac ++++ gsoap-2.8.21/configure.ac +@@ -15,8 +15,8 @@ AM_PROG_CC_C_O AM_PROG_LEX AC_PROG_YACC AC_PROG_CPP -AC_PROG_RANLIB -#AM_PROG_LIBTOOL ++m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) +LT_INIT AC_PROG_LN_S AC_PROG_AWK AC_PROG_INSTALL -@@ -234,7 +233,7 @@ if test "x$with_openssl" = "xyes"; then - WSDL2H_EXTRA_FLAGS="-DWITH_GNUTLS -DWITH_GZIP" - WSDL2H_EXTRA_LIBS="-lgnutls -lgcrypt -lgpg-error -lz" +@@ -235,7 +235,7 @@ if test "x$with_openssl" = "xyes"; then + WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lgnutls -lgcrypt -lgpg-error -lz" + SAMPLE_INCLUDES= SAMPLE_SSL_LIBS="-lgnutls -lgcrypt -lgpg-error -lz" - WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a" + WSDL2H_SOAP_CPP_LIB="libgsoapssl++.la" else AC_MSG_RESULT(no) WSDL2H_EXTRA_FLAGS="-DWITH_OPENSSL -DWITH_GZIP" -@@ -242,7 +241,7 @@ if test "x$with_openssl" = "xyes"; then - # compile with wsdl2h when OPENSSL is available - WSDL2H_EXTRA_LIBS="../plugin/httpda.c ../plugin/md5evp.c -lssl -lcrypto -lz" +@@ -244,7 +244,7 @@ if test "x$with_openssl" = "xyes"; then + WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} ../plugin/httpda.c ../plugin/md5evp.c ../plugin/threads.c -lssl -lcrypto -lz" + SAMPLE_INCLUDES= SAMPLE_SSL_LIBS="-lssl -lcrypto -lz" - WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a" + WSDL2H_SOAP_CPP_LIB="libgsoapssl++.la" fi if test -n "$OPENSSL"; then WSDL2H_EXTRA_FLAGS="-I${OPENSSL}/include ${WSDL2H_EXTRA_FLAGS}" -@@ -254,7 +253,7 @@ else +@@ -257,7 +257,7 @@ else WSDL2H_EXTRA_FLAGS= - WSDL2H_EXTRA_LIBS= SAMPLE_SSL_LIBS= + SAMPLE_INCLUDES= - WSDL2H_SOAP_CPP_LIB="libgsoap++.a" + WSDL2H_SOAP_CPP_LIB="libgsoap++.la" fi AC_SUBST(WSDL2H_EXTRA_FLAGS) AC_SUBST(WSDL2H_EXTRA_LIBS) -Index: gsoap-2.8.17/gsoap/Makefile.am +Index: gsoap-2.8.21/gsoap/Makefile.am =================================================================== ---- gsoap-2.8.17.orig/gsoap/Makefile.am -+++ gsoap-2.8.17/gsoap/Makefile.am +--- gsoap-2.8.21.orig/gsoap/Makefile.am ++++ gsoap-2.8.21/gsoap/Makefile.am @@ -34,20 +34,26 @@ stdsoap2_ssl_cpp.cpp: stdsoap2.cpp dom_cpp.cpp: dom.cpp $(LN_S) -f $(srcdir)/dom.cpp dom_cpp.cpp @@ -95,10 +96,10 @@ Index: gsoap-2.8.17/gsoap/Makefile.am BUILT_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp $(lib_LIBRARIES) -Index: gsoap-2.8.17/gsoap/samples/autotest/Makefile.am +Index: gsoap-2.8.21/gsoap/samples/autotest/Makefile.am =================================================================== ---- gsoap-2.8.17.orig/gsoap/samples/autotest/Makefile.am -+++ gsoap-2.8.17/gsoap/samples/autotest/Makefile.am +--- gsoap-2.8.21.orig/gsoap/samples/autotest/Makefile.am ++++ gsoap-2.8.21/gsoap/samples/autotest/Makefile.am @@ -14,7 +14,7 @@ SOAP_FLAGS=-SL -T -I$(top_srcdir)/gsoap/ WSDLINPUT=$(srcdir)/examples.wsdl SOAPHEADER=$(srcdir)/examples.h @@ -108,10 +109,10 @@ Index: gsoap-2.8.17/gsoap/samples/autotest/Makefile.am $(SOAP_CPP_SRC) : $(WSDLINPUT) $(WSDL) $(WSDL_FLAGS) $(WSDLINPUT) -Index: gsoap-2.8.17/gsoap/samples/databinding/Makefile.am +Index: gsoap-2.8.21/gsoap/samples/databinding/Makefile.am =================================================================== ---- gsoap-2.8.17.orig/gsoap/samples/databinding/Makefile.am -+++ gsoap-2.8.17/gsoap/samples/databinding/Makefile.am +--- gsoap-2.8.21.orig/gsoap/samples/databinding/Makefile.am ++++ gsoap-2.8.21/gsoap/samples/databinding/Makefile.am @@ -14,7 +14,7 @@ SOAP_FLAGS=-0 -CS -p address -I$(top_src WSDLINPUT=$(srcdir)/address.xsd SOAPHEADER=$(srcdir)/address.h diff --git a/gsoap-02-typepuns.diff b/gsoap-02-typepuns.diff index 426200a..92964b3 100644 --- a/gsoap-02-typepuns.diff +++ b/gsoap-02-typepuns.diff @@ -11,11 +11,11 @@ themselves in SIGBUS. gsoap/stdsoap2.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -Index: gsoap-2.8.3/gsoap/stdsoap2.c +Index: gsoap-2.8.21/gsoap/stdsoap2.c =================================================================== ---- gsoap-2.8.3.orig/gsoap/stdsoap2.c -+++ gsoap-2.8.3/gsoap/stdsoap2.c -@@ -2946,10 +2946,12 @@ int +--- gsoap-2.8.21.orig/gsoap/stdsoap2.c ++++ gsoap-2.8.21/gsoap/stdsoap2.c +@@ -3073,10 +3073,12 @@ int SOAP_FMAC2 soap_rand() { unsigned char buf[4]; diff --git a/gsoap-05-ipv6.diff b/gsoap-05-ipv6.diff deleted file mode 100644 index e85780c..0000000 --- a/gsoap-05-ipv6.diff +++ /dev/null @@ -1,32 +0,0 @@ -From: Jan Engelhardt -Date: 2011-11-10 16:47:10.249693116 +0100 -Upstream: tbd - -IPPROTO_IPV6 socket options must only be applied to AF_INET6 sockets -(it fails otherwise). - ---- - gsoap/stdsoap2.cpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: gsoap-2.8.4/gsoap/stdsoap2.cpp -=================================================================== ---- gsoap-2.8.4.orig/gsoap/stdsoap2.cpp -+++ gsoap-2.8.4/gsoap/stdsoap2.cpp -@@ -4685,14 +4685,14 @@ soap_bind(struct soap *soap, const char - #endif - #ifdef WITH_IPV6 - #ifdef WITH_IPV6_V6ONLY -- if (setsockopt(soap->master, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&set, sizeof(int))) -+ if (res.ai_family == AF_INET6 && setsockopt(soap->master, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&set, sizeof(int)) < 0) - { soap->errnum = soap_socket_errno(soap->master); - soap_set_receiver_error(soap, tcp_error(soap), "setsockopt set IPV6_V6ONLY failed in soap_bind()", SOAP_TCP_ERROR); - return SOAP_INVALID_SOCKET; - } - #endif - #ifdef WITH_NO_IPV6_V6ONLY -- if (setsockopt(soap->master, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&unset, sizeof(int))) -+ if (res.ai_family == AF_INET6 && setsockopt(soap->master, IPPROTO_IPV6, IPV6_V6ONLY, (char*)&unset, sizeof(int)) < 0) - { soap->errnum = soap_socket_errno(soap->master); - soap_set_receiver_error(soap, tcp_error(soap), "setsockopt unset IPV6_V6ONLY failed in soap_bind()", SOAP_TCP_ERROR); - return SOAP_INVALID_SOCKET; diff --git a/gsoap-06-ipv6retry.diff b/gsoap-06-ipv6retry.diff deleted file mode 100644 index e41cbb9..0000000 --- a/gsoap-06-ipv6retry.diff +++ /dev/null @@ -1,85 +0,0 @@ -From: Jan Engelhardt -Date: 2014-02-04 17:33:39.018679884 +0100 - -When using getaddrinfo, *all* sockets must be tried. -Remove pointless casts to void *; this implicit even in C++. - -(The code is horribly indented and sprinkled with ifdefs much like -Linux 2.4. That should be factored out into separate functions.) - ---- - gsoap/stdsoap2.cpp | 14 +++++++++++--- - gsoap/stdsoap2.h | 2 ++ - 2 files changed, 13 insertions(+), 3 deletions(-) - -Index: gsoap-2.8.17/gsoap/stdsoap2.cpp -=================================================================== ---- gsoap-2.8.17.orig/gsoap/stdsoap2.cpp -+++ gsoap-2.8.17/gsoap/stdsoap2.cpp -@@ -3847,7 +3847,7 @@ tcp_connect(struct soap *soap, const cha - } - soap->errmode = 0; - #ifdef WITH_IPV6 -- memset((void*)&hints, 0, sizeof(hints)); -+ memset(&hints, 0, sizeof(hints)); - hints.ai_family = PF_UNSPEC; - #ifndef WITH_LEAN - if ((soap->omode & SOAP_IO_UDP)) -@@ -3868,7 +3868,7 @@ tcp_connect(struct soap *soap, const cha - again: - sk = socket(res->ai_family, res->ai_socktype, res->ai_protocol); - soap->errmode = 0; --#else -+#else /* WITH_IPV6 */ - #ifndef WITH_LEAN - again: - #endif -@@ -3878,7 +3878,7 @@ again: - else - #endif - sk = socket(AF_INET, SOCK_STREAM, 0); --#endif -+#endif /* WITH_IPV6 */ - if (!soap_valid_socket(sk)) - { - #ifdef WITH_IPV6 -@@ -4081,6 +4081,7 @@ again: - SOAP_SOCKBLOCK(sk) - retries = 10; - #endif -+ - for (;;) - { - #ifdef WITH_IPV6 -@@ -4089,6 +4090,13 @@ again: - if (connect(sk, (struct sockaddr*)&soap->peer, sizeof(soap->peer))) - #endif - { err = soap_socket_errno(sk); -+#ifdef WITH_IPV6 -+ if (err == SOAP_ECONNREFUSED && res->ai_next != NULL) { -+ soap->fclosesocket(soap, sk); -+ res = res->ai_next; -+ goto again; -+ } -+#endif - #ifndef WITH_LEAN - if (err == SOAP_EADDRINUSE) - { soap->fclosesocket(soap, sk); -Index: gsoap-2.8.17/gsoap/stdsoap2.h -=================================================================== ---- gsoap-2.8.17.orig/gsoap/stdsoap2.h -+++ gsoap-2.8.17/gsoap/stdsoap2.h -@@ -972,11 +972,13 @@ extern "C" { - # define SOAP_EWOULDBLOCK WSAEWOULDBLOCK - # define SOAP_EINPROGRESS WSAEINPROGRESS - # define SOAP_EADDRINUSE WSAEADDRINUSE -+# define SOAP_ECONNREFUSED WSAECONNREFUSED - #else - # define SOAP_ERANGE ERANGE - # define SOAP_EINTR EINTR - # define SOAP_EAGAIN EAGAIN - # define SOAP_EADDRINUSE EADDRINUSE -+# define SOAP_ECONNREFUSED ECONNREFUSED - # ifdef SYMBIAN - # define SOAP_EWOULDBLOCK 9898 - # define SOAP_EINPROGRESS 9899 diff --git a/gsoap-2.8.17.tar.xz b/gsoap-2.8.17.tar.xz deleted file mode 100644 index 6470bc7..0000000 --- a/gsoap-2.8.17.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:278b37d87fd368c1104d1b5da61ff9ebb29cf462987f3301600799a70ed42ef2 -size 5793624 diff --git a/gsoap-2.8.21.tar.xz b/gsoap-2.8.21.tar.xz new file mode 100644 index 0000000..bb667f4 --- /dev/null +++ b/gsoap-2.8.21.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:759c88bf8d8102563fe11f95a8f04f2fbe58b3fef06b76b85edf20701638a17b +size 6563932 diff --git a/gsoap-automake1_13.diff b/gsoap-automake1_13.diff index a067638..2f5ba98 100644 --- a/gsoap-automake1_13.diff +++ b/gsoap-automake1_13.diff @@ -4,13 +4,13 @@ Date: 2013-02-28 23:21:08.137905619 +0100 automake-1.13 has finally removed AM_CONFIG_HEADER. --- - configure.in | 3 +-- + configure.ac | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -Index: gsoap-2.8.14/configure.in +Index: gsoap-2.8.14/configure.ac =================================================================== ---- gsoap-2.8.14.orig/configure.in -+++ gsoap-2.8.14/configure.in +--- gsoap-2.8.14.orig/configure.ac ++++ gsoap-2.8.14/configure.ac @@ -4,8 +4,7 @@ AM_INIT_AUTOMAKE(gsoap, 2.8) AC_CONFIG_SRCDIR([gsoap/stdsoap2.cpp]) AC_CANONICAL_HOST diff --git a/gsoap.changes b/gsoap.changes index 95a0ee5..564f028 100644 --- a/gsoap.changes +++ b/gsoap.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Thu Jan 15 18:34:35 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.8.21 +* Added xs:precision and xs:scale support. +* Added support for BPEL PartnerLink and VariableProperties to + wsdl2h in support of BPEL projects. +* Added soapcpp -z2 flag for backward compatibility with to 2.7.x: + omit XML output of elements for pointers that are NULL even when + minOccurs=1 (required). +* Changed wsdl2h C++ output to always generate pass-by-reference + response parameters (disable with -z6). +* Added XML 1.1 control char encoding support. +* Added -DWITH_REPLACE_ILLEGAL_UTF8 compilation option to replace + UTF8 content that is outside the allowed range of XML 1.0. +- Remove gsoap-05-ipv6.diff, gsoap-06-ipv6retry.diff + (merged upstream) + ------------------------------------------------------------------- Sun Aug 3 23:16:48 UTC 2014 - jengelh@inai.de diff --git a/gsoap.spec b/gsoap.spec index b162387..3934856 100644 --- a/gsoap.spec +++ b/gsoap.spec @@ -1,7 +1,7 @@ # # spec file for package gsoap # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,21 +18,19 @@ Name: gsoap %define lname libgsoap-2_8-0 +Version: 2.8.21 +Release: 0 Summary: Toolkit for C/C++ server and client web service applications License: SUSE-GPL-2.0+-with-openssl-exception Group: Development/Libraries/C and C++ -Version: 2.8.17 -Release: 0 Url: http://gsoap2.sf.net/ -#DL-URL: http://downloads.sf.net/gsoap2/gsoap_2.8.17.zip +#DL-URL: http://downloads.sf.net/gsoap2/gsoap_2.8.21.zip Source: gsoap-%version.tar.xz Source2: sanitize_source.sh Patch13: gsoap-automake1_13.diff Patch1: gsoap-01-sharedlibs.diff Patch2: gsoap-02-typepuns.diff -Patch5: gsoap-05-ipv6.diff -Patch6: gsoap-06-ipv6retry.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -112,7 +110,7 @@ tar -xf "%{S:0}" --use=xz; %setup -DTq %endif cmp gsoap/stdsoap2.cpp gsoap/stdsoap2.c -%patch -P 13 -P 1 -P 2 -P 5 -P 6 -p1 +%patch -P 13 -P 1 -P 2 -p1 cp gsoap/stdsoap2.cpp gsoap/stdsoap2.c %build diff --git a/sanitize_source.sh b/sanitize_source.sh index c810368..8cbe47b 100644 --- a/sanitize_source.sh +++ b/sanitize_source.sh @@ -8,12 +8,12 @@ if ! which fdupes >/dev/null; then echo "fdupes not installed."; exit 1; fi; -if ! which fduphl >/dev/null; then - echo "hxtools:fduphl not installed."; +if ! which hardlink >/dev/null; then + echo "The \"hardlink\" utility (package: hardlink) is not installed."; exit 1; fi; -version="2.8.17"; +version="2.8.21"; shortver="2.8"; # agh... rm -Rf "gsoap-$shortver" "gsoap-$version"; @@ -32,7 +32,7 @@ rm -Rf "gsoap-$version/gsoap/ios_plugin"; find "gsoap-$version" -type f "(" \ -iname "*.exe" -o -iname "*.dll" -o -name "*.o" -o \ -name "*~" -o -name .DS_Store ")" -delete; -fduphl "gsoap-$version"; +hardlink "gsoap-$version"; echo Now... find "gsoap-$version" -print0 | sort -z | \ tar -T- --null --owner=root --group=root --no-recur --use=xz \