Bug 2309375 - Review Request: rust-taskchampion - Personal task-tracking
Summary: Review Request: rust-taskchampion - Personal task-tracking
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/taskchampion
Whiteboard:
Depends On: 2307668
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-09-03 09:50 UTC by Ankur Sinha (FranciscoD)
Modified: 2025-01-29 11:56 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-01-29 11:56:23 UTC
Type: ---
Embargoed:
decathorpe: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 8321434 to 8395756 (769 bytes, patch)
2024-12-15 17:32 UTC, Fedora Review Service
no flags Details | Diff

Comment 1 Fedora Review Service 2024-09-03 14:41:03 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7974552
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2309375-rust-taskchampion/fedora-rawhide-x86_64/07974552-rust-taskchampion/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 Fabio Valentini 2024-10-23 11:43:46 UTC
Don't do this:

> loosen dep bounds
> sed -i \
>     -e '/google-cloud-storage.*]$/{n;s/^version.*$/version = ">=0.15.0"/;}' \
>     -e '/rstest]$/{n;s/^version.*$/version = ">=0.17.0"/;}' \
>     -e '/rusqlite.*$/{n;s/^version.*$/version = ">=0.29.0"/;}' \
>     -e '/^features.*"bundled"]$/d' \
>     Cargo.toml

The only supported way of modifying Cargo.toml contents is with "rust2rpm -p":
The contents of Cargo.toml affect the generated spec file, and so they need to happen *before* the spec file is written.
If you make changes to Cargo.toml *after* the spec file is generated, they might be out of sync and produce broken packages.

Additionally, open-ended version requirements like ">=0.15.0" might be commonplace in other package ecosystems like Python, but they're really bad in the Rust ecosystem because they throw off the tooling and will just crate problems eventually.

If you need to loosen dependency bounds, do something like ">=0.15,<0.23" instead (in this example, if you know that the project is compatible with all release branches between 0.15.x and 0.22.x).

Additionally, this one doesn't fit with the rest and isn't documented right now:

> -e '/^features.*"bundled"]$/d'

This should probably be documented with something like "don't build vendored sqlite3 and statically link it" (or whatever library this is actually for - see, sed is bad for seeing what actually happens to the file ;))

Comment 3 Ankur Sinha (FranciscoD) 2024-11-28 06:04:54 UTC
Spec URL: https://ankursinha.fedorapeople.org/reviews/rust-taskchampion/rust-taskchampion.spec
SRPM URL: https://ankursinha.fedorapeople.org/reviews/rust-taskchampion/rust-taskchampion-0.9.0-2.fc42.src.rpm

- Thanks for the review Fabio. Sorry, still learning the rust way of doing things. I've updated the spec now, also used a `rust2rpm.toml` file to make things easier in the future.

Comment 4 Fedora Review Service 2024-11-28 06:28:13 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8321434
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2309375-rust-taskchampion/fedora-rawhide-x86_64/08321434-rust-taskchampion/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 5 Fabio Valentini 2024-12-08 17:16:46 UTC
Sorry for the delay in getting back to this review!

The package no longer builds - rstest has been updated to version 0.23 in Fedora. You will need to slightly adapt your patch, i.e. from

```
 [dev-dependencies.rstest]
-version = "0.17"
+version = ">=0.17,<0.19"
```

to

```
 [dev-dependencies.rstest]
-version = "0.17"
+version = ">=0.17,<0.24"
```

Comment 6 Ankur Sinha (FranciscoD) 2024-12-15 17:15:48 UTC
Spec URL: https://ankursinha.fedorapeople.org/reviews/rust-taskchampion/rust-taskchampion.spec
SRPM URL: https://ankursinha.fedorapeople.org/reviews/rust-taskchampion/rust-taskchampion-0.9.0-3.fc42.src.rpm

No worries at all. I've updated the patch now and it builds again.

Comment 7 Fedora Review Service 2024-12-15 17:32:17 UTC
Created attachment 2062554 [details]
The .spec file difference from Copr build 8321434 to 8395756

Comment 8 Fedora Review Service 2024-12-15 17:32:19 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8395756
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2309375-rust-taskchampion/fedora-rawhide-x86_64/08395756-rust-taskchampion/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 9 Ankur Sinha (FranciscoD) 2025-01-03 11:10:01 UTC
Hi Fabio,

Happy new year!

Just checked that this still builds fine after your suggested tweaks. Looking forward to the review.

Cheers,
Ankur

Comment 10 Fabio Valentini 2025-01-26 21:47:37 UTC
Sorry about the delay. This slipped through the cracks in the post-holiday madness :(

The package looks good to me, with one minor RFE:

Use `%license %{crate_instdir}/LICENSE` in %files instead of `%license LICENSE`.
The way you do it know will result in the LICENSE file being included twice in the package.
You can fix that before importing the package.

Another thing of note is that the upstream project seems to have published a rather large number of new versions, the latest is 2.0.2, while this review is for 0.9.0. I won't block the review on this, but just wanted you to be aware. Feel free to drop by in the #rust:fedoraproject.org room on Matrix if you need help with anything!

(It also looks like newer versions include the LICENSE file in the published .crate sources, so that's good too.)

===

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
🫤 latest version of the crate is packaged (not a blocker)
✅- license matches upstream specification and is acceptable for Fedora
🫤 license file is included with %license in %files
  (temporarily manually included from upstream git, newer versions contain the file in the published crates)
✅ 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

- 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 11 Ankur Sinha (FranciscoD) 2025-01-28 14:44:49 UTC
Thanks very much Fabio. I'll go ahead and import this first with the license fix, and then I'll work on updating it to the latest release. I'm afraid the new release has gained a number of rust deps that we don't have in Fedora yet, so that'll take some time again to do.

Comment 12 Fedora Admin user for bugzilla script actions 2025-01-28 14:46:14 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-taskchampion

Comment 13 Fedora Update System 2025-01-29 11:52:10 UTC
FEDORA-2025-59bdfc514e (rust-taskchampion-0.9.0-2.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-59bdfc514e

Comment 14 Fedora Update System 2025-01-29 11:56:23 UTC
FEDORA-2025-59bdfc514e (rust-taskchampion-0.9.0-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.