Spec URL: https://gist.github.com/xanderlent/ed3801d7d1c2b5f1bda899ea69a306f2/raw/5d21f945057e47e0e0114e2105effa168cc2fa4a/rust-esaxx-rs.spec SRPM URL: https://gist.github.com/xanderlent/ed3801d7d1c2b5f1bda899ea69a306f2/raw/5d21f945057e47e0e0114e2105effa168cc2fa4a/rust-esaxx-rs-0.1.10-1.fc43.src.rpm Description: Wrapping around sentencepiece's esaxxx library Fedora Account System Username: xanderlent See also the rust2rpm.toml: https://gist.github.com/xanderlent/ed3801d7d1c2b5f1bda899ea69a306f2/raw/5d21f945057e47e0e0114e2105effa168cc2fa4a/rust2rpm.toml This is a dependency of rust-tokenizers. It needed a few tweaks in rust2rpm.toml, mostly because we don't package criterion, and because the bundled C++ sources aren't considered by the package license for some reason.
Copr build: https://copr.fedorainfracloud.org/coprs/build/8881509 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2358552-rust-esaxx-rs/fedora-rawhide-x86_64/08881509-rust-esaxx-rs/fedora-review/review.txt Found issues: - No gcc, gcc-c++ or clang found in BuildRequires Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/ Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Spec URL: https://gist.github.com/xanderlent/ed3801d7d1c2b5f1bda899ea69a306f2/raw/e7e0f0f496e58a87ada7f15fe3b4cb87cdecca99/rust-esaxx-rs.spec SRPM URL: https://gist.github.com/xanderlent/ed3801d7d1c2b5f1bda899ea69a306f2/raw/e7e0f0f496e58a87ada7f15fe3b4cb87cdecca99/rust-esaxx-rs-0.1.10-1.fc43.src.rpm see also rust2rpm.toml, which is used to generate the specfile: https://gist.github.com/xanderlent/ed3801d7d1c2b5f1bda899ea69a306f2/raw/e7e0f0f496e58a87ada7f15fe3b4cb87cdecca99/rust2rpm.toml https://gist.github.com/xanderlent/ed3801d7d1c2b5f1bda899ea69a306f2/raw/e7e0f0f496e58a87ada7f15fe3b4cb87cdecca99/esaxx-rs-fix-metadata.diff
Created attachment 2095759 [details] The .spec file difference from Copr build 8881509 to 9226737
Copr build: https://copr.fedorainfracloud.org/coprs/build/9226737 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2358552-rust-esaxx-rs/fedora-rawhide-x86_64/09226737-rust-esaxx-rs/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Looks fine overall, just 3 issues: - I see that you found that the package uses MIT licensed code but it is not attributed correctly. But I do not see a relevant upstream issue opened, could you do that. - What's the deal with `esaxx.cpp`? That thing seems to have a whole other implementation that is commented. - `data/eighty.txt` seems to use a file from Project Gutenberg. Can you check if that is allowed to be packaged?
I looked into the Project Gutenberg License, it looks like Fedora Legal has concluded that it is "not a license" and it's suitable for data files: https://gitlab.com/fedora/legal/fedora-license-data/-/issues/136 That said, if you think it's a good idea, I can file a new issue if you're concerned about the specifics of the review. I am still working on the other two points; just wanted to give an update.
> This is probably a typical sort of case in which the Project Gutenberg license might come up. We might want to add the Project Gutenberg license to a growing set of benign "not licenses" likely to be found in reviewing Fedora packages for licensing information, along with some guidance on when to seek help from Fedora Legal as to whether packaging something under the "license" is or isn't OK. Well probably due-time to ask for an updated information. Particularly the guidance on how to check if a work is globally public domain. Can you ping the issue for an update?
OK, I think I've addressed all three of these issues: - I filed a license issue upstream: https://github.com/Narsil/esaxx-rs/issues/17 - I inquired as to the large amount of commented code: https://github.com/Narsil/esaxx-rs/issues/18 - I think it's a harmless development artifact, but we could delete it if we wanted to be more paranoid. - I've also filed a bug about the Gutenberg License in the review repo: https://gitlab.com/fedora/legal/fedora-license-data/-/issues/676 - That said, the Gutenberg file could be removed from the source package without consequence; it is only used in a benchmark that we do not run in Fedora's infrastructure. I have updated sources: SRPM URL: https://gist.github.com/xanderlent/ed3801d7d1c2b5f1bda899ea69a306f2/raw/30d95b69fa2f3370f7df3eeb8b9345d404778105/rust-esaxx-rs-0.1.10-1.fc43.src.rpm Spec URL: https://gist.githubusercontent.com/xanderlent/ed3801d7d1c2b5f1bda899ea69a306f2/raw/30d95b69fa2f3370f7df3eeb8b9345d404778105/rust-esaxx-rs.spec And the rust2rpm.toml: https://gist.githubusercontent.com/xanderlent/ed3801d7d1c2b5f1bda899ea69a306f2/raw/30d95b69fa2f3370f7df3eeb8b9345d404778105/rust2rpm.toml
``` [requires] build = ["gcc-c++"] ``` Not really needed, should be covered by the rust-cc dependency. Not a blocker though. Should note that in principle you could disable the `cpp` feature and link it to the `sentencepiece` library, but that part is not exposed with public header and not sure if the symbols are exposed either. Bundling like it is currently done would be preferred imo. The only thing, could you remove the benches, data, examples. Otherwise I think it's good to go, the Gutenberg license is not clarified, but I think it would be fine as public domain and content-only license. --- Package was generated with rust2rpm, simplifying the review. ✅ package contains only permissible content ✅ package builds and installs without errors on rawhide ✅ test suite is run and all unit tests pass ✅ latest version of the crate is packaged ✅ license matches upstream specification and is acceptable for Fedora ✅ license file is included with %license in %files ✅ package complies with Rust Packaging Guidelines Package APPROVED. === Recommended post-import rust-sig tasks: - set up package on release-monitoring.org: project: $crate homepage: https://crates.io/crates/$crate backend: crates.io version scheme: semantic version filter (*NOT* pre-release filter): alpha;beta;rc;pre distro: Fedora Package: rust-$crate - set bugzilla assignee overrides to @rust-sig (optional)
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-esaxx-rs
FEDORA-2025-1aecadaef7 (rust-esaxx-rs-0.1.10-1.fc43) has been submitted as an update to Fedora 43. https://bodhi.fedoraproject.org/updates/FEDORA-2025-1aecadaef7
FEDORA-2025-1aecadaef7 (rust-esaxx-rs-0.1.10-1.fc43) has been pushed to the Fedora 43 stable repository. If problem still persists, please make note of it in this bug report.