Bug 2271204 - Review Request: rust-add-determinism - RPM buildroot helper to strip nondeterministic bits in files
Summary: Review Request: rust-add-determinism - RPM buildroot helper to strip nondeter...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Davide Cavalca
QA Contact: Fedora Extras Quality Assurance
URL: https://crates.io/crates/add-determinism
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-03-23 18:07 UTC by Zbigniew Jędrzejewski-Szmek
Modified: 2024-03-25 23:54 UTC (History)
3 users (show)

Fixed In Version: rust-add-determinism-0.1.0.20240325git3d2444a-1.fc41
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2024-03-25 14:31:24 UTC
Type: ---
Embargoed:
davide: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 7208170 to 7208174 (1.05 KB, patch)
2024-03-24 15:23 UTC, Fedora Review Service
no flags Details | Diff

Description Zbigniew Jędrzejewski-Szmek 2024-03-23 18:07:03 UTC
Spec URL: https://in.waw.pl/~zbyszek/fedora/rust-add-determinism.spec
SRPM URL: https://in.waw.pl/~zbyszek/fedora/rust-add-determinism-0.1.0-1.fc41.src.rpm
Description:
RPM buildroot helper to strip nondeterministic bits in files

Fedora Account System Username: zbyszek

Comment 1 Zbigniew Jędrzejewski-Szmek 2024-03-23 18:09:45 UTC
This just includes the helper for now, without the rpm macros to hook it into the build process.

Comment 2 Davide Cavalca 2024-03-23 21:59:09 UTC
The effective license for the binary package needs to be updated according to the macro:

# Apache-2.0 OR MIT
# GPL-3.0-or-later
# MIT
# MIT OR Apache-2.0
# Unlicense OR MIT

Comment 4 Fedora Review Service 2024-03-24 15:21:59 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7208170
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2271204-rust-add-determinism/fedora-rawhide-x86_64/07208170-rust-add-determinism/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++/
- Package has .a files: rust-add-determinism-devel. Does not provide -static: rust-add-determinism-devel.
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#packaging-static-libraries

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 5 Fedora Review Service 2024-03-24 15:23:09 UTC
Created attachment 2023359 [details]
The .spec file difference from Copr build 7208170 to 7208174

Comment 6 Fedora Review Service 2024-03-24 15:23:11 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7208174
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2271204-rust-add-determinism/fedora-rawhide-x86_64/07208174-rust-add-determinism/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++/
- Package has .a files: rust-add-determinism-devel. Does not provide -static: rust-add-determinism-devel.
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#packaging-static-libraries

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 7 Davide Cavalca 2024-03-24 15:51:37 UTC
Package was generated with rust2rpm, simplifying the review.

- 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.

Comment 8 Fedora Admin user for bugzilla script actions 2024-03-25 13:11:14 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-add-determinism

Comment 9 Fabio Valentini 2024-03-25 14:56:49 UTC
Just FYI, the snapshot packaging you're doing on import (*after* the correct thing was reviewed here) is very much in conflict with at least one MUST NOT guidelines: Since this package provides Rust -devel and +default-devel packages (i.e. provides "crate(add-determinism)"), sources MUST be from crates.io.

If I had known you wanted to do weird things with this package, I would have recommended to make it a binary-only package and name it "add-determinism" instead.

Comment 10 Zbigniew Jędrzejewski-Szmek 2024-03-25 17:44:43 UTC
I read that part of the guidelines when I was figuring out what the name
of the package should be. The guideline text is:
> Rust crates that are published on crates.io MUST be packaged with rust-$crate as the name of the source package (where $crate is the name of the project on crates.io). 
> [...]
> On the other hand, projects from other sources MUST NOT use the rust- prefix for source package names

So this *is* a project from crates.io. The name is registered on crates.io and
you can download a version of this project from there, even if it not exactly the
version which is present in the package. In fact, I pushed version 0.1.0 to crates.io
specifically to satisfy the guidelines and make rust2rpm generate the binary package
as expected.

There is a certain ambiguity here. You said that "sources MUST be from crates.io",
but this is NOT in the the text of the guidelines.

I always understood the PG rule for naming with rust-* as intended to prevent confusion
and or/conflict if a different package with a given name was later uploaded to
crates.io.

Once the code stabilizes, I expect normal releases to be made and uploaded to crates.io.
I didn't do this here, because it seemed silly to tag new versions when the package
is under development and I'll want to build a new version in rawhide possibly every
few days and there are no other uses of the crate.

That said, I would be fine with renaming the package to 'add-determinism' if there's
a strong reason to do that.

Comment 11 Fabio Valentini 2024-03-25 23:54:05 UTC
You are right, the language around what source package name to use is not clear here. I'll think about how to improve this. But I was referring to this from the Guidelines:

> Projects from crates.io MUST be packaged from the sources that are published there (i.e. by using the %{crates_source} macro).

https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_package_sources


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