Bug 2296542 - Review Request: rust-tonic-types - Collection of useful protobuf types that can be used with tonic
Summary: Review Request: rust-tonic-types - Collection of useful protobuf types that c...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Fabio Valentini
QA Contact: Fedora Extras Quality Assurance
URL: https://crates.io/crates/tonic-types
Whiteboard:
Depends On: 2296372 2296375 2296540
Blocks: 2297310
TreeView+ depends on / blocked
 
Reported: 2024-07-09 11:14 UTC by Cristian Le
Modified: 2024-10-03 01:57 UTC (History)
2 users (show)

Fixed In Version: rust-tonic-types-0.12.2-1.fc42
Clone Of:
Environment:
Last Closed: 2024-09-23 14:38:40 UTC
Type: ---
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 8023493 to 8026925 (1.24 KB, patch)
2024-09-17 09:43 UTC, Fedora Review Service
no flags Details | Diff
The .spec file difference from Copr build 8026925 to 8042165 (780 bytes, patch)
2024-09-20 07:51 UTC, Fedora Review Service
no flags Details | Diff

Comment 2 Fedora Review Service 2024-08-27 15:31:27 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7947944
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2296542-rust-tonic-types/fedora-rawhide-x86_64/07947944-rust-tonic-types/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
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 Fabio Valentini 2024-09-12 22:06:30 UTC
The license situation of this crate seems to be somewhat weird:

