Bug 2167496 - Review Request: rust-imagequant - Palette quantization library that powers pngquant and other PNG optimizers
Summary: Review Request: rust-imagequant - Palette quantization library that powers pn...
Keywords:
Status: CLOSED NEXTRELEASE
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/imagequant
Whiteboard:
Depends On: 2152697
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-02-06 19:50 UTC by blinxen
Modified: 2023-02-23 20:20 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2023-02-23 20:20:30 UTC
Type: ---
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 5491220 to 5539065 (2.25 KB, patch)
2023-02-17 23:19 UTC, Jakub Kadlčík
no flags Details | Diff

Description blinxen 2023-02-06 19:50:11 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/blinxen/rust-imagequant/fedora-rawhide-x86_64/05491216-rust-imagequant/rust-imagequant.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/blinxen/rust-imagequant/fedora-rawhide-x86_64/05491216-rust-imagequant/rust-imagequant-4.1.0-1.fc38.src.rpm

Description:
Imagequant library converts RGBA images to palette-based 8-bit
indexed images, including alpha component.
It's ideal for generating tiny PNG images and nice-looking GIFs.

Image encoding/decoding isn't handled by the library itself,
bring your own encoder.
If you're looking for a command-line tool, see pngquant.

Fedora Account System Username: blinxen

This is a dependency package to build the latest version of `libimagequant`.
`libimagequant` was rewritten in rust and to build the C bindings, the new rust lib needs to be packaged.

Comment 1 Jakub Kadlčík 2023-02-06 20:01:41 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/5491220
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2167496-rust-imagequant/fedora-rawhide-x86_64/05491220-rust-imagequant/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 2 Fabio Valentini 2023-02-07 13:57:25 UTC
> # -a is required here because the default feature is `threads`
> # and `threads` depends on 3 optional dependencies.
> # Optional dependencies are usually ignored by the cargo_generate_buildrequires macro
> # With -a we tell the macro to require all (there are only 3) optional dependencies
> %cargo_generate_buildrequires -a

This might fix the problem of missing BuildRequires, but it's a solution for the wrong problem, and will result in broken packages down the line.
The "dep:foo" syntax is not yet supported by our Rust tooling (c.f. RHBZ#2152697), and this crate will not be able to be packaged correctly until that's done (i.e. the fact that adding the "-a" flag "fixes" the build is a bug, and will not be required once the tooling is fixed).

Comment 4 Jakub Kadlčík 2023-02-17 23:19:36 UTC
Created attachment 1944879 [details]
The .spec file difference from Copr build 5491220 to 5539065

Comment 5 Jakub Kadlčík 2023-02-17 23:19:38 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/5539065
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2167496-rust-imagequant/fedora-rawhide-x86_64/05539065-rust-imagequant/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 6 blinxen 2023-02-19 18:52:38 UTC
> this crate will not be able to be packaged correctly until that's done

I think with the latest changes (see new spec file), the package review can now be continued. Unless there is another problem that I am not aware of.

Comment 7 Fabio Valentini 2023-02-22 18:30:54 UTC
Package looks good to me now, with one exception:

The license text of the project looks kind of weird. The main license is GPL-3.0-or-later, but there's also "pngquant's original license", which is not covered by the "package.license" field in crate metadata, and does not correspond to any license text known to askalono ... I'm not sure what kind of license it is, or if it's acceptable for Fedora. I would ask on the legal mailing list.

Comment 8 blinxen 2023-02-23 19:17:37 UTC
Here is the feedback from the legal mailing list: https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/WLSXKTZ5ZFZBBHFELHSHON53J3VUGB6N/

To summarize the answer, the license for the project *should* be fine.

Comment 9 Fabio Valentini 2023-02-23 19:19:24 UTC
Answers from RH legal are always a bit cryptic, but that was my understanding as well.
So the package looks good to me :)

===

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.

===

Recommended post-import rust-sig tasks:

- add @rust-sig with "commit" access as package co-maintainer

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

- 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

- track package in koschei for all built branches

Comment 10 Fedora Admin user for bugzilla script actions 2023-02-23 19:27:42 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-imagequant


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