From 41429e53e796b688ce10036f29419dab290ce399095975aa4c0534f5209204fb Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Thu, 19 Jan 2017 09:59:31 +0000 Subject: [PATCH 1/6] gsoap-2.8.41 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gsoap?expand=0&rev=80 --- gsoap-2.8.40.tar.xz | 3 --- gsoap-2.8.41.tar.xz | 3 +++ gsoap.changes | 12 ++++++++++++ gsoap.spec | 6 +++--- sanitize_source.sh | 2 +- 5 files changed, 19 insertions(+), 7 deletions(-) delete mode 100644 gsoap-2.8.40.tar.xz create mode 100644 gsoap-2.8.41.tar.xz diff --git a/gsoap-2.8.40.tar.xz b/gsoap-2.8.40.tar.xz deleted file mode 100644 index 701ddd7..0000000 --- a/gsoap-2.8.40.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a5fe64a0cb0aa57e4dc96d08e6305e7b49f9894035477608b318fa549d695485 -size 21216588 diff --git a/gsoap-2.8.41.tar.xz b/gsoap-2.8.41.tar.xz new file mode 100644 index 0000000..583cb04 --- /dev/null +++ b/gsoap-2.8.41.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:049d50bae75b4cf31408c3bf19a3d34af185ac6e50fc1cff831e6b90e41fcfdd +size 97087772 diff --git a/gsoap.changes b/gsoap.changes index 07dc9a7..e2bb9c7 100644 --- a/gsoap.changes +++ b/gsoap.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Thu Jan 19 09:06:14 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 2.8.41 + * Added updates to support OpenSSL 1.1.0. + * Added HTTP header `Accept: + multipart/related,application/xop+xml,*/*;q=0.8` when MTOM is + expected (i.e. when the input mode flag is set to + `SOAP_ENC_MTOM`). + * Improved CORS internals and compatibility. + * Fixed minor issues with `WITH_NOIO` and `WITH_NO_C_LOCALE`. + ------------------------------------------------------------------- Tue Dec 13 09:34:31 UTC 2016 - jengelh@inai.de diff --git a/gsoap.spec b/gsoap.spec index a3dd30a..e158d17 100644 --- a/gsoap.spec +++ b/gsoap.spec @@ -1,7 +1,7 @@ # # spec file for package gsoap # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,8 +17,8 @@ Name: gsoap -%define lname libgsoap-2_8_40 -Version: 2.8.40 +%define lname libgsoap-2_8_41 +Version: 2.8.41 Release: 0 Summary: Toolkit for C/C++ server and client web service applications License: SUSE-GPL-2.0+-with-openssl-exception diff --git a/sanitize_source.sh b/sanitize_source.sh index 2e17661..9c60f48 100644 --- a/sanitize_source.sh +++ b/sanitize_source.sh @@ -13,7 +13,7 @@ if ! which hardlink >/dev/null; then exit 1; fi; -version="2.8.40" +version="2.8.41" shortver="2.8" # agh... wget -c "http://downloads.sf.net/gsoap2/gsoap_$version.zip" From 6ed0b092ae86e811753fba1dd89dae4ac1653ec0fa378bc8f532f70730ea73c1 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Thu, 19 Jan 2017 16:15:56 +0000 Subject: [PATCH 2/6] - Drop gsoap-openssl110.patch (included upstream) OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gsoap?expand=0&rev=81 --- gsoap-openssl110.patch | 168 ----------------------------------------- gsoap.changes | 1 + gsoap.spec | 3 +- 3 files changed, 2 insertions(+), 170 deletions(-) delete mode 100644 gsoap-openssl110.patch diff --git a/gsoap-openssl110.patch b/gsoap-openssl110.patch deleted file mode 100644 index e0459bd..0000000 --- a/gsoap-openssl110.patch +++ /dev/null @@ -1,168 +0,0 @@ -From: http://ftp.gwdg.org/pub/linux/debian/debian/pool/main/g/gsoap/gsoap_2.8.35-4.debian.tar.xz - -diff -ur gsoap-2.8.34.orig/gsoap/plugin/mecevp.c gsoap-2.8.34/gsoap/plugin/mecevp.c ---- gsoap-2.8.34.orig/gsoap/plugin/mecevp.c 2016-08-17 13:36:00.000000000 +0200 -+++ gsoap-2.8.34/gsoap/plugin/mecevp.c 2016-09-09 15:30:48.416000000 +0200 -@@ -284,10 +284,15 @@ - int ok = 1; - DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_mec_init()\n")); - soap_ssl_init(); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - data->ctx = (EVP_CIPHER_CTX*)SOAP_MALLOC(soap, sizeof(EVP_CIPHER_CTX)); -+ if (data->ctx) -+ EVP_CIPHER_CTX_init(data->ctx); -+#else -+ data->ctx = EVP_CIPHER_CTX_new(); -+#endif - if (!data->ctx) - return soap->error = SOAP_EOM; -- EVP_CIPHER_CTX_init(data->ctx); - data->alg = alg; - data->state = SOAP_MEC_STATE_NONE; - data->restidx = 0; -@@ -443,8 +448,12 @@ - data->type = NULL; - if (data->ctx) - { -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - EVP_CIPHER_CTX_cleanup(data->ctx); - SOAP_FREE(soap, data->ctx); -+#else -+ EVP_CIPHER_CTX_free(data->ctx); -+#endif - data->ctx = NULL; - } - if (data->buf) -diff -ur gsoap-2.8.34.orig/gsoap/plugin/smdevp.c gsoap-2.8.34/gsoap/plugin/smdevp.c ---- gsoap-2.8.34.orig/gsoap/plugin/smdevp.c 2016-08-17 13:36:00.000000000 +0200 -+++ gsoap-2.8.34/gsoap/plugin/smdevp.c 2016-09-09 14:59:46.348000000 +0200 -@@ -479,17 +479,27 @@ - /* allocate and init the OpenSSL HMAC or EVP_MD context */ - if ((alg & SOAP_SMD_ALGO) == SOAP_SMD_HMAC) - { -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - data->ctx = (void*)SOAP_MALLOC(soap, sizeof(HMAC_CTX)); -+ if (data->ctx) -+ HMAC_CTX_init((HMAC_CTX*)data->ctx); -+#else -+ data->ctx = (void*)HMAC_CTX_new(); -+#endif - if (!data->ctx) - return soap_set_receiver_error(soap, "soap_smd_init() failed", "No context", SOAP_SSL_ERROR); -- HMAC_CTX_init((HMAC_CTX*)data->ctx); - } - else - { -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - data->ctx = (void*)SOAP_MALLOC(soap, sizeof(EVP_MD_CTX)); -+ if (data->ctx) -+ EVP_MD_CTX_init((EVP_MD_CTX*)data->ctx); -+#else -+ data->ctx = (void*)EVP_MD_CTX_new(); -+#endif - if (!data->ctx) - return soap_set_receiver_error(soap, "soap_smd_init() failed", "No context", SOAP_SSL_ERROR); -- EVP_MD_CTX_init((EVP_MD_CTX*)data->ctx); - } - DBGLOG(TEST, SOAP_MESSAGE(fdebug, "-- SMD Init alg=%x (%p) --\n", alg, data->ctx)); - /* init the digest or signature computations */ -@@ -634,11 +644,22 @@ - *len = (int)n; - } - /* cleanup */ -- if ((data->alg & SOAP_SMD_ALGO) == SOAP_SMD_HMAC) -+ if ((data->alg & SOAP_SMD_ALGO) == SOAP_SMD_HMAC) { -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - HMAC_CTX_cleanup((HMAC_CTX*)data->ctx); -- else -+ SOAP_FREE(soap, data->ctx); -+#else -+ HMAC_CTX_free((HMAC_CTX*)data->ctx); -+#endif -+ } -+ else { -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - EVP_MD_CTX_cleanup((EVP_MD_CTX*)data->ctx); -- SOAP_FREE(soap, data->ctx); -+ SOAP_FREE(soap, data->ctx); -+#else -+ EVP_MD_CTX_free((EVP_MD_CTX*)data->ctx); -+#endif -+ } - data->ctx = NULL; - /* check and return */ - return soap_smd_check(soap, data, ok, "soap_smd_final() failed"); -@@ -672,11 +693,22 @@ - } - if (data->ctx) - { -- if ((data->alg & SOAP_SMD_ALGO) == SOAP_SMD_HMAC) -+ if ((data->alg & SOAP_SMD_ALGO) == SOAP_SMD_HMAC) { -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - HMAC_CTX_cleanup((HMAC_CTX*)data->ctx); -- else -+ SOAP_FREE(soap, data->ctx); -+#else -+ HMAC_CTX_free((HMAC_CTX*)data->ctx); -+#endif -+ } -+ else { -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - EVP_MD_CTX_cleanup((EVP_MD_CTX*)data->ctx); -- SOAP_FREE(soap, data->ctx); -+ SOAP_FREE(soap, data->ctx); -+#else -+ EVP_MD_CTX_free((EVP_MD_CTX*)data->ctx); -+#endif -+ } - data->ctx = NULL; - } - return soap_set_receiver_error(soap, msg, soap->msgbuf, SOAP_SSL_ERROR); -diff -ur gsoap-2.8.34.orig/gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp gsoap-2.8.34/gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp ---- gsoap-2.8.34.orig/gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp 2016-08-17 13:36:04.000000000 +0200 -+++ gsoap-2.8.34/gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp 2016-09-09 13:22:07.488000000 +0200 -@@ -5061,7 +5061,7 @@ - break; - name = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(subj, i)); - if (name) -- { if (!soap_tag_cmp(host, (const char*)M_ASN1_STRING_data(name))) -+ { if (!soap_tag_cmp(host, (const char*)ASN1_STRING_data(name))) - ok = 1; - else - { unsigned char *tmp = NULL; -diff -ur gsoap-2.8.34.orig/gsoap/stdsoap2.c gsoap-2.8.34/gsoap/stdsoap2.c ---- gsoap-2.8.34.orig/gsoap/stdsoap2.c 2016-08-17 13:36:06.000000000 +0200 -+++ gsoap-2.8.34/gsoap/stdsoap2.c 2016-09-09 13:22:07.488000000 +0200 -@@ -5061,7 +5061,7 @@ - break; - name = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(subj, i)); - if (name) -- { if (!soap_tag_cmp(host, (const char*)M_ASN1_STRING_data(name))) -+ { if (!soap_tag_cmp(host, (const char*)ASN1_STRING_data(name))) - ok = 1; - else - { unsigned char *tmp = NULL; -diff -ur gsoap-2.8.34.orig/gsoap/stdsoap2.cpp gsoap-2.8.34/gsoap/stdsoap2.cpp ---- gsoap-2.8.34.orig/gsoap/stdsoap2.cpp 2016-08-17 13:36:06.000000000 +0200 -+++ gsoap-2.8.34/gsoap/stdsoap2.cpp 2016-09-09 13:22:07.488000000 +0200 -@@ -5061,7 +5061,7 @@ - break; - name = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(subj, i)); - if (name) -- { if (!soap_tag_cmp(host, (const char*)M_ASN1_STRING_data(name))) -+ { if (!soap_tag_cmp(host, (const char*)ASN1_STRING_data(name))) - ok = 1; - else - { unsigned char *tmp = NULL; -diff -ur gsoap-2.8.34.orig/gsoap/VisualStudio2005/wsdl2h/wsdl2h/stdsoap2.cpp gsoap-2.8.34/gsoap/VisualStudio2005/wsdl2h/wsdl2h/stdsoap2.cpp ---- gsoap-2.8.34.orig/gsoap/VisualStudio2005/wsdl2h/wsdl2h/stdsoap2.cpp 2016-08-17 13:36:06.000000000 +0200 -+++ gsoap-2.8.34/gsoap/VisualStudio2005/wsdl2h/wsdl2h/stdsoap2.cpp 2016-09-09 13:22:07.488000000 +0200 -@@ -5061,7 +5061,7 @@ - break; - name = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(subj, i)); - if (name) -- { if (!soap_tag_cmp(host, (const char*)M_ASN1_STRING_data(name))) -+ { if (!soap_tag_cmp(host, (const char*)ASN1_STRING_data(name))) - ok = 1; - else - { unsigned char *tmp = NULL; diff --git a/gsoap.changes b/gsoap.changes index e2bb9c7..2d45728 100644 --- a/gsoap.changes +++ b/gsoap.changes @@ -9,6 +9,7 @@ Thu Jan 19 09:06:14 UTC 2017 - jengelh@inai.de `SOAP_ENC_MTOM`). * Improved CORS internals and compatibility. * Fixed minor issues with `WITH_NOIO` and `WITH_NO_C_LOCALE`. +- Drop gsoap-openssl110.patch (included upstream) ------------------------------------------------------------------- Tue Dec 13 09:34:31 UTC 2016 - jengelh@inai.de diff --git a/gsoap.spec b/gsoap.spec index e158d17..ef3ac63 100644 --- a/gsoap.spec +++ b/gsoap.spec @@ -30,7 +30,6 @@ Source: gsoap-%version.tar.xz Source2: sanitize_source.sh Patch1: gsoap-automake1_13.diff Patch2: gsoap-01-sharedlibs.diff -Patch3: gsoap-openssl110.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -85,7 +84,7 @@ available or under development. %prep %setup -q cmp gsoap/stdsoap2.cpp gsoap/stdsoap2.c -%patch -P 1 -P 2 -P 3 -p1 +%patch -P 1 -P 2 -p1 ln -fs stdsoap2.cpp gsoap/stdsoap2.c %build From 04ddc989a9da94fb2595ea52365d42bb5d7a36c1530dea9b0fd335e8cc5129e6 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 24 Jan 2017 11:07:12 +0000 Subject: [PATCH 3/6] - Add gsoap-02-accept.diff OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gsoap?expand=0&rev=82 --- gsoap-02-accept.diff | 24 ++++++++++++++++++++++++ gsoap.changes | 5 +++++ gsoap.spec | 6 ++++-- 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 gsoap-02-accept.diff diff --git a/gsoap-02-accept.diff b/gsoap-02-accept.diff new file mode 100644 index 0000000..1041c75 --- /dev/null +++ b/gsoap-02-accept.diff @@ -0,0 +1,24 @@ +From: Jan Engelhardt +Date: 2017-01-24 10:28:48.315550326 +0100 + +Undo change introduced in 2.8.41 which closes connections +at the time of accept(2). + +References: https://sourceforge.net/p/gsoap2/bugs/1095/ +--- + gsoap/stdsoap2.cpp | 2 -- + 1 file changed, 2 deletions(-) + +Index: gsoap-2.8.41/gsoap/stdsoap2.cpp +=================================================================== +--- gsoap-2.8.41.orig/gsoap/stdsoap2.cpp ++++ gsoap-2.8.41/gsoap/stdsoap2.cpp +@@ -5798,8 +5798,6 @@ soap_accept(struct soap *soap) + #endif + soap->error = SOAP_OK; + memset((void*)&soap->peer, 0, sizeof(soap->peer)); +- if (soap_valid_socket(soap->socket) && !(soap->omode & SOAP_IO_UDP)) +- soap->fclosesocket(soap, soap->socket); + soap->socket = SOAP_INVALID_SOCKET; + soap->errmode = 0; + soap->keep_alive = 0; diff --git a/gsoap.changes b/gsoap.changes index 2d45728..4f80b08 100644 --- a/gsoap.changes +++ b/gsoap.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jan 24 09:29:04 UTC 2017 - jengelh@inai.de + +- Add gsoap-02-accept.diff + ------------------------------------------------------------------- Thu Jan 19 09:06:14 UTC 2017 - jengelh@inai.de diff --git a/gsoap.spec b/gsoap.spec index ef3ac63..75fab60 100644 --- a/gsoap.spec +++ b/gsoap.spec @@ -25,11 +25,11 @@ License: SUSE-GPL-2.0+-with-openssl-exception Group: Development/Libraries/C and C++ Url: http://www.genivia.com/dev.html -#DL-URL: http://downloads.sf.net/gsoap2/gsoap_2.8.36.zip Source: gsoap-%version.tar.xz Source2: sanitize_source.sh Patch1: gsoap-automake1_13.diff Patch2: gsoap-01-sharedlibs.diff +Patch3: gsoap-02-accept.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -84,7 +84,7 @@ available or under development. %prep %setup -q cmp gsoap/stdsoap2.cpp gsoap/stdsoap2.c -%patch -P 1 -P 2 -p1 +%patch -P 1 -P 2 -P 3 -p1 ln -fs stdsoap2.cpp gsoap/stdsoap2.c %build @@ -96,6 +96,8 @@ perl -i -lpe 's{AC_INIT\(gsoap, 2.8\)}{AC_INIT([gsoap], [%version])}' \ # Also needed because Makefile.am and configure.ac are touched. autoreconf -fi +export CFLAGS="-O0 -ggdb3" +export CXXFLAGS="-O0 -ggdb3" %configure --enable-ipv6 --disable-static pushd gsoap/src/ # build prerequisites for parallel build first From 9d5f64ae24353e54d3f96607972619641c6260d4cc61285e33995c47d15110db Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 24 Jan 2017 14:01:26 +0000 Subject: [PATCH 4/6] - Update to new upstream release 2.8.42 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gsoap?expand=0&rev=83 --- gsoap-02-accept.diff | 24 ------------------------ gsoap-2.8.41.tar.xz | 3 --- gsoap-2.8.42.tar.xz | 3 +++ gsoap.changes | 9 +++++++-- gsoap.spec | 9 +++------ sanitize_source.sh | 8 +++++--- 6 files changed, 18 insertions(+), 38 deletions(-) delete mode 100644 gsoap-02-accept.diff delete mode 100644 gsoap-2.8.41.tar.xz create mode 100644 gsoap-2.8.42.tar.xz diff --git a/gsoap-02-accept.diff b/gsoap-02-accept.diff deleted file mode 100644 index 1041c75..0000000 --- a/gsoap-02-accept.diff +++ /dev/null @@ -1,24 +0,0 @@ -From: Jan Engelhardt -Date: 2017-01-24 10:28:48.315550326 +0100 - -Undo change introduced in 2.8.41 which closes connections -at the time of accept(2). - -References: https://sourceforge.net/p/gsoap2/bugs/1095/ ---- - gsoap/stdsoap2.cpp | 2 -- - 1 file changed, 2 deletions(-) - -Index: gsoap-2.8.41/gsoap/stdsoap2.cpp -=================================================================== ---- gsoap-2.8.41.orig/gsoap/stdsoap2.cpp -+++ gsoap-2.8.41/gsoap/stdsoap2.cpp -@@ -5798,8 +5798,6 @@ soap_accept(struct soap *soap) - #endif - soap->error = SOAP_OK; - memset((void*)&soap->peer, 0, sizeof(soap->peer)); -- if (soap_valid_socket(soap->socket) && !(soap->omode & SOAP_IO_UDP)) -- soap->fclosesocket(soap, soap->socket); - soap->socket = SOAP_INVALID_SOCKET; - soap->errmode = 0; - soap->keep_alive = 0; diff --git a/gsoap-2.8.41.tar.xz b/gsoap-2.8.41.tar.xz deleted file mode 100644 index 583cb04..0000000 --- a/gsoap-2.8.41.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:049d50bae75b4cf31408c3bf19a3d34af185ac6e50fc1cff831e6b90e41fcfdd -size 97087772 diff --git a/gsoap-2.8.42.tar.xz b/gsoap-2.8.42.tar.xz new file mode 100644 index 0000000..ec9f428 --- /dev/null +++ b/gsoap-2.8.42.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a627e73b8677e4c925cfdcd2728711b2267286a9e35d1918cf5b0f2dcadecc4 +size 22142080 diff --git a/gsoap.changes b/gsoap.changes index 4f80b08..1f11bf9 100644 --- a/gsoap.changes +++ b/gsoap.changes @@ -1,7 +1,12 @@ ------------------------------------------------------------------- -Tue Jan 24 09:29:04 UTC 2017 - jengelh@inai.de +Tue Jan 24 13:53:09 UTC 2017 - jengelh@inai.de -- Add gsoap-02-accept.diff +- Update to new upstream release 2.8.42 + * Fixed shared pointer to QName string QName output normalization. + * Improved `WITH_REPLACE_ILLEGAL_UTF8` flag to optionally compile + the library with: this replaces illegal UTF-8 input/output + with the replacement character U+FFFD (or define your own + `SOAP_UNKNOWN_UNICODE_CHAR`). ------------------------------------------------------------------- Thu Jan 19 09:06:14 UTC 2017 - jengelh@inai.de diff --git a/gsoap.spec b/gsoap.spec index 75fab60..5d0d596 100644 --- a/gsoap.spec +++ b/gsoap.spec @@ -17,8 +17,8 @@ Name: gsoap -%define lname libgsoap-2_8_41 -Version: 2.8.41 +%define lname libgsoap-2_8_42 +Version: 2.8.42 Release: 0 Summary: Toolkit for C/C++ server and client web service applications License: SUSE-GPL-2.0+-with-openssl-exception @@ -29,7 +29,6 @@ Source: gsoap-%version.tar.xz Source2: sanitize_source.sh Patch1: gsoap-automake1_13.diff Patch2: gsoap-01-sharedlibs.diff -Patch3: gsoap-02-accept.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -84,7 +83,7 @@ available or under development. %prep %setup -q cmp gsoap/stdsoap2.cpp gsoap/stdsoap2.c -%patch -P 1 -P 2 -P 3 -p1 +%patch -P 1 -P 2 -p1 ln -fs stdsoap2.cpp gsoap/stdsoap2.c %build @@ -96,8 +95,6 @@ perl -i -lpe 's{AC_INIT\(gsoap, 2.8\)}{AC_INIT([gsoap], [%version])}' \ # Also needed because Makefile.am and configure.ac are touched. autoreconf -fi -export CFLAGS="-O0 -ggdb3" -export CXXFLAGS="-O0 -ggdb3" %configure --enable-ipv6 --disable-static pushd gsoap/src/ # build prerequisites for parallel build first diff --git a/sanitize_source.sh b/sanitize_source.sh index 9c60f48..004b003 100644 --- a/sanitize_source.sh +++ b/sanitize_source.sh @@ -13,9 +13,11 @@ if ! which hardlink >/dev/null; then exit 1; fi; -version="2.8.41" +version="2.8.42" shortver="2.8" # agh... -wget -c "http://downloads.sf.net/gsoap2/gsoap_$version.zip" +if [ ! -e "gsoap_$version.zip" ]; then + wget -c "http://downloads.sf.net/gsoap2/gsoap_$version.zip" +fi rm -Rf "gsoap-$shortver" "gsoap-$version" unzip "gsoap_$version.zip" @@ -35,5 +37,5 @@ find "gsoap-$version" -type f "(" \ -name "*~" -o -name .DS_Store ")" -delete hardlink "gsoap-$version" find "gsoap-$version" -print0 | sort -z | \ - tar -T- --null --owner=root --group=root --no-recur --use=xz \ + tar --no-recur -T- --null --owner=root --group=root --use=xz \ -cvf "gsoap-$version.tar.xz" From dfa7ea86d0386e14b9c16f230c6d134e69b82f6e862fabb20810bc1c451b1614 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 24 Jan 2017 14:45:05 +0000 Subject: [PATCH 5/6] enable symbol versioning OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gsoap?expand=0&rev=84 --- gsoap-01-sharedlibs.diff | 112 ++++++++++++++++++++++++++++++--------- gsoap-02-implicit.diff | 26 +++++++++ gsoap.changes | 1 + gsoap.spec | 3 +- 4 files changed, 115 insertions(+), 27 deletions(-) create mode 100644 gsoap-02-implicit.diff diff --git a/gsoap-01-sharedlibs.diff b/gsoap-01-sharedlibs.diff index 7665c27..f69bd32 100644 --- a/gsoap-01-sharedlibs.diff +++ b/gsoap-01-sharedlibs.diff @@ -4,16 +4,24 @@ Date: 2011-07-01 17:19:00 +0200 build: always use shared libraries --- - configure.ac | 10 +++++----- - gsoap/Makefile.am | 34 +++++++++++++++++++++------------- - gsoap/samples/autotest/Makefile.am | 2 +- - gsoap/samples/databinding/Makefile.am | 2 +- - 4 files changed, 28 insertions(+), 20 deletions(-) + configure.ac | 10 ++++---- + gsoap/Makefile.am | 38 ++++++++++++++++++++++------------ + gsoap/gsoap++.sym | 1 + gsoap/gsoap.sym | 1 + gsoap/gsoapck++.sym | 1 + gsoap/gsoapck.sym | 1 + gsoap/gsoapckssl++.sym | 1 + gsoap/gsoapckssl.sym | 1 + gsoap/gsoapssl++.sym | 1 + gsoap/gsoapssl.sym | 1 + gsoap/samples/autotest/Makefile.am | 2 - + gsoap/samples/databinding/Makefile.am | 2 - + 12 files changed, 40 insertions(+), 20 deletions(-) -Index: gsoap-2.8.36/configure.ac +Index: gsoap-2.8.42/configure.ac =================================================================== ---- gsoap-2.8.36.orig/configure.ac -+++ gsoap-2.8.36/configure.ac +--- gsoap-2.8.42.orig/configure.ac ++++ gsoap-2.8.42/configure.ac @@ -15,8 +15,8 @@ AM_PROG_CC_C_O AM_PROG_LEX AC_PROG_YACC @@ -52,11 +60,11 @@ Index: gsoap-2.8.36/configure.ac fi AC_SUBST(WSDL2H_EXTRA_FLAGS) AC_SUBST(WSDL2H_EXTRA_LIBS) -Index: gsoap-2.8.36/gsoap/Makefile.am +Index: gsoap-2.8.42/gsoap/Makefile.am =================================================================== ---- gsoap-2.8.36.orig/gsoap/Makefile.am -+++ gsoap-2.8.36/gsoap/Makefile.am -@@ -34,20 +34,28 @@ stdsoap2_ssl_cpp.cpp: stdsoap2.cpp +--- gsoap-2.8.42.orig/gsoap/Makefile.am ++++ gsoap-2.8.42/gsoap/Makefile.am +@@ -34,20 +34,32 @@ stdsoap2_ssl_cpp.cpp: stdsoap2.cpp dom_cpp.cpp: dom.cpp $(LN_S) -f $(srcdir)/dom.cpp dom_cpp.cpp @@ -77,31 +85,83 @@ Index: gsoap-2.8.36/gsoap/Makefile.am -libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES +libgsoap_la_SOURCES = stdsoap2.c dom.c +libgsoap_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) ++libgsoap_la_LDFLAGS = -release ${PACKAGE_VERSION} -Wl,--version-script=gsoap.sym ++EXTRA_libgsoap_la_DEPENDENCIES = gsoap.sym +libgsoap___la_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp +libgsoap___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) ++libgsoap___la_LDFLAGS = -release ${PACKAGE_VERSION} -Wl,--version-script=gsoap++.sym ++EXTRA_libgsoap___la_DEPENDENCIES = gsoap++.sym +libgsoapck_la_SOURCES = stdsoap2_ck.c dom.c +libgsoapck_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES ++libgsoapck_la_LDFLAGS = -release ${PACKAGE_VERSION} -Wl,--version-script=gsoapck.sym ++EXTRA_libgsoapck_la_DEPENDENCIES = gsoapck.sym +libgsoapck___la_SOURCES = stdsoap2_ck_cpp.cpp dom_cpp.cpp +libgsoapck___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES ++libgsoapck___la_LDFLAGS = -release ${PACKAGE_VERSION} -Wl,--version-script=gsoapck++.sym ++EXTRA_libgsoapck___la_DEPENDENCIES = gsoapck++.sym +libgsoapssl_la_SOURCES = stdsoap2_ssl.c dom.c +libgsoapssl_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES ++libgsoapssl_la_LDFLAGS = -release ${PACKAGE_VERSION} -Wl,--version-script=gsoapssl.sym ++EXTRA_libgsoapssl_la_DEPENDENCIES = gsoapssl.sym +libgsoapssl___la_SOURCES = stdsoap2_ssl_cpp.cpp dom_cpp.cpp +libgsoapssl___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES -+libgsoap_la_LDFLAGS = -release ${PACKAGE_VERSION} -+libgsoap___la_LDFLAGS = ${libgsoap_la_LDFLAGS} -+libgsoapck_la_LDFLAGS = ${libgsoap_la_LDFLAGS} -+libgsoapck___la_LDFLAGS = ${libgsoap_la_LDFLAGS} -+libgsoapssl_la_LDFLAGS = ${libgsoap_la_LDFLAGS} -+libgsoapssl_la_LIBADD = ${SAMPLE_SSL_LIBS} -+libgsoapssl___la_LDFLAGS = ${libgsoap_la_LDFLAGS} -+libgsoapssl___la_LIBADD = ${SAMPLE_SSL_LIBS} ++libgsoapssl___la_LDFLAGS = -release ${PACKAGE_VERSION} -Wl,--version-script=gsoapssl++.sym ++EXTRA_libgsoapssl___la_DEPENDENCIES = gsoapssl++.sym BUILT_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp stdsoap2_ck.c stdsoap2_ck_cpp.cpp stdsoap2_ssl.c stdsoap2_ssl_cpp.cpp -Index: gsoap-2.8.36/gsoap/samples/autotest/Makefile.am +Index: gsoap-2.8.42/gsoap/gsoap++.sym =================================================================== ---- gsoap-2.8.36.orig/gsoap/samples/autotest/Makefile.am -+++ gsoap-2.8.36/gsoap/samples/autotest/Makefile.am +--- /dev/null ++++ gsoap-2.8.42/gsoap/gsoap++.sym +@@ -0,0 +1 @@ ++"GSOAP++" { global: *; }; +Index: gsoap-2.8.42/gsoap/gsoap.sym +=================================================================== +--- /dev/null ++++ gsoap-2.8.42/gsoap/gsoap.sym +@@ -0,0 +1 @@ ++GSOAP { global: *; }; +Index: gsoap-2.8.42/gsoap/gsoapck++.sym +=================================================================== +--- /dev/null ++++ gsoap-2.8.42/gsoap/gsoapck++.sym +@@ -0,0 +1 @@ ++"GSOAPCK++" { global: *; }; +Index: gsoap-2.8.42/gsoap/gsoapck.sym +=================================================================== +--- /dev/null ++++ gsoap-2.8.42/gsoap/gsoapck.sym +@@ -0,0 +1 @@ ++GSOAPCK { global: *; }; +Index: gsoap-2.8.42/gsoap/gsoapckssl++.sym +=================================================================== +--- /dev/null ++++ gsoap-2.8.42/gsoap/gsoapckssl++.sym +@@ -0,0 +1 @@ ++"GSOAPCKSSL++" { global: *; }; +Index: gsoap-2.8.42/gsoap/gsoapckssl.sym +=================================================================== +--- /dev/null ++++ gsoap-2.8.42/gsoap/gsoapckssl.sym +@@ -0,0 +1 @@ ++GSOAPCKSSL { global: *; }; +Index: gsoap-2.8.42/gsoap/gsoapssl++.sym +=================================================================== +--- /dev/null ++++ gsoap-2.8.42/gsoap/gsoapssl++.sym +@@ -0,0 +1 @@ ++"GSOAPSSL++" { global: *; }; +Index: gsoap-2.8.42/gsoap/gsoapssl.sym +=================================================================== +--- /dev/null ++++ gsoap-2.8.42/gsoap/gsoapssl.sym +@@ -0,0 +1 @@ ++GSOAPSSL { global: *; }; +Index: gsoap-2.8.42/gsoap/samples/autotest/Makefile.am +=================================================================== +--- gsoap-2.8.42.orig/gsoap/samples/autotest/Makefile.am ++++ gsoap-2.8.42/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 @@ -111,10 +171,10 @@ Index: gsoap-2.8.36/gsoap/samples/autotest/Makefile.am $(SOAP_CPP_SRC) : $(WSDLINPUT) $(WSDL) $(WSDL_FLAGS) $(WSDLINPUT) -Index: gsoap-2.8.36/gsoap/samples/databinding/Makefile.am +Index: gsoap-2.8.42/gsoap/samples/databinding/Makefile.am =================================================================== ---- gsoap-2.8.36.orig/gsoap/samples/databinding/Makefile.am -+++ gsoap-2.8.36/gsoap/samples/databinding/Makefile.am +--- gsoap-2.8.42.orig/gsoap/samples/databinding/Makefile.am ++++ gsoap-2.8.42/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-implicit.diff b/gsoap-02-implicit.diff new file mode 100644 index 0000000..1ef0471 --- /dev/null +++ b/gsoap-02-implicit.diff @@ -0,0 +1,26 @@ +From: Jan Engelhardt +Date: 2017-01-24 15:41:51.682076375 +0100 + +build: resolve compiler warnings + +stdsoap2_ck.c: In function ‘soap_s2float’: +stdsoap2_ck.c:14147:19: warning: implicit declaration of function ‘strtod_l’ [-Wimplicit-function-declaration] + *p = (float)strtod_l(s, &r, SOAP_LOCALE(soap)); + +References: https://sourceforge.net/p/gsoap2/bugs/1096/ +--- + gsoap/stdsoap2.cpp | 1 + + 1 file changed, 1 insertion(+) + +Index: gsoap-2.8.42/gsoap/stdsoap2.cpp +=================================================================== +--- gsoap-2.8.42.orig/gsoap/stdsoap2.cpp ++++ gsoap-2.8.42/gsoap/stdsoap2.cpp +@@ -50,6 +50,7 @@ compiling, linking, and/or using OpenSSL + A commercial use license is available from Genivia, Inc., contact@genivia.com + -------------------------------------------------------------------------------- + */ ++#define _GNU_SOURCE 1 + + #define GSOAP_LIB_VERSION 20842 + diff --git a/gsoap.changes b/gsoap.changes index 1f11bf9..a14a880 100644 --- a/gsoap.changes +++ b/gsoap.changes @@ -7,6 +7,7 @@ Tue Jan 24 13:53:09 UTC 2017 - jengelh@inai.de the library with: this replaces illegal UTF-8 input/output with the replacement character U+FFFD (or define your own `SOAP_UNKNOWN_UNICODE_CHAR`). +- Add gsoap-02-implicit.diff ------------------------------------------------------------------- Thu Jan 19 09:06:14 UTC 2017 - jengelh@inai.de diff --git a/gsoap.spec b/gsoap.spec index 5d0d596..6c3562d 100644 --- a/gsoap.spec +++ b/gsoap.spec @@ -29,6 +29,7 @@ Source: gsoap-%version.tar.xz Source2: sanitize_source.sh Patch1: gsoap-automake1_13.diff Patch2: gsoap-01-sharedlibs.diff +Patch3: gsoap-02-implicit.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -83,7 +84,7 @@ available or under development. %prep %setup -q cmp gsoap/stdsoap2.cpp gsoap/stdsoap2.c -%patch -P 1 -P 2 -p1 +%patch -P 1 -P 2 -P 3 -p1 ln -fs stdsoap2.cpp gsoap/stdsoap2.c %build From 8f555432ca244ec91e7dc237039982652b2a3d93a0e281969aafead1aa383dfa Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 24 Jan 2017 14:45:52 +0000 Subject: [PATCH 6/6] OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gsoap?expand=0&rev=85 --- gsoap-01-sharedlibs.diff | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gsoap-01-sharedlibs.diff b/gsoap-01-sharedlibs.diff index f69bd32..9b92d8a 100644 --- a/gsoap-01-sharedlibs.diff +++ b/gsoap-01-sharedlibs.diff @@ -115,7 +115,7 @@ Index: gsoap-2.8.42/gsoap/gsoap++.sym --- /dev/null +++ gsoap-2.8.42/gsoap/gsoap++.sym @@ -0,0 +1 @@ -+"GSOAP++" { global: *; }; ++GSOAPXX { global: *; }; Index: gsoap-2.8.42/gsoap/gsoap.sym =================================================================== --- /dev/null @@ -127,7 +127,7 @@ Index: gsoap-2.8.42/gsoap/gsoapck++.sym --- /dev/null +++ gsoap-2.8.42/gsoap/gsoapck++.sym @@ -0,0 +1 @@ -+"GSOAPCK++" { global: *; }; ++GSOAPCKXX { global: *; }; Index: gsoap-2.8.42/gsoap/gsoapck.sym =================================================================== --- /dev/null @@ -139,7 +139,7 @@ Index: gsoap-2.8.42/gsoap/gsoapckssl++.sym --- /dev/null +++ gsoap-2.8.42/gsoap/gsoapckssl++.sym @@ -0,0 +1 @@ -+"GSOAPCKSSL++" { global: *; }; ++GSOAPCKSSLXX { global: *; }; Index: gsoap-2.8.42/gsoap/gsoapckssl.sym =================================================================== --- /dev/null @@ -151,7 +151,7 @@ Index: gsoap-2.8.42/gsoap/gsoapssl++.sym --- /dev/null +++ gsoap-2.8.42/gsoap/gsoapssl++.sym @@ -0,0 +1 @@ -+"GSOAPSSL++" { global: *; }; ++GSOAPSSLXX { global: *; }; Index: gsoap-2.8.42/gsoap/gsoapssl.sym =================================================================== --- /dev/null