Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gnuradio for openSUSE:Factory checked in at 2024-01-19 23:02:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gnuradio (Old) and /work/SRC/openSUSE:Factory/.gnuradio.new.16006 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnuradio" Fri Jan 19 23:02:07 2024 rev:68 rq:1139874 version:3.10.9.2 Changes: -------- --- /work/SRC/openSUSE:Factory/gnuradio/gnuradio.changes 2024-01-03 12:30:34.367716848 +0100 +++ /work/SRC/openSUSE:Factory/.gnuradio.new.16006/gnuradio.changes 2024-01-19 23:02:23.634462798 +0100 @@ -1,0 +2,10 @@ +Thu Jan 18 18:18:27 UTC 2024 - Wojciech Kazubski <w...@ire.pw.edu.pl> + +- Update to version 3.10.9.2 +- Changed + * Project + + Fix a few memory errors in various modules. + * GRC + + Fix regressions in bus connections. + +------------------------------------------------------------------- Old: ---- gnuradio-3.10.9.1.tar.gz New: ---- gnuradio-3.10.9.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gnuradio.spec ++++++ --- /var/tmp/diff_new_pack.36UiKb/_old 2024-01-19 23:02:24.314487672 +0100 +++ /var/tmp/diff_new_pack.36UiKb/_new 2024-01-19 23:02:24.314487672 +0100 @@ -1,7 +1,7 @@ # # spec file for package gnuradio # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2023-2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define sover 3_10_9 %bcond_without docs Name: gnuradio -Version: 3.10.9.1 +Version: 3.10.9.2 Release: 0 Summary: GNU software radio License: GPL-3.0-or-later ++++++ gnuradio-3.10.9.1.tar.gz -> gnuradio-3.10.9.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/CMakeLists.txt new/gnuradio-3.10.9.2/CMakeLists.txt --- old/gnuradio-3.10.9.1/CMakeLists.txt 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/CMakeLists.txt 2024-01-17 21:36:19.000000000 +0100 @@ -47,7 +47,7 @@ SET(VERSION_MAJOR 3) SET(VERSION_API 10) SET(VERSION_ABI 9) -SET(VERSION_PATCH 1) +SET(VERSION_PATCH 2) include(GrVersion) #setup version info # cmake-format: on diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/gnuradio-runtime/gnuradio-runtime.conf.in new/gnuradio-3.10.9.2/gnuradio-runtime/gnuradio-runtime.conf.in --- old/gnuradio-3.10.9.1/gnuradio-runtime/gnuradio-runtime.conf.in 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/gnuradio-runtime/gnuradio-runtime.conf.in 2024-01-17 21:36:19.000000000 +0100 @@ -16,7 +16,7 @@ # levels, in ascending order of severity: # trace, debug, info, warning, error, critical, off log_level = info -debug_level = critical +debug_level = crit # These file names can either be 'stdout' to output to standard output # or 'stderr' to output to standard error. Any other string will diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/gnuradio-runtime/lib/pmt/pmt.cc new/gnuradio-3.10.9.2/gnuradio-runtime/lib/pmt/pmt.cc --- old/gnuradio-3.10.9.1/gnuradio-runtime/lib/pmt/pmt.cc 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/gnuradio-runtime/lib/pmt/pmt.cc 2024-01-17 21:36:19.000000000 +0100 @@ -888,7 +888,7 @@ size_t len_x, len_y; const void* x_m = xv->uniform_elements(len_x); const void* y_m = yv->uniform_elements(len_y); - if (memcmp(x_m, y_m, len_x) == 0) + if ((len_x == 0) || (memcmp(x_m, y_m, len_x) == 0)) return true; return false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/gr-analog/lib/agc3_cc_impl.cc new/gnuradio-3.10.9.2/gr-analog/lib/agc3_cc_impl.cc --- old/gnuradio-3.10.9.1/gr-analog/lib/agc3_cc_impl.cc 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/gr-analog/lib/agc3_cc_impl.cc 2024-01-17 21:36:19.000000000 +0100 @@ -17,7 +17,6 @@ #include <gnuradio/io_signature.h> #include <spdlog/fmt/fmt.h> #include <volk/volk.h> -#include <volk/volk_alloc.hh> #include <algorithm> #include <cmath> #include <numeric> @@ -34,7 +33,7 @@ float max_gain) { return gnuradio::make_block_sptr<agc3_cc_impl>( - attack_rate, decay_rate, reference, gain, iir_update_decim); + attack_rate, decay_rate, reference, gain, iir_update_decim, max_gain); } agc3_cc_impl::agc3_cc_impl(float attack_rate, @@ -56,8 +55,6 @@ test_and_log_value_domain(iir_update_decim, "input power sampling stride"); d_iir_update_decim = iir_update_decim; set_output_multiple(iir_update_decim * 4); - const int alignment_multiple = volk_get_alignment() / sizeof(gr_complex); - set_alignment(std::max(1, alignment_multiple)); } agc3_cc_impl::~agc3_cc_impl() {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/gr-analog/python/analog/qa_agc.py new/gnuradio-3.10.9.2/gr-analog/python/analog/qa_agc.py --- old/gnuradio-3.10.9.1/gr-analog/python/analog/qa_agc.py 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/gr-analog/python/analog/qa_agc.py 2024-01-17 21:36:19.000000000 +0100 @@ -529,6 +529,22 @@ self.assertAlmostEqual(x, ref, None, f"failed at pos {idx} (stride = {stride})", 0.1) + def test_007_agc3_constructor_arguments(self): + attack_rate = 1.1e-3 + decay_rate = 1.2e-4 + reference = 1.3 + gain = 1.4 + iir_update_decim = 2 + max_gain = 1.5e4 + + agc3 = analog.agc3_cc(attack_rate, decay_rate, reference, gain, iir_update_decim, max_gain) + + self.assertAlmostEqual(agc3.attack_rate(), attack_rate) + self.assertAlmostEqual(agc3.decay_rate(), decay_rate) + self.assertAlmostEqual(agc3.reference(), reference) + self.assertAlmostEqual(agc3.gain(), gain) + self.assertAlmostEqual(agc3.max_gain(), max_gain) + def test_100(self): ''' Test complex feedforward agc with constant input ''' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/gr-blocks/lib/null_source_impl.cc new/gnuradio-3.10.9.2/gr-blocks/lib/null_source_impl.cc --- old/gnuradio-3.10.9.1/gr-blocks/lib/null_source_impl.cc 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/gr-blocks/lib/null_source_impl.cc 2024-01-17 21:36:19.000000000 +0100 @@ -38,7 +38,7 @@ gr_vector_void_star& output_items) { void* optr; - for (size_t n = 0; n < input_items.size(); n++) { + for (size_t n = 0; n < output_items.size(); n++) { optr = (void*)output_items[n]; memset(optr, 0, noutput_items * output_signature()->sizeof_stream_item(n)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/gr-fec/lib/polar_encoder.cc new/gnuradio-3.10.9.2/gr-fec/lib/polar_encoder.cc --- old/gnuradio-3.10.9.1/gr-fec/lib/polar_encoder.cc 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/gr-fec/lib/polar_encoder.cc 2024-01-17 21:36:19.000000000 +0100 @@ -132,17 +132,17 @@ std::begin(d_frozen_bit_prototype), std::end(d_frozen_bit_prototype), target); const int* info_bit_reversed_positions_ptr = &d_info_bit_positions_reversed[0]; int bit_num = 0; - unsigned char byte = *input; + unsigned char byte; int bit_pos; while (bit_num < num_info_bits()) { + if (bit_num % 8 == 0) { + byte = *input; + ++input; + } bit_pos = *info_bit_reversed_positions_ptr++; insert_packet_bit_into_packed_array_at_position( target, byte, bit_pos, bit_num % 8); ++bit_num; - if (bit_num % 8 == 0) { - ++input; - byte = *input; - } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/gr-qtgui/lib/ber_sink_b_impl.cc new/gnuradio-3.10.9.2/gr-qtgui/lib/ber_sink_b_impl.cc --- old/gnuradio-3.10.9.1/gr-qtgui/lib/ber_sink_b_impl.cc 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/gr-qtgui/lib/ber_sink_b_impl.cc 2024-01-17 21:36:19.000000000 +0100 @@ -78,7 +78,7 @@ for (size_t i = 0; i < esnos.size(); i++) { double e = pow(10.0, esnos[i] / 10.0); d_esno_buffers[curves][i] = esnos[i]; - d_ber_buffers[curves][i] = std::log10(0.5 * std::erf(std::sqrt(e))); + d_ber_buffers[curves][i] = std::log10(0.5 * std::erfc(std::sqrt(e))); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/grc/core/Config.py new/gnuradio-3.10.9.2/grc/core/Config.py --- old/gnuradio-3.10.9.1/grc/core/Config.py 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/grc/core/Config.py 2024-01-17 21:36:19.000000000 +0100 @@ -1,4 +1,4 @@ -"""Copyright 2021 The GNU Radio Contributors +"""Copyright 2024 The GNU Radio Contributors This file is part of GNU Radio SPDX-License-Identifier: GPL-2.0-or-later diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/grc/core/blocks/block.py new/gnuradio-3.10.9.2/grc/core/blocks/block.py --- old/gnuradio-3.10.9.1/grc/core/blocks/block.py 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/grc/core/blocks/block.py 2024-01-17 21:36:19.000000000 +0100 @@ -750,14 +750,16 @@ def bussify(self, direc): if direc == 'source': ports = self.sources - ports_gui = self.filter_bus_port(self.sources) - self.bus_structure = self.get_bus_structure('source') - self.bus_source = not self.bus_source + if ports: + ports_gui = self.filter_bus_port(self.sources) + self.bus_structure = self.get_bus_structure('source') + self.bus_source = not self.bus_source else: ports = self.sinks - ports_gui = self.filter_bus_port(self.sinks) - self.bus_structure = self.get_bus_structure('sink') - self.bus_sink = not self.bus_sink + if ports: + ports_gui = self.filter_bus_port(self.sinks) + self.bus_structure = self.get_bus_structure('sink') + self.bus_sink = not self.bus_sink # Disconnect all the connections when toggling the bus state for port in ports: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/grc/core/generator/cpp_top_block.py new/gnuradio-3.10.9.2/grc/core/generator/cpp_top_block.py --- old/gnuradio-3.10.9.1/grc/core/generator/cpp_top_block.py 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/grc/core/generator/cpp_top_block.py 2024-01-17 21:36:19.000000000 +0100 @@ -492,8 +492,6 @@ for port_num in porta.bus_structure: hidden_porta = porta.parent.sources[port_num] hidden_portb = portb.parent.sinks[port_num] - connection = fg.parent_platform.Connection( - parent=self, source=hidden_porta, sink=hidden_portb) code = template.render( make_port_sig=make_port_sig, source=hidden_porta, sink=hidden_portb) if not self._generate_options.startswith('hb'): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/grc/core/generator/top_block.py new/gnuradio-3.10.9.2/grc/core/generator/top_block.py --- old/gnuradio-3.10.9.1/grc/core/generator/top_block.py 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/grc/core/generator/top_block.py 2024-01-17 21:36:19.000000000 +0100 @@ -336,7 +336,6 @@ # the code for each subconnection porta = con.source_port portb = con.sink_port - fg = self._flow_graph if porta.dtype == 'bus' and portb.dtype == 'bus': # which bus port is this relative to the bus structure @@ -344,8 +343,6 @@ for port_num_a, port_num_b in zip(porta.bus_structure, portb.bus_structure): hidden_porta = porta.parent.sources[port_num_a] hidden_portb = portb.parent.sinks[port_num_b] - connection = fg.parent_platform.Connection( - parent=self, source=hidden_porta, sink=hidden_portb) code = template.render( make_port_sig=make_port_sig, source=hidden_porta, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnuradio-3.10.9.1/grc/gui/Application.py new/gnuradio-3.10.9.2/grc/gui/Application.py --- old/gnuradio-3.10.9.1/grc/gui/Application.py 2024-01-01 12:27:09.000000000 +0100 +++ new/gnuradio-3.10.9.2/grc/gui/Application.py 2024-01-17 21:36:19.000000000 +0100 @@ -869,8 +869,8 @@ Actions.BLOCK_CREATE_HIER.set_enabled(bool(selected_blocks)) Actions.OPEN_HIER.set_enabled(bool(selected_blocks)) - Actions.BUSSIFY_SOURCES.set_enabled(bool(selected_blocks)) - Actions.BUSSIFY_SINKS.set_enabled(bool(selected_blocks)) + Actions.BUSSIFY_SOURCES.set_enabled(any(block.sources for block in selected_blocks)) + Actions.BUSSIFY_SINKS.set_enabled(any(block.sinks for block in selected_blocks)) Actions.RELOAD_BLOCKS.enable() Actions.FIND_BLOCKS.enable()