- crate code is MIT
- proto/*.proto files are Apache-2.0, but I can't see that they're actually referenced by the code?
- src/generated/types.bin is a weird binary file (where is it from?) and it seems to have an embedded BSD-3-Clause license text

1. Please confirm my suspicions that the Apache-2.0 licensed .proto files are indeed unused. If that is indeed the case, investigate whether they can be dropped from the package and / or from the crate upstream.

2. Determine the origin of the types.bin file. How it's generated? Is that process reproducible? Could we rebuild it at build-time? And why does it embed a BSD-3-Clause license text?

Comment 5 Fedora Review Service 2024-09-16 09:52:43 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8023493
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2296542-rust-tonic-types/fedora-rawhide-x86_64/08023493-rust-tonic-types/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
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 7 Fedora Review Service 2024-09-17 09:43:24 UTC
Created attachment 2047230 [details]
The .spec file difference from Copr build 8023493 to 8026925

Comment 8 Fedora Review Service 2024-09-17 09:43:25 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8026925
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2296542-rust-tonic-types/fedora-rawhide-x86_64/08026925-rust-tonic-types/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 9 Fabio Valentini 2024-09-19 10:26:25 UTC
> Source2:        https://github.com/LecrisUT/tonic/raw/packaging/fedora/LICENSE-APACHE

This link is no longer valid. If you need to include an external Apache-2.0 license text, please use the official one, not a custom link:

https://www.apache.org/licenses/LICENSE-2.0.txt

> BuildRequires:  protobuf-devel

Is this really needed here? I thought prost should already pull in protobuf - or do you need protoc? That one is in "protobuf-compiler".
If it is /usr/bin/protoc that you need, then I wonder why 1) it's not pulled in correctly by prost, and 2) you could just depend on "BR: /usr/bin/protoc" directly, without guessing the package name.

The patch to add build.rs looks good to me, and the package in general looks fine, with these two exceptions.

Comment 10 Cristian Le 2024-09-19 11:41:08 UTC
> > Source2:        https://github.com/LecrisUT/tonic/raw/packaging/fedora/LICENSE-APACHE
> 
> This link is no longer valid. If you need to include an external Apache-2.0
> license text, please use the official one, not a custom link:
> 
> https://www.apache.org/licenses/LICENSE-2.0.txt

The link should still be available, and I am mostly unsure if upstream would want to change the template copyright part or not. sqlx do that change.
But yeah, I'll switch it to a static bundled file.

> > BuildRequires:  protobuf-devel
> 
> Is this really needed here? I thought prost should already pull in protobuf
> - or do you need protoc? That one is in "protobuf-compiler".
> If it is /usr/bin/protoc that you need, then I wonder why 1) it's not pulled
> in correctly by prost, and 2) you could just depend on "BR: /usr/bin/protoc"
> directly, without guessing the package name.

I need to parts from here the `protoc` and the std libraries themselves. I have previously tried to build `atuin` locally with `protobuf-compiler` and it failed because it couldn't find the appropriate libraries. I just double-checked for this package as well by changing it to `BR: /usr/bin/protoc` and I get:
```
     Running `/builddir/build/BUILD/rust-tonic-types-0.12.2-build/tonic-types-0.12.2/target/rpm/build/tonic-types-b1705e977b60cfc9/build-script-build`
error: failed to run custom build command for `tonic-types v0.12.2 (/builddir/build/BUILD/rust-tonic-types-0.12.2-build/tonic-types-0.12.2)`
Caused by:
  process didn't exit successfully: `/builddir/build/BUILD/rust-tonic-types-0.12.2-build/tonic-types-0.12.2/target/rpm/build/tonic-types-b1705e977b60cfc9/build-script-build` (exit status: 101)
  --- stdout
  cargo::rerun-if-changed=/builddir/build/BUILD/rust-tonic-types-0.12.2-build/tonic-types-0.12.2/proto/status.proto
  cargo::rerun-if-changed=/builddir/build/BUILD/rust-tonic-types-0.12.2-build/tonic-types-0.12.2/proto/error_details.proto
  cargo::rerun-if-changed=/builddir/build/BUILD/rust-tonic-types-0.12.2-build/tonic-types-0.12.2/proto
  --- stderr
  thread 'main' panicked at build.rs:51:10:
  called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: "protoc failed: google/protobuf/any.proto: File not found.\nstatus.proto:19:1: Import \"google/protobuf/any.proto\" was not found or had errors.\nstatus.proto:46:12: \"google.protobuf.Any\" is not defined.\n" }
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: Bad exit status from /var/tmp/rpm-tmp.Gc0TDy (%build)
    Bad exit status from /var/tmp/rpm-tmp.Gc0TDy (%build)
```

```console
$ dnf repoquery --whatprovides */google/protobuf/any.proto
erlang-gpb-0:4.21.1-2.fc41.noarch
golang-github-gogo-protobuf-devel-0:1.3.2-16.fc41.noarch
mingw32-protobuf-0:3.19.6-6.fc41.noarch
mingw64-protobuf-0:3.19.6-6.fc41.noarch
protobuf-devel-0:3.19.6-10.fc41.i686
protobuf-devel-0:3.19.6-10.fc41.x86_64
python3-grpcio-tools-0:1.48.4-41.fc41.x86_64
rust-protobuf-codegen-pure-devel-0:2.28.0-4.fc41.noarch
```

Comment 12 Fedora Review Service 2024-09-20 07:51:55 UTC
Created attachment 2047804 [details]
The .spec file difference from Copr build 8026925 to 8042165

Comment 13 Fedora Review Service 2024-09-20 07:51:57 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8042165
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2296542-rust-tonic-types/fedora-rawhide-x86_64/08042165-rust-tonic-types/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 14 Fabio Valentini 2024-09-23 14:03:04 UTC
Thank you, looks good to me now!

===

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 clarification still pending upstream)
✅ license files are 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 (*NOT* pre-release) filter: alpha;beta;rc;pre
  distro: Fedora
  Package: rust-$crate

- add @rust-sig with "commit" access as package co-maintainer
  (should happen automatically)

- set bugzilla assignee overrides to @rust-sig (optional)

- track package in koschei for all built branches
  (should happen automatically once rust-sig is co-maintainer)

Comment 15 Cristian Le 2024-09-23 14:18:54 UTC
Thank you for the review, Fabio

Comment 16 Fedora Admin user for bugzilla script actions 2024-09-23 14:19:05 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-tonic-types

Comment 17 Fedora Update System 2024-09-23 14:34:09 UTC
FEDORA-2024-89699cebcb (rust-tonic-types-0.12.2-1.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-89699cebcb

Comment 18 Fedora Update System 2024-09-23 14:38:40 UTC
FEDORA-2024-89699cebcb (rust-tonic-types-0.12.2-1.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 19 Fedora Update System 2024-09-24 07:16:46 UTC
FEDORA-2024-b32479db34 (rust-tonic-types-0.12.2-1.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-b32479db34

Comment 20 Fedora Update System 2024-09-25 01:25:35 UTC
FEDORA-2024-4ea1514c36 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-4ea1514c36`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-4ea1514c36

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 21 Fedora Update System 2024-09-25 01:33:16 UTC
FEDORA-2024-b32479db34 has been pushed to the Fedora 41 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-b32479db34`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-b32479db34

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 22 Fedora Update System 2024-09-25 01:44:17 UTC
FEDORA-2024-f82c7b97a5 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-f82c7b97a5`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-f82c7b97a5

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 23 Fedora Update System 2024-10-02 03:51:29 UTC
FEDORA-2024-4ea1514c36 (rust-tonic-types-0.12.2-1.fc39) has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 24 Fedora Update System 2024-10-03 00:15:07 UTC
FEDORA-2024-b32479db34 (rust-tonic-types-0.12.2-1.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 25 Fedora Update System 2024-10-03 01:57:25 UTC
FEDORA-2024-f82c7b97a5 (rust-tonic-types-0.12.2-1.fc40) has been pushed to the Fedora 40 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.