Bug 2227479 - Review Request: rust-tiny-dfr - Most basic dynamic function row daemon possible
Summary: Review Request: rust-tiny-dfr - Most basic dynamic function row daemon possible
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/tiny-dfr
Whiteboard:
Depends On: 2227475
Blocks: 2224807
TreeView+ depends on / blocked
 
Reported: 2023-07-30 02:17 UTC by Davide Cavalca
Modified: 2023-08-07 01:26 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2023-08-06 13:53:55 UTC
Type: ---
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 6223018 to 6223683 (642 bytes, patch)
2023-07-30 16:29 UTC, Fedora Review Service
no flags Details | Diff

Description Davide Cavalca 2023-07-30 02:17:01 UTC
Spec URL: https://dcavalca.fedorapeople.org/review/rust-tiny-dfr/rust-tiny-dfr.spec
SRPM URL: https://dcavalca.fedorapeople.org/review/rust-tiny-dfr/rust-tiny-dfr-0.1.1-1.fc39.src.rpm

Description:
The most basic dynamic function row daemon possible.

Fedora Account System Username: dcavalca

Comment 1 Fedora Review Service 2023-07-30 05:38:46 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6223018
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2227479-rust-tiny-dfr/fedora-rawhide-x86_64/06223018-rust-tiny-dfr/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 2 Davide Cavalca 2023-07-30 16:26:47 UTC
Spec URL: https://dcavalca.fedorapeople.org/review/rust-tiny-dfr/rust-tiny-dfr.spec
SRPM URL: https://dcavalca.fedorapeople.org/review/rust-tiny-dfr/rust-tiny-dfr-0.1.1-1.fc39.src.rpm

Changelog:
- update patch to the one upstream merged

Comment 3 Fedora Review Service 2023-07-30 16:29:55 UTC
Created attachment 1980746 [details]
The .spec file difference from Copr build 6223018 to 6223683

Comment 4 Fedora Review Service 2023-07-30 16:29:58 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6223683
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2227479-rust-tiny-dfr/fedora-rawhide-x86_64/06223683-rust-tiny-dfr/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 5 Fabio Valentini 2023-08-03 12:51:31 UTC
A few comments:

1. The license tag is not up to the latest standard wrt/ legal guidance.
Simplifying licenses like "(A OR B) AND A" to is explicitly discouraged.

So the license tag should be:

License: Apache-2.0 AND BSD-3-Clause AND CC0-1.0 AND ISC AND LGPL-2.1-or-later AND MIT AND MPL-2.0 AND Unicode-DFS-2016 AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT)

The only simplifications that *are* OK are 1. deduplicating "(A OR B)" and "(B OR A)" since they are officially equivalent, and 2. dropping parenthesis around expressions like "(A AND B) AND C" - i.e. OR and AND are commutative and associative. Sorting the resulting AND "blocks" alphabetically is also useful to keep the result consistent.

It's also helpful to paste the output of %cargo_license_summary into the spec file, since it makes this simpler.

2. In the %files list, I would recommend to make directories explicit:

%{_datadir}/%{crate} -> %{_datadir}/%{crate}/

This prevents surprises and / or accidental changes from directories <-> files, which can often be problematic on upgrade (especially since the old workaround is now explicitly blocked by DNF). Making it explicit that something is a directory ensures that this can only happen intentionally (even though it is unlikely to happen for a directory like /usr/share/tiny-dfr/).

Comment 6 Fabio Valentini 2023-08-03 12:54:02 UTC
There was also a minor issue in the rust-librsvg package (excluding configure.ac made the build of tiny-dfr fail), I've submitted a new build that fixes that problem.

Comment 7 Davide Cavalca 2023-08-06 12:29:53 UTC
Spec URL: https://dcavalca.fedorapeople.org/review/rust-tiny-dfr/rust-tiny-dfr.spec
SRPM URL: https://dcavalca.fedorapeople.org/review/rust-tiny-dfr/rust-tiny-dfr-0.1.1-1.fc39.src.rpm

Changelog:
- fix license tag for binary package
- make directory install explicit

Comment 8 Fabio Valentini 2023-08-06 13:19:32 UTC
Looks good to me, one exception:

%post
%systemd_post %{crate}.service

%preun
%systemd_preun %{crate}.service

%postun
%systemd_postun_with_restart %{crate}.service

These are without effect, you need to use

%post -n %{crate}
%systemd_post %{crate}.service

%preun -n %{crate}
%systemd_preun %{crate}.service

%postun -n %{crate}
%systemd_postun_with_restart %{crate}.service

Please fix this before importing the package.

===

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 (MIT AND Apache-2.0) and is acceptable for Fedora
- license files are included with %license in %files
- subpackage that contains statically linked binary has license tag that takes dependencies into account
- 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: 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 9 Fedora Admin user for bugzilla script actions 2023-08-06 13:21:32 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-tiny-dfr

Comment 10 Fedora Update System 2023-08-06 13:53:35 UTC
FEDORA-2023-869d2d9891 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-869d2d9891

Comment 11 Fedora Update System 2023-08-06 13:53:55 UTC
FEDORA-2023-869d2d9891 has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 12 Fedora Update System 2023-08-06 21:01:18 UTC
FEDORA-2023-c2d333f341 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-c2d333f341

Comment 13 Fedora Update System 2023-08-07 01:26:57 UTC
FEDORA-2023-c2d333f341 has been pushed to the Fedora 38 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.