Repository navigation
DOCS: Add third-party notices - #12071
Conversation
|
🤖 Starting review — findings will be posted here when done. |
|
🤖 Starting review — findings will be posted here when done. |
|
🤖 Starting review — findings will be posted here when done. |
|
🤖 CI Triage Agent — TL;DR: The gtest Full analysisSummary: Root cause: A hang, not slowness. The test entered Implicated commit: Not the PR under test. Most likely candidates are the recent mlx5 send-completion/purge-outstanding series landing days before this 2026-10-12 build: File: Suggested fix: Do not raise the job time limit — the 900 s kill is the watchdog catching a hang. (1) Re-run the roce worker-3 job to confirm this is flaky/unrelated to the docs PR; since #12071 changes only documentation, it should be merged on a green retry. (2) For the real bug, reproduce with Related: PR #11866, PR #11874, PR #11836, PR #12006, PR #12019 (mlx5 purge-outstanding series); PR #11915 (uct comp marker); PR #12002 / PR #12015 (recent |
|
🤖 Starting review — findings will be posted here when done. |
|
🤖 CI Triage Agent — TL;DR: The aarch64 SLES RPM build fails with Full analysisSummary: Root cause: Commit dist_doc_DATA = \
LICENSE \
THIRD_PARTY_NOTICESAutomake's Meanwhile Note this is latent on Fedora/RHEX too whenever Implicated commit: File: Suggested fix: Pick one of these:
Whichever route is taken, re-run the Related: PR #12071 (this change); prior commit
|
| 2001-2016 NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED. | ||
| License: BSD-3-clause and BSD-3-clause-UC | ||
|
|
||
| Files: test/gtest/common/googletest/* |
There was a problem hiding this comment.
This stanza also captures Makefile.am and configure.m4 in that directory, which are UCX files (Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2021 / NextSilicon Ltd. 2021), not Google's. In DEP-5 the later stanza wins over Files: *, so those two get attributed to Google 2005-2015 under BSD-3-clause-Google. Please add a follow-up stanza putting them back under BSD-3-clause.
There was a problem hiding this comment.
Fixed: added specific BSD-3-Clause stanzas after the GoogleTest wildcard for Makefile.am and configure.m4.
| License: Apache-2.0 or BSD-3-clause | ||
| Comment: UCX redistributes this file under the BSD-3-clause alternative. | ||
|
|
||
| Files: external/gpunetio/* |
There was a problem hiding this comment.
external/gpunetio is a submodule path, and the GPUNetIO headers are shipped from src/uct/ib/mlx5/gdaki/gpunetio/ (see nobase_dist_libuct_ib_mlx5_gda_la_HEADERS), so this stanza matches nothing in the release tarball the Debian package is built from. Please cover the in-tarball path as well.
There was a problem hiding this comment.
Fixed: the DEP-5 stanza now covers both the submodule path and the in-tarball src/uct/ib/mlx5/gdaki/gpunetio path.
| doxygen_doc_files = $(noinst_HEADERS) | ||
|
|
||
| doc_dir = $(pkgdatadir)/doc | ||
| dist_doc_DATA = \ |
There was a problem hiding this comment.
This installs LICENSE and THIRD_PARTY_NOTICES into $(docdir) (/usr/share/doc/ucx), but %files in ucx.spec.in only lists %{_datadir}/ucx, %doc README AUTHORS NEWS, and %license. Did contrib/buildrpm.sh pass with the new paths? rpm aborts on unpackaged files, and build_release_pkg in buildlib/tools/builds.sh runs it. (Caveat: rpm's special %doc handling may emit /usr/share/doc/ucx as a bare recursive directory entry, which would silently package the new files — and ship LICENSE twice, once under %{_licensedir} and once under docdir — rather than fail, hence a question rather than a blocker.)
There was a problem hiding this comment.
Fixed: RPM packaging removes the duplicate Automake docdir copy and keeps the distro-native %license copies. A source and binary RPM build passed, both legal files are present under the RPM license directory, and /usr/share/doc/ucx is absent from the buildroot.
|
|
||
| Doxygen Autoconf macros | ||
|
|
||
| Files: |
There was a problem hiding this comment.
Minor: docs/doxygen/doxygen.am is listed as FSFAP only here, but debian/copyright L79-83 says BSD-3-clause and FSFAP for the same file (its header has both See file LICENSE for terms and the FSFAP notice). Please align the two files.
There was a problem hiding this comment.
Fixed: split the two Doxygen files in THIRD_PARTY_NOTICES and marked docs/doxygen/doxygen.am as BSD-3-Clause and FSF All Permissive License.
|
Residual coverage gap: the only validation for these packaging changes is the |
|
🤖 Starting review — findings will be posted here when done. |
| rm -f %{buildroot}%{_libdir}/libucs_signal.a | ||
| rm -f %{buildroot}%{_libdir}/ucx/*.la | ||
| rm -f %{buildroot}%{_libdir}/ucx/lib*.so | ||
| rm -rf %{buildroot}%{_datadir}/doc/%{name} |
There was a problem hiding this comment.
Hardcoded %{_datadir}/doc does not match %{_docdir} on all distros.
| rm -rf %{buildroot}%{_datadir}/doc/%{name} | |
| rm -rf %{buildroot}%{_docdir}/%{name} |
dist_doc_DATA installs to automake's docdir, which is $(datarootdir)/doc/$(PACKAGE_TARNAME) unless --docdir is passed. The RPM %configure macro is distro-patched: on Fedora/RHEL %{_docdir} is /usr/share/doc (so the new rm works), but on SUSE %{_docdir} is /usr/share/doc/packages and %configure passes --docdir. There the files land outside %{_datadir}/doc/%{name}, survive the rm, and rpmbuild fails with "Installed (but unpackaged) file(s) found". %{_docdir}/%{name} is correct in both cases since %{_docdir} expands to %{_datadir}/doc on Fedora. The spec already has SUSE-specific conditionals, so SUSE is in scope.
| src/ucs/algorithm/qsort_r.c | ||
| src/ucs/algorithm/qsort_r.h | ||
| Copyright (c) 1992, 1993 The Regents of the University of California. | ||
| License: BSD-3-Clause |
There was a problem hiding this comment.
The qsort_r stanza understates the file's licensing: qsort_r.c/.h also carry Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2016 and See file LICENSE for terms, and the reproduced text is the clause-4 UC variant, not plain BSD-3-Clause. debian/copyright in this PR says BSD-3-clause and BSD-3-clause-UC with both copyrights listed; pls make this entry match so the two new files don't disagree.
| ---------------------- | ||
|
|
||
| GoogleTest | ||
| Files: test/gtest/common/googletest/ |
There was a problem hiding this comment.
Blanket GoogleTest directory claim over-attributes to Google: googletest/Makefile.am (NVIDIA + NextSilicon) and googletest/configure.m4 (NVIDIA) are UCX-authored. debian/copyright carves them out in separate stanzas, but this blanket Files: test/gtest/common/googletest/ claim attributes them to Google.
| UCX redistributes this file under the BSD-3-Clause alternative. | ||
|
|
||
| NVIDIA DOCA GPUNetIO | ||
| Git submodule: external/gpunetio |
There was a problem hiding this comment.
The gpunetio entry omits the in-tree path: pls also list src/uct/ib/mlx5/gdaki/gpunetio/* here; that is the symlinked path whose headers src/uct/ib/mlx5/gdaki/Makefile.am actually installs, and debian/copyright already covers both external/gpunetio/* and that path.
| SGLIB 1.0.3 | ||
| File: src/ucs/datastruct/sglib.h | ||
| Upstream: http://www.xref-tech.com/sglib | ||
| Copyright (C) 2003-2005 Marian Vittek |
There was a problem hiding this comment.
minor: the SGLIB entry is missing the License: field — pls add License: SGLIB; every other component entry has an explicit License: line, and debian/copyright uses that short name.
| ----------------------- | ||
|
|
||
| UCX project sources | ||
| Files: UCX source files that refer to the top-level LICENSE |
There was a problem hiding this comment.
LICENSE still lists only the 2014-2020 holders while this file and debian/copyright now carry the full list (~21 entries) through 2026. Both new files point at LICENSE as authoritative — should LICENSE be updated too, or is leaving it as-is intentional?
What?
Add a top-level
THIRD_PARTY_NOTICESfile covering copyright holders for UCXsources distributed under the project BSD license, separately licensed source
bundled with UCX, and the pinned GPUNetIO submodule. Link the notice from the
README and include it in source, RPM, and Debian packages.
Why?
Make license and attribution obligations explicit and ensure the notices
accompany UCX distributions.
How?
Inventory the copyright holders in project-BSD source files and the separately
licensed bundled components, preserve the applicable license and attribution
text, and record the same inventory in the Debian copyright metadata.
Separately installed libraries and tools remain outside the notice scope.