From 2d2222634b62a45033e675a772dd4d813119306c Mon Sep 17 00:00:00 2001 From: Kim van der Riet Date: Fri, 31 Mar 2023 16:26:28 -0400 Subject: [PATCH] Rebased to 0.38.0 --- licenses.xml | 2 +- proton.patch | 62 ++++++++++++++++++++------- qpid-proton.spec | 109 ++++++++++++++++++++--------------------------- sources | 2 +- 4 files changed, 95 insertions(+), 80 deletions(-) diff --git a/licenses.xml b/licenses.xml index 780a10c..5a701c5 100644 --- a/licenses.xml +++ b/licenses.xml @@ -3,7 +3,7 @@ qpid-proton - 0.37.0 + 0.38.0 ASL 2.0 diff --git a/proton.patch b/proton.patch index 82593f8..c9fc8f4 100644 --- a/proton.patch +++ b/proton.patch @@ -1,18 +1,51 @@ -From c2256a4ed949bad6b85086113dc570472a0f7c11 Mon Sep 17 00:00:00 2001 -From: Irina Boverman -Date: Tue, 4 May 2021 14:12:53 -0400 -Subject: [PATCH] Changed Sphinx invocation from sphinx to sphinx-build for - RHEL7 +diff -ruN qpid-proton-0.38.0.orig/CMakeLists.txt qpid-proton-0.38.0/CMakeLists.txt +--- qpid-proton-0.38.0.orig/CMakeLists.txt 2022-11-07 11:35:09.000000000 -0500 ++++ qpid-proton-0.38.0/CMakeLists.txt 2022-11-23 10:19:17.963751717 -0500 +@@ -42,7 +42,7 @@ + if (NOT DEFINED Python_FIND_FRAMEWORK) + set(Python_FIND_FRAMEWORK "LAST") + endif () +-find_package(Python 3.6 ++find_package(Python 3.9 + REQUIRED COMPONENTS Interpreter + OPTIONAL_COMPONENTS Development) ---- - python/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) +diff -ruN qpid-proton-0.38.0.orig/cpp/src/map_test.cpp qpid-proton-0.38.0/cpp/src/map_test.cpp +--- qpid-proton-0.38.0.orig/cpp/src/map_test.cpp 2022-11-07 11:35:09.000000000 -0500 ++++ qpid-proton-0.38.0/cpp/src/map_test.cpp 2023-01-26 10:49:44.159634165 -0500 +@@ -114,6 +114,20 @@ + ASSERT_THROWS(conversion_error, m.value(bad)); + } -diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt -index 44bc36a..e7d0f10 100644 ---- a/python/CMakeLists.txt -+++ b/python/CMakeLists.txt -@@ -125,7 +125,7 @@ else () ++void test_copy_constructor() { ++ proton::map m = std::map{{"a", 2}, {"b", 3}}; ++ ASSERT_EQUAL(scalar(2), m.get("a")); ++ ASSERT_EQUAL(scalar(3), m.get("b")); ++ ASSERT_EQUAL(2U, m.size()); ++} ++ ++void test_initializer_list_constructor() { ++ proton::map m({{"a", 2}, {"b", 3}}); ++ ASSERT_EQUAL(scalar(2), m.get("a")); ++ ASSERT_EQUAL(scalar(3), m.get("b")); ++ ASSERT_EQUAL(2U, m.size()); ++} ++ + } + + int main(int, char**) { +@@ -122,5 +136,7 @@ + RUN_TEST(failed, test_use()); + RUN_TEST(failed, test_cppmap()); + RUN_TEST(failed, test_value()); ++ RUN_TEST(failed, test_copy_constructor()); ++ RUN_TEST(failed, test_initializer_list_constructor()); + return failed; + } +diff -ruN qpid-proton-0.38.0.orig/python/CMakeLists.txt qpid-proton-0.38.0/python/CMakeLists.txt +--- qpid-proton-0.38.0.orig/python/CMakeLists.txt 2022-11-07 11:35:09.000000000 -0500 ++++ qpid-proton-0.38.0/python/CMakeLists.txt 2022-11-23 10:20:07.216991810 -0500 +@@ -101,7 +101,7 @@ COMMAND ${PN_ENV_SCRIPT} -- PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}:${CMAKE_CURRENT_SOURCE_DIR} LD_LIBRARY_PATH="${CMAKE_CURRENT_BINARY_DIR}/c" @@ -21,6 +54,3 @@ index 44bc36a..e7d0f10 100644 add_dependencies(docs docs-py) install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/docs/" DESTINATION "${PROTON_SHARE}/docs/api-py" --- -1.8.3.1 - diff --git a/qpid-proton.spec b/qpid-proton.spec index 55b0820..a1b1b6a 100644 --- a/qpid-proton.spec +++ b/qpid-proton.spec @@ -1,13 +1,14 @@ %global proton_datadir %{_datadir}/proton -%global gem_name qpid_proton %global __cmake_in_source_build 1 %global __provides_exclude_from ^%{proton_datadir}/examples/.*$ %global __requires_exclude_from ^%{proton_datadir}/examples/.*$ +%undefine __brp_mangle_shebangs + Name: qpid-proton -Version: 0.37.0 -Release: 5%{?dist} +Version: 0.38.0 +Release: 1%{?dist} Summary: A high performance, lightweight messaging library License: ASL 2.0 URL: http://qpid.apache.org/proton/ @@ -30,13 +31,17 @@ BuildRequires: doxygen BuildRequires: libuuid-devel BuildRequires: openssl-devel BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-rpm-macros BuildRequires: python3-sphinx +BuildRequires: python3-wheel BuildRequires: glibc-headers BuildRequires: cyrus-sasl-devel BuildRequires: jsoncpp-devel BuildRequires: python3-setuptools -BuildRequires: ruby-devel -BuildRequires: rubygems-devel +BuildRequires: libuv-devel +BuildRequires: nspr-devel +#BuildRequires: opentelemetry-cpp-devel %description Proton is a high performance, lightweight messaging library. It can be used in @@ -70,8 +75,9 @@ Obsoletes: perl-qpid-proton %package cpp Summary: C++ libraries for Qpid Proton -Requires: qpid-proton-c%{?_isa} = %{version}-%{release} +Requires: qpid-proton-c%{?_isa} = %{version}-%{release} Requires: jsoncpp +#Requires: opentelemetry-cpp %description cpp %{summary}. @@ -125,13 +131,12 @@ Summary: Development libraries for writing messaging apps with Qpid Proton Summary: Documentation for the C development libraries for Qpid Proton BuildArch: noarch Obsoletes: qpid-proton-c-devel-doc -Obsoletes: qpid-proton-c-devel-docs +Obsoletes: qpid-proton-c-devel-docs %description c-docs %{summary}. %files c-docs -%defattr(-,root,root,-) %license %{proton_licensedir}/LICENSE.txt %doc %{proton_datadir}/docs/api-c %doc %{proton_datadir}/examples/README.md @@ -152,7 +157,6 @@ Obsoletes: qpid-proton-cpp-devel-docs %{summary}. %files cpp-docs -%defattr(-,root,root,-) %license %{proton_licensedir}/LICENSE.txt %{proton_datadir}/docs/api-cpp %doc %{proton_datadir}/examples/cpp/*.cpp @@ -160,13 +164,12 @@ Obsoletes: qpid-proton-cpp-devel-docs %doc %{proton_datadir}/examples/cpp/README.dox %doc %{proton_datadir}/examples/cpp/CMakeLists.txt %doc %{proton_datadir}/examples/cpp/ssl-certs +%doc %{proton_datadir}/examples/cpp/tracing.dox %doc %{proton_datadir}/examples/cpp/tutorial.dox %package -n python3-qpid-proton Summary: Python language bindings for the Qpid Proton messaging framework -%{?python_provide:%python_provide python3-qpid-proton} - Requires: qpid-proton-c%{?_isa} = %{version}-%{release} Requires: python3 @@ -174,7 +177,11 @@ Requires: python3 %{summary}. %files -n python3-qpid-proton -%{python3_sitearch}/* +%{python3_sitearch}/__pycache__/* +%{python3_sitearch}/*.so +%{python3_sitearch}/*.py* +%{python3_sitearch}/proton +%{python3_sitearch}/python_qpid_proton-%{version}.dist-info/* %package -n python-qpid-proton-docs @@ -186,7 +193,6 @@ Obsoletes: python-qpid-proton-doc %{summary}. %files -n python-qpid-proton-docs -%defattr(-,root,root,-) %license %{proton_licensedir}/LICENSE.txt %doc %{proton_datadir}/docs/api-py %doc %{proton_datadir}/examples/python @@ -195,6 +201,7 @@ Obsoletes: python-qpid-proton-doc %package tests Summary: Qpid Proton Tests BuildArch: noarch + %description tests %{summary}. @@ -202,79 +209,53 @@ BuildArch: noarch %doc %{proton_datadir}/tests -%package -n rubygem-%{gem_name} -Group: System Environment/Libraries -Summary: Ruby language bindings for the Qpid Proton messaging framework -Obsoletes: rubygem-%{gem_name}-doc - -%description -n rubygem-%{gem_name} -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. - -%files -n rubygem-%{gem_name} -%dir %{gem_instdir} -%{gem_libdir} -%{gem_extdir_mri} -%exclude %{gem_cache} -%{gem_spec} -%doc %{gem_instdir}/examples -%doc %{gem_instdir}/tests - - %prep %setup -q -n %{name}-%{version} -%patch0 -p1 +%patch -p1 0 %build - -mkdir buildpython3 -cd buildpython3 +mkdir -p BLD +cd BLD %cmake \ - -DSYSINSTALL_BINDINGS=ON \ -DCMAKE_SKIP_RPATH:BOOL=OFF \ - -DENABLE_FUZZ_TESTING=NO \ "-DCMAKE_C_FLAGS=$CFLAGS -Wno-deprecated-declarations" \ + -DENABLE_FUZZ_TESTING=NO \ .. -#make all docs %{?_smp_mflags} -make all docs -j1 -(cd python/dist; %py3_build) +make all docs %{?_smp_mflags} %install rm -rf %{buildroot} -cd buildpython3 +cd BLD %make_install -(cd python/dist; %py3_install) -chmod +x %{buildroot}%{python3_sitearch}/_cproton.so +(cd python/dist +# Need to remove anything built by the python cmake build in proton +# so that we rebuild from scratch +rm -rf build +# Need to do the python package build here as we rely on the qpid-proton-core +# library to be installed so we don't duplicate it inside the extension +# That is also why we have to point pkg-config at the installed library +PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig %py3_build_wheel +%py3_install_wheel python_qpid_proton-%{version}-cp311-cp311-linux_%{_arch}.whl +# We seem to need to strip the build extension otherwise it seems to embed a reference to +# the buildroot in the debug info which fails the rpmbuild - probably because we massaged +# the pkgconfig path above +strip %{buildroot}%{python3_sitearch}/_cproton*.so) install -dm 755 %{buildroot}%{proton_licensedir} install -pm 644 %{SOURCE1} %{buildroot}%{proton_licensedir} install -pm 644 %{buildroot}%{proton_datadir}/LICENSE.txt %{buildroot}%{proton_licensedir} rm -f %{buildroot}%{proton_datadir}/LICENSE.txt -cd ruby/gem/ -mkdir -p %{buildroot}%{gem_instdir} -install -dm 755 %{buildroot}%{gem_dir}/specifications -mkdir -p %{buildroot}%{gem_extdir_mri} -cp -a %{buildroot}%{ruby_vendorarchdir}/cproton.so %{buildroot}%{gem_extdir_mri}/ -touch %{buildroot}%{gem_extdir_mri}/gem.build_complete -chmod 644 %{buildroot}%{gem_extdir_mri}/gem.build_complete -cp -a examples tests lib %{buildroot}%{gem_instdir}/ -install -pm 644 %{gem_name}.gemspec %{buildroot}%{gem_spec} - # clean up files that are not shipped rm -rf %{buildroot}%{_exec_prefix}/bindings rm -rf %{buildroot}%{_libdir}/java rm -rf %{buildroot}%{_libdir}/libproton-jni.so rm -rf %{buildroot}%{_datarootdir}/java rm -rf %{buildroot}%{_libdir}/proton.cmake -rm -rf %{buildroot}%{_libdir}/ruby -rm -rf %{buildroot}%{_datarootdir}/ruby rm -fr %{buildroot}%{proton_datadir}/examples/CMakeFiles rm -f %{buildroot}%{proton_datadir}/examples/Makefile rm -f %{buildroot}%{proton_datadir}/examples/*.cmake @@ -288,6 +269,8 @@ rm -f %{buildroot}%{proton_datadir}/examples/c/receive rm -f %{buildroot}%{proton_datadir}/examples/c/send rm -f %{buildroot}%{proton_datadir}/examples/c/send-abort rm -f %{buildroot}%{proton_datadir}/examples/c/send-ssl +rm -f %{buildroot}%{proton_datadir}/examples/c/raw_connect +rm -f %{buildroot}%{proton_datadir}/examples/c/raw_echo rm -fr %{buildroot}%{proton_datadir}/examples/cpp/CMakeFiles rm -f %{buildroot}%{proton_datadir}/examples/cpp/*.cmake rm -f %{buildroot}%{proton_datadir}/examples/cpp/Makefile @@ -322,7 +305,6 @@ rm -fr %{buildroot}%{proton_datadir}/examples/engine/java rm -fr %{buildroot}%{proton_datadir}/examples/go rm -fr %{buildroot}%{proton_datadir}/examples/java rm -fr %{buildroot}%{proton_datadir}/examples/javascript -rm -fr %{buildroot}%{proton_datadir}/examples/ruby rm -fr %{buildroot}%{proton_datadir}/examples/perl rm -fr %{buildroot}%{proton_datadir}/examples/php rm -f %{buildroot}%{proton_datadir}/CMakeLists.txt @@ -330,6 +312,9 @@ rm -f %{buildroot}%{proton_datadir}/CMakeLists.txt %check %changelog +* Fri Mar 31 2023 Kim van der Riet - 0.38.0-1 +- Rebased to 0.38.0, opentelemetry-cpp not included as no pkgs in Fedora yet. + * Fri Jan 20 2023 Fedora Release Engineering - 0.37.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild @@ -363,7 +348,7 @@ rm -f %{buildroot}%{proton_datadir}/CMakeLists.txt * Fri Jul 23 2021 Fedora Release Engineering - 0.35.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild -* Fri July 16 2021 Kim van der Riet - 0.35.0-1 +* Fri Jul 16 2021 Kim van der Riet - 0.35.0-1 - Rebased to 0.35.0 * Tue May 4 2021 Irina Boverman - 0.34.0-1 @@ -521,7 +506,7 @@ rm -f %{buildroot}%{proton_datadir}/CMakeLists.txt * Tue Sep 8 2015 Irina Boverman - 0.10-2 - Added dependency on cyrus-sasl-devel and cyrus-sasl-lib - Added 0001-PROTON-974-Accept-a-single-symbol-in-SASL-mechs-fram.patch - + * Wed Sep 2 2015 Irina Boverman - 0.10-1 - Rebased to 0.10 @@ -627,7 +612,7 @@ rm -f %{buildroot}%{proton_datadir}/CMakeLists.txt - Removed redundant package name from summary. - Removed debugging artifacts from specfile. - Moved unversioned library to the -devel package. -- Added dependency on main package to -devel. +- Added dependency on main package to -devel. - Fixed directory ownerships. * Fri Nov 30 2012 Darryl L. Pierce - 0.2-2 diff --git a/sources b/sources index eeed64e..e64d887 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qpid-proton-0.37.0.tar.gz) = 84d67aab0e81f371fbcee3db89a8a585794966e17ffcd2e2e9418cb587efc0bc4e635c6ce251ebefd716817632ea5b049b759678cebbad64a0d0c07285bd5962 +SHA512 (qpid-proton-0.38.0.tar.gz) = 5333046c954d8b63c59579b05173fa2345e0a61f37a305d23b9e3afee461280c82f9f1c19c30954ba32176ce5fef9ce1f0afc57c99d6c614b2d66cdbb71ff00e