Bug 2296293 - Review Request: komac - The Community Manifest Creator for WinGet
Summary: Review Request: komac - The Community Manifest Creator for WinGet
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Cristian Le
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-08 13:50 UTC by solomoncyj
Modified: 2024-07-30 08:38 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)
srpm (4.76 MB, application/x-rpm)
2024-07-09 10:39 UTC, solomoncyj
no flags Details
spec file (1.14 KB, text/plain)
2024-07-09 10:40 UTC, solomoncyj
no flags Details
srpm, without *.iss files (4.77 MB, application/x-rpm)
2024-07-29 13:15 UTC, solomoncyj
no flags Details
updated spec file (959 bytes, text/plain)
2024-07-29 14:29 UTC, solomoncyj
no flags Details
srpm_rev_3 (4.75 MB, application/x-rpm)
2024-07-29 14:33 UTC, solomoncyj
no flags Details
srpm_rev_4 (4.75 MB, application/x-rpm)
2024-07-29 15:05 UTC, solomoncyj
no flags Details
spec_rev_4 (1.69 KB, text/plain)
2024-07-29 15:06 UTC, solomoncyj
no flags Details

Description solomoncyj 2024-07-08 13:50:14 UTC
Spec / SRPM : attched in issue
Description: Komac is an advanced CLI designed to create manifests for the WinGet Community Repository.
Fedora Account System Username solomoncyj
builds: https://github.com/russellbanks/Komac/releases/tag/v2.3.0
this is my first package. looking for sponsors

Comment 1 solomoncyj 2024-07-09 10:39:51 UTC
Created attachment 2039321 [details]
srpm

Comment 2 solomoncyj 2024-07-09 10:40:48 UTC
Created attachment 2039322 [details]
spec file

Comment 3 Cristian Le 2024-07-09 11:40:22 UTC
I can take the review, but I can't sponsor, and that may take some time. Maybe your sponsor would (also) do the review.

Quick notes:
- Can you add a comment in the format that you see in the template https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora&format=fedora-review
  That will make fedora-review create a copr build and do some automated tests
- Can you post the rust2rpm.toml that you've used if any
- The license seems inconsistent with the note on the readme file [1] (GPL-3.0-only vs GPL-3.0-or-later). Could you make an issue/PR to upstream to update the metadata in Cargo.toml
- I am not familiar with `CodeDependencies.iss` [2], but it seems that it is copied from another project [3]. At the very least this would require merging the license, but I would need to check CPOL if it's allowed. I am not sure if there is other procedures to be had with this like marking it as `bundled`, will put this up for further review
- I believe the spec file in that format would not build. Can you work on it in a copr repo, either by uploading the srpm manually, or you can copy a workflow I have in a repo [4] (feel free to contact me on matrix/github if you want tips on how to set it up)


[1]: https://github.com/russellbanks/Komac/blob/v2.3.0/README.md#license
[2]: https://github.com/russellbanks/Komac/blob/v2.3.0/assets/CodeDependencies.iss
[3]: https://github.com/DomGries/InnoDependencyInstaller
[4]: https://github.com/LecrisUT/tonic-rpmspec/

Comment 4 solomoncyj 2024-07-09 11:52:16 UTC
Spec URL: https://bugzilla-attachments.redhat.com/attachment.cgi?id=2039322
SRPM URL: https://bugzilla.redhat.com/attachment.cgi?id=2039321
Description: Komac is an advanced CLI designed to create manifests for the WinGet Community Repository.
Fedora Account System Username: solomoncyj

Comment 5 Cristian Le 2024-07-09 14:02:57 UTC
In case you didn't follow the discussion on Fedora Rust, the conclusion is that `CodeDependencies.iss` must be removed. For reference regarding deleting the `CodeDependencies.iss`, there is an example [1] on how to do this, and what you should package. In this case though I am not sure if `rust2rpm.toml` should be included in the final repo because we must make sure that a script like `gen_clean_tarball.sh` is used for creating the sources. Probably Fabio will go cover your sponsorship and he will have some tips on this ;).

PS: the fedora-review can take a while, lately mine took close to 1 day to trigger. Not sure what's going on with those.

[1]: https://src.fedoraproject.org/rpms/rust-fiat-crypto/blob/rawhide/f/gen_clean_tarball.sh

Comment 6 solomoncyj 2024-07-29 13:15:37 UTC
Created attachment 2040689 [details]
srpm, without *.iss files

Comment 7 solomoncyj 2024-07-29 14:29:27 UTC
Created attachment 2040690 [details]
updated spec file

Comment 8 solomoncyj 2024-07-29 14:33:58 UTC
Created attachment 2040691 [details]
srpm_rev_3

Comment 9 solomoncyj 2024-07-29 14:35:24 UTC
Spec URL: https://bugzilla-attachments.redhat.com/attachment.cgi?id=2039322
SRPM URL: https://bugzilla.redhat.com/attachment.cgi?id=2039321
Description: Komac is an advanced CLI designed to create manifests for the WinGet Community Repository.
Fedora Account System Username: solomoncyj

Comment 10 Cristian Le 2024-07-29 14:45:26 UTC
Can you fix the spec and srpm file again. The `cargo_license` was not defined, and the build will not run without a proper license tag. If you still have troubles finding what to write there, fill in the license of the upstream and then can show in the review build.

Comment 11 solomoncyj 2024-07-29 15:05:27 UTC
Created attachment 2040694 [details]
srpm_rev_4

Comment 12 solomoncyj 2024-07-29 15:06:17 UTC
Created attachment 2040695 [details]
spec_rev_4

