Notification time stamped 2023-03-31 20:51:27 UTC
From 1f2f7a698630bf54ff2b3d180aa9b3051716e3fb Mon Sep 17 00:00:00 2001
From: Kim van der Riet <kvanderr(a)redhat.com>
Date: Mar 31 2023 20:51:15 +0000
Subject: Rebased to 0.38.0
---
diff --git a/licenses.xml b/licenses.xml
index 780a10c..5a701c5 100644
--- a/licenses.xml
+++ b/licenses.xml
@@ -3,7 +3,7 @@
<dependencies>
<dependency>
<packageName>qpid-proton</packageName>
- <version>0.37.0</version>
+ <version>0.38.0</version>
<licenses>
<license>
<name>ASL 2.0</name>
diff --git a/proton.patch b/proton.patch
index 1a7a696..c9fc8f4 100644
--- a/proton.patch
+++ b/proton.patch
@@ -1,17 +1,51 @@
-From fb76b256a72b2c147e252c3e19fd0523bab1eab8 Mon Sep 17 00:00:00 2001
-From: Irina Boverman <iboverma(a)redhat.com>
-Date: Mon, 28 Jun 2021 10:55:15 -0400
-Subject: [PATCH 1/2] Changed-Sphinx-invocation-from-sphinx-to-sphinx-buil
+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 06caf61a..f8735fd1 100644
---- a/python/CMakeLists.txt
-+++ b/python/CMakeLists.txt
-@@ -124,7 +124,7 @@ else ()
++void test_copy_constructor() {
++ proton::map<string, scalar> m = std::map<string, scalar>{{"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<string, scalar> 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"
@@ -20,6 +54,3 @@ index 06caf61a..f8735fd1 100644
add_dependencies(docs docs-py)
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/docs/"
DESTINATION "${PROTON_SHARE}/docs/api-py"
---
-2.29.0
-
diff --git a/qpid-proton.spec b/qpid-proton.spec
index b53110b..a8f3845 100644
--- a/qpid-proton.spec
+++ b/qpid-proton.spec
@@ -1,5 +1,4 @@
%global proton_datadir %{_datadir}/proton
-%global gem_name qpid_proton
%global __cmake_in_source_build 1
%global __provides_exclude_from ^%{proton_datadir}/examples/.*$
@@ -8,8 +7,8 @@
%undefine __brp_mangle_shebangs
Name: qpid-proton
-Version: 0.37.0
-Release: 2%{?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/
@@ -33,15 +32,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
@@ -77,6 +78,7 @@ Obsoletes: perl-qpid-proton
Summary: C++ libraries for Qpid Proton
Requires: qpid-proton-c%{?_isa} = %{version}-%{release}
Requires: jsoncpp
+#Requires: opentelemetry-cpp
%description cpp
%{summary}.
@@ -163,6 +165,7 @@ 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
@@ -178,8 +181,8 @@ Requires: python3
%{python3_sitearch}/__pycache__/*
%{python3_sitearch}/*.so
%{python3_sitearch}/*.py*
-%{python3_sitearch}/*.egg-info
%{python3_sitearch}/proton
+%{python3_sitearch}/python_qpid_proton-%{version}.dist-info/*
%package -n python-qpid-proton-docs
@@ -199,32 +202,13 @@ Obsoletes: python-qpid-proton-doc
%package tests
Summary: Qpid Proton Tests
BuildArch: noarch
+
%description tests
%{summary}.
%files tests
%doc %{proton_datadir}/tests
-%package -n rubygem-%{gem_name}
-Summary: Ruby language bindings for the Qpid Proton messaging framework
-Requires: qpid-proton-c = %{version}-%{release}
-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}
@@ -232,51 +216,47 @@ standard.
%build
-
-mkdir build
-cd build
+mkdir -p BLD
+cd BLD
%cmake \
- -DSYSINSTALL_BINDINGS=ON \
-DCMAKE_SKIP_RPATH:BOOL=OFF \
"-DCMAKE_C_FLAGS=$CFLAGS -Wno-deprecated-declarations" \
-DENABLE_FUZZ_TESTING=NO \
..
make all docs %{?_smp_mflags}
-(cd python/dist; %py3_build)
%install
rm -rf %{buildroot}
-cd build
+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}-cp39-cp39-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
@@ -326,7 +306,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
@@ -334,5 +313,8 @@ rm -f %{buildroot}%{proton_datadir}/CMakeLists.txt
%check
%changelog
+* Fri Mar 31 2023 Kim van der Riet <kvanderr(a)redhat.com> - 0.38.0-1
+- Rebased to 0.38.0, opentelemetry-cpp not included as no pkgs in centos yet.
+
* Tue Jul 12 2022 Irina Boverman <iboverma(a)redhat.com> - 0.37.0-1
- Initial build for EPEL 9
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
https://src.fedoraproject.org/rpms/qpid-proton/c/1f2f7a698630bf54ff2b3d18...