Add nib310rio-dev to the Debian build dependencies so the UHD package
build fails if the B310 userspace header is unavailable instead of
silently disabling B300 support.
The Ubuntu installer pipeline downloads the nib310rio Debian package
artifact and exposes it to pbuilder as a local apt repository. This lets
pbuilder satisfy the new dependency inside the clean build root where
CMake checks for nib310rio/nib310rio.h.
host:
Replace the msgpack-RPC (rpclib) client with a gRPC-based
implementation. Add auto-generated C++ client and Python bindings
from protobuf definitions. Remove rpclib dependency and integrate
FindgRPC into CMake.
mpm:
Replace the msgpack-RPC server with a gRPC server generated from
protobuf definitions. Add pb_utils.py for type conversion between
Python and protobuf. Update rpc_server.py to dispatch calls via
gRPC stubs. Update mpm_shell to use gRPC. Replace pyudev with sysfs
scan in uio device discovery.
Bump MPM compatibility number to 7.0 and RPC version to 2.
This change requires new depedencies. E.g. for Ubuntu 24.04 or 25.10:
libgrpc++-dev, libprotobuf-dev, protobuf-compiler-grpc, python3-grpcio
With the most recent changes, Boost.Thread and all Boost date/time
libraries are no longer required. This updates the CMake and Debian
files to reflect those changes.
These sources are not required when building RFNoC bitfiles, and they
also reference csh, which causes some build systems to produce warnings.
As a consequence, we can also remove csh from the uhd-rfnoc-dev
dependency list.
Replaced instances of email address packages@ettus.com with new
corporate email address uhd.maintainer@emerson.com.
For some yet undefined transition time emails to the old address
are being forwarded to the new one.
- Use find_package(pybind11) to find a system-wide Pybind11. This will
take preference over the vendored version of Pybind11, unless
requested otherwise.
- Fix a typo.
- images: update manifest
- uhd: update changelog and version string
- debian: update changelog and installer version
Signed-off-by: Steven Koo <steven.koo@ni.com>
This PR makes a couple of minor changes to Debian packaging files to
resolve errors reported by Lintian during CI and manual building of
.debs after having been updated in 38fb5e262:
- Remove instances of `${python3:Depends}` in the rules file, as this
substitution directive cannot be used without specifying `--with
python3` in the `dh` debhelper command invocation. However, the Docker
containers that are spun up to build .debs as part of UHD CI do not
include the Debian Python helper package necessary to use the
substitution even if `--with python3` is specified. Thus, the
substitution was removed and replaced with the actual names of the
dependent Python packages.
- Remove the `Files-Excluded` section from the copyright file. Lintian
flags an error whenever a file in that section is present in the source
tree (which the specified files are). The addition of this section was
supposed to bring UHD's built-in Debian packaging files more in line
with those used by the actual Debian package maintainer, but it is
likely that the actual Debian packing process runs additional steps that
reference this section and uses it to remove the specified files which
we currently don't run.
- Update dependencies
- Add python3-uhd package
- Add uhd-doc package
In part, this changeset is to further align with the official Debian
upstream at https://salsa.debian.org/bottoms/pkg-uhd.git, which is
maintained by Maitland Bottoms.
This updates the Debian control file to rely on the Python3 versions of
the respective dependencies.
Also updates the package name to include the 4.0.0 version.
boost::regex was a requirement until the minimum version of gcc was
increased. Since it is at version 5.3 now, using Boost.Regex is no
longer necessary.
This change is a pure search-and-replace; Boost and std versions of
regex are compatible and use the same syntax.
- Better alignement with public Debian files.
- Move to a different package name: libuhd003.so -> libuhd3.13.0.so
This allows to install multiple packages in parallel for better ABI
compatibility by third-party dependees. The new package replaces the
old one.
- Remove .shlibs file