%global advanced_branch 1 # Upstream libxml2 backend is completely broken since 2015 # https://sourceforge.net/p/xmlrpc-c/patches/49/ %bcond_without libxml2 Name: xmlrpc-c Version: 1.51.0 Release: 16%{?dist} Summary: Lightweight RPC library based on XML and HTTP # See doc/COPYING for details. # The Python 1.5.2 license used by a few files is just BSD. License: BSD and MIT URL: http://xmlrpc-c.sourceforge.net/ %{!?advanced_branch:Source0: http://dl.sourceforge.net/sourceforge/xmlrpc-c/xmlrpc-%version.tgz} # generated by 'make svn-sources [SVN_VER=%version SVN_REV=%svnrev]'. Unfortunately, # upstream does not tag versions so we must fetch from the branch and # check which version was used for it %{?advanced_branch:Source0: xmlrpc-c-%version.tar.xz} # Upstreamable patches Patch101: 0001-xmlrpc_server_abyss-use-va_args-properly.patch Patch102: 0002-Use-proper-datatypes-for-long-long.patch Patch103: 0003-allow-30x-redirections.patch #Patch104: xmlrpc-c-printf-size_t.patch #Patch105: xmlrpc-c-check-vasprintf-return-value.patch Patch106: 0001-cleanup-and-fix-libxml2-backend.patch # Backported patches # https://sourceforge.net/p/xmlrpc-c/code/2981/ # Fixes RHBZ #1541868 Patch201: 0001-Remove-trace-statements-accidentally-committed-with-.patch # Meson buildsystem, see https://blogs.gnome.org/ignatenko/2016/12/17/meson-%E2%99%A5-xmlrpc-c/ Patch1001: 0001-add-meson-buildsystem-definitions.patch Patch1002: 0002-chmod-x-xml-rpc-api2txt.patch BuildRequires: git-core BuildRequires: meson >= 0.36.0 BuildRequires: gcc BuildRequires: gcc-c++ %if %{with libxml2} BuildRequires: pkgconfig(libxml-2.0) %else # upstream has its own fork of expat Provides: bundled(expat) %endif BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(libcurl) BuildRequires: readline-devel BuildRequires: ncurses-devel %package c++ Summary: C++ libraries for xmlrpc-c Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %package client Summary: C client libraries for xmlrpc-c Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %package client++ Summary: C++ client libraries for xmlrpc-c Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-c++%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-client%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %package devel Summary: Development files for xmlrpc-c based programs Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-c++%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-client%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-client++%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %package apps Summary: Sample XML-RPC applications Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-c++%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-client%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-client++%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %description XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into XML document, sends it to a remote server using HTTP, and gets back the response as XML. This library provides a modular implementation of XML-RPC for C. %description c++ XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into XML document, sends it to a remote server using HTTP, and gets back the response as XML. This library provides a modular implementation of XML-RPC for C++. %description client XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into XML document, sends it to a remote server using HTTP, and gets back the response as XML. This library provides a modular implementation of XML-RPC for C clients. %description client++ XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into XML document, sends it to a remote server using HTTP, and gets back the response as XML. This library provides a modular implementation of XML-RPC for C++ clients. %description devel Static libraries and header files for writing XML-RPC applications in C and C++. %description apps XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into XML document, sends it to a remote server using HTTP, and gets back the response as XML. This package contains some handy XML-RPC demo applications. %prep %autosetup -Sgit %if %{with libxml2} # We want to build xmlrpc-c against libxml2, so we remove the bundled expat sources -- just to be sure rm -Rf lib/expat %endif %build %meson %{?with_libxml2:-Dlibxml2-backend=true} %meson_build %install %meson_install %ldconfig_scriptlets %ldconfig_scriptlets client %ldconfig_scriptlets c++ %ldconfig_scriptlets client++ %files %license doc/COPYING lib/abyss/license.txt %doc doc/CREDITS doc/HISTORY %if ! %{with libxml2} %{_libdir}/libxmlrpc_xml*.so.* %endif %{_libdir}/libxmlrpc_openssl.so.* %{_libdir}/libxmlrpc.so.* %{_libdir}/libxmlrpc_util.so.* %{_libdir}/libxmlrpc_abyss.so.* %{_libdir}/libxmlrpc_server.so.* %{_libdir}/libxmlrpc_server_abyss.so.* %{_libdir}/libxmlrpc_server_cgi.so.* %files client %{_libdir}/libxmlrpc_client.so.* %files c++ %{_libdir}/libxmlrpc_cpp.so.* %{_libdir}/libxmlrpc++.so.* %{_libdir}/libxmlrpc_util++.so.* %{_libdir}/libxmlrpc_abyss++.so.* %{_libdir}/libxmlrpc_server++.so.* %{_libdir}/libxmlrpc_server_abyss++.so.* %{_libdir}/libxmlrpc_server_cgi++.so.* %{_libdir}/libxmlrpc_packetsocket.so.* %{_libdir}/libxmlrpc_server_pstream++.so.* %files client++ %{_libdir}/libxmlrpc_client++.so.* %files devel %{_bindir}/xmlrpc-c-config %{_includedir}/xmlrpc-c/ %{_includedir}/*.h %{_libdir}/pkgconfig/xmlrpc*.pc %{_libdir}/libxmlrpc*.so %files apps %{_bindir}/xmlrpc_parsecall %{_bindir}/xmlrpc %{_bindir}/xmlrpc_transport %doc tools/xmlrpc_transport/xmlrpc_transport.html %{_bindir}/xml-rpc-api2cpp %{_mandir}/man1/xml-rpc-api2cpp.1* %{_bindir}/xml-rpc-api2txt %{_mandir}/man1/xml-rpc-api2txt.1* %{_bindir}/xmlrpc_cpp_proxy %{_bindir}/xmlrpc_pstream %{_bindir}/xmlrpc_dumpserver %changelog * Thu Mar 17 2022 Michal Srb - 1.51.0-16 - Drop bundled expat and build against libxml2 - Resolves: CVE-2022-25235 - Resolves: CVE-2022-25236 * Tue Aug 10 2021 Mohan Boddu - 1.51.0-15 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688 * Wed Jun 16 2021 Mohan Boddu - 1.51.0-14 - Rebuilt for RHEL 9 BETA for openssl 3.0 Related: rhbz#1971065 * Fri Apr 16 2021 Mohan Boddu - 1.51.0-13 - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 * Thu Jan 28 2021 Fedora Release Engineering - 1.51.0-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Wed Jul 29 2020 Fedora Release Engineering - 1.51.0-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Fri Jan 31 2020 Fedora Release Engineering - 1.51.0-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Sat Jul 27 2019 Fedora Release Engineering - 1.51.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Sun Feb 17 2019 Igor Gnatenko - 1.51.0-8 - Rebuild for readline 8.0 * Sun Feb 03 2019 Fedora Release Engineering - 1.51.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Sat Jul 14 2018 Fedora Release Engineering - 1.51.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Thu Apr 19 2018 Adam Williamson - 1.51.0-5 - Backport upstream fix for console spam with debug messages (#1541868) * Fri Feb 09 2018 Fedora Release Engineering - 1.51.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Jan 31 2018 Igor Gnatenko - 1.51.0-3 - Switch to %%ldconfig_scriptlets * Wed Jan 17 2018 Igor Gnatenko - 1.51.0-2 - BuildRequire openssl by pkgconfig() * Mon Jan 01 2018 Igor Gnatenko - 1.51.0-1 - Update to 1.51.0 * Sun Oct 01 2017 Igor Gnatenko - 1.49.02-2 - Fix Requires.private in xmlrpc_server++.pc * Fri Sep 29 2017 Igor Gnatenko - 1.49.02-1 - Update to 1.49.02 * Fri Sep 29 2017 Igor Gnatenko - 1.48.0-8 - Add xmlrpc_client++.pc * Thu Aug 03 2017 Fedora Release Engineering - 1.48.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 1.48.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Jun 30 2017 Igor Gnatenko - 1.48.0-5 - Fix underlinking issue causing FTBFS * Mon Mar 13 2017 Peter Robinson 1.48.0-4 - Build with openssl 1.1 * Sat Feb 11 2017 Fedora Release Engineering - 1.48.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sat Jan 21 2017 Igor Gnatenko - 1.48.0-2 - Apply patches via git to preserve permissions * Sun Dec 18 2016 Igor Gnatenko - 1.48.0-1 - Update to 1.48.0 * Tue Feb 16 2016 Mikolaj Izdebski - 1.32.5-1909.svn2451 - Add patch for conversion from int to usnigned char - Resolves: rhbz#1308254 * Fri Feb 05 2016 Fedora Release Engineering - 1.32.5-1909.svn2451 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Fri Jun 19 2015 Fedora Release Engineering - 1.32.5-1908.svn2451 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat May 02 2015 Kalev Lember - 1.32.5-1907.svn2451 - Rebuilt for GCC 5 C++11 ABI change * Mon Aug 18 2014 Fedora Release Engineering - 1.32.5-1906.svn2451 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sun Jun 08 2014 Fedora Release Engineering - 1.32.5-1905.svn2451 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Fri Mar 28 2014 Mikolaj Izdebski - 1.32.5-1904.svn2451 - Add patch to silence format-security compiler warning - Resolves: rhbz#1037399 * Sun Aug 04 2013 Fedora Release Engineering - 1.32.5-1903.svn2451 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Thu Apr 25 2013 Mikolaj Izdebski - 1.32.5-1902.svn2451 - Add missing inter-package dependencies - Rename fedora directory to build * Fri Feb 15 2013 Fedora Release Engineering - 1.32.5-1901.svn2451 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sun Dec 9 2012 Enrico Scholz - 1.32.5-1900.svn2451 - updated to 1.32.5 * Sun Oct 21 2012 Enrico Scholz - 1.32.2-1900.svn2434 - updated to 1.32.2 * Sat Oct 6 2012 Enrico Scholz - 1.32.1-1900.svn2413 - updated to 1.32.1 * Sun Aug 26 2012 Enrico Scholz - 1.31.4-1900.svn2386 - updated to 1.31.4 * Sun Jul 22 2012 Fedora Release Engineering - 1.31.0-1801.svn2365 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sun Jul 1 2012 Enrico Scholz - 1.31.0-1800.svn2365 - updated to 1.31.0 * Wed Jun 6 2012 Enrico Scholz - 1.30.6-1800.svn2328 - updated to 1.30.6 * Sat May 26 2012 Enrico Scholz - 1.30.5-1800.svn2324 - updated to 1.30.5 (IPv6 server fixes) * Sat May 12 2012 Enrico Scholz - 1.30.4-1800.svn2318 - updated to 1.30.4 * Thu Apr 5 2012 Enrico Scholz - 1.30.1-1800.svn2298 - updated to 1.30.1 * Tue Feb 28 2012 Fedora Release Engineering - 1.29.0-1701.svn2233 - Rebuilt for c++ ABI breakage * Wed Jan 4 2012 Enrico Scholz - 1.29.0-1700.svn2233 - updated to 1.29.0 * Mon Oct 3 2011 Enrico Scholz - 1.28.1-1700.svn2203 - updated to 1.28.1 * Mon Oct 3 2011 Enrico Scholz - 1.27.5-1701.svn2185 - fixed error handling when transfering too large files (#741980) * Sat Aug 27 2011 Enrico Scholz - 1.27.5-1700.svn2185 - updated to 1.27.5 * Sun Aug 7 2011 Enrico Scholz - 1.27.4-1700.svn2171 - updated to 1.27.4 * Sun Aug 7 2011 Enrico Scholz - 1.27.3-1700.svn2145 - updated to 1.27.3 * Mon Jun 27 2011 Enrico Scholz - 1.27.0-1600.svn2145 - updated to 1.27.0 - made it build with recent curl * Mon Jun 13 2011 Enrico Scholz - 1.26.3-1600.svn2134 - updated to 1.26.3 - removed default-constructor patch; issue is solved upstream * Sat Apr 2 2011 Enrico Scholz - 1.26.0-1600.svn2188 - updated to 1.26.0 * Mon Feb 07 2011 Fedora Release Engineering - 1.25.1-1501.svn2077 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Thu Jan 6 2011 Enrico Scholz - 1.25.1-1500.svn2077 - updated to 1.25.1 * Thu Dec 30 2010 Enrico Scholz - 1.25.0-1500.svn2074 - updated to 1.25.0 * Sun Nov 7 2010 Enrico Scholz - 1.24.4-1500.svn2042 - updated to 1.24.4 * Sat Oct 9 2010 Enrico Scholz - 1.24.1-1500.svn1987 - updated to 1.24.1 - set -Wno-uninitialized CFLAGS; code contains lot of constructs triggering this warning and the 'int a=a' defeaters have been removed in this version * Fri Aug 27 2010 Enrico Scholz - 1.23.02-1500.svn1968 - updated to 1.23.02 (note: this breaks C++ ABI) - added vasprintf patch * Thu Jul 29 2010 Enrico Scholz - 1.23.01-1400.svn1958 - updated to 1.23.01 - added patch to make curl follow HTTP POST 301 redirects (#618504) * Sun Apr 18 2010 Enrico Scholz - 1.22.01-1400.svn1907 - updated to 1.22.01 (svn 1907) * Tue Feb 23 2010 Enrico Scholz - 1.21.00-1401.1851 - require the various subpackages explicitly for -devel; the ld linker scripts broke rpm's autodetection (#567400) - removed -devel Requires: which are covered by pkgconfig autodeps - added %%{?_isa} annotations * Sun Feb 21 2010 Enrico Scholz - 1.21.00-1400.1851 - made linker scripts more 'ldconfig' friendly * Mon Feb 15 2010 Enrico Scholz - 1.21.00-1301.1851 - replaced .so symlinks by linker scripts which add all implicit dependencies in AS_NEEDED() commands (#564607, #565577) * Thu Jan 14 2010 Enrico Scholz - 1.21.00-1300.1851 - updated to 1.21.00 (rev 1851) - removed curl-trace patch as applied upstream - rediffed patches * Sat Nov 21 2009 Enrico Scholz - 1.20.3-1.1841 - updated to rev1841 - rediffed patches - added patch to fix handling of wrong certificates (Nikola Pajkovsky) - added support for $XMLRPC_TRACE_CURL env (John Dennis) * Mon Jul 27 2009 Fedora Release Engineering - 1.16.6-3.1582 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Thu Feb 26 2009 Fedora Release Engineering - 1.16.6-2.1582 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Dec 11 2008 Enrico Scholz - 1.16.6-1.1582 - updated to 1.16.6; rediffed patches - fixed client headers (bug #475887) * Sat Nov 15 2008 Enrico Scholz - 1.16.4.1567-2 - updated to 1.16.4 - rediffed/updated patches - splitted some subpackages (c++, client) out of main package as they introduce additional dependencies (c++, curl) * Sat Sep 6 2008 Tom "spot" Callaway - 1.14.8-2 - fix license tag * Sat Jun 21 2008 Enrico Scholz - 1.14.8-1 - updated to 1.14.8 * Sun May 25 2008 Enrico Scholz - 1.14.6-1 - updated to 1.14.6 * Sat Apr 12 2008 Enrico Scholz - 1.14.2-1 - updated to 1.14.2 - rediffed patches - added patch to fix broken usage of 'long long' datatype * Mon Mar 17 2008 Enrico Scholz - 1.13.8-2 - fixed cmake quoting so that pkgconfig files get correct version number - fixed handling of 'server-util' and '--cflags' within xmlrpc-c-config * Sun Mar 16 2008 Enrico Scholz - 1.13.8-1 - updated to 1.13.8 - removed some patches which were applied upstream * Tue Feb 26 2008 Enrico Scholz - 1.13.07-2 - moved to advanced branched; rediffed/updated existing cmake patch and fixed other compilation issues (#369841) * Mon Feb 18 2008 Fedora Release Engineering - 1.06.23-2 - Autorebuild for GCC 4.3 * Wed Jan 2 2008 Enrico Scholz - 1.06.23-1 - use correct pkg-config script for 'xmlrpc-config abyss-server' output (#355411) - updated to 1.06.23 (#355411) * Tue Sep 4 2007 Enrico Scholz - 1.06.18-1 - updated to 1.06.18 * Thu Aug 16 2007 Enrico Scholz - 1.06.17-1 - updated to 1.06.17 * Sun Jul 22 2007 Enrico Scholz - 1.06.16-1 - updated to 1.06.16 * Thu Jun 14 2007 Enrico Scholz - 1.06.14-1 - updated to 1.06.14 * Sun Apr 1 2007 Enrico Scholz - 1.06.11-2 - rediffed cmake patch against current version - made the xmlrpc-c-config compatible to the upstream version - added compatibility symlinks for some header files (thx to Robert de Vries for reporting these two issues) * Sat Mar 17 2007 Enrico Scholz - 1.06.11-1 - updated to 1.06.11 * Sat Feb 3 2007 Enrico Scholz - 1.06.09-1 - updated to 1.06.09 - removed -typo patch since applied upstream * Mon Nov 6 2006 Jindrich Novy - 1.06.05-3 - rebuild against the new curl * Mon Oct 2 2006 Enrico Scholz - 1.06.05-2 - updated cmake patch - strip installed libraries * Wed Sep 20 2006 Enrico Scholz - 1.06.05-1 - updated to 1.06.05 - merged + updated patches * Sat Sep 16 2006 Enrico Scholz - 1.06.04-1 - updated to 1.06.04 - patched the broken buildsystem - disabled libwww backend explicitely * Sun Jun 4 2006 Enrico Scholz - 1.05-1 - updated to 1.05 - updated patches * Sat Feb 18 2006 Enrico Scholz - 1.04-2 - rebuilt for FC5 * Sun Dec 18 2005 Enrico Scholz - 1.04-1 - added libxml2-devel and openssl-devel Requires: for the -devel subpackage - ship doc/* instead of doc - initial Fedora Extras package (review 175840) * Thu Dec 15 2005 Enrico Scholz - 1.04-0.1 - disabled w3c-libwww because it does not exist anymore in FC5 and seems to be unmaintained upstream - added missing libxml2-devel - cleaned up list of %%doc files - fixed gcc4.1 build issues - removed static libraries when there exists a corresponding dynamic one * Tue Aug 2 2005 Enrico Scholz - 1.03.02-1 - Initial build.