Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package soapy-remote for openSUSE:Factory checked in at 2026-09-01 15:47:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/soapy-remote (Old) and /work/SRC/openSUSE:Factory/.soapy-remote.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "soapy-remote" Tue Sep 1 15:47:10 2026 rev:11 rq:1374759 version:0.5.2 Changes: -------- --- /work/SRC/openSUSE:Factory/soapy-remote/soapy-remote.changes 2025-03-31 11:39:59.136218342 +0200 +++ /work/SRC/openSUSE:Factory/.soapy-remote.new.1265/soapy-remote.changes 2026-09-01 15:48:10.369371628 +0200 @@ -1,0 +2,29 @@ +Sun Aug 30 19:36:00 UTC 2026 - Martin Pluskal <[email protected]> + +- Build against avahi to enable device discovery over mDNS/DNS-SD: + upstream only warns when the client libraries are absent and + silently compiles a no-op stub, so discovery was disabled +- Recommend avahi from both subpackages, the daemon is what + advertises and browses. Deliberately not a hard requirement, SSDP + discovery is unaffected and upstream opens the client with + AVAHI_CLIENT_NO_FAIL +- Order the server unit after avahi-daemon, add patch: + * SoapySDRServer-order-after-avahi.patch + Registration is one-shot: if the daemon is not on the bus yet + avahi_entry_group_new() fails and nothing ever retries, so losing + the race disabled advertisement for the life of the process + +------------------------------------------------------------------- +Sun Aug 30 18:20:38 UTC 2026 - Martin Pluskal <[email protected]> + +- Add explicit 'Requires: soapy-sdr' to the module subpackage: + libSoapySDR does the dlopen and is already covered by the soname + dependency, this pulls in SoapySDRUtil. Not added to the server + subpackage, a standalone daemon linking libSoapySDR directly +- Spec cleanup: + * Use %cmake_build and the %{_sysctldir} macro + * mkdir -p for the sbindir, so the build survives /usr/sbin being + merged and the directory already existing + * Declare the SoapySDR >= 0.4.0 floor upstream's CMakeLists checks + +------------------------------------------------------------------- New: ---- SoapySDRServer-order-after-avahi.patch ----------(New B)---------- New:- Order the server unit after avahi-daemon, add patch: * SoapySDRServer-order-after-avahi.patch Registration is one-shot: if the daemon is not on the bus yet ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ soapy-remote.spec ++++++ --- /var/tmp/diff_new_pack.9iAGpp/_old 2026-09-01 15:48:11.197400516 +0200 +++ /var/tmp/diff_new_pack.9iAGpp/_new 2026-09-01 15:48:11.199400586 +0200 @@ -1,7 +1,7 @@ # # spec file for package soapy-remote # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # Copyright (c) 2017, Martin Hauke <[email protected]> # # All modifications and additions to the file contributed by third parties @@ -19,7 +19,6 @@ %define soapy_modver 0.8-3 %define soapy_modname soapysdr%{soapy_modver}-module-remote - Name: soapy-remote Version: 0.5.2 Release: 0 @@ -29,16 +28,30 @@ #Git-Clone: https://github.com/pothosware/SoapyRemote.git Source: https://github.com/pothosware/SoapyRemote/archive/%{name}-%{version}.tar.gz Patch0: harden_SoapySDRServer.service.patch +# Order after avahi-daemon: upstream's mDNS registration is one-shot and never +# retries, so losing the startup race disables advertisement permanently +Patch1: SoapySDRServer-order-after-avahi.patch BuildRequires: cmake >= 3.5 BuildRequires: gcc-c++ -BuildRequires: pkg-config -BuildRequires: pkgconfig(SoapySDR) +BuildRequires: pkgconfig +BuildRequires: pkgconfig(SoapySDR) >= 0.4.0 +# Without this upstream only WARNS and silently builds the no-op MDNS stub, +# losing mDNS/DNS-SD discovery +BuildRequires: pkgconfig(avahi-client) %description A Soapy module that supports remote devices within the Soapy API. %package -n %{soapy_modname} Summary: Remote device support for Soapy SDR +# Factory review of the soapy-* modules: libSoapySDR does the dlopen and is +# already covered by the soname dep; this pulls the SoapySDR package proper +# (SoapySDRUtil). Not on -server, which is a standalone daemon linking +# libSoapySDR directly. +Requires: soapy-sdr +# mDNS browsing needs the daemon; not hard, SSDP discovery works without it and +# upstream opens the client with AVAHI_CLIENT_NO_FAIL +Recommends: avahi # soapysdr0.7-module-remote needs to be force dropped Conflicts: soapysdr0.7-module-remote # Add 'Provides/Obsoletes' entries for future updates @@ -50,6 +63,8 @@ %package server Summary: Server for remote device support for Soapy SDR +# mDNS advertisement needs the daemon; see the module subpackage +Recommends: avahi # The server part was split, a 'Conflicts' line is also needed here. Conflicts: soapysdr0.7-module-remote @@ -63,12 +78,12 @@ %build %cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -make VERBOSE=1 %{?_smp_mflags} +%cmake_build %install %cmake_install -mkdir %{buildroot}%{_sbindir} +mkdir -p %{buildroot}%{_sbindir} ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcSoapySDRServer %check @@ -98,7 +113,7 @@ %doc Changelog.txt README.md %{_bindir}/SoapySDRServer %{_sbindir}/rcSoapySDRServer -%{_mandir}/man1/SoapySDRServer.1%{ext_man} -%{_prefix}/lib/sysctl.d/SoapySDRServer.conf +%{_mandir}/man1/SoapySDRServer.1%{?ext_man} +%{_sysctldir}/SoapySDRServer.conf %{_unitdir}/SoapySDRServer.service ++++++ SoapySDRServer-order-after-avahi.patch ++++++ --- a/system/SoapySDRServer.service.in +++ b/system/SoapySDRServer.service.in @@ -2,6 +2,11 @@ Description=SoapyRemote network server Wants=network-online.target After=network-online.target +# mDNS registration is one-shot: avahi_entry_group_new() fails if the daemon is +# not on the bus yet and nothing ever retries, so ordering is required, not just +# preferred. Type=dbus makes After= wait for the bus name. No-op if not installed. +Wants=avahi-daemon.service +After=avahi-daemon.service [Service] # added automatically, for details please see
