Bug 2326609 - Review Request: rust-cargo-rpmstatus - Cargo-tree for RPM packaging
Summary: Review Request: rust-cargo-rpmstatus - Cargo-tree for RPM packaging
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Fabio Valentini
QA Contact: Fedora Extras Quality Assurance
URL: https://crates.io/crates/cargo-rpmstatus
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-11-15 20:53 UTC by Petr Menšík
Modified: 2025-09-26 01:09 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-09-17 16:12:47 UTC
Type: ---
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)

Description Petr Menšík 2024-11-15 20:53:42 UTC
Spec URL: https://pemensik.fedorapeople.org/rust-cargo-rpmstatus.spec
SRPM URL: https://pemensik.fedorapeople.org/rust-cargo-rpmstatus-0.2.2-1.fc42.src.rpm

Description:
Cargo-tree for RPM packaging.

Fedora Account System Username: pemensik

Comment 1 Petr Menšík 2024-11-15 20:53:45 UTC
This package built on koji:  https://koji.fedoraproject.org/koji/taskinfo?taskID=125899823

Comment 2 Fedora Review Service 2024-11-15 21:08:51 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8269315
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2326609-rust-cargo-rpmstatus/fedora-rawhide-x86_64/08269315-rust-cargo-rpmstatus/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 Fabio Valentini 2025-03-15 13:12:11 UTC
> # (MIT OR Apache-2.0) AND Unicode-DFS-2016
> # 0BSD OR MIT OR Apache-2.0
> # Apache-2.0 OR BSL-1.0
> # Apache-2.0 OR ISC OR MIT
> # Apache-2.0 OR MIT
> # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
> # BSD-2-Clause OR Apache-2.0 OR MIT
> # BSD-3-Clause
> # GPL-3.0
> # ISC
> # ISC AND MIT AND OpenSSL
> # MIT
> # MIT OR Apache-2.0
> # MIT OR Apache-2.0 OR Zlib
> # MIT OR Zlib OR Apache-2.0
> # MPL-2.0
> # Unlicense OR MIT
> # Zlib OR Apache-2.0 OR MIT
> License:       GPL-3.0 AND Apache-2.0 AND BSD-3-Clause AND ISC AND MIT AND OpenSSL AND MIT AND MPL-2.0

This is - sadly - not what the Licensing guidelines tell us to do here.
The "OR" choices need to be preserved and cannot be simplified away.
Only duplicated "(A OR B)" and "(B OR A)" can be dropped since the order does not matter, but nothing else.
There are also non-OR'd licenses missing from the expression, like Unicode-DFS-2016. What happened to that one?

Comment 4 Petr Menšík 2025-05-09 10:30:59 UTC
Oh, It would make it somehow long. Since every part should be combined by AND together, I expect ((MIT OR Apache-2.0) AND Unicode-DFS-2016) AND (Apache-2.0 OR MIT) AND (MIT OR Apache-2.0) would result in:

(MIT OR Apache-2.0) AND Unicode-DFS-2016

Then also (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) => (MIT OR Apache-2.0 OR Zlib)

If I have to keep all OR in place, just few duplicates can be omitted. What I got as a result then:

