#465 [F42] Missing/Outdated rust dependancies needing some work
Closed: Fixed by mclasen. Opened by farchord.

(Will update this thread as I go through packages)

Loupe:

Problem 1: nothing provides requested (crate(ashpd) >= 0.10.2 with crate(ashpd) < 0.11.0~)
 Problem 2: nothing provides requested (crate(ashpd/async-std) >= 0.10.2 with crate(ashpd/async-std) < 0.11.0~)
 Problem 3: nothing provides requested (crate(ashpd/gtk4_wayland) >= 0.10.2 with crate(ashpd/gtk4_wayland) < 0.11.0~)
 Problem 4: nothing provides requested (crate(ashpd/gtk4_x11) >= 0.10.2 with crate(ashpd/gtk4_x11) < 0.11.0~)
 Problem 5: nothing provides requested (crate(gettext-sys/default) >= 0.22.5 with crate(gettext-sys/default) < 0.23.0~)
 Problem 6: nothing provides requested (crate(gettext-sys/gettext-system) >= 0.22.5 with crate(gettext-sys/gettext-system) < 0.23.0~)
 Problem 7: nothing provides requested (crate(glycin/default) >= 2.1.0~beta with crate(glycin/default) < 3.0.0~)
 Problem 8: nothing provides requested (crate(glycin/gdk4) >= 2.1.0~beta with crate(glycin/gdk4) < 3.0.0~)
 Problem 9: nothing provides requested (crate(gufo-common/default) >= 0.2.0~alpha with crate(gufo-common/default) < 0.3.0~)
 Problem 10: nothing provides requested (crate(gufo-common/serde) >= 0.2.0~alpha with crate(gufo-common/serde) < 0.3.0~)
 Problem 11: nothing provides requested (crate(gufo/all-image-formats) >= 0.2.0~alpha.1 with crate(gufo/all-image-formats) < 0.3.0~)
 Problem 12: nothing provides requested (crate(gufo/chrono) >= 0.2.0~alpha.1 with crate(gufo/chrono) < 0.3.0~)
 Problem 13: nothing provides requested (crate(gufo/default) >= 0.2.0~alpha.1 with crate(gufo/default) < 0.3.0~)

Glycin:

No match for argument: crate(libopenraw/default) = 0.4.0~alpha.9
No match for argument: crate(serde_yml/default) = 0.0.12
Problem 1: nothing provides requested (crate(glycin) >= 2.1.0~beta with crate(glycin) < 3.0.0~)
 Problem 2: nothing provides requested (crate(glycin-utils) >= 3.0.0~beta with crate(glycin-utils) < 4.0.0~)
 Problem 3: nothing provides requested (crate(glycin-utils/async-io) >= 3.0.0~beta with crate(glycin-utils/async-io) < 4.0.0~)
 Problem 4: nothing provides requested (crate(glycin-utils/image-rs) >= 3.0.0~beta with crate(glycin-utils/image-rs) < 4.0.0~)
 Problem 5: nothing provides requested (crate(glycin-utils/loader-utils) >= 3.0.0~beta with crate(glycin-utils/loader-utils) < 4.0.0~)
 Problem 6: nothing provides requested (crate(glycin-utils/tokio) >= 3.0.0~beta with crate(glycin-utils/tokio) < 4.0.0~)
 Problem 7: nothing provides requested (crate(glycin/async-io) >= 2.1.0~beta with crate(glycin/async-io) < 3.0.0~)
 Problem 8: nothing provides requested (crate(glycin/gdk4) >= 2.1.0~beta with crate(glycin/gdk4) < 3.0.0~)
 Problem 9: nothing provides requested (crate(glycin/gobject) >= 2.1.0~beta with crate(glycin/gobject) < 3.0.0~)
 Problem 10: nothing provides requested (crate(glycin/tokio) >= 2.1.0~beta with crate(glycin/tokio) < 3.0.0~)
 Problem 11: nothing provides requested (crate(gufo-common/default) >= 0.2.0~alpha.1 with crate(gufo-common/default) < 0.3.0~)
 Problem 12: nothing provides requested (crate(gufo-common/serde) >= 0.2.0~alpha.1 with crate(gufo-common/serde) < 0.3.0~)
 Problem 13: nothing provides requested (crate(gufo-exif/default) >= 0.2.0~alpha.1 with crate(gufo-exif/default) < 0.3.0~)
 Problem 14: nothing provides requested (crate(gufo-jpeg/default) >= 0.2.0~alpha.1 with crate(gufo-jpeg/default) < 0.3.0~)
 Problem 15: nothing provides requested (crate(gufo-jpeg/encoder) >= 0.2.0~alpha.1 with crate(gufo-jpeg/encoder) < 0.3.0~)
 Problem 16: nothing provides requested (crate(gufo/all-image-formats) >= 0.2.0~alpha.1 with crate(gufo/all-image-formats) < 0.3.0~)
 Problem 17: nothing provides requested (crate(gufo/default) >= 0.2.0~alpha.1 with crate(gufo/default) < 0.3.0~)
 Problem 18: nothing provides requested (crate(jpeg-encoder/default) >= 0.6.0 with crate(jpeg-encoder/default) < 0.7.0~)
 Problem 19: nothing provides requested (crate(zune-jpeg/default) >= 0.4.14 with crate(zune-jpeg/default) < 0.5.0~)

Snapshot:

