diff --git a/gsoap.changes b/gsoap.changes index 0763d75..ce5d0c7 100644 --- a/gsoap.changes +++ b/gsoap.changes @@ -3,6 +3,8 @@ Wed Aug 14 18:19:03 UTC 2019 - Jan Engelhardt - Update to new upstream release 2.8.90 * Internal changes related to gsoap's own build only. +- Add revert-z.diff to counter a regression in handling the + soapcpp2 "-z" option introduced in 2.8.89. ------------------------------------------------------------------- Sun Aug 11 13:33:42 UTC 2019 - Jan Engelhardt diff --git a/gsoap.spec b/gsoap.spec index 4a9e354..235760c 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: revert-z.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -83,7 +84,7 @@ This subpackage contains the documentation for the gSOAP toolkit. %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 diff --git a/revert-z.diff b/revert-z.diff new file mode 100644 index 0000000..9a59e8d --- /dev/null +++ b/revert-z.diff @@ -0,0 +1,33 @@ +From: Jan Engelhardt +Upstream: https://sourceforge.net/p/gsoap2/bugs/1253/ + +Revert broken code change in 2.8.89 that ignores all -z options. + +diff --git a/gsoap/src/soapcpp2.c b/gsoap/src/soapcpp2.c +index 34ca6fce..3a92e297 100644 +--- a/gsoap/src/soapcpp2.c ++++ b/gsoap/src/soapcpp2.c +@@ -356,22 +356,15 @@ infile header file to parse (if none reads stdin)\n\ + vflag = 1; + break; + case 'z': +- { +- int z = zflag; + a++; +- if (zflag) +- fprintf(stderr, "soapcpp2: Option -z specified twice\n"); + g = 0; + if (*a) + zflag = *a - '0'; + else if (i < argc && argv[++i]) + zflag = *argv[i] - '0'; + else +- execerror("Option -z requires an argument"); +- if (zflag == 0 || z < zflag) +- zflag = z; ++ execerror("Option -z requires a digit"); + break; +- } + default: + fprintf(stderr, "soapcpp2: Unknown option %s\n", a); + exit(1);