Repository navigation
List sw and lic correctly in third-party notices - #818
Merged
Merged
Conversation
The HRX install copied flm's whole runtime-dependency closure, which put libcurl's TLS/IDN/Kerberos stack (GnuTLS, nettle, GMP, libidn2, libunistring, libtasn1, librtmp, keyutils, ...), the GCC runtime and glibc's libmvec/libresolv into the HRX tarball. Bundle the same two third-party libraries the portable XRT build does and take the rest from the host, as XRT already does. Both tarballs need the same host versions (GLIBC 2.39, GLIBCXX 3.4.32, GOMP 4.5, libcurl4). Co-Authored-By: Claude <[email protected]>
Packages may link GnuTLS, GLib, the GCC runtime and the like from the host, but must not ship them. The list covers every library the v1.0.9 and current HRX tarballs bundled through distro FFmpeg and libcurl. Co-Authored-By: Claude <[email protected]>
No package bundles an LGPL library any more, and the HRX tarball no longer ships libz. HRX (libhrx/hrx.dll, with flatcc compiled in) and the Windows pkgconf-7.dll ship but were not listed. Co-Authored-By: Claude <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The HRX Linux tarball still bundled LGPL and GPL-with-exception system libraries that
THIRD_PARTY_NOTICES.txtdid not list, and a few shipped components had no notice at all. This PR stops bundling those libraries and lists every component that does ship.What the HRX tarball bundled (main, ed42cff)
The HRX install copied flm's whole
file(GET_RUNTIME_DEPENDENCIES)closure: 37 libraries. The unlisted copyleft ones:Changes
src/CMakeLists.txt: the HRX install bundles onlylibhrxandlibboost_program_options, the same two third-party libraries the portable XRT tarball bundles. Everything else comes from the host, as it already does for XRT. Both tarballs need identical host versions (GLIBC 2.39, GLIBCXX 3.4.32, GOMP 4.5, libcurl4 with OpenSSL); I checked this from the undefined symbol versions inflm-real, the engines, libhrx and Boost. The closure is still resolved, so a dependency the build host can't find still fails the install, and a missing libhrx is now a hard error..github/script/check_no_copyleft_libs.sh: new bundle-only denylist. A package fails if it ships any (L)GPL system library that distro FFmpeg or libcurl ever pulled in (codec2, GLib, Pango, GnuTLS, nettle, GMP, libidn2, …), or glibc libmvec/libresolv, or the GCC runtime. Linking them from the host is still allowed.THIRD_PARTY_NOTICES.txt:libhrx.so.0/hrx.dll): Apache-2.0 with LLVM Exceptionspkgconf-7.dll, Windows): ISCThe HRX and flatcc texts are taken from the
LICENSES/directory of the pinned HRX release.Verification
cmake -Pon the real 37-library closure from main's HRX tarball, it installs onlylibboost_program_options.so.1.83.0andlibhrx.so.0→libhrx.so.0.1.0.build-HRX-portablemust pass and the HRX tarball must hold only the engines, libhrx and Boost.sweep-linux-hrxshould then confirm the tarball runs against host libcurl/libstdc++/libgomp, as the XRT tarball already does.🤖 Generated with Claude Code