build(bindings): package complete legal metadata#561
Conversation
104f19c to
0be67d6
Compare
0be67d6 to
5674528
Compare
JingsongLi
left a comment
There was a problem hiding this comment.
The target-specific third-party license reports are required in the binary wheels and Go artifacts, but I do not think all generated outputs should be committed to the main source tree. This PR adds nine largely duplicated reports, totaling about 99,000 lines and 5.7 MB.
More importantly, scripts/release.sh creates the ASF source archive with git archive HEAD, and these files are not marked export-ignore. The source release will therefore contain target-specific LICENSE, NOTICE, and third-party reports that explicitly describe native binaries which are not present in that source distribution. ASF guidance requires legal metadata to accurately reflect the contents of each distribution and explicitly notes that source and binary legal files may differ.
Could we keep the cargo-about configuration, templates, curated license inputs, generation script, and artifact verifiers in the repository, but generate each target-specific report in its wheel/Go build job and package it directly with the corresponding binary artifact? For the Go module, the reports can be added only to the release-tag commit together with the native libraries. If the generated reports must remain tracked, they should at least be excluded from the ASF source archive with export-ignore.
|
Thanks, addressed in ab816a3. Target-specific Python/Go legal files are now generated in the corresponding binary jobs and removed from the main tree; Go files are added only to the release-tag commit. The Python source-only report remains in the ASF source archive. Also added archive-path collision and dependency-derived NOTICE checks. |
Summary
Coverage
Verification