Comment 13 Cristian Le 2024-07-30 08:38:04 UTC
> - I am not familiar with `CodeDependencies.iss`, but it seems that it is copied from another project. At the very least this would require merging the license, but I would need to check CPOL if it's allowed. I am not sure if there is other procedures to be had with this like marking it as `bundled`, will put this up for further review

Sorry about this one. It turns out `CodeDependencies.iss` was never packaged in the crate [1]. Good news you can package this one very easily by simply running `rust2rpm komac ...`. Bad news, you have quite a lot of dependencies that you need to package along with it:
```
Package "cargo-rpm-macros-26.3-1.fc40.noarch" is already installed.
Problem 1: nothing provides requested (crate(camino/default) >= 1.1.7 with crate(camino/default) < 2.0.0~)
 Problem 2: nothing provides requested (crate(camino/serde1) >= 1.1.7 with crate(camino/serde1) < 2.0.0~)
 Problem 3: nothing provides requested (crate(color-eyre) >= 0.6.3 with crate(color-eyre) < 0.7.0~)
 Problem 4: nothing provides requested (crate(cynic-codegen/default) >= 3.7.2 with crate(cynic-codegen/default) < 4.0.0~)
 Problem 5: nothing provides requested (crate(cynic-codegen/rkyv) >= 3.7.2 with crate(cynic-codegen/rkyv) < 4.0.0~)
 Problem 6: nothing provides requested (crate(cynic/default) >= 3.7.3 with crate(cynic/default) < 4.0.0~)
 Problem 7: nothing provides requested (crate(cynic/http-reqwest) >= 3.7.3 with crate(cynic/http-reqwest) < 4.0.0~)
 Problem 8: nothing provides requested (crate(derive_more/default) >= 0.99.18 with crate(derive_more/default) < 0.100.0~)
 Problem 9: nothing provides requested (crate(inquire/default) >= 0.7.5 with crate(inquire/default) < 0.8.0~)
 Problem 10: nothing provides requested (crate(keyring/default) >= 2.3.3 with crate(keyring/default) < 3.0.0~)
 Problem 11: nothing provides requested (crate(msi/default) >= 0.7.0 with crate(msi/default) < 0.8.0~)
 Problem 12: nothing provides requested (crate(nutype/default) >= 0.4.2 with crate(nutype/default) < 0.5.0~)
 Problem 13: nothing provides requested (crate(nutype/serde) >= 0.4.2 with crate(nutype/serde) < 0.5.0~)
 Problem 14: nothing provides requested (crate(ordinal/default) >= 0.3.2 with crate(ordinal/default) < 0.4.0~)
 Problem 15: nothing provides requested (crate(oxilangtag/default) >= 0.1.5 with crate(oxilangtag/default) < 0.2.0~)
 Problem 16: nothing provides requested (crate(oxilangtag/serde) >= 0.1.5 with crate(oxilangtag/serde) < 0.2.0~)
 Problem 17: nothing provides requested (crate(package-family-name/default) >= 1.1.0 with crate(package-family-name/default) < 2.0.0~)
 Problem 18: nothing provides requested (crate(pulldown-cmark/default) >= 0.11.0 with crate(pulldown-cmark/default) < 0.12.0~)
 Problem 19: nothing provides requested (crate(quick-xml/default) >= 0.33.0 with crate(quick-xml/default) < 0.34.0~)
 Problem 20: nothing provides requested (crate(quick-xml/serialize) >= 0.33.0 with crate(quick-xml/serialize) < 0.34.0~)
 Problem 21: nothing provides requested (crate(ratatui/default) >= 0.26.3 with crate(ratatui/default) < 0.27.0~)
 Problem 22: nothing provides requested (crate(reqwest/native-tls-vendored) >= 0.12.5 with crate(reqwest/native-tls-vendored) < 0.13.0~)
 Problem 23: nothing provides requested (crate(rstest/default) >= 0.21.0 with crate(rstest/default) < 0.22.0~)
 Problem 24: nothing provides requested (crate(tree-sitter-highlight/default) >= 0.22.6 with crate(tree-sitter-highlight/default) < 0.23.0~)
 Problem 25: nothing provides requested (crate(tree-sitter-yaml/default) >= 0.6.1 with crate(tree-sitter-yaml/default) < 0.7.0~)
 Problem 26: nothing provides requested (crate(url/default) >= 2.5.2 with crate(url/default) < 3.0.0~)
 Problem 27: nothing provides requested (crate(url/serde) >= 2.5.2 with crate(url/serde) < 3.0.0~)
 Problem 28: nothing provides requested (crate(versions/default) >= 6.3.0 with crate(versions/default) < 7.0.0~)
 Problem 29: nothing provides requested (crate(windows_exe_info/default) >= 0.4.2 with crate(windows_exe_info/default) < 0.5.0~)
 Problem 30: nothing provides requested (crate(windows_exe_info/manifest) >= 0.4.2 with crate(windows_exe_info/manifest) < 0.5.0~)
 Problem 31: nothing provides requested (crate(yara-x) >= 0.4.0 with crate(yara-x) < 0.5.0~)
 Problem 32: nothing provides requested (crate(yara-x/pe-module) >= 0.4.0 with crate(yara-x/pe-module) < 0.5.0~)
 Problem 33: nothing provides requested (crate(zip) >= 2.1.3 with crate(zip) < 3.0.0~)
 Problem 34: nothing provides requested (crate(zip/deflate) >= 2.1.3 with crate(zip/deflate) < 3.0.0~)
```

Many of them are already in Fedora and you just need to update or relax tolerances. To do that, you can simply `rust2rpm -p` and it will bring up and editor on `Cargo.toml` and edit the dependencies accordingly.

[1]: https://github.com/russellbanks/Komac/blob/065716f86537d0db6884d8f7502be98846976d74/Cargo.toml#L14


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