Hello community, here is the log from the commit of package qpid-proton for openSUSE:Factory checked in at 2020-06-08 23:51:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qpid-proton (Old) and /work/SRC/openSUSE:Factory/.qpid-proton.new.3606 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qpid-proton" Mon Jun 8 23:51:05 2020 rev:16 rq:811688 version:0.31.0 Changes: -------- --- /work/SRC/openSUSE:Factory/qpid-proton/qpid-proton.changes 2019-01-11 14:04:15.871873985 +0100 +++ /work/SRC/openSUSE:Factory/.qpid-proton.new.3606/qpid-proton.changes 2020-06-08 23:51:54.894823462 +0200 @@ -1,0 +2,28 @@ +Thu Jun 4 09:34:36 UTC 2020 - Jan Engelhardt <[email protected]> + +- Trim bias/conjecture from description. Fixup RPM groups. + +------------------------------------------------------------------- +Wed Jun 3 15:48:08 UTC 2020 - Vítězslav Čížek <[email protected]> + +- Update to 0.31.0 + * No changelog available +- Drop deprecated perl bindings package +- Enable tests +- Drop obsolete patches: + * qpid-proton-fix-dh-openssl-1.1.0.patch + * qpid-proton-fix-session-resume-openssl-1.1.0.patch + * reproducible.patch + * catch-by-const-reference.patch + * qpid-proton-0.16.0-gcc7.patch + * qpid-proton-0.9-pthread.patch + * qpid-proton-cmake-fixes.patch + +------------------------------------------------------------------- +Wed Jun 3 13:00:22 UTC 2020 - Vítězslav Čížek <[email protected]> + +- Fix build with OpenSSL 3.0.0 (bsc#1172267) + * https://issues.apache.org/jira/projects/PROTON/issues/PROTON-2238 + * add qpid-proton-openssl-3.0.0.patch + +------------------------------------------------------------------- Old: ---- catch-by-const-reference.patch qpid-proton-0.16.0-gcc7.patch qpid-proton-0.17.0.tar.gz qpid-proton-0.9-pthread.patch qpid-proton-cmake-fixes.patch qpid-proton-fix-dh-openssl-1.1.0.patch qpid-proton-fix-session-resume-openssl-1.1.0.patch reproducible.patch New: ---- qpid-proton-0.31.0.tar.gz qpid-proton-openssl-3.0.0.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qpid-proton.spec ++++++ --- /var/tmp/diff_new_pack.ZGL0QO/_old 2020-06-08 23:51:57.702832124 +0200 +++ /var/tmp/diff_new_pack.ZGL0QO/_new 2020-06-08 23:51:57.702832124 +0200 @@ -1,7 +1,7 @@ # # spec file for package qpid-proton # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,34 +12,29 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # + +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%global qpid_proton_soversion 10 +%global qpid_proton_cpp_soversion 12 +%global qpid_proton_proactor_soversion 1 # libqpid-proton dependency leaves detritus in __pycache__ on Red Hat which should be excluded from RPM %if 0%{?fedora} || 0%{?rhel} %define _unpackaged_files_terminate_build 0 %endif - -%{?!python_module:%define python_module() python-%{**} python3-%{**}} -%global qpid_proton_soversion 10 Name: qpid-proton -Version: 0.17.0 +Version: 0.31.0 Release: 0 -Summary: A high performance, lightweight messaging library +Summary: A messaging library License: Apache-2.0 Group: Productivity/Networking/Other -Url: http://qpid.apache.org/proton/ +URL: https://qpid.apache.org/proton/ Source0: http://www.apache.org/dist/qpid/proton/%{version}/%{name}-%{version}.tar.gz -Patch101: qpid-proton-cmake-fixes.patch -Patch102: qpid-proton-0.9-pthread.patch -Patch103: qpid-proton-0.16.0-gcc7.patch -# PATCH-FIX-UPSTREAM - qpid-proton-fix-dh-openssl-1.1.0.patch - Modify openssl DH code to work with openssl 1.1 -Patch104: qpid-proton-fix-dh-openssl-1.1.0.patch -# PATCH-FIX-UPSTREAM - qpid-proton-fix-session-resume-openssl-1.1.0.patch - Rework Openssl session resume code to work with openssl 1.1 -Patch105: qpid-proton-fix-session-resume-openssl-1.1.0.patch -Patch106: catch-by-const-reference.patch -Patch107: reproducible.patch +Patch0: qpid-proton-openssl-3.0.0.patch BuildRequires: %{python_module devel} +BuildRequires: %{python_module setuptools} BuildRequires: %{python_module xml} BuildRequires: cmake BuildRequires: doxygen @@ -50,51 +45,58 @@ BuildRequires: pkgconfig BuildRequires: python-rpm-macros BuildRequires: swig >= 2.0.9 -BuildRequires: perl(ExtUtils::MakeMaker) -BuildRequires: perl(Test::Exception) -BuildRequires: perl(Test::More) %description -Proton is a high performance, lightweight messaging library. It can be used in -the widest range of messaging applications including brokers, client libraries, -routers, bridges, proxies, and more. Proton is based on the AMQP 1.0 messaging -standard. Using Proton it is trivial to integrate with the AMQP 1.0 ecosystem -from any platform, environment, or language. +Proton is a messaging library. It can be used in brokers, client +libraries, routers, bridges and proxies. Proton is based on the AMQP +1.0 messaging standard. %package -n libqpid-proton%{qpid_proton_soversion} Summary: C library for Qpid Proton -Group: Development/Libraries/C and C++ +Group: System/Libraries %description -n libqpid-proton%{qpid_proton_soversion} -Proton is a high performance, lightweight messaging library. It can be used in -the widest range of messaging applications including brokers, client libraries, -routers, bridges, proxies, and more. Proton is based on the AMQP 1.0 messaging -standard. Using Proton it is trivial to integrate with the AMQP 1.0 ecosystem -from any platform, environment, or language. +Proton is a messaging library. It can be used in brokers, client +libraries, routers, bridges and proxies. Proton is based on the AMQP +1.0 messaging standard. -%package -n libqpid-proton-cpp%{qpid_proton_soversion} -Summary: C++ library for Qpid Proton +%package -n qpid-proton-test +Summary: Test files for Qpid Proton Group: Development/Libraries/C and C++ -%description -n libqpid-proton-cpp%{qpid_proton_soversion} -Proton is a high performance, lightweight messaging library. It can be used in -the widest range of messaging applications including brokers, client libraries, -routers, bridges, proxies, and more. Proton is based on the AMQP 1.0 messaging -standard. Using Proton it is trivial to integrate with the AMQP 1.0 ecosystem -from any platform, environment, or language. +%description -n qpid-proton-test +Proton is a messaging library. It can be used in brokers, client +libraries, routers, bridges and proxies. Proton is based on the AMQP +1.0 messaging standard. + +%package -n libqpid-proton-cpp%{qpid_proton_cpp_soversion} +Summary: C++ library for Qpid Proton +Group: System/Libraries + +%description -n libqpid-proton-cpp%{qpid_proton_cpp_soversion} +Proton is a messaging library. It can be used in brokers, client +libraries, routers, bridges and proxies. Proton is based on the AMQP +1.0 messaging standard. + +%package -n libqpid-proton-proactor%{qpid_proton_proactor_soversion} +Summary: Proactor library for Qpid Proton +Group: System/Libraries + +%description -n libqpid-proton-proactor%{qpid_proton_proactor_soversion} +Proton is a messaging library. It can be used in brokers, client +libraries, routers, bridges and proxies. Proton is based on the AMQP +1.0 messaging standard. %package devel Summary: Development libraries for writing messaging apps with Qpid Proton Group: Development/Libraries/C and C++ Requires: libqpid-proton%{qpid_proton_soversion} = %{version}-%{release} -Requires: libqpid-proton-cpp%{qpid_proton_soversion} = %{version}-%{release} +Requires: libqpid-proton-cpp%{qpid_proton_cpp_soversion} = %{version}-%{release} %description devel -Proton is a high performance, lightweight messaging library. It can be used in -the widest range of messaging applications including brokers, client libraries, -routers, bridges, proxies, and more. Proton is based on the AMQP 1.0 messaging -standard. Using Proton it is trivial to integrate with the AMQP 1.0 ecosystem -from any platform, environment, or language. +Proton is a messaging library. It can be used in brokers, client +libraries, routers, bridges and proxies. Proton is based on the AMQP +1.0 messaging standard. %package devel-doc Summary: Documentation for the C development libraries for Qpid Proton @@ -106,11 +108,9 @@ %endif %description devel-doc -Proton is a high performance, lightweight messaging library. It can be used in -the widest range of messaging applications including brokers, client libraries, -routers, bridges, proxies, and more. Proton is based on the AMQP 1.0 messaging -standard. Using Proton it is trivial to integrate with the AMQP 1.0 ecosystem -from any platform, environment, or language. +Proton is a messaging library. + +This subpackage contains the documentation. %if 0%{?have_python2} %package -n python2-python-qpid-proton @@ -126,11 +126,9 @@ Provides: python-python-qpid-proton = %{version} %description -n python2-python-qpid-proton -Proton is a high performance, lightweight messaging library. It can be used in -the widest range of messaging applications including brokers, client libraries, -routers, bridges, proxies, and more. Proton is based on the AMQP 1.0 messaging -standard. Using Proton it is trivial to integrate with the AMQP 1.0 ecosystem -from any platform, environment, or language. +Proton is a messaging library. It can be used in brokers, client +libraries, routers, bridges and proxies. Proton is based on the AMQP +1.0 messaging standard. %endif %package -n python3-python-qpid-proton @@ -144,28 +142,12 @@ Obsoletes: python3-qpid-proton < %{version} %description -n python3-python-qpid-proton -Proton is a high performance, lightweight messaging library. It can be used in -the widest range of messaging applications including brokers, client libraries, -routers, bridges, proxies, and more. Proton is based on the AMQP 1.0 messaging -standard. Using Proton it is trivial to integrate with the AMQP 1.0 ecosystem -from any platform, environment, or language. - -%package -n perl-qpid-proton -Summary: Perl language bindings for Qpid Proton messaging framework -Group: Development/Libraries/Perl -Requires: libqpid-proton%{qpid_proton_soversion} = %{version}-%{release} -Requires: perl = %{perl_version} - -%description -n perl-qpid-proton -Proton is a high performance, lightweight messaging library. It can be used in -the widest range of messaging applications including brokers, client libraries, -routers, bridges, proxies, and more. Proton is based on the AMQP 1.0 messaging -standard. Using Proton it is trivial to integrate with the AMQP 1.0 ecosystem -from any platform, environment, or language. +Proton is a messaging library. It can be used in brokers, client +libraries, routers, bridges and proxies. Proton is based on the AMQP +1.0 messaging standard. %prep -%setup -q -%autopatch -p1 +%autosetup -p1 %build %cmake \ @@ -176,54 +158,69 @@ -DSYSINSTALL_PYTHON=1 \ -DCHECK_SYSINSTALL_PYTHON=0 -make all docs %{?_smp_mflags} +%make_build all docs # build for python2 and python3 -(cd proton-c/bindings/python/dist; %python_build) +(cd python/dist; %python_build) %install %cmake_install -(cd build/proton-c/bindings/python/dist; %python_install) +(cd build/python/dist; %python_install) rm -rf %{buildroot}%{python3_sitearch}/__pycache__ chmod +x %{buildroot}%{python_sitearch}/*_cproton.so -find %{buildroot}%{_datadir}/proton-%{version}/examples/ -type f | xargs chmod -x +find %{buildroot}%{_datadir}/proton/examples/ -type f | xargs chmod -x mkdir -p %{buildroot}%{_docdir}/%{name} -mv %{buildroot}%{_datadir}/proton-%{version}/docs/* %{buildroot}%{_docdir}/%{name}/ +mv %{buildroot}%{_datadir}/proton/docs/* %{buildroot}%{_docdir}/%{name}/ %fdupes -s %{buildroot} +%check +%ctest + %post -n libqpid-proton%{qpid_proton_soversion} -p /sbin/ldconfig %postun -n libqpid-proton%{qpid_proton_soversion} -p /sbin/ldconfig -%post -n libqpid-proton-cpp%{qpid_proton_soversion} -p /sbin/ldconfig -%postun -n libqpid-proton-cpp%{qpid_proton_soversion} -p /sbin/ldconfig +%post -n libqpid-proton-cpp%{qpid_proton_cpp_soversion} -p /sbin/ldconfig +%postun -n libqpid-proton-cpp%{qpid_proton_cpp_soversion} -p /sbin/ldconfig +%post -n libqpid-proton-proactor%{qpid_proton_proactor_soversion} -p /sbin/ldconfig +%postun -n libqpid-proton-proactor%{qpid_proton_proactor_soversion} -p /sbin/ldconfig %files -n libqpid-proton%{qpid_proton_soversion} %{_libdir}/libqpid-proton.so.* %{_libdir}/libqpid-proton-core.so.* -%files -n libqpid-proton-cpp%{qpid_proton_soversion} +%files -n libqpid-proton-cpp%{qpid_proton_cpp_soversion} %{_libdir}/libqpid-proton-cpp.so.* +%files -n libqpid-proton-proactor%{qpid_proton_proactor_soversion} +%{_libdir}/libqpid-proton-proactor.so.* + +%files test +%dir %{_datadir}/proton/tests +%{_datadir}/proton/tests/* + %files devel %{_includedir}/proton %{_libdir}/libqpid-proton.so %{_libdir}/libqpid-proton-core.so %{_libdir}/libqpid-proton-cpp.so +%{_libdir}/libqpid-proton-proactor.so %{_libdir}/pkgconfig/libqpid-proton.pc %{_libdir}/pkgconfig/libqpid-proton-core.pc %{_libdir}/pkgconfig/libqpid-proton-cpp.pc +%{_libdir}/pkgconfig/libqpid-proton-proactor.pc %dir %{_libdir}/cmake/Proton %dir %{_libdir}/cmake/ProtonCpp %{_libdir}/cmake/Proton/*.cmake %{_libdir}/cmake/ProtonCpp/*.cmake %files devel-doc -%dir %{_datadir}/proton-%{version} -%doc %{_datadir}/proton-%{version}/LICENSE -%doc %{_datadir}/proton-%{version}/README.md -%{_datadir}/proton-%{version}/examples +%{_datadir}/proton/CMakeLists.txt +%{_datadir}/proton/LICENSE.txt +%dir %{_datadir}/proton +%doc %{_datadir}/proton/README.md +%{_datadir}/proton/examples %dir %{_docdir}/%{name} %{_docdir}/%{name}/api-c %{_docdir}/%{name}/api-cpp @@ -242,7 +239,4 @@ %{python3_sitearch}/proton %{python3_sitearch}/python_qpid_proton-%{version}-py*.egg-info -%files -n perl-qpid-proton -%{perl_vendorarch}/* - %changelog ++++++ qpid-proton-0.17.0.tar.gz -> qpid-proton-0.31.0.tar.gz ++++++ ++++ 308319 lines of diff (skipped) ++++++ qpid-proton-openssl-3.0.0.patch ++++++ Index: qpid-proton-0.31.0/c/src/ssl/openssl.c =================================================================== --- qpid-proton-0.31.0.orig/c/src/ssl/openssl.c 2020-06-03 18:25:09.020577060 +0200 +++ qpid-proton-0.31.0/c/src/ssl/openssl.c 2020-06-03 18:26:10.217016007 +0200 @@ -702,7 +702,7 @@ int pn_ssl_domain_set_trusted_ca_db(pn_s if (!domain) return -1; // certificates can be either a file or a directory, which determines how it is passed - // to SSL_CTX_load_verify_locations() + // to SSL_CTX_load_verify_*() struct stat sbuf; if (stat( certificate_db, &sbuf ) != 0) { ssl_log(NULL, PN_LEVEL_ERROR, "stat(%s) failed: %s", certificate_db, strerror(errno)); @@ -719,10 +719,24 @@ int pn_ssl_domain_set_trusted_ca_db(pn_s file = certificate_db; } +#if defined(OPENSSL_VERSION_MAJOR) && OPENSSL_VERSION_MAJOR >= 3 + if (dir) { + if (SSL_CTX_load_verify_dir( domain->ctx, dir ) != 1) { + ssl_log_error("SSL_CTX_load_verify_dir( %s ) failed", certificate_db); + return -1; + } + } else { + if (SSL_CTX_load_verify_file( domain->ctx, file ) != 1) { + ssl_log_error("SSL_CTX_load_verify_file( %s ) failed", certificate_db); + return -1; + } + } +#else if (SSL_CTX_load_verify_locations( domain->ctx, file, dir ) != 1) { ssl_log_error("SSL_CTX_load_verify_locations( %s ) failed", certificate_db); return -1; } +#endif return 0; }
