Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package uhd for openSUSE:Factory checked in at 2026-05-04 12:53:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/uhd (Old) and /work/SRC/openSUSE:Factory/.uhd.new.30200 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "uhd" Mon May 4 12:53:21 2026 rev:49 rq:1350448 version:4.10.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/uhd/uhd.changes 2025-10-12 22:29:36.162883170 +0200 +++ /work/SRC/openSUSE:Factory/.uhd.new.30200/uhd.changes 2026-05-04 12:56:27.284733865 +0200 @@ -1,0 +2,147 @@ +Wed Apr 29 22:24:12 UTC 2026 - Wojciech Kazubski <[email protected]> + +- Update to version 4.10.0.0 + * Highlights / Main Changes + + Support for USRP X420 + + Addition of timed complex gain feature, which allows setting + a complex gain value to fix phase and amplitude of signals + from radio blocks + * New Features + + CMake: + . Create UHD::uhd package for improved integration in downstream + build processes. The init_usrp example is used to showcase + this feature. + . Improved options for RFNoC OOT modules to write unit tests. + + Add helper routines to up- and download data (reliably) from + and to the DRAM block + + X310: Allow daughterboards to set dboard clock rate + + Improve finding of MPM-based devices by making parts of the + find call asynchronous and allowing to skip reachability checks. + + RFNoC: + . Added new optional feature to all Radio blocks - Timed + complex gain: + . Allows specifying complex gain coefficients to be applied + to all TX and/or RX samples of a radio channel at the + specified time. + . Enabled by default for all TX and RX channels of the radio + blocks, but can be disabled at FPGA build time via the + EN_COMP_GAIN_TX and EN_COMP_GAIN_RX parameters of the + radio blocks. + . Blocks may now drive the front-panel GPIO pins on all + RFNoC-capable devices. New IO signatures are added, and all + device BSPs have IO ports for accessing the GPIOs. Device + controls are updated such that the user can choose the source + for GPIOs dynamically in this case (i.e., the radio blocks + and other GPIO sources are still available). In some cases, + the device BSP HDL had to be significantly refactored. + . Add names and descriptions for block's and module's YAML + files, so that other tools may read information about those + in an automated fashion + . Allow mtu stream argument, which overrides the MTU value + that is derived from the link information. + . Action handling is now moved to its own thread (there is + one action handling thread per graph). This allows actions + to be handled asynchronously, e.g., when triggering actions + from async message handlers. + . Add radio_state IO signature, so that other blocks can + monitor the ATR state of radio blocks. + . All RFNoC devices can now take an mtu stream argument (which + overrides the detected link MTU) and a force_mtu device + argument (which skips automatic MTU detection and forces a + fixed value). These are helpful in scenarios where a specific + network topology interferes with path MTU discovery, and for + remote streaming when the MTU for a remote stream link + cannot be inferred from UHD. + . rfnoc_modtool has improved support for generating unit tests. + . Add PPS IO signature for all targets + . Add stream command to start receiving when a transmit occurs + . Null source/sink: Add finite mode. + . Add UX1/UX2/UX4 QSFP configurations for X4xx + * API Changes + + meta_range_t and uhd::dict can now be initialized from + initializer lists + + Add rfnoc_graph::get_chdr_xport_adapters() + + Python API now allows creating SubdevSpec from a string + + Some public APIs that used boost::optional now also work with + std::optional + + Unit tests for RFNoC blocks (in-tree and out-of-tree) no + longer require a dummy implementation of ~make_args_t() + + uhd::cast::to_str() was added and uhd::cast::from_str() was + extended to be a full replacement for boost::lexical_cast + * Examples + + Overhauled many of the examples to improve documentation, + as well as some minor conveniences or bug fixes + + Added continuous streaming to tx_samples_from_file + + Improved gpio example. + * Bug Fixes + + Fix static UHD library builds + + Fix compatibility with Boost 1.89 + + RFNoC: + . Fix slicing notation in rfnoc_image_builder + . Fix building of GRC files with empty default target + (this would affect builds of X410 and X440 device bitfiles + from GNU Radio) + . Fix installation of OOT modules in Python venvs + . Fix time alignment of first sample + . Unit tests in RFNoC OOT modules now preload their DLLs to + ensure the correct library version is loaded + . Fix generation of GNU Radio C++ block controllers + . rfnoc_modtool: Fix creation of spurious unit tests, fix + package_data for Python module installation + . rfnoc_modtool: Fix connection check for invalid ports + . Fix alignment of first sample coming from radio block. + . Fix bug in ctrlport_endpoint which could cause the + software to believe the associated RFNoC block's command + FIFO was full when packets were lost + . Add parameter to skip waiting for ACKs in async messages + + E31x: Fix GPIO control + + E3xx/B2xx: Fix rounding bug for RF PLL tuning + + B2xx: Fix image loading via b200_image_loader when multiple + devices are attached + + X410: Fix tuning when power calibration and non-default gain + profiles are used. + + Power calibration tools: Fix settings for E320, allow + non-default sampling rate, other minor fixes + + FPGA + . Fix various simulation-related bugs + + USRP Simulator: Update to match current UHD. + + multi_usrp: + . Improved bank name check in multi_usrp::{set,get}_gpio_attr() + + CMake: + . Allow absolute paths for install dirs in pkg-config + . Fix target include path for Python module + + USRP1: Fix converter name in property tree + + FPGA: + . Fix various simulation/testbench issues. + . Improve resource utilization in various places. + + MPM: + . Fix file descriptor leaks by using with/open everywhere. + . Fix double-free issue in rpclib. + . Remove tolerance for non-existing EEPROMs. + + Examples: Properly report errors when opening a file failed. + + Python: When installing into venvs, no longer force a + reinstallation of dependencies. + * Dependencies changes + + Increase minimum required versions + . Boost to 1.71 + . DPDK to 19.11 + . Changed minimum CMake versions for various non-UHD + projects, e.g. firmware builds, to stay compatible with + CMake 4 + * Documentation + + Restructured the UHD manual, improved chapter structure, + improved getting started content, added RFNoC specification. + + Fixed some external links + + Many smaller improvements (typos, duplicate entries removed, + formatting, etc.) + * Codebase Management + + Increased C++ version to 20 for UHD library, examples, and + utilities + + Removed Boost in multiple locations and replaced with standard + library calls + + Fix numerous (mostly harmless) compiler and Doxygen warnings + + Improve CMake linking instructions +- Separate package for UHD examples +- Patch boost.patch removed + +------------------------------------------------------------------- Old: ---- boost.patch uhd-4.9.0.0.tar.gz uhd-images_4.9.0.0.tar.xz New: ---- uhd-4.10.0.0.tar.gz uhd-images_4.10.0.0.tar.xz ----------(Old B)---------- Old:- Separate package for UHD examples - Patch boost.patch removed ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ uhd.spec ++++++ --- /var/tmp/diff_new_pack.HVmJOB/_old 2026-05-04 12:56:28.528785067 +0200 +++ /var/tmp/diff_new_pack.HVmJOB/_new 2026-05-04 12:56:28.532785232 +0200 @@ -1,7 +1,7 @@ # # spec file for package uhd # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,9 +16,9 @@ # -%define libname libuhd4_9_0 +%define libname libuhd4_10_0 Name: uhd -Version: 4.9.0.0 +Version: 4.10.0.0 Release: 0 Summary: The driver for USRP SDR boards License: GPL-3.0-or-later @@ -26,9 +26,6 @@ Source0: https://github.com/EttusResearch/uhd/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: https://github.com/EttusResearch/uhd/releases/download/v%{version}/uhd-images_%{version}.tar.xz Patch0: reproducible.patch -# This has been fixed upstream and this patch will need to be removed in next release. -Patch1: boost.patch - BuildRequires: cmake >= 3.5 BuildRequires: docutils BuildRequires: doxygen @@ -46,7 +43,7 @@ BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(udev) Requires: udev -BuildRequires: libboost_filesystem-devel +BuildRequires: libboost_filesystem-devel >= 1.71 BuildRequires: libboost_program_options-devel BuildRequires: libboost_regex-devel BuildRequires: libboost_serialization-devel @@ -85,6 +82,17 @@ This package contains utility programs for handling USRP frontens +%package examples +Summary: Example programs for UHD + +%description examples +The UHD is the "Universal Software Radio Peripheral" hardware driver. +The goal of the UHD is to provide a host driver and API for current +and future Ettus Research products. Users will be able to use the +UHD driver standalone or with 3rd party applications. + +This package contains example programs for UHD. + %package -n python3-%{name} Summary: Python bindings for uhd @@ -220,8 +228,29 @@ %{_libdir}/libuhd.so.* %files utils -%{_bindir}/* +%{_bindir}/b2xx_fx3_utils +%{_bindir}/converter_benchmark +%{_bindir}/converter_benchmark.py +%{_bindir}/fx2_init_eeprom +%{_bindir}/octoclock_burn_eeprom +%{_bindir}/query_gpsdo_sensors +%{_bindir}/uhd_adc_self_cal +%{_bindir}/uhd_cal_rx_iq_balance +%{_bindir}/uhd_cal_tx_dc_offset +%{_bindir}/uhd_cal_tx_iq_balance +%{_bindir}/uhd_config_info +%{_bindir}/uhd_find_devices +%{_bindir}/uhd_image_loader +%{_bindir}/uhd_images_downloader %{_bindir}/uhd_images_downloader.py +%{_bindir}/uhd_usrp_probe +%{_bindir}/usrp2_card_burner +%{_bindir}/usrp2_card_burner.py +%{_bindir}/usrp2_recovery.py +%{_bindir}/usrp_burn_db_eeprom +%{_bindir}/usrp_burn_mb_eeprom +%{_bindir}/usrp_hwd.py +%{_bindir}/usrpctl %{_bindir}/usrp2_card_burner.py %dir %{_datadir}/uhd %exclude %{_datadir}/uhd/images @@ -229,6 +258,46 @@ %{_datadir}/uhd/rfnoc %{_mandir}/man1/* +%files examples +%{_bindir}/benchmark_rate +%{_bindir}/benchmark_rate.py +%{_bindir}/gpio +%{_bindir}/latency_test +%{_bindir}/rfnoc_nullsource_ce_rx +%{_bindir}/rfnoc_radio_loopback +%{_bindir}/rfnoc_replay_samples_from_file +%{_bindir}/rfnoc_rx_replay_samples_to_file.py +%{_bindir}/rfnoc_rx_to_file +%{_bindir}/rfnoc_rx_to_file.py +%{_bindir}/rfnoc_txrx_fft_block_loopback.py +%{_bindir}/rx_multi_samples +%{_bindir}/rx_samples_c +%{_bindir}/rx_samples_to_file +%{_bindir}/rx_samples_to_udp +%{_bindir}/rx_spectrum_to_asciiplot.py +%{_bindir}/rx_spectrum_to_pyplot.py +%{_bindir}/rx_timed_samples +%{_bindir}/rx_to_file.py +%{_bindir}/rx_to_remote_udp.py +%{_bindir}/tx_waveforms.py +%{_bindir}/spi +%{_bindir}/sync_to_gps +%{_bindir}/test_clock_synch +%{_bindir}/test_dboard_coercion +%{_bindir}/test_messages +%{_bindir}/test_pps_input +%{_bindir}/test_timed_commands +%{_bindir}/tx_bursts +%{_bindir}/tx_samples_c +%{_bindir}/tx_samples_from_file +%{_bindir}/tx_timed_samples +%{_bindir}/tx_waveforms +%{_bindir}/txrx_complex_gain +%{_bindir}/txrx_loopback_to_file +%{_bindir}/usrp_list_sensors +%{_bindir}/usrp_power_meter.py +%{_bindir}/x440_L_band_capture.py + %if 0%{?suse_version} >= 1600 %files -n python3-%{name} %ifnarch armv7hl ++++++ uhd-4.9.0.0.tar.gz -> uhd-4.10.0.0.tar.gz ++++++ /work/SRC/openSUSE:Factory/uhd/uhd-4.9.0.0.tar.gz /work/SRC/openSUSE:Factory/.uhd.new.30200/uhd-4.10.0.0.tar.gz differ: char 12, line 1 ++++++ uhd-images_4.9.0.0.tar.xz -> uhd-images_4.10.0.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/uhd/uhd-images_4.9.0.0.tar.xz /work/SRC/openSUSE:Factory/.uhd.new.30200/uhd-images_4.10.0.0.tar.xz differ: char 25, line 1
