Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package aws-c-mqtt for openSUSE:Factory checked in at 2025-02-06 22:05:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/aws-c-mqtt (Old) and /work/SRC/openSUSE:Factory/.aws-c-mqtt.new.2316 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aws-c-mqtt" Thu Feb 6 22:05:30 2025 rev:8 rq:1243475 version:0.12.1 Changes: -------- --- /work/SRC/openSUSE:Factory/aws-c-mqtt/aws-c-mqtt.changes 2024-10-27 11:25:20.730579776 +0100 +++ /work/SRC/openSUSE:Factory/.aws-c-mqtt.new.2316/aws-c-mqtt.changes 2025-02-06 22:07:00.318023241 +0100 @@ -1,0 +2,14 @@ +Thu Jan 30 11:48:48 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to version 0.12.1 + * A bunch of CMake fixes by @graebm in (#379) +- from version 0.12.0 + * chore: Modified bug issue template to add checkbox to + report potential regression. by @ashishdhingra in (#373) + * MQTT5 options logging conformity by @sbSteveK in (#377) + * Switch CI to roles by @DmitriyMusatkin in (#378) + * Add topic argument to publish callback in request-response + stream client by @sfod in (#380) +- Drop acm_fix-cmake-modules-path.patch, fixed upstream + +------------------------------------------------------------------- Old: ---- acm_fix-cmake-modules-path.patch v0.11.0.tar.gz New: ---- v0.12.1.tar.gz BETA DEBUG BEGIN: Old: stream client by @sfod in (#380) - Drop acm_fix-cmake-modules-path.patch, fixed upstream BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aws-c-mqtt.spec ++++++ --- /var/tmp/diff_new_pack.kLnr5n/_old 2025-02-06 22:07:00.806043350 +0100 +++ /var/tmp/diff_new_pack.kLnr5n/_new 2025-02-06 22:07:00.810043515 +0100 @@ -1,7 +1,7 @@ # # spec file for package aws-c-mqtt # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,14 +18,13 @@ %global library_version 1_0_0 Name: aws-c-mqtt -Version: 0.11.0 +Version: 0.12.1 Release: 0 Summary: AWS C99 implementation of the MQTT 3.1.1 specification License: Apache-2.0 Group: Development/Libraries/C and C++ URL: https://github.com/awslabs/aws-c-mqtt Source0: https://github.com/awslabs/%{name}/archive/v%{version}.tar.gz -Patch0: acm_fix-cmake-modules-path.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: ninja ++++++ v0.11.0.tar.gz -> v0.12.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/.github/ISSUE_TEMPLATE/bug-report.yml new/aws-c-mqtt-0.12.1/.github/ISSUE_TEMPLATE/bug-report.yml --- old/aws-c-mqtt-0.11.0/.github/ISSUE_TEMPLATE/bug-report.yml 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/.github/ISSUE_TEMPLATE/bug-report.yml 2025-01-29 00:11:19.000000000 +0100 @@ -12,6 +12,14 @@ description: What is the problem? A clear and concise description of the bug. validations: required: true + - type: checkboxes + id: regression + attributes: + label: Regression Issue + description: What is a regression? If it worked in a previous version but doesn't in the latest version, it's considered a regression. In this case, please provide specific version number in the report. + options: + - label: Select this option if this issue appears to be a regression. + required: false - type: textarea id: expected attributes: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/.github/workflows/ci.yml new/aws-c-mqtt-0.12.1/.github/workflows/ci.yml --- old/aws-c-mqtt-0.11.0/.github/workflows/ci.yml 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/.github/workflows/ci.yml 2025-01-29 00:11:19.000000000 +0100 @@ -6,19 +6,21 @@ - 'main' env: - BUILDER_VERSION: v0.9.64 + BUILDER_VERSION: v0.9.73 BUILDER_SOURCE: releases BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net PACKAGE_NAME: aws-c-mqtt LINUX_BASE_IMAGE: ubuntu-18-x64 RUN: ${{ github.run_id }}-${{ github.run_number }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: us-east-1 + CRT_CI_ROLE: ${{ secrets.CRT_CI_ROLE_ARN }} + AWS_DEFAULT_REGION: us-east-1 + +permissions: + id-token: write # This is required for requesting the JWT jobs: linux-compat: - runs-on: ubuntu-20.04 # latest + runs-on: ubuntu-24.04 # latest strategy: matrix: image: @@ -31,14 +33,18 @@ - opensuse-leap - rhel8-x64 steps: - # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} + # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages - name: Build ${{ env.PACKAGE_NAME }} run: | aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DASSERT_LOCK_HELD=ON linux-compiler-compat: - runs-on: ubuntu-20.04 # latest + runs-on: ubuntu-24.04 # latest strategy: matrix: compiler: @@ -48,42 +54,61 @@ - clang-9 - clang-10 - clang-11 + - clang-15 + - clang-17 - gcc-4.8 - gcc-5 - gcc-6 - gcc-7 - gcc-8 + - gcc-11 steps: - # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages - - name: Build ${{ env.PACKAGE_NAME }} - run: | - aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} --cmake-extra=-DASSERT_LOCK_HELD=ON + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} + # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages + - name: Build ${{ env.PACKAGE_NAME }} + run: | + aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=${{ matrix.compiler }} --cmake-extra=-DASSERT_LOCK_HELD=ON clang-sanitizers: - runs-on: ubuntu-20.04 # latest + runs-on: ubuntu-24.04 # latest strategy: matrix: sanitizers: [",thread", ",address,undefined"] steps: - # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages - - name: Build ${{ env.PACKAGE_NAME }} - run: | - aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=clang-11 --cmake-extra=-DENABLE_SANITIZERS=ON --cmake-extra=-DASSERT_LOCK_HELD=ON --cmake-extra=-DSANITIZERS="${{ matrix.sanitizers }}" + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} + # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages + - name: Build ${{ env.PACKAGE_NAME }} + run: | + aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --compiler=clang-11 --cmake-extra=-DENABLE_SANITIZERS=ON --cmake-extra=-DASSERT_LOCK_HELD=ON --cmake-extra=-DSANITIZERS="${{ matrix.sanitizers }}" linux-shared-libs: - runs-on: ubuntu-20.04 # latest + runs-on: ubuntu-24.04 # latest steps: - # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages - - name: Build ${{ env.PACKAGE_NAME }} - run: | - aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DASSERT_LOCK_HELD=ON + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} + # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages + - name: Build ${{ env.PACKAGE_NAME }} + run: | + aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DBUILD_SHARED_LIBS=ON --cmake-extra=-DASSERT_LOCK_HELD=ON windows: runs-on: windows-2022 # latest steps: + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" @@ -95,6 +120,10 @@ matrix: arch: [x86, x64] steps: + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" @@ -103,6 +132,10 @@ windows-shared-libs: runs-on: windows-2022 # latest steps: + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" @@ -111,6 +144,10 @@ windows-app-verifier: runs-on: windows-2022 # latest steps: + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')" @@ -122,6 +159,10 @@ macos: runs-on: macos-14 # latest steps: + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" @@ -131,6 +172,10 @@ macos-x64: runs-on: macos-14-large # latest steps: + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" @@ -140,10 +185,14 @@ # Test downstream repos. # This should not be required because we can run into a chicken and egg problem if there is a change that needs some fix in a downstream repo. downstream: - runs-on: ubuntu-20.04 # latest + runs-on: ubuntu-24.04 # latest steps: - # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages - - name: Build ${{ env.PACKAGE_NAME }} - run: | - aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh - ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build downstream -p ${{ env.PACKAGE_NAME }} + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} + # We can't use the `uses: docker://image` version yet, GitHub lacks authentication for actions -> packages + - name: Build ${{ env.PACKAGE_NAME }} + run: | + aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh + ./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ env.LINUX_BASE_IMAGE }} build downstream -p ${{ env.PACKAGE_NAME }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/.github/workflows/codecov.yml new/aws-c-mqtt-0.12.1/.github/workflows/codecov.yml --- old/aws-c-mqtt-0.11.0/.github/workflows/codecov.yml 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/.github/workflows/codecov.yml 2025-01-29 00:11:19.000000000 +0100 @@ -4,22 +4,28 @@ push: env: - BUILDER_VERSION: v0.9.55 + BUILDER_VERSION: v0.9.73 BUILDER_SOURCE: releases BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net PACKAGE_NAME: aws-c-mqtt - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: us-east-1 + CRT_CI_ROLE: ${{ secrets.CRT_CI_ROLE_ARN }} + AWS_DEFAULT_REGION: us-east-1 + +permissions: + id-token: write # This is required for requesting the JWT jobs: codecov-linux: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - - name: Checkout Sources - uses: actions/checkout@v3 - - name: Build ${{ env.PACKAGE_NAME }} + consumers - run: | - python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" - chmod a+x builder - ./builder build -p ${{ env.PACKAGE_NAME }} --compiler=gcc-9 --coverage + - uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.CRT_CI_ROLE }} + aws-region: ${{ env.AWS_DEFAULT_REGION }} + - name: Checkout Sources + uses: actions/checkout@v3 + - name: Build ${{ env.PACKAGE_NAME }} + consumers + run: | + python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" + chmod a+x builder + ./builder build -p ${{ env.PACKAGE_NAME }} --compiler=gcc-9 --coverage diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/.github/workflows/issue-regression-labeler.yml new/aws-c-mqtt-0.12.1/.github/workflows/issue-regression-labeler.yml --- old/aws-c-mqtt-0.11.0/.github/workflows/issue-regression-labeler.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-c-mqtt-0.12.1/.github/workflows/issue-regression-labeler.yml 2025-01-29 00:11:19.000000000 +0100 @@ -0,0 +1,32 @@ +# Apply potential regression label on issues +name: issue-regression-label +on: + issues: + types: [opened, edited] +jobs: + add-regression-label: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: Fetch template body + id: check_regression + uses: actions/github-script@v7 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TEMPLATE_BODY: ${{ github.event.issue.body }} + with: + script: | + const regressionPattern = /\[x\] Select this option if this issue appears to be a regression\./i; + const template = `${process.env.TEMPLATE_BODY}` + const match = regressionPattern.test(template); + core.setOutput('is_regression', match); + - name: Manage regression label + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + if [ "${{ steps.check_regression.outputs.is_regression }}" == "true" ]; then + gh issue edit ${{ github.event.issue.number }} --add-label "potential-regression" -R ${{ github.repository }} + else + gh issue edit ${{ github.event.issue.number }} --remove-label "potential-regression" -R ${{ github.repository }} + fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/CMakeLists.txt new/aws-c-mqtt-0.12.1/CMakeLists.txt --- old/aws-c-mqtt-0.11.0/CMakeLists.txt 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/CMakeLists.txt 2025-01-29 00:11:19.000000000 +0100 @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.9...3.31) project(aws-c-mqtt C) option(ASSERT_LOCK_HELD "Enable ASSERT_SYNCED_DATA_LOCK_HELD for checking thread issue" OFF) @@ -6,32 +6,18 @@ add_definitions(-DASSERT_LOCK_HELD) endif() -if (DEFINED CMAKE_PREFIX_PATH) - file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH) +if (NOT IN_SOURCE_BUILD) + # this is required so we can use aws-c-common's CMake modules + find_package(aws-c-common REQUIRED) endif() -if (DEFINED CMAKE_INSTALL_PREFIX) - file(TO_CMAKE_PATH "${CMAKE_INSTALL_PREFIX}" CMAKE_INSTALL_PREFIX) -endif() - -if (UNIX AND NOT APPLE) - include(GNUInstallDirs) -elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR) - set(CMAKE_INSTALL_LIBDIR "lib") -endif() - -# This is required in order to append /lib/cmake to each element in CMAKE_PREFIX_PATH -set(AWS_MODULE_DIR "/${CMAKE_INSTALL_LIBDIR}/cmake") -string(REPLACE ";" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}") -# Append that generated list to the module search path -list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH}) - include(AwsCFlags) include(AwsCheckHeaders) include(AwsSharedLibSetup) include(AwsSanitizers) include(CheckCCompilerFlag) include(AwsFindPackage) +include(GNUInstallDirs) file(GLOB AWS_MQTT_HEADERS "include/aws/mqtt/*.h" @@ -93,11 +79,11 @@ target_link_libraries(${PROJECT_NAME} PUBLIC ${DEP_AWS_LIBS}) aws_prepare_shared_lib_exports(${PROJECT_NAME}) -install(FILES ${AWS_MQTT_HEADERS} DESTINATION "include/aws/mqtt" COMPONENT Development) -install(FILES ${AWS_MQTT5_HEADERS} DESTINATION "include/aws/mqtt/v5" COMPONENT Development) -install(FILES ${AWS_MQTT_RR_HEADERS} DESTINATION "include/aws/mqtt/request-response" COMPONENT Development) -install(FILES ${AWS_MQTT_TESTING_HEADERS} DESTINATION "include/aws/testing/mqtt" COMPONENT Development) -install(FILES ${AWS_MQTT_PRIV_EXPOSED_HEADERS} DESTINATION "include/aws/mqtt/private" COMPONENT Development) +install(FILES ${AWS_MQTT_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/mqtt" COMPONENT Development) +install(FILES ${AWS_MQTT5_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/mqtt/v5" COMPONENT Development) +install(FILES ${AWS_MQTT_RR_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/mqtt/request-response" COMPONENT Development) +install(FILES ${AWS_MQTT_TESTING_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/testing/mqtt" COMPONENT Development) +install(FILES ${AWS_MQTT_PRIV_EXPOSED_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aws/mqtt/private" COMPONENT Development) if (BUILD_SHARED_LIBS) set (TARGET_DIR "shared") @@ -106,7 +92,7 @@ endif() install(EXPORT "${PROJECT_NAME}-targets" - DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/${TARGET_DIR}" NAMESPACE AWS:: COMPONENT Development) @@ -115,7 +101,7 @@ @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" - DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/" COMPONENT Development) include(CTest) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/bin/elastipubsub/CMakeLists.txt new/aws-c-mqtt-0.12.1/bin/elastipubsub/CMakeLists.txt --- old/aws-c-mqtt-0.11.0/bin/elastipubsub/CMakeLists.txt 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/bin/elastipubsub/CMakeLists.txt 2025-01-29 00:11:19.000000000 +0100 @@ -1,7 +1,5 @@ project(elastipubsub C) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/cmake") - file(GLOB ELASTIPUBSUB_SRC "*.c" ) @@ -25,5 +23,5 @@ EXPORT ${ELASTIPUBSUB_PROJECT_NAME}-targets COMPONENT Runtime RUNTIME - DESTINATION bin + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/bin/elastipubsub5/CMakeLists.txt new/aws-c-mqtt-0.12.1/bin/elastipubsub5/CMakeLists.txt --- old/aws-c-mqtt-0.11.0/bin/elastipubsub5/CMakeLists.txt 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/bin/elastipubsub5/CMakeLists.txt 2025-01-29 00:11:19.000000000 +0100 @@ -1,7 +1,5 @@ project(elastipubsub5 C) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/cmake") - file(GLOB ELASTIPUBSUB_SRC "*.c" ) @@ -25,5 +23,5 @@ EXPORT ${ELASTIPUBSUB_MQTT5_PROJECT_NAME}-targets COMPONENT Runtime RUNTIME - DESTINATION bin + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/bin/elastishadow/CMakeLists.txt new/aws-c-mqtt-0.12.1/bin/elastishadow/CMakeLists.txt --- old/aws-c-mqtt-0.11.0/bin/elastishadow/CMakeLists.txt 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/bin/elastishadow/CMakeLists.txt 2025-01-29 00:11:19.000000000 +0100 @@ -1,7 +1,5 @@ project(elastishadow C) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/cmake") - file(GLOB ELASTISHADOW_SRC "*.c" ) @@ -25,5 +23,5 @@ EXPORT ${ELASTISHADOW_PROJECT_NAME}-targets COMPONENT Runtime RUNTIME - DESTINATION bin + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/bin/elastishadow/main.c new/aws-c-mqtt-0.12.1/bin/elastishadow/main.c --- old/aws-c-mqtt-0.11.0/bin/elastishadow/main.c 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/bin/elastishadow/main.c 2025-01-29 00:11:19.000000000 +0100 @@ -750,7 +750,11 @@ aws_error_debug_str(error_code)); } -static void s_stream_incoming_publish_fn(struct aws_byte_cursor payload, void *user_data) { +static void s_stream_incoming_publish_fn( + struct aws_byte_cursor payload, + struct aws_byte_cursor topic, + void *user_data) { + (void)topic; struct aws_shadow_streaming_operation *operation = user_data; struct aws_byte_cursor thing_cursor = aws_byte_cursor_from_buf(&operation->thing); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/bin/mqtt5canary/CMakeLists.txt new/aws-c-mqtt-0.12.1/bin/mqtt5canary/CMakeLists.txt --- old/aws-c-mqtt-0.11.0/bin/mqtt5canary/CMakeLists.txt 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/bin/mqtt5canary/CMakeLists.txt 2025-01-29 00:11:19.000000000 +0100 @@ -1,7 +1,5 @@ project(mqtt5canary C) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/cmake") - file(GLOB MQTT5CANARY_SRC "*.c" ) @@ -25,5 +23,5 @@ EXPORT ${MQTT5CANARY_PROJECT_NAME}-targets COMPONENT Runtime RUNTIME - DESTINATION bin + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/include/aws/mqtt/request-response/request_response_client.h new/aws-c-mqtt-0.12.1/include/aws/mqtt/request-response/request_response_client.h --- old/aws-c-mqtt-0.11.0/include/aws/mqtt/request-response/request_response_client.h 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/include/aws/mqtt/request-response/request_response_client.h 2025-01-29 00:11:19.000000000 +0100 @@ -121,7 +121,10 @@ /* * Callback signature for when a publish arrives that matches a streaming operation's subscription */ -typedef void(aws_mqtt_streaming_operation_incoming_publish_fn)(struct aws_byte_cursor payload, void *user_data); +typedef void(aws_mqtt_streaming_operation_incoming_publish_fn)( + struct aws_byte_cursor payload, + struct aws_byte_cursor topic, + void *user_data); /* * Callback signature for when a streaming operation is fully destroyed and no more events will be emitted. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/source/request-response/request_response_client.c new/aws-c-mqtt-0.12.1/source/request-response/request_response_client.c --- old/aws-c-mqtt-0.11.0/source/request-response/request_response_client.c 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/source/request-response/request_response_client.c 2025-01-29 00:11:19.000000000 +0100 @@ -897,7 +897,7 @@ } void *user_data = operation->storage.streaming_storage.options.user_data; - (*incoming_publish_callback)(publish_event->payload, user_data); + (*incoming_publish_callback)(publish_event->payload, publish_event->topic, user_data); AWS_LOGF_DEBUG( AWS_LS_MQTT_REQUEST_RESPONSE, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/source/v5/mqtt5_options_storage.c new/aws-c-mqtt-0.12.1/source/v5/mqtt5_options_storage.c --- old/aws-c-mqtt-0.11.0/source/v5/mqtt5_options_storage.c 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/source/v5/mqtt5_options_storage.c 2025-01-29 00:11:19.000000000 +0100 @@ -3623,7 +3623,7 @@ log_handle, level, AWS_LS_MQTT5_GENERAL, - "id=%p: mqtt5_client_options_storage disabling websockets", + "id=%p: aws_mqtt5_client_options_storage disabling websockets", (void *)options_storage); } @@ -3669,7 +3669,7 @@ log_handle, level, AWS_LS_MQTT5_GENERAL, - "id=%p: mqtt5_client_options_storage reconnect delay min set to %" PRIu64 " ms, max set to %" PRIu64 " ms", + "id=%p: aws_mqtt5_client_options_storage reconnect delay min set to %" PRIu64 " ms, max set to %" PRIu64 " ms", (void *)options_storage, options_storage->min_reconnect_delay_ms, options_storage->max_reconnect_delay_ms); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-c-mqtt-0.11.0/tests/request-response/request_response_client_tests.c new/aws-c-mqtt-0.12.1/tests/request-response/request_response_client_tests.c --- old/aws-c-mqtt-0.11.0/tests/request-response/request_response_client_tests.c 2024-10-23 18:58:22.000000000 +0200 +++ new/aws-c-mqtt-0.12.1/tests/request-response/request_response_client_tests.c 2025-01-29 00:11:19.000000000 +0100 @@ -189,6 +189,16 @@ return AWS_OP_SUCCESS; } +struct aws_rr_client_fixture_publish_message { + struct aws_byte_buf payload; + struct aws_byte_buf topic; +}; + +struct aws_rr_client_fixture_publish_message_view { + struct aws_byte_cursor payload; + struct aws_byte_cursor topic; +}; + struct aws_rr_client_fixture_streaming_record { struct aws_allocator *allocator; @@ -221,7 +231,8 @@ aws_byte_buf_init_copy_from_cursor(&record->record_key, allocator, record_key); record->record_key_cursor = aws_byte_cursor_from_buf(&record->record_key); - aws_array_list_init_dynamic(&record->publishes, allocator, 10, sizeof(struct aws_byte_buf)); + aws_array_list_init_dynamic( + &record->publishes, allocator, 10, sizeof(struct aws_rr_client_fixture_publish_message)); aws_array_list_init_dynamic( &record->subscription_events, allocator, @@ -236,10 +247,11 @@ size_t publish_count = aws_array_list_length(&record->publishes); for (size_t i = 0; i < publish_count; ++i) { - struct aws_byte_buf publish_payload; - aws_array_list_get_at(&record->publishes, &publish_payload, i); + struct aws_rr_client_fixture_publish_message publish_message; + aws_array_list_get_at(&record->publishes, &publish_message, i); - aws_byte_buf_clean_up(&publish_payload); + aws_byte_buf_clean_up(&publish_message.payload); + aws_byte_buf_clean_up(&publish_message.topic); } aws_array_list_clean_up(&record->publishes); @@ -276,16 +288,18 @@ static void s_rrc_fixture_streaming_operation_incoming_publish_callback( struct aws_byte_cursor payload, + struct aws_byte_cursor topic, void *user_data) { struct aws_rr_client_fixture_streaming_record *record = user_data; struct aws_rr_client_test_fixture *fixture = record->fixture; aws_mutex_lock(&fixture->lock); - struct aws_byte_buf payload_buffer; - aws_byte_buf_init_copy_from_cursor(&payload_buffer, fixture->allocator, payload); + struct aws_rr_client_fixture_publish_message publish_message; + aws_byte_buf_init_copy_from_cursor(&publish_message.payload, fixture->allocator, payload); + aws_byte_buf_init_copy_from_cursor(&publish_message.topic, fixture->allocator, topic); - aws_array_list_push_back(&record->publishes, &payload_buffer); + aws_array_list_push_back(&record->publishes, &publish_message); aws_mutex_unlock(&fixture->lock); aws_condition_variable_notify_all(&fixture->signal); @@ -379,7 +393,7 @@ struct aws_rr_client_test_fixture *fixture, struct aws_byte_cursor key, size_t expected_publish_count, - struct aws_byte_cursor *expected_publishes) { + struct aws_rr_client_fixture_publish_message_view *expected_publishes) { aws_mutex_lock(&fixture->lock); @@ -394,13 +408,21 @@ ASSERT_INT_EQUALS(expected_publish_count, actual_publish_count); for (size_t i = 0; i < actual_publish_count; ++i) { - struct aws_byte_buf actual_payload; - aws_array_list_get_at(&record->publishes, &actual_payload, i); + struct aws_rr_client_fixture_publish_message actual_publish_message; + aws_array_list_get_at(&record->publishes, &actual_publish_message, i); - struct aws_byte_cursor *expected_payload = &expected_publishes[i]; + struct aws_rr_client_fixture_publish_message_view *expected_payload = &expected_publishes[i]; ASSERT_BIN_ARRAYS_EQUALS( - expected_payload->ptr, expected_payload->len, actual_payload.buffer, actual_payload.len); + expected_payload->payload.ptr, + expected_payload->payload.len, + actual_publish_message.payload.buffer, + actual_publish_message.payload.len); + ASSERT_BIN_ARRAYS_EQUALS( + expected_payload->topic.ptr, + expected_payload->topic.len, + actual_publish_message.topic.buffer, + actual_publish_message.topic.len); } aws_mutex_unlock(&fixture->lock); @@ -1249,9 +1271,15 @@ s_rrc_wait_for_n_streaming_publishes(&fixture, record_key1, 2); - struct aws_byte_cursor expected_publishes[] = { - payload1, - payload2, + struct aws_rr_client_fixture_publish_message_view expected_publishes[] = { + { + payload1, + topic_filter1, + }, + { + payload2, + topic_filter1, + }, }; ASSERT_SUCCESS(s_rrc_verify_streaming_publishes( &fixture, record_key1, AWS_ARRAY_SIZE(expected_publishes), expected_publishes)); @@ -1314,10 +1342,19 @@ s_rrc_wait_for_n_streaming_publishes(&fixture, record_key1, 2); s_rrc_wait_for_n_streaming_publishes(&fixture, record_key2, 2); - struct aws_byte_cursor expected_publishes[] = { - payload1, - payload2, - payload3, + struct aws_rr_client_fixture_publish_message_view expected_publishes[] = { + { + payload1, + topic_filter1, + }, + { + payload2, + topic_filter1, + }, + { + payload3, + topic_filter1, + }, }; ASSERT_SUCCESS(s_rrc_verify_streaming_publishes(&fixture, record_key1, 2, expected_publishes)); ASSERT_SUCCESS(s_rrc_verify_streaming_publishes(&fixture, record_key2, 2, expected_publishes)); @@ -1397,9 +1434,15 @@ s_rrc_wait_for_n_streaming_publishes(&fixture, record_key1, 2); - struct aws_byte_cursor expected_publishes[] = { - payload1, - payload2, + struct aws_rr_client_fixture_publish_message_view expected_publishes[] = { + { + payload1, + topic_filter1, + }, + { + payload2, + topic_filter1, + }, }; ASSERT_SUCCESS(s_rrc_verify_streaming_publishes( &fixture, record_key1, AWS_ARRAY_SIZE(expected_publishes), expected_publishes)); @@ -1468,9 +1511,15 @@ s_rrc_wait_for_n_streaming_publishes(&fixture, record_key1, 1); - struct aws_byte_cursor expected_publishes[] = { - payload1, - payload2, + struct aws_rr_client_fixture_publish_message_view expected_publishes[] = { + { + payload1, + topic_filter1, + }, + { + payload2, + topic_filter1, + }, }; ASSERT_SUCCESS(s_rrc_verify_streaming_publishes(&fixture, record_key1, 1, expected_publishes)); @@ -1546,9 +1595,15 @@ s_rrc_wait_for_n_streaming_publishes(&fixture, record_key1, 1); - struct aws_byte_cursor expected_publishes[] = { - payload1, - payload2, + struct aws_rr_client_fixture_publish_message_view expected_publishes[] = { + { + payload1, + topic_filter1, + }, + { + payload2, + topic_filter1, + }, }; ASSERT_SUCCESS(s_rrc_verify_streaming_publishes(&fixture, record_key1, 1, expected_publishes)); @@ -1675,9 +1730,15 @@ s_rrc_wait_for_n_streaming_publishes(&fixture, record_key1, 2); - struct aws_byte_cursor expected_publishes[] = { - payload1, - payload2, + struct aws_rr_client_fixture_publish_message_view expected_publishes[] = { + { + payload1, + topic_filter1, + }, + { + payload2, + topic_filter1, + }, }; ASSERT_SUCCESS(s_rrc_verify_streaming_publishes( &fixture, record_key1, AWS_ARRAY_SIZE(expected_publishes), expected_publishes)); @@ -1791,9 +1852,15 @@ s_rrc_wait_for_n_streaming_publishes(&fixture, record_key1, 2); - struct aws_byte_cursor expected_publishes[] = { - payload1, - payload2, + struct aws_rr_client_fixture_publish_message_view expected_publishes[] = { + { + payload1, + topic_filter1, + }, + { + payload2, + topic_filter1, + }, }; ASSERT_SUCCESS(s_rrc_verify_streaming_publishes( &fixture, record_key1, AWS_ARRAY_SIZE(expected_publishes), expected_publishes)); @@ -1965,9 +2032,15 @@ s_rrc_wait_for_n_streaming_publishes(&fixture, record_key1, 2); - struct aws_byte_cursor expected_publishes[] = { - payload1, - payload2, + struct aws_rr_client_fixture_publish_message_view expected_publishes[] = { + { + payload1, + topic_filter1, + }, + { + payload2, + topic_filter1, + }, }; ASSERT_SUCCESS(s_rrc_verify_streaming_publishes(&fixture, record_key1, 2, expected_publishes)); @@ -1998,8 +2071,11 @@ // verify third operation got the new publish s_rrc_wait_for_n_streaming_publishes(&fixture, record_key3, 1); - struct aws_byte_cursor third_expected_publishes[] = { - payload3, + struct aws_rr_client_fixture_publish_message_view third_expected_publishes[] = { + { + payload3, + topic_filter2, + }, }; ASSERT_SUCCESS(s_rrc_verify_streaming_publishes( &fixture, record_key3, AWS_ARRAY_SIZE(third_expected_publishes), third_expected_publishes)); @@ -2127,9 +2203,15 @@ s_rrc_wait_for_n_streaming_publishes(&fixture, record_key1, 2); - struct aws_byte_cursor expected_publishes[] = { - payload1, - payload2, + struct aws_rr_client_fixture_publish_message_view expected_publishes[] = { + { + payload1, + topic_filter1, + }, + { + payload2, + topic_filter1, + }, }; ASSERT_SUCCESS(s_rrc_verify_streaming_publishes( &fixture, record_key1, AWS_ARRAY_SIZE(expected_publishes), expected_publishes)); @@ -2204,9 +2286,15 @@ s_rrc_wait_for_n_streaming_publishes(&fixture, record_key1, 2); - struct aws_byte_cursor expected_publishes[] = { - payload1, - payload2, + struct aws_rr_client_fixture_publish_message_view expected_publishes[] = { + { + payload1, + topic_filter1, + }, + { + payload2, + topic_filter1, + }, }; ASSERT_SUCCESS(s_rrc_verify_streaming_publishes( &fixture, record_key1, AWS_ARRAY_SIZE(expected_publishes), expected_publishes));