[gsoap/epel7: 2/2] Fix default import paths for soapcpp2 and wsdl2h

Mattias Ellert ellert at fedoraproject.org
Fri Jul 11 08:46:37 UTC 2014


commit 6144ce1b50d60e1c475b4f75b0f63828986e5405
Author: Mattias Ellert <mattias.ellert at fysast.uu.se>
Date:   Fri Jul 11 10:45:54 2014 +0200

    Fix default import paths for soapcpp2 and wsdl2h

 gsoap-cleanfiles.patch    |   33 +++++++++++++++++
 gsoap-default-paths.patch |   85 +++++++++++++++++++++++++++++++++++++++++++++
 gsoap.spec                |   38 +++++++++++++-------
 wsdl2h.1                  |    2 +-
 4 files changed, 143 insertions(+), 15 deletions(-)
---
diff --git a/gsoap-cleanfiles.patch b/gsoap-cleanfiles.patch
new file mode 100644
index 0000000..703a430
--- /dev/null
+++ b/gsoap-cleanfiles.patch
@@ -0,0 +1,33 @@
+diff -ur gsoap-2.8.17.orig/gsoap/samples/chaining/Makefile.am gsoap-2.8.17/gsoap/samples/chaining/Makefile.am
+--- gsoap-2.8.17.orig/gsoap/samples/chaining/Makefile.am	2013-12-18 14:58:36.000000000 +0100
++++ gsoap-2.8.17/gsoap/samples/chaining/Makefile.am	2014-07-09 13:37:44.051096990 +0200
+@@ -17,7 +17,7 @@
+ 
+ BUILT_SOURCES = qServerLib.c cServerLib.c envC.c
+ 
+-CLEANFILES = *.req.xml *.res.xml *.nsmap *.xsd *.wsdl envStub.h envH.h envC.c cStub.h cH.h cC.c Calc*Proxy.h Calc*Proxy.c Calc*Object.h Calc*Service.h Calc*Service.c cClient.c cServer.c cClientLib.c cServerLib.c qStub.h qH.h qC.c Quote*Proxy.h Quote*Proxy.c Quote*Object.h Quote*Service.h Quote*Service.c QuoteClient.c QuoteServer.c qClientLib.c qServerLib.c *~
++CLEANFILES = *.req.xml *.res.xml *.nsmap *.xsd *.wsdl envStub.h envH.h envC.c cStub.h cH.h cC.c cClient.c cServer.c cClientLib.c cServerLib.c qStub.h qH.h qC.c qClient.c qServer.c qClientLib.c qServerLib.c *~
+ 
+ SOAP_NS = c.nsmap
+ 
+diff -ur gsoap-2.8.17.orig/gsoap/samples/chaining++/Makefile.am gsoap-2.8.17/gsoap/samples/chaining++/Makefile.am
+--- gsoap-2.8.17.orig/gsoap/samples/chaining++/Makefile.am	2013-12-18 14:58:36.000000000 +0100
++++ gsoap-2.8.17/gsoap/samples/chaining++/Makefile.am	2014-07-09 13:32:47.507096425 +0200
+@@ -16,7 +16,7 @@
+ 
+ BUILT_SOURCES = QuotequoteService.cpp CalccalcService.cpp envC.cpp
+ 
+-CLEANFILES = *.req.xml *.res.xml *.nsmap *.xsd *.wsdl envStub.h envH.h envC.cpp calcStub.h calcH.h calcC.cpp Calc*Proxy.h Calc*Proxy.cpp Calc*Object.h Calc*Service.h Calc*Service.cpp calcClient.cpp calcServer.cpp calcClientLib.cpp calcServerLib.cpp quoteStub.h quoteH.h quoteC.cpp Quote*Proxy.h Quote*Proxy.cpp Quote*Object.h Quote*Service.h Quote*Service.cpp QuoteClient.cpp QuoteServer.cpp quoteClientLib.cpp quoteServerLib.cpp *~
++CLEANFILES = *.req.xml *.res.xml *.nsmap *.xsd *.wsdl envStub.h envH.h envC.cpp CalcStub.h CalcH.h CalcC.cpp Calc*Proxy.h Calc*Proxy.cpp Calc*Object.h Calc*Service.h Calc*Service.cpp CalcClient.cpp CalcServer.cpp CalcClientLib.cpp CalcServerLib.cpp QuoteStub.h QuoteH.h QuoteC.cpp Quote*Proxy.h Quote*Proxy.cpp Quote*Object.h Quote*Service.h Quote*Service.cpp QuoteClient.cpp QuoteServer.cpp QuoteClientLib.cpp QuoteServerLib.cpp *~
+ 
+ SOAP_NS = Calc.nsmap
+ 
+diff -ur gsoap-2.8.17.orig/gsoap/samples/databinding/Makefile.am gsoap-2.8.17/gsoap/samples/databinding/Makefile.am
+--- gsoap-2.8.17.orig/gsoap/samples/databinding/Makefile.am	2013-12-18 14:58:36.000000000 +0100
++++ gsoap-2.8.17/gsoap/samples/databinding/Makefile.am	2014-07-09 14:09:27.207147420 +0200
+@@ -30,4 +30,4 @@
+ address_SOURCES=$(SOAP_CPP_SRC) address.cpp
+ address_LDADD=$(SOAP_CPP_LIB)
+ 
+-CLEANFILES= *~ *C.cpp *H.h *Stub.h *.nsmap
++CLEANFILES= *~ address.h *C.cpp *H.h *Stub.h *.nsmap
diff --git a/gsoap-default-paths.patch b/gsoap-default-paths.patch
new file mode 100644
index 0000000..5194ec8
--- /dev/null
+++ b/gsoap-default-paths.patch
@@ -0,0 +1,85 @@
+diff -ur gsoap-2.8.17.orig/configure.in gsoap-2.8.17/configure.in
+--- gsoap-2.8.17.orig/configure.in	2013-12-18 14:58:32.000000000 +0100
++++ gsoap-2.8.17/configure.in	2014-07-09 10:17:53.755340303 +0200
+@@ -163,12 +163,12 @@
+ AC_SUBST(SOAPCPP2_DEBUG)
+ 
+ # set the default soapcpp2 import path
+-SOAPCPP2_IMPORTPATH="-DSOAPCPP_IMPORT_PATH=\"\\\"${datadir}/gsoap/import\\\"\""
++SOAPCPP2_IMPORTPATH="-DSOAPCPP2_IMPORT_PATH=\"\\\"${datadir}/gsoap/import\\\"\""
+ #SOAPCPP2_IMPORTPATH="-DSOAPCPP2_IMPORT_PATH=\"\\\"`pwd`/gsoap/import\\\"\""
+ AC_SUBST(SOAPCPP2_IMPORTPATH)
+ 
+ # set the default wsdl2h import path
+-WSDL2H_IMPORTPATH="-DWSDL_IMPORT_PATH=\"\\\"${datadir}/gsoap/WS\\\"\""
++WSDL2H_IMPORTPATH="-DWSDL2H_IMPORT_PATH=\"\\\"${datadir}/gsoap/WS\\\"\""
+ #WSDL2H_IMPORTPATH="-DWSDL2H_IMPORT_PATH=\"\\\"`pwd`/gsoap/WS\\\"\""
+ AC_SUBST(WSDL2H_IMPORTPATH)
+ 
+diff -ur gsoap-2.8.17.orig/gsoap/samples/autotest/Makefile.am gsoap-2.8.17/gsoap/samples/autotest/Makefile.am
+--- gsoap-2.8.17.orig/gsoap/samples/autotest/Makefile.am	2013-12-18 14:58:36.000000000 +0100
++++ gsoap-2.8.17/gsoap/samples/autotest/Makefile.am	2014-07-09 13:04:46.403086798 +0200
+@@ -26,7 +26,7 @@
+ 
+ autotest_CFLAGS=$(C_DEBUG_FLAGS) -D$(platform)
+ autotest_CPPFLAGS=$(C_DEBUG_FLAGS) -D$(platform)
+-autotest_CXXFLAGS=$(WSDL2H_EXTRA_FLAGS) $(WSDL2H_IMPORTPATH)
++autotest_CXXFLAGS=$(WSDL2H_EXTRA_FLAGS)
+ autotest_SOURCES=$(SOAP_CPP_SRC) soapTester.cpp
+ autotest_LDADD=$(SOAP_CPP_LIB)
+ 
+diff -ur gsoap-2.8.17.orig/gsoap/samples/databinding/Makefile.am gsoap-2.8.17/gsoap/samples/databinding/Makefile.am
+--- gsoap-2.8.17.orig/gsoap/samples/databinding/Makefile.am	2013-12-18 14:58:36.000000000 +0100
++++ gsoap-2.8.17/gsoap/samples/databinding/Makefile.am	2014-07-09 13:05:09.423086046 +0200
+@@ -26,7 +26,7 @@
+ 
+ address_CFLAGS=$(C_DEBUG_FLAGS) -D$(platform)
+ address_CPPFLAGS=$(C_DEBUG_FLAGS) -D$(platform)
+-address_CXXFLAGS=$(WSDL2H_EXTRA_FLAGS) $(WSDL2H_IMPORTPATH)
++address_CXXFLAGS=$(WSDL2H_EXTRA_FLAGS)
+ address_SOURCES=$(SOAP_CPP_SRC) address.cpp
+ address_LDADD=$(SOAP_CPP_LIB)
+ 
+diff -ur gsoap-2.8.17.orig/gsoap/src/soapcpp2.c gsoap-2.8.17/gsoap/src/soapcpp2.c
+--- gsoap-2.8.17.orig/gsoap/src/soapcpp2.c	2013-12-18 14:58:38.000000000 +0100
++++ gsoap-2.8.17/gsoap/src/soapcpp2.c	2014-07-09 11:35:36.175116807 +0200
+@@ -78,7 +78,8 @@
+ char dirpath[1024];	/* directory path for generated source files */
+ char *prefix = "soap";	/* file name prefix for generated source files */
+ char filename[1024];	/* current file name */
+-char *importpath = SOAPCPP2_IMPORT_PATH; /* default file import path */
++char *importpath = NULL;
++char *defimportpath = SOAPCPP2_IMPORT_PATH; /* default file import path */
+ 
+ /*
+ IMPORTANT:
+@@ -319,6 +320,17 @@
+ 		else
+ 			strcpy(filename, argv[i]);
+ 	}
++
++	if (importpath && defimportpath)
++	{	char *t	= emalloc(strlen(importpath) + strlen(defimportpath) + 2);
++		strcpy(t, importpath);
++		strcat(t, SOAP_PATHSEP);
++		strcat(t, defimportpath);
++		importpath = t;
++	}
++	else
++		importpath = defimportpath;
++
+ 	fprintf(fmsg, "\n**  The gSOAP code generator for C and C++, soapcpp2 release "VERSION"\n**  Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc.\n**  All Rights Reserved. This product is provided \"as is\", without any warranty.\n**  The soapcpp2 tool is released under one of the following licenses:\n**  GPL or the commercial license by Genivia Inc.\n\n");
+ 	if (stop_flag)
+ 	  exit(0);
+diff -ur gsoap-2.8.17.orig/gsoap/wsdl/Makefile.am gsoap-2.8.17/gsoap/wsdl/Makefile.am
+--- gsoap-2.8.17.orig/gsoap/wsdl/Makefile.am	2013-12-18 14:58:38.000000000 +0100
++++ gsoap-2.8.17/gsoap/wsdl/Makefile.am	2014-07-09 13:04:43.491085736 +0200
+@@ -26,7 +26,7 @@
+ bin_PROGRAMS=wsdl2h
+ 
+ wsdl2h_CFLAGS=$(C_DEBUG_FLAGS) $(WSDL2H_EXTRA_FLAGS)
+-wsdl2h_CXXFLAGS=$(C_DEBUG_FLAGS) $(WSDL2H_EXTRA_FLAGS)
++wsdl2h_CXXFLAGS=$(C_DEBUG_FLAGS) $(WSDL2H_EXTRA_FLAGS) $(WSDL2H_IMPORTPATH)
+ wsdl2h_CPPFLAGS=$(AM_CPPFLAGS) $(SOAPCPP2_NONAMESPACES) -D$(platform)
+ wsdl2h_SOURCES=wsdl2h.cpp wsdl.cpp schema.cpp types.cpp service.cpp soap.cpp mime.cpp wsp.cpp $(SOAP_CPP_SRC)
+ wsdl2h_LDADD=$(SOAP_CPP_LIB) $(WSDL2H_EXTRA_LIBS)
diff --git a/gsoap.spec b/gsoap.spec
index 3cdd715..21eb2f0 100644
--- a/gsoap.spec
+++ b/gsoap.spec
@@ -1,7 +1,7 @@
 Summary: Generator Tools for Coding SOAP/XML Web Services in C and C++
 Name: gsoap
 Version: 2.8.16
-Release: 4%{?dist}
+Release: 5%{?dist}
 # Bump the soversion when the new version is not backward compatiple
 %global soversion 4
 
@@ -24,10 +24,18 @@ URL: http://gsoap2.sourceforge.net/
 Source0: http://downloads.sourceforge.net/gsoap2/%{name}_%{version}.zip
 Source1: soapcpp2.1
 Source2: wsdl2h.1
+# Create shared libraries
 Patch0: %{name}-libtool.patch
+# https://sourceforge.net/p/gsoap2/patches/111/
 Patch1: %{name}-private-lm.patch
+# https://sourceforge.net/p/gsoap2/patches/110/
 Patch2: %{name}-pad.patch
+# https://sourceforge.net/p/gsoap2/bugs/959/
 Patch3: %{name}-ipv6.patch
+# https://sourceforge.net/p/gsoap2/patches/117/
+Patch4: %{name}-default-paths.patch
+# https://sourceforge.net/p/gsoap2/patches/118/
+Patch5: %{name}-cleanfiles.patch
 BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 
 BuildRequires: flex
@@ -68,32 +76,34 @@ gSOAP documentation in html
 
 %prep
 %setup -q -n gsoap-2.8
-
-# Enable use of libtool in configure.in and a few Makefile.am files
 %patch0 -p1
-
-# Move -lm to Libs.private in pkg-config files
 %patch1 -p1
-
-# Pad non-ipv6 struct gsoap to match ipv6 version
 %patch2 -p1
-
-# Fix for http://sourceforge.net/p/gsoap2/bugs/959/ (patch from opensuse)
 %patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 # XML files non-executable
-find . -name "*.xml" -exec chmod a-x {} \;
+find . -name "*.xml" -exec chmod a-x {} ';'
 
 # we want all txt files to have unix end-of-line encoding
 dos2unix README.txt LICENSE.txt NOTES.txt
 
 # remove .DS_Stores
-rm gsoap/doc/.DS_Store
+find . -name .DS_Store -exec rm {} ';'
 
 # remove stuff with gsoap license only - not GPL
 rm -rf gsoap/extras gsoap/mod_gsoap gsoap/Symbian
 sed 's!$(srcdir)/extras/\*!!' -i gsoap/Makefile.am
 
+# remove pre-compiled binaries
+rm -rf gsoap/bin
+rm -rf gsoap/ios_plugin/examples/*/build
+rm gsoap/samples/calc_vs2005/calc_vs2005/soapcpp2.exe
+rm gsoap/VisualStudio2005/wsdl2h/wsdl2h/soapcpp2.exe
+( cd gsoap/samples/link++ ; make distclean )
+( cd gsoap/samples/wcf/WS/DualHttp ; make distclean )
+
 %build
 # patches change autoconf and automake files, so we must reconfigure
 autoreconf --install --force
