diff --git a/python-uamqp-openssl3.patch b/python-uamqp-openssl3.patch new file mode 100644 index 0000000000000000000000000000000000000000..8168c846eba9c9c3f2abf03a2cdac446dcb30d90 --- /dev/null +++ b/python-uamqp-openssl3.patch @@ -0,0 +1,54 @@ +From ada26c0d5e5316347936a934f9de9ab5b5571dee Mon Sep 17 00:00:00 2001 +From: Simon Chopin +Date: Wed, 24 Nov 2021 17:07:25 +0100 +Subject: [PATCH] Relax the range checks on the OpenSSL version + +OpenSSL 3.0 has a high degree of API compatibility with the 1.1.1 +branch, so the 1.1 code branches are also valid for higher versions. + +Note that this patch does *not* address the deprecation warnings +introduced by OpenSSL 3.0. + +--- + .../deps/azure-c-shared-utility/adapters/tlsio_openssl.c | 4 ++-- + .../deps/azure-c-shared-utility/adapters/x509_openssl.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/tlsio_openssl.c b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/tlsio_openssl.c +index 1832994..5e08d5c 100644 +--- a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/tlsio_openssl.c ++++ b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/tlsio_openssl.c +@@ -1052,7 +1052,7 @@ static int create_openssl_instance(TLS_IO_INSTANCE* tlsInstance) + + const SSL_METHOD* method = NULL; + +-#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (OPENSSL_VERSION_NUMBER >= 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) + if (tlsInstance->tls_version == VERSION_1_2) + { + method = TLSv1_2_method(); +@@ -1248,7 +1248,7 @@ void tlsio_openssl_deinit(void) + + #if (OPENSSL_VERSION_NUMBER < 0x10000000L) + ERR_remove_state(0); +-#elif (OPENSSL_VERSION_NUMBER < 0x10100000L) || (OPENSSL_VERSION_NUMBER >= 0x20000000L) ++#elif (OPENSSL_VERSION_NUMBER < 0x10100000L) + ERR_remove_thread_state(NULL); + #endif + #if (OPENSSL_VERSION_NUMBER >= 0x10002000L) && (OPENSSL_VERSION_NUMBER < 0x10010000L) && (SSL_COMP_free_compression_methods) +diff --git a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/x509_openssl.c b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/x509_openssl.c +index 12107ff..84a29f5 100644 +--- a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/x509_openssl.c ++++ b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/adapters/x509_openssl.c +@@ -345,7 +345,7 @@ int x509_openssl_add_certificates(SSL_CTX* ssl_ctx, const char* certificates) + else + { + /*Codes_SRS_X509_OPENSSL_02_012: [ x509_openssl_add_certificates shall get the memory BIO method function by calling BIO_s_mem. ]*/ +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) + const BIO_METHOD* bio_method; + #else + BIO_METHOD* bio_method; +-- +2.35.1 + diff --git a/python-uamqp-treat-warnings-as-warnings.patch b/python-uamqp-treat-warnings-as-warnings.patch new file mode 100644 index 0000000000000000000000000000000000000000..e6947a03b38b0fb254fd148de46ca26330997a8c --- /dev/null +++ b/python-uamqp-treat-warnings-as-warnings.patch @@ -0,0 +1,165 @@ +From 8ecfdb80f318e5907083812d1b39131f07145937 Mon Sep 17 00:00:00 2001 +From: Major Hayden +Date: Wed, 22 Sep 2021 06:28:20 -0500 +Subject: [PATCH] Disable treating warnings as errors + +--- + .../configs/azure_iot_build_rules.cmake | 6 ------ + .../azure-c-shared-utility/deps/umock-c/CMakeLists.txt | 9 --------- + .../deps/umock-c/deps/ctest/CMakeLists.txt | 6 ++---- + .../testtools/ctest/CMakeLists.txt | 6 ++---- + src/vendor/azure-uamqp-c/deps/umock-c/CMakeLists.txt | 9 --------- + .../azure-uamqp-c/deps/umock-c/deps/ctest/CMakeLists.txt | 6 ++---- + 6 files changed, 6 insertions(+), 36 deletions(-) + +diff --git a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/configs/azure_iot_build_rules.cmake b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/configs/azure_iot_build_rules.cmake +index 63a75bc..1687491 100644 +--- a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/configs/azure_iot_build_rules.cmake ++++ b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/configs/azure_iot_build_rules.cmake +@@ -71,8 +71,6 @@ if(MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3") + elseif(UNIX) #LINUX OR APPLE +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") + if(NOT (IN_OPENWRT OR APPLE)) + set (CMAKE_C_FLAGS "-D_POSIX_C_SOURCE=200112L ${CMAKE_C_FLAGS}") + endif() +@@ -209,10 +207,6 @@ IF((WIN32) AND (NOT(MINGW))) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + # Make warning as error + add_definitions(/WX) +-ELSE() +- # Make warning as error +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") + ENDIF() + + +diff --git a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/deps/umock-c/CMakeLists.txt b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/deps/umock-c/CMakeLists.txt +index dead94d..d869028 100644 +--- a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/deps/umock-c/CMakeLists.txt ++++ b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/deps/umock-c/CMakeLists.txt +@@ -22,15 +22,6 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) + # Build with -fPIC always + set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) + +-# Build with -Werror +-if(MSVC) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4") +-elseif(UNIX) # LINUX OR APPLE +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") +-endif() +- + include (CTest) + include (CheckIncludeFiles) + +diff --git a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/deps/umock-c/deps/ctest/CMakeLists.txt b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/deps/umock-c/deps/ctest/CMakeLists.txt +index ddac93f..3bbf0b1 100644 +--- a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/deps/umock-c/deps/ctest/CMakeLists.txt ++++ b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/deps/umock-c/deps/ctest/CMakeLists.txt +@@ -51,21 +51,19 @@ if(MSVC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3") + # WEC 2013 uses older VS compiler. Build some files as C++ files to resolve C99 related compile issues + SET_SOURCE_FILES_PROPERTIES(src/consolelogger.c src/xlogging.c src/map.c adapters/uniqueid_win32.c adapters/httpapi_wince.c src/tlsio_schannel.c src/x509_schannel.c PROPERTIES LANGUAGE CXX) +- add_definitions(-DWIN32) #WEC 2013 ++ add_definitions(-DWIN32) #WEC 2013 + ELSE() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") + + endif() + elseif(LINUX) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") + if(NOT IN_OPENWRT) + set (CMAKE_C_FLAGS "-D_POSIX_C_SOURCE=200112L ${CMAKE_C_FLAGS}") + endif() + endif() + +-if (NOT TARGET azure_macro_utils_c) ++if (NOT TARGET azure_macro_utils_c) + if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/deps/azure-macro-utils-c/CMakeLists.txt) + add_subdirectory(deps/azure-macro-utils-c) + else() +diff --git a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/testtools/ctest/CMakeLists.txt b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/testtools/ctest/CMakeLists.txt +index ddac93f..3bbf0b1 100644 +--- a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/testtools/ctest/CMakeLists.txt ++++ b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/testtools/ctest/CMakeLists.txt +@@ -51,21 +51,19 @@ if(MSVC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3") + # WEC 2013 uses older VS compiler. Build some files as C++ files to resolve C99 related compile issues + SET_SOURCE_FILES_PROPERTIES(src/consolelogger.c src/xlogging.c src/map.c adapters/uniqueid_win32.c adapters/httpapi_wince.c src/tlsio_schannel.c src/x509_schannel.c PROPERTIES LANGUAGE CXX) +- add_definitions(-DWIN32) #WEC 2013 ++ add_definitions(-DWIN32) #WEC 2013 + ELSE() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") + + endif() + elseif(LINUX) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") + if(NOT IN_OPENWRT) + set (CMAKE_C_FLAGS "-D_POSIX_C_SOURCE=200112L ${CMAKE_C_FLAGS}") + endif() + endif() + +-if (NOT TARGET azure_macro_utils_c) ++if (NOT TARGET azure_macro_utils_c) + if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/deps/azure-macro-utils-c/CMakeLists.txt) + add_subdirectory(deps/azure-macro-utils-c) + else() +diff --git a/src/vendor/azure-uamqp-c/deps/umock-c/CMakeLists.txt b/src/vendor/azure-uamqp-c/deps/umock-c/CMakeLists.txt +index ac865be..d869028 100644 +--- a/src/vendor/azure-uamqp-c/deps/umock-c/CMakeLists.txt ++++ b/src/vendor/azure-uamqp-c/deps/umock-c/CMakeLists.txt +@@ -22,15 +22,6 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON) + # Build with -fPIC always + set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) + +-# Build with -Werror +-if(MSVC) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3") +-elseif(UNIX) # LINUX OR APPLE +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") +-endif() +- + include (CTest) + include (CheckIncludeFiles) + +diff --git a/src/vendor/azure-uamqp-c/deps/umock-c/deps/ctest/CMakeLists.txt b/src/vendor/azure-uamqp-c/deps/umock-c/deps/ctest/CMakeLists.txt +index ddac93f..3bbf0b1 100644 +--- a/src/vendor/azure-uamqp-c/deps/umock-c/deps/ctest/CMakeLists.txt ++++ b/src/vendor/azure-uamqp-c/deps/umock-c/deps/ctest/CMakeLists.txt +@@ -51,21 +51,19 @@ if(MSVC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3") + # WEC 2013 uses older VS compiler. Build some files as C++ files to resolve C99 related compile issues + SET_SOURCE_FILES_PROPERTIES(src/consolelogger.c src/xlogging.c src/map.c adapters/uniqueid_win32.c adapters/httpapi_wince.c src/tlsio_schannel.c src/x509_schannel.c PROPERTIES LANGUAGE CXX) +- add_definitions(-DWIN32) #WEC 2013 ++ add_definitions(-DWIN32) #WEC 2013 + ELSE() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") + + endif() + elseif(LINUX) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") + if(NOT IN_OPENWRT) + set (CMAKE_C_FLAGS "-D_POSIX_C_SOURCE=200112L ${CMAKE_C_FLAGS}") + endif() + endif() + +-if (NOT TARGET azure_macro_utils_c) ++if (NOT TARGET azure_macro_utils_c) + if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/deps/azure-macro-utils-c/CMakeLists.txt) + add_subdirectory(deps/azure-macro-utils-c) + else() +-- +2.35.1 + diff --git a/python-uamqp.spec b/python-uamqp.spec new file mode 100644 index 0000000000000000000000000000000000000000..03d687b2bf82d74c049479e266890eff74e55462 --- /dev/null +++ b/python-uamqp.spec @@ -0,0 +1,80 @@ +%global _empty_manifest_terminate_build 0 +Name: python-uamqp +Version: 1.6.4 +Release: 1 +Summary: AMQP 1.0 Client Library for Python +License: MIT License +URL: https://github.com/Azure/azure-uamqp-python +Source0: https://files.pythonhosted.org/packages/5d/2b/cb2adb0e27233fe5383ce944ea83a959901f26c727fe7d0d89a6839886ae/uamqp-1.6.4.tar.gz + +Patch0001: python-uamqp-treat-warnings-as-warnings.patch +Patch0002: python-uamqp-openssl3.patch + +Requires: python3-certifi +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: openssl-devel + +%description +An AMQP 1.0 client library for Python. + +%package -n python3-uamqp +Summary: AMQP 1.0 Client Library for Python +Provides: python-uamqp +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-uamqp +An AMQP 1.0 client library for Python. + +%package help +Summary: Development documents and examples for uamqp +Provides: python3-uamqp-doc +%description help +An AMQP 1.0 client library for Python. + +%prep +%autosetup -n uamqp-1.6.4 -p1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-uamqp -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Mar 07 2023 Python_Bot - 1.6.4-1 +- Package Spec generated diff --git a/uamqp-1.6.4.tar.gz b/uamqp-1.6.4.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..234f527c0aa629f65fe0e8f78f697a1d432e400c Binary files /dev/null and b/uamqp-1.6.4.tar.gz differ