Problem 1: nothing provides requested (crate(ashpd) >= 0.10.0 with crate(ashpd) < 0.11.0~)
 Problem 2: nothing provides requested (crate(ashpd/async-std) >= 0.10.0 with crate(ashpd/async-std) < 0.11.0~)
 Problem 3: nothing provides requested (crate(ashpd/gtk4_wayland) >= 0.10.0 with crate(ashpd/gtk4_wayland) < 0.11.0~)
 Problem 4: nothing provides requested (crate(ashpd/gtk4_x11) >= 0.10.0 with crate(ashpd/gtk4_x11) < 0.11.0~)
 Problem 5: nothing provides requested (crate(ashpd/tracing) >= 0.10.0 with crate(ashpd/tracing) < 0.11.0~)
 Problem 6: nothing provides requested (crate(glycin/default) >= 2.1.0~beta with crate(glycin/default) < 3.0.0~)
 Problem 7: nothing provides requested (crate(glycin/gdk4) >= 2.1.0~beta with crate(glycin/gdk4) < 3.0.0~)
 Problem 8: nothing provides requested (crate(libadwaita/v1_7) >= 0.7.0 with crate(libadwaita/v1_7) < 0.8.0~)
 Problem 9: nothing provides requested (crate(rqrr) >= 0.9.0 with crate(rqrr) < 0.10.0~)

The lists look a bit worse than needed because packages are listed multiple times, so let me de-duplicate (and add some context):

loupe

  • rust-ashpd: needs API-breaking update from 0.9 to 0.10 - either together with loupe and snapshot, or by shipping both 0.9 and 0.10 in parallel
  • rust-gettext-sys: needs API-breaking update from 0.21 to 0.22 - together with loupe and rust-gettext-rs
  • rust-glycin: needs an update from 2.0.x to 2.1.0~beta
  • rust-gufo: needs to be packaged, new dependency
  • rust-gufo-common: needs API-breaking update from 0.1.x to 0.2.0~alpha - either together with loupe and glycin, or by shipping both 0.1 and 0.2 in parallel

glycin

  • rust-glycin: needs an update from 2.0.x to 2.1.0~beta
  • rust-glycin-utils: needs API-breaking update from 2.x to 3.0.0~beta, likely by shipping both 2.x and 3.0 in parallel
  • rust-gufo: see above
  • rust-gufo-common: see above
  • rust-jpeg-encoder: needs to be packaged, new dependency
  • rust-zune-jpeg: the 0.4.14 update was low quality garbage which is why I haven't pushed this update yet, patching glycin to use 0.4.13+ should be easier

snapshot

As can be seen here, there is some overlap with Snapshot too, it likely will need to be handled together with glycin and loupe.

Debian switched to the new rust-gufo & glycin without needing to keep an older version around. Debian has 3 currently packages using glycin: Snapshot, Loupe, and Shortwave. Fedora doesn't have Shortwave. Yes, you should handle Snapshot & Loupe together.

Debian had to package these rust-gufo packages, many were new:
- rust-gufo-exif
- rust-gufo-jpeg
- rust-gufo-png
- rust-gufo-tiff
- rust-gufo-webp
- rust-gufo-xmp

Debian does have a few more packages using ashpd but didn't need to package a different version.

I've started working towards updating ashpd, gufo, and submitting the new gufo-* crates and jpeg-encoder for review. That should cut down those lists considerably.

Review requests for most new dependencies of glycin / loupe:

  • rust-gufo-png: https://bugzilla.redhat.com/show_bug.cgi?id=2350482
  • rust-gufo-tiff: https://bugzilla.redhat.com/show_bug.cgi?id=2350486
  • rust-gufo-webp: https://bugzilla.redhat.com/show_bug.cgi?id=2350487
  • rust-gufo-xmp: https://bugzilla.redhat.com/show_bug.cgi?id=2350488
  • rust-gufo: https://bugzilla.redhat.com/show_bug.cgi?id=2350497

The ashpd and gettext-rs / gettext-sys updates are building for rawhide too, I'll submit those to bodhi as soon as the builds are done.

So the remaining TODO items seem to be:

  • rust-glycin / rust-glycin-utils updates (depends on gufo-* package reviews)
  • new package for the libopenraw crate and its dependencies (new dependency of glycin)
  • new package for the rqrr crate and its dependencies (new dependency of snapshot)

Might be good to re-run the checks for missing dependencies with 48.rc when what I've already done is in the rawhide buildroot.

Turns out, one of the new dependencies of glycin 1.2~rc (jpeg-encoder) has a potentially problematic license: https://gitlab.gnome.org/GNOME/glycin/-/issues/124

Filed for legal review:
https://gitlab.com/fedora/legal/fedora-license-data/-/issues/634

In addition to the review requests mentioned in https://pagure.io/fedora-workstation/issue/465#comment-959951, there are four additional ones, for rqrr, an additional dependency of snapshot 48:

  • rust-g2poly: https://bugzilla.redhat.com/show_bug.cgi?id=2350886
  • rust-g2gen: https://bugzilla.redhat.com/show_bug.cgi?id=2350887
  • rust-g2p: https://bugzilla.redhat.com/show_bug.cgi?id=2350888
  • rust-rqrr: https://bugzilla.redhat.com/show_bug.cgi?id=2350889

Remaining blockers (other than gufo-* and rqrr review requests) for loupe / snapshot 48 and glycin 1.2:

  • Missing jpeg-encoder for glycin 1.2 (package review submitted, blocked by license review for now, though should be fine, since the code is based on libjpeg-turbo).
  • All new / updated dependencies for loupe and snapshot already covered by existing package review tickets or pending updates.

I will be submitting Pull Requests for glycin 1.2~rc, loupe 48~rc, and snapshot 48~beta (no rc) as soon as they can be built.

This should all be done now

Metadata Update from @mclasen:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/workstation/tickets/issues/465

Please continue any further discussion there.

Metadata