https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Bug ID: 2292549 Summary: Review Request: rust-relm4 - Idiomatic GUI library inspired by Elm and based on gtk4-rs Product: Fedora Version: rawhide Hardware: All OS: Linux Status: NEW Component: Package Review Severity: medium Priority: medium Assignee: nobody@fedoraproject.org Reporter: jonathansteffan@gmail.com QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org Target Milestone: --- Classification: Fedora
Spec URL: https://jsteffan.fedorapeople.org/envision/rust-relm4.spec SRPM URL: https://jsteffan.fedorapeople.org/envision/rust-relm4-0.8.1-1.fc39/rust-relm... Description: Idiomatic GUI library inspired by Elm and based on gtk4-rs Fedora Account System Username: jsteffan
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Fedora Review Service fedora-review-bot@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://crates.io/crates/re | |lm4
--- Comment #1 from Fedora Review Service fedora-review-bot@fedoraproject.org --- Copr build: https://copr.fedorainfracloud.org/coprs/build/7617822 (failed)
Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-rev...
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.
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Jonathan Steffan jonathansteffan@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |2292541
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=2292541 [Bug 2292541] Review Request: envision - UI for building, configuring, and running Monado/WiVRn
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Jonathan Steffan jonathansteffan@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |2292545
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=2292545 [Bug 2292545] Review Request: rust-relm4-components - Idiomatic GUI library inspired by Elm and based on gtk4-rs
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Jonathan Steffan jonathansteffan@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Doc Type|--- |If docs needed, set a value Depends On| |2292548
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=2292548 [Bug 2292548] Review Request: rust-relm4-macros - Idiomatic GUI library inspired by Elm and based on gtk4-rs
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Jonathan Steffan jonathansteffan@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |2292546
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=2292546 [Bug 2292546] Review Request: rust-relm4-icons - Icons for gtk-rs and Relm4 applications
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
--- Comment #2 from Jonathan Steffan jonathansteffan@gmail.com --- Spec URL: https://jsteffan.fedorapeople.org/envision/rust-relm4.spec SRPM URL: https://jsteffan.fedorapeople.org/envision/rust-relm4-0.8.1-1.fc39/rust-relm...
https://bugzilla.redhat.com/show_bug.cgi?id=2292549 Bug 2292549 depends on bug 2292548, which changed state.
Bug 2292548 Summary: Review Request: rust-relm4-macros - Idiomatic GUI library inspired by Elm and based on gtk4-rs https://bugzilla.redhat.com/show_bug.cgi?id=2292548
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |CLOSED Resolution|--- |ERRATA
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Fabio Valentini decathorpe@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |decathorpe@gmail.com Status|NEW |ASSIGNED Flags| |fedora-review? Assignee|nobody@fedoraproject.org |decathorpe@gmail.com
--- Comment #3 from Fabio Valentini decathorpe@gmail.com --- Built packages don't all install successfully:
========================================
Problem 1: conflicting requests - nothing provides (crate(libpanel/default) >= 0.4.0 with crate(libpanel/default) < 0.5.0~) needed by rust-relm4+all-devel-0.8.1-1.fc41.noarch from @commandline - nothing provides (crate(libpanel/v1_4) >= 0.4.0 with crate(libpanel/v1_4) < 0.5.0~) needed by rust-relm4+all-devel-0.8.1-1.fc41.noarch from @commandline Problem 2: conflicting requests - nothing provides (crate(libpanel/default) >= 0.4.0 with crate(libpanel/default) < 0.5.0~) needed by rust-relm4+panel-devel-0.8.1-1.fc41.noarch from @commandline Problem 3: package rust-relm4+libpanel-devel-0.8.1-1.fc41.noarch from @commandline requires crate(relm4/panel) = 0.8.1, but none of the providers can be installed - conflicting requests - nothing provides (crate(libpanel/default) >= 0.4.0 with crate(libpanel/default) < 0.5.0~) needed by rust-relm4+panel-devel-0.8.1-1.fc41.noarch from @commandline
========================================
Looks like you will either need to remove the "all" feature and the libpanel dependency or package the Rust bindings for libpanel too.
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Jonathan Steffan jonathansteffan@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends On| |2297995
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=2297995 [Bug 2297995] Review Request: rust-libpanel - Rust bindings for GNOME libpanel
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
--- Comment #4 from Jonathan Steffan jonathansteffan@gmail.com --- https://bugzilla.redhat.com/show_bug.cgi?id=2297995 and https://bugzilla.redhat.com/show_bug.cgi?id=2297994 added.
I went with the compatible version and not the latest. The latest requires existing package updates.
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
--- Comment #5 from Jonathan Steffan jonathansteffan@gmail.com --- Fixed any source issues. I now build the srpms in an isolated _sourcedir. Sigh.
Spec URL: https://jsteffan.fedorapeople.org/envision/rust-relm4.spec SRPM URL: https://jsteffan.fedorapeople.org/envision/rust-relm4-0.8.1-1.fc39/rust-relm...
[fedora-review-service-build]
https://bugzilla.redhat.com/show_bug.cgi?id=2292549 Bug 2292549 depends on bug 2297995, which changed state.
Bug 2297995 Summary: Review Request: rust-libpanel - Rust bindings for GNOME libpanel https://bugzilla.redhat.com/show_bug.cgi?id=2297995
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |CLOSED Resolution|--- |ERRATA
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Jonathan Steffan jonathansteffan@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(decathorpe@gmail. | |com)
--- Comment #6 from Jonathan Steffan jonathansteffan@gmail.com --- Okay, this should be ready for re-review :-)
https://koji.fedoraproject.org/koji/taskinfo?taskID=123069614
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Fabio Valentini decathorpe@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(decathorpe@gmail. | |com) |
--- Comment #7 from Fabio Valentini decathorpe@gmail.com ---
#error: failed to run custom build command for `relm4-icons v0.8.3` #Couldn't find `icons.toml` next to `Cargo.toml`: # Os { code: 2, kind: NotFound, message: "No such file or directory"
This is just an error message copied into the spec file, it doesn't have any context *why* this means you can't run *any* tests at all?
Also, it looks like the error message is from the build script for relm4-icons, not from *this* crate. So this would point towards a packaging issue in relm4-icons instead.
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
--- Comment #8 from Jonathan Steffan jonathansteffan@gmail.com --- Well, this doesn't actually pull in rust-relm4-icons/use it as a dependency. It has it's own source that's in this crate. The issue is that icons are not configured. I could go the route to try to get icons configured?
I'll try just skipping the tests that rely on this and see if that is suitable.
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
--- Comment #9 from Fabio Valentini decathorpe@gmail.com ---
Well, this doesn't actually pull in rust-relm4-icons/use it as a dependency.
What's this then?
""" [dev-dependencies.relm4-icons] version = "0.8.2" """
I'll try just skipping the tests that rely on this and see if that is suitable.
That would work too ... but it would be great to know why the tests are failing to compile.
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
--- Comment #10 from Jonathan Steffan jonathansteffan@gmail.com --- I misremembered. It does need rust-relm4-icons, but it builds a custom build in the tests that needs an icons.toml.
So I've tried a few things.
1) The tests want criterion. Criterion wants a super specific version of tempfile. Instead of dealing with that mess, I just remove criterion in %prep:
# Remove dev dependencies for criterion, we wont run benchmarks sed -i '/^[dev-dependencies.criterion]/{N;N;d}' Cargo.toml
2) I've very frailly copied the system icons.toml in %check and fixed it up for absolute paths so it is valid. The system one uses relative paths.
# Install icons.toml from rust-relm4-icons for tests cp -pav /usr/share/cargo/registry/relm4-icons-*/icons.toml . # Hack patch the path sed -i 's@icons/fluentui-system-icons@/usr/share/cargo/registry/relm4-icons-0.8.3/icons/fluentui-system-icons@' icons.toml
3) This gets us further in the tests, but fails with the following in Rawhide:
error[E0433]: failed to resolve: use of undeclared crate or module `relm4_components` --> examples/state_management.rs:5:5 | 5 | use relm4_components::open_dialog::{ | ^^^^^^^^^^^^^^^^ use of undeclared crate or module `relm4_components`
error[E0433]: failed to resolve: use of undeclared crate or module `relm4_components` --> examples/state_management.rs:8:5 | 8 | use relm4_components::save_dialog::{ | ^^^^^^^^^^^^^^^^ use of undeclared crate or module `relm4_components`
error[E0425]: cannot find value `TAG_OUTLINE_ADD` in module `icon_names` --> examples/state_management.rs:98:48 | 98 | set_icon_name: icon_names::TAG_OUTLINE_ADD, | ^^^^^^^^^^^^^^^ not found in `icon_names`
Some errors have detailed explanations: E0425, E0433. For more information about an error, try `rustc --explain E0425`. error: could not compile `relm4` (example "state_management") due to 3 previous errors
Okay, so we need relm4_components. However, rust-relm4-components needs rust-relm4 so when trying to build rust-relm4-components first:
Problem 1: nothing provides requested (crate(relm4) >= 0.8.0 with crate(relm4) < 0.9.0~) Problem 2: nothing provides requested (crate(relm4/macros) >= 0.8.0 with crate(relm4/macros) < 0.9.0~)
And oddly, also failed with a different error in F40:
error[E0425]: cannot find value `MINUS` in module `icon_names` --> examples/icons.rs:37:48 | 37 | set_icon_name: icon_names::MINUS, | ^^^^^ not found in `icon_names`
For more information about this error, try `rustc --explain E0425`. error: could not compile `relm4` (example "icons") due to 1 previous error
I've uploaded this current situation:
Spec URL: https://jsteffan.fedorapeople.org/envision/rust-relm4.spec SRPM URL: https://jsteffan.fedorapeople.org/envision/rust-relm4-0.8.1-1.fc40/rust-relm...
However, after documenting what is going on it seems the examples are what is failing to build. Should/can we just turn those off?
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
--- Comment #11 from Jonathan Steffan jonathansteffan@gmail.com --- Umm... and somehow it just built. I'm so confused.
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Fedora Review Service fedora-review-bot@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |AutomationTriaged
--- Comment #12 from Fedora Review Service fedora-review-bot@fedoraproject.org --- Copr build: https://copr.fedorainfracloud.org/coprs/build/8010930 (succeeded)
Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-rev...
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.
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
--- Comment #13 from Fabio Valentini decathorpe@gmail.com --- Ok, thanks a lot for investigating!
To me, this looks like a case of "the tests are set up in a way that makes them basically only runnable from within the upstream git repository". In this case (and especially because it would introduce a dependency loop with relm4-components), turning off tests entirely is obviously acceptable. This is a very common cause of "not able to run tests, sorry" (https://src.fedoraproject.org/rpms/rust-serde/blob/rawhide/f/rust-serde.spec...).
In this case, your build probably passed because you dropped the check %bcond entirely, with it not being defined being equivalent to turning it off.
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
--- Comment #14 from Jonathan Steffan jonathansteffan@gmail.com --- AHA! That's what I get for working on this so late. Now it make sense. I was cleaning up the comments and removed too much.
[scripts.prep] post = [ "# Copy LICENSE files", "cp -pav %{SOURCE100} %{SOURCE101} .", "# Remove dev dependencies for criterion, we wont run benchmarks", "sed -i '/^[dev-dependencies.criterion]/{N;N;d}' Cargo.toml" ]
Spec URL: https://jsteffan.fedorapeople.org/envision/rust-relm4.spec SRPM URL: https://jsteffan.fedorapeople.org/envision/rust-relm4-0.8.1-1.fc40/rust-relm...
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
--- Comment #15 from Fedora Review Service fedora-review-bot@fedoraproject.org --- Created attachment 2046584 --> https://bugzilla.redhat.com/attachment.cgi?id=2046584&action=edit The .spec file difference from Copr build 8010930 to 8014833
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
--- Comment #16 from Fedora Review Service fedora-review-bot@fedoraproject.org --- Copr build: https://copr.fedorainfracloud.org/coprs/build/8014833 (succeeded)
Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-rev...
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.
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Fabio Valentini decathorpe@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|fedora-review? |fedora-review+
--- Comment #17 from Fabio Valentini decathorpe@gmail.com --- Thanks, looks good to me now!
# Remove dev dependencies for criterion, we wont run benchmarks sed -i '/^[dev-dependencies.criterion]/{N;N;d}' Cargo.toml
Technically this isn't needed if you flip the check bcond to "off", but it doesn't hurt to keep it.
===
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 (version matches dependencies in Fedora) ✅ license matches upstream specification and is acceptable for Fedora ✅ license files are included with %license in %files (temporarily manually included from upstream) ✅ 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)
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
--- Comment #18 from Jonathan Steffan jonathansteffan@gmail.com --- (In reply to Fabio Valentini from comment #17)
Thanks, looks good to me now!
# Remove dev dependencies for criterion, we wont run benchmarks sed -i '/^[dev-dependencies.criterion]/{N;N;d}' Cargo.toml
Technically this isn't needed if you flip the check bcond to "off", but it doesn't hurt to keep it.
I intended to keep trying to enable tests every update or file bugs, and we don't want to package criterion right now :-)
Thanks!
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Fedora Admin user for bugzilla script actions fedora-admin-xmlrpc@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RELEASE_PENDING
--- Comment #19 from Fedora Admin user for bugzilla script actions fedora-admin-xmlrpc@fedoraproject.org --- The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-relm4
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RELEASE_PENDING |MODIFIED
--- Comment #20 from Fedora Update System updates@fedoraproject.org --- FEDORA-2024-48c55740eb (rust-relm4-0.8.1-2.fc42) has been submitted as an update to Fedora 42. https://bodhi.fedoraproject.org/updates/FEDORA-2024-48c55740eb
https://bugzilla.redhat.com/show_bug.cgi?id=2292549
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |CLOSED Resolution|--- |ERRATA Last Closed| |2024-09-13 13:38:48
--- Comment #21 from Fedora Update System updates@fedoraproject.org --- FEDORA-2024-48c55740eb (rust-relm4-0.8.1-2.fc42) has been pushed to the Fedora 42 stable repository. If problem still persists, please make note of it in this bug report.
package-review@lists.fedoraproject.org