# (MIT OR Apache-2.0) AND Unicode-DFS-2016 # [1]
# 0BSD OR MIT OR Apache-2.0
# Apache-2.0 OR BSL-1.0
# Apache-2.0 OR ISC OR MIT
# Apache-2.0 OR MIT # [2] (dup 1!)
# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
# BSD-2-Clause OR Apache-2.0 OR MIT
# BSD-3-Clause
# GPL-3.0
# ISC
# ISC AND MIT AND OpenSSL
# MIT
# MIT OR Apache-2.0 # (dup 1,2!)
# MIT OR Apache-2.0 OR Zlib # [3]
# MIT OR Zlib OR Apache-2.0 # (dup 3!)
# MPL-2.0
# Unlicense OR MIT
# Zlib OR Apache-2.0 OR MIT # (dup 3!)
License:       (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND GPL-3.0 AND ISC AND MIT AND OpenSSL AND (MIT OR Apache-2.0 OR Zlib) AND MPL-2.0 AND (Unlicense OR MIT)

Thought about putting single licenses first and sorting OR parts to have identical ordering, but that would make even less understandable how I got the final string of licenses. I guess ability to verify the source if these is more important than sorting used licenses. I wish there was a tool sorting separate OR or AND separated parts alphabetically when making this summary. Especially when I would have to watch differences in those on rebases, where dependencies might change as well.

And Unicode-DFS-2016 was simply omitted by mistake from the original list. Yes, it definitely must be present there, my mistake!

Comment 5 Petr Menšík 2025-05-09 14:30:08 UTC
It needs also bzip2 metadata update, builds fine with rust-bzip2-devel 0.5.2-1.fc43 when allowed.

Spec URL: https://raw.githubusercontent.com/pemensik/cargo-rpmstatus/refs/heads/fedora/rust-cargo-rpmstatus.spec
SRPM URL: https://pemensik.fedorapeople.org/rust-cargo-rpmstatus-0.2.2-1.fc42.src.rpm

Comment 8 Petr Menšík 2025-05-09 15:36:30 UTC
Strange, I had to delete ~/.cache/cargo-rpmstatus/rawhide/primary_db.sqlite and ~/.cache/cargo-rpmstatus/rawhide/repomd.xml to get it downloaded again. Then, it seems to work somehow. But not at first try...

Comment 9 Fabio Valentini 2025-05-21 21:58:24 UTC
Looks like the URLs are still the wrong ones? I downloaded the spec and the SRPM from the most recent comment and they don't match.

The spec file looks up-to-date, but the SRPM is not?

Other than that, package looks pretty good, but I'll do the final checks when I can do a test build from an SRPM that is actually current :)

Note that this is not allowed:

> gzip %{buildroot}%{_mandir}/man1/%{crate}.*

Just put the plain uncompressed filed into %_mandir, it will be compressed by a postinstall hook automatically.

Comment 10 solomoncyj 2025-05-23 02:28:24 UTC
try this ryst2rpm.toml, worked for me
```
[scripts]
install.post = [
"# set up man pages",
"mkdir -p %{buildroot}/%{_mandir}/man1",
"cp ./cargo-rpmstatus.1 %{buildroot}/%{_mandir}/man1",]


[tests]
skip = [
"db::tests::online_check_version_reqs"]
comments = [
"crate will attempt to connect to internet to run tests"]

[package]
cargo-toml-patch-comments = [
"bump bzip version bounds"]
extra-files = [
"%{_mandir}/man1/cargo-rpmstatus.1*"]

```

Comment 12 solomoncyj 2025-06-23 01:31:10 UTC
hi, @Petr, The review seems to be stalled, and a response is needed from you soon

Comment 13 Petr Menšík 2025-06-27 16:22:15 UTC
Spec URL: https://raw.githubusercontent.com/pemensik/cargo-rpmstatus/refs/heads/fedora/rust-cargo-rpmstatus.spec
SRPM URL: https://pemensik.fedorapeople.org/srpm/rust-cargo-rpmstatus-0.2.3-1.fc43.src.rpm

Okay, I have used my own rust2rpm:

https://raw.githubusercontent.com/pemensik/cargo-rpmstatus/refs/heads/fedora/rust2rpm.toml

But modified it a bit to be more like yours.

Just removed gzip step from man page. I install man page with -p parameter, which is mandatory AFAIK.

Comment 14 Petr Menšík 2025-06-27 16:30:56 UTC
Oh and updated to 2.2.3 release done in the mean time, which does not need metadata fixing anymore.

Comment 15 Fabio Valentini 2025-07-30 11:05:36 UTC
Sorry for the delay - package looks good to me now, with two minor things that you should please fix before import:

1. Update the License tag. The dependency tree in rawhide has shifted since you ran the last build. (I would also suggest *not* to annotate the output of %cargo_license_summary in the spec file comment, it makes it hard to "diff" when pasting the updated one from the build log.)

2. Remove `%doc` from `%doc %{_mandir}/man1/%{crate}.1*`. It is redundant, man pages are automatically marked as `%doc`.

PACKAGE APPROVED.

===

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 (tests requiring internet connectivity skipped)
✅ latest version of the crate is packaged
✅ license matches upstream specification and is acceptable for Fedora
✅ licenses of statically linked dependencies are correctly taken into account
✅ 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 filter (*NOT* pre-release filter): alpha;beta;rc;pre
  distro: Fedora
  Package: rust-$crate

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

Comment 16 Fedora Admin user for bugzilla script actions 2025-09-17 15:43:07 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-cargo-rpmstatus

Comment 17 Fedora Update System 2025-09-17 16:09:09 UTC
FEDORA-2025-22e26b4ff9 (rust-cargo-rpmstatus-0.2.3-2.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-22e26b4ff9

Comment 18 Fedora Update System 2025-09-17 16:12:47 UTC
FEDORA-2025-22e26b4ff9 (rust-cargo-rpmstatus-0.2.3-2.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 19 Fedora Update System 2025-09-17 16:15:25 UTC
FEDORA-2025-f0729d57d0 (rust-cargo-rpmstatus-0.2.3-2.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-f0729d57d0

Comment 20 Fedora Update System 2025-09-17 16:16:02 UTC
FEDORA-2025-b4e6333b91 (rust-cargo-rpmstatus-0.2.3-2.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-b4e6333b91

Comment 21 Fedora Update System 2025-09-18 01:49:43 UTC
FEDORA-2025-b4e6333b91 has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-b4e6333b91 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-b4e6333b91

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

Comment 22 Fedora Update System 2025-09-18 02:15:40 UTC
FEDORA-2025-f0729d57d0 has been pushed to the Fedora 42 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-f0729d57d0 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-f0729d57d0

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

Comment 23 Fedora Update System 2025-09-26 00:19:24 UTC
FEDORA-2025-b4e6333b91 (rust-cargo-rpmstatus-0.2.3-2.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 24 Fedora Update System 2025-09-26 01:09:43 UTC
FEDORA-2025-f0729d57d0 (rust-cargo-rpmstatus-0.2.3-2.fc42) has been pushed to the Fedora 42 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.