Skip to content

List sw and lic correctly in third-party notices - #818

Merged
tawei-amd merged 3 commits into
mainfrom
fix/hrx-bundle-allowlist
Oct 19, 2026
Merged

tawei-amd merged 3 commits into
mainfrom
fix/hrx-bundle-allowlist

Conversation

@tawei-amd

Copy link
Copy Markdown
Collaborator

The HRX Linux tarball still bundled LGPL and GPL-with-exception system libraries that THIRD_PARTY_NOTICES.txt did 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:

  • Pulled in by libcurl: GnuTLS, nettle/hogweed, GMP, libidn2, libunistring, libtasn1, librtmp, keyutils, glibc libresolv
  • Pulled in by the engine .so: glibc libmvec, GCC runtime (libstdc++, libgcc_s, libgomp)

Changes

  • src/CMakeLists.txt: the HRX install bundles only libhrx and libboost_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 in flm-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:

    • Drops the LGPL-2.1 text; no package ships an LGPL library any more.
    • The zlib entry is now Windows-only.
    • Adds the components that ship but were not listed:
      • HRX (libhrx.so.0 / hrx.dll): Apache-2.0 with LLVM Exceptions
      • flatcc (compiled into libhrx): Apache-2.0 + MIT
      • pkgconf (pkgconf-7.dll, Windows): ISC

    The HRX and flatcc texts are taken from the LICENSES/ directory of the pinned HRX release.

Verification

  • Guard on main ed42cff artifacts:
    • HRX tarball fails, flagging all 26 curl-closure, GCC runtime and glibc files.
    • XRT tarball and all 4 .debs pass.
  • Guard on the v1.0.9 HRX tarball: fails, catching every library family above.
  • Install filter: run with cmake -P on the real 37-library closure from main's HRX tarball, it installs only libboost_program_options.so.1.83.0 and libhrx.so.0 → libhrx.so.0.1.0.
  • Still needed from this PR's CI: build-HRX-portable must pass and the HRX tarball must hold only the engines, libhrx and Boost. sweep-linux-hrx should then confirm the tarball runs against host libcurl/libstdc++/libgomp, as the XRT tarball already does.

🤖 Generated with Claude Code

tawei-amd and others added 3 commits October 19, 2026 12:52
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]>
@tawei-amd tawei-amd changed the title List licenses correctly in third-party notices List sw and lic correctly in third-party notices Oct 19, 2026
@tawei-amd
tawei-amd merged commit 96591d5 into main Oct 19, 2026
31 checks passed
@tawei-amd
tawei-amd deleted the fix/hrx-bundle-allowlist branch October 19, 2026 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant