Bug 2358552 - Review Request: rust-esaxx-rs - Wrapping around sentencepiece's esaxxx library
Summary: Review Request: rust-esaxx-rs - Wrapping around sentencepiece's esaxxx library
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Cristian Le
QA Contact: Fedora Extras Quality Assurance
URL: https://crates.io/crates/esaxx-rs
Whiteboard:
Depends On:
Blocks: 2358553
TreeView+ depends on / blocked
 
Reported: 2025-04-09 04:58 UTC by Alexander Lent
Modified: 2025-07-31 19:25 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-07-31 19:25:16 UTC
Type: ---
Embargoed:
fedora: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 8881509 to 9226737 (476 bytes, patch)
2025-06-30 04:18 UTC, Fedora Review Service
no flags Details | Diff

Description Alexander Lent 2025-04-09 04:58:05 UTC
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.

Comment 1 Fedora Review Service 2025-04-09 15:07:20 UTC
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.

Comment 3 Fedora Review Service 2025-06-30 04:18:24 UTC
Created attachment 2095759 [details]
The .spec file difference from Copr build 8881509 to 9226737

Comment 4 Fedora Review Service 2025-06-30 04:18:25 UTC
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.

Comment 5 Cristian Le 2025-07-21 13:35:20 UTC
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?

Comment 6 Alexander Lent 2025-07-23 00:52:12 UTC
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.

Comment 7 Cristian Le 2025-07-23 12:39:39 UTC
> 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?

Comment 8 Alexander Lent 2025-07-27 02:34:01 UTC
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

Comment 9 Cristian Le 2025-07-28 07:58:11 UTC
```
[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)

Comment 10 Fedora Admin user for bugzilla script actions 2025-07-31 18:43:00 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-esaxx-rs

Comment 11 Fedora Update System 2025-07-31 19:22:08 UTC
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

Comment 12 Fedora Update System 2025-07-31 19:25:16 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.