Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package redsea for openSUSE:Factory checked in at 2025-03-04 18:34:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/redsea (Old) and /work/SRC/openSUSE:Factory/.redsea.new.19136 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "redsea" Tue Mar 4 18:34:08 2025 rev:7 rq:1250107 version:1.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/redsea/redsea.changes 2024-12-30 12:52:28.325945286 +0100 +++ /work/SRC/openSUSE:Factory/.redsea.new.19136/redsea.changes 2025-03-04 18:34:30.830767973 +0100 @@ -1,0 +2,9 @@ +Mon Mar 3 21:55:58 UTC 2025 - Martin Hauke <[email protected]> + +- Update to version 1.1.1 + * Fix a regression in 1.1 that caused the groups to sometimes + not appear immediately after reception. + * Catch2 is an optional build dependency (building tests is + optional). + +------------------------------------------------------------------- Old: ---- redsea-1.1.0.tar.gz New: ---- redsea-1.1.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ redsea.spec ++++++ --- /var/tmp/diff_new_pack.25yEdw/_old 2025-03-04 18:34:31.294787373 +0100 +++ /var/tmp/diff_new_pack.25yEdw/_new 2025-03-04 18:34:31.298787541 +0100 @@ -1,8 +1,8 @@ # # spec file for package redsea # -# Copyright (c) 2024 SUSE LLC -# Copyright (c) 2017-2024, Martin Hauke <[email protected]> +# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2017-2025, Martin Hauke <[email protected]> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ Name: redsea -Version: 1.1.0 +Version: 1.1.1 Release: 0 Summary: An RDS decoder License: MIT @@ -46,7 +46,7 @@ or, optionally, undecoded hex blocks (-x). %prep -%setup -q +%autosetup %build %meson ++++++ redsea-1.1.0.tar.gz -> redsea-1.1.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/redsea-1.1.0/.github/workflows/build.yml new/redsea-1.1.1/.github/workflows/build.yml --- old/redsea-1.1.0/.github/workflows/build.yml 2024-12-28 19:23:39.000000000 +0100 +++ new/redsea-1.1.1/.github/workflows/build.yml 2025-03-03 22:42:59.000000000 +0100 @@ -79,9 +79,9 @@ steps: - uses: actions/checkout@v4 - name: Install dependencies (brew) - run: brew install meson libsndfile liquid-dsp nlohmann-json catch2 perl gcovr + run: brew install meson libsndfile liquid-dsp nlohmann-json catch2 perl - name: meson setup - run: meson setup -Dwerror=true -Db_sanitize=address,undefined -Db_lundef=false -Db_coverage=true build + run: meson setup -Dwerror=true -Db_sanitize=address,undefined -Db_lundef=false build -Dbuild_tests=true - name: compile & install run: cd build && meson install - name: download test data @@ -90,13 +90,6 @@ run: cd build && meson test - name: Test command-line interface run: perl test/cli.pl redsea --installed - - name: Coverage - run: cd build && ninja coverage-xml - - name: Upload to Codecov - uses: codecov/codecov-action@v4 - with: - files: build/meson-logs/coverage.xml - token: ${{ secrets.CODECOV_TOKEN }} build-windows-msys2-mingw: runs-on: windows-latest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/redsea-1.1.0/CHANGES.md new/redsea-1.1.1/CHANGES.md --- old/redsea-1.1.0/CHANGES.md 2024-12-28 19:23:39.000000000 +0100 +++ new/redsea-1.1.1/CHANGES.md 2025-03-03 22:42:59.000000000 +0100 @@ -2,6 +2,14 @@ We use [semantic versioning](https://semver.org/). +## 1.1.1 (2025-03-03) + +* Bug fixes: + * Fix a regression in 1.1 that caused the groups to sometimes not appear + immediately after reception (#126) +* Build system changes: + * Catch2 is an optional build dependency (building tests is optional) + ## 1.1 (2024-12-28) * New features: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/redsea-1.1.0/README.md new/redsea-1.1.1/README.md --- old/redsea-1.1.0/README.md 2024-12-28 19:23:39.000000000 +0100 +++ new/redsea-1.1.1/README.md 2025-03-03 22:42:59.000000000 +0100 @@ -5,7 +5,6 @@ [](https://github.com/windytan/redsea/releases/latest) [](https://github.com/windytan/redsea/actions/workflows/build.yml?query=branch%3Amaster) -[](https://codecov.io/github/windytan/redsea) It prints [newline-delimited JSON](https://jsonlines.org/) where each line corresponds to one RDS group. It can also print "raw" undecoded hex blocks (`--output hex`). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/redsea-1.1.0/meson.build new/redsea-1.1.1/meson.build --- old/redsea-1.1.0/meson.build 2024-12-28 19:23:39.000000000 +0100 +++ new/redsea-1.1.1/meson.build 2025-03-03 22:42:59.000000000 +0100 @@ -8,7 +8,7 @@ 'prefix=/usr/local', 'cpp_std=c++14', ], - version: '1.1.0', + version: '1.1.1', ) # Store version number to be compiled in @@ -121,9 +121,11 @@ ### Unit tests ### ################## -catch2 = dependency('catch2-with-main', required: false) +build_tests = get_option('build_tests') + +if build_tests + catch2 = dependency('catch2-with-main', required: true) -if catch2.found() unit_test_exe = executable( 'redsea-test-unit', [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/redsea-1.1.0/meson_options.txt new/redsea-1.1.1/meson_options.txt --- old/redsea-1.1.0/meson_options.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/redsea-1.1.1/meson_options.txt 2025-03-03 22:42:59.000000000 +0100 @@ -0,0 +1 @@ +option('build_tests', type: 'boolean', value: false, description: 'Build unit tests (requires Catch2)') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/redsea-1.1.0/src/block_sync.h new/redsea-1.1.1/src/block_sync.h --- old/redsea-1.1.0/src/block_sync.h 2024-12-28 19:23:39.000000000 +0100 +++ new/redsea-1.1.1/src/block_sync.h 2025-03-03 22:42:59.000000000 +0100 @@ -65,11 +65,11 @@ uint32_t input_register_{0}; Offset expected_offset_{Offset::A}; bool is_in_sync_{false}; - RunningSum<int, 50> block_error_sum50_{}; + RunningSum<int, 50> block_error_sum50_; const Options options_{}; - RunningAverage<float, kNumBlerAverageGroups> bler_average_{}; - Group current_group_{}; - Group ready_group_{}; + RunningAverage<float, kNumBlerAverageGroups> bler_average_; + Group current_group_; + Group ready_group_; bool has_group_ready_{false}; uint32_t num_bits_since_sync_lost_{0}; SyncPulseBuffer sync_buffer_{}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/redsea-1.1.0/src/channel.h new/redsea-1.1.1/src/channel.h --- old/redsea-1.1.0/src/channel.h 2024-12-28 19:23:39.000000000 +0100 +++ new/redsea-1.1.1/src/channel.h 2025-03-03 22:42:59.000000000 +0100 @@ -85,11 +85,11 @@ Options options_{}; int which_channel_{}; std::ostream& output_stream_; - CachedPI cached_pi_{}; + CachedPI cached_pi_; BlockStream block_stream_; Station station_; - RunningAverage<float, kNumBlerAverageGroups> bler_average_{}; - std::chrono::time_point<std::chrono::system_clock> last_group_rx_time_{}; + RunningAverage<float, kNumBlerAverageGroups> bler_average_; + std::chrono::time_point<std::chrono::system_clock> last_group_rx_time_; }; } // namespace redsea diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/redsea-1.1.0/src/groups.cc new/redsea-1.1.1/src/groups.cc --- old/redsea-1.1.0/src/groups.cc 2024-12-28 19:23:39.000000000 +0100 +++ new/redsea-1.1.1/src/groups.cc 2025-03-03 22:42:59.000000000 +0100 @@ -321,11 +321,11 @@ // incomplete JSON objects could get printed. std::stringstream output_proxy_stream; output_proxy_stream << json_; - stream << output_proxy_stream.str() << '\n'; + stream << output_proxy_stream.str() << std::endl; } catch (const std::exception& e) { nlohmann::ordered_json json_from_exception; json_from_exception["debug"] = std::string(e.what()); - stream << json_from_exception << '\n'; + stream << json_from_exception << std::endl; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/redsea-1.1.0/src/groups.h new/redsea-1.1.1/src/groups.h --- old/redsea-1.1.0/src/groups.h 2024-12-28 19:23:39.000000000 +0100 +++ new/redsea-1.1.1/src/groups.h 2025-03-03 22:42:59.000000000 +0100 @@ -173,7 +173,7 @@ void setAverageBLER(float bler); private: - GroupType type_{}; + GroupType type_; std::array<Block, 4> blocks_; std::chrono::time_point<std::chrono::system_clock> time_received_; float bler_{0.f}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/redsea-1.1.0/src/input.cc new/redsea-1.1.1/src/input.cc --- old/redsea-1.1.0/src/input.cc 2024-12-28 19:23:39.000000000 +0100 +++ new/redsea-1.1.1/src/input.cc 2025-03-03 22:42:59.000000000 +0100 @@ -247,6 +247,7 @@ block1.data = static_cast<uint16_t>(std::stol(line, nullptr, 16)); block1.is_received = true; } catch (const std::exception&) { + continue; } group.setBlock(BLOCK1, block1); } else if (line.substr(0, 1) == "R" && line.length() >= 15) { @@ -270,6 +271,7 @@ group.setBlock(BLOCK3, blocks[1]); group.setBlock(BLOCK4, blocks[2]); } catch (const std::exception&) { + break; } break; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/redsea-1.1.0/src/rdsstring.h new/redsea-1.1.1/src/rdsstring.h --- old/redsea-1.1.0/src/rdsstring.h 2024-12-28 19:23:39.000000000 +0100 +++ new/redsea-1.1.1/src/rdsstring.h 2025-03-03 22:42:59.000000000 +0100 @@ -55,7 +55,7 @@ size_t prev_pos_{}; size_t sequential_length_{}; // Decoded string. - std::string last_complete_string_{}; + std::string last_complete_string_; }; } // namespace redsea
