Jan Engelhardt 2015-01-15 18:39:17 +00:00 committed by Git OBS Bridge
parent dd0b161532
commit 4b3190a00d
10 changed files with 62 additions and 162 deletions

View File

@ -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

View File

@ -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];

View File

@ -1,32 +0,0 @@
From: Jan Engelhardt <jengelh@medozas.de>
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;

View File

@ -1,85 +0,0 @@
From: Jan Engelhardt <jengelh@inai.de>
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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:278b37d87fd368c1104d1b5da61ff9ebb29cf462987f3301600799a70ed42ef2
size 5793624

3
gsoap-2.8.21.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:759c88bf8d8102563fe11f95a8f04f2fbe58b3fef06b76b85edf20701638a17b
size 6563932

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 \