@@ -119,7 +129,6 @@ rm -rf %{buildroot}
 make check
 
 %files
-%defattr(-,root,root,-)
 %doc README.txt NOTES.txt LICENSE.txt
 %_libdir/libgsoap.so.*
 %_libdir/libgsoap++.so.*
@@ -129,7 +138,6 @@ make check
 %_libdir/libgsoapssl++.so.*
 
 %files devel
-%defattr(-,root,root,-)
 %doc README.txt NOTES.txt LICENSE.txt
 %_bindir/soapcpp2
 %_bindir/wsdl2h
@@ -293,7 +301,6 @@ make check
 %_datadir/gsoap/plugin/calcrest.h
 
 %files doc
-%defattr(-,root,root,-)
 %doc README.txt NOTES.txt LICENSE.txt gsoap/doc/*
 
 %post -p /sbin/ldconfig
@@ -301,6 +308,9 @@ make check
 %postun -p /sbin/ldconfig
 
 %changelog
+* Fri Jul 11 2014 Mattias Ellert <mattias.ellert at fysast.uu.se> - 2.8.16-5
+- Fix default import paths for soapcpp2 and wsdl2h
+
 * Sat Jun 07 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.8.16-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
 
diff --git a/wsdl2h.1 b/wsdl2h.1
index 7a67ff5..bbec67c 100644
--- a/wsdl2h.1
+++ b/wsdl2h.1
@@ -137,7 +137,7 @@ Compatibility with 2.7.16 to 2.8.7: Qualify element/attribute references.
 \fB\-z4\fR
 Compatibility up to 2.8.11: Do not generate union structs in \fBstd::vector\fR.
 .TP
-\fB\-z4\fR
+\fB\-z5\fR
 Compatibility up to 2.8.15.
 .TP
 \fB\-_\fR


More information about the scm-commits mailing list