F42 Change Proposal: Deprecate gtk3-rs (self-contained)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Wiki - https://fedoraproject.org/wiki/Changes/Deprecate_gtk3-rs
Discussion Thread -
https://discussion.fedoraproject.org/t/f42-change-proposal-deprecate-gtk3-rs-self-contained/139531

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.

== Summary ==

The Rust bindings for GTK3 (and related libraries) are unmaintained
upstream, and are no longer updated in lockstep with bindings for GLib
and other related libraries. This Change to mark the packages for the
gtk3-rs crates as deprecated reflects this status.

== Owner ==

* Name: [[User:Decathorpe| Fabio Valentini]]
* Email: decathorpe (at) gmail (dot) com
* Name: Rust SIG
* Email: rust (at) lists (dot) fedoraproject (dot) org


== Detailed Description ==

It was announced that the Rust bindings for GTK3 are on basic
maintenance only in the
[https://gtk-rs.org/blog/2023/02/10/new-release.html release
announcement for gtk-rs 0.17].

The [https://gtk-rs.org/blog/2023/08/28/new-release.html release
announcement for gtk-rs 0.18] noted that it would be the last release
that included the GTK3 bindings.

As expected, the [https://gtk-rs.org/blog/2024/06/01/new-release.html
release announcement for gtk-rs 0.19] announces that support for the
GTK3 bindings was officially dropped.

Applications that rely on the Rust bindings for GTK3 continue to pull
in version 0.18 of the Rust bindings for GLib, cairo, pango, etc.
(which were obsoleted by version 0.19 and then 0.20) and the
unmaintained bindings for atk and gdk. This also affects the Rust
bindings for libhandy.

These Rust bindings receive regular fixes for safety and correctness
issues - continuing to depend on old versions is not ideal, since only
critical fixes are backported to the Fedora packages for these
obsolete versions (if that is even possible). The upstream project
does not backport fixes or release new versions of older release
branches at all.

== Feedback ==

N/Y

== Benefit to Fedora ==

The Rust bindings for GTK3 are obsolete. This Change ensures that no
new packages are introduced that depend on them, and that they can
eventually be removed from Fedora entirely (alongside old versions of
the bindings for GLib, cairo, pango, etc. that are only still present
because they are pulled in by the GTK3 bindings that are no longer
updated in lockstep).

== Scope ==

* Proposal owners:

All affected packages are marked with `Provides: deprecated()`
according to the
[https://docs.fedoraproject.org/en-US/packaging-guidelines/deprecating-packages/
Packaging Guidelines for deprecating packages].

 rust-atk
 rust-atk-sys
 rust-gdk
 rust-gdk-sys
 rust-gtk
 rust-gtk-sys
 rust-gtk3-macros
 rust-libhandy
 rust-libhandy-sys

* Other developers:

N/A

* Release engineering:

N/A

* Policies and guidelines:

N/A

* Trademark approval:

N/A

* Alignment with the Fedora Strategy:

Err ... maybe?

== Upgrade/compatibility impact ==

N/A

== How To Test ==

Ensure that `dnf repoquery --provides rust-$crate-devel` includes
`deprecated()` for all listed packages in Fedora 42+.

== User Experience ==

N/A

== Dependencies ==

Two packages currently depend on the Rust bindings for GTK3, and both
already have open upstream issues for moving to GTK4:

* squeekboard: https://gitlab.gnome.org/World/Phosh/squeekboard/-/issues/64
* system76-keyboard-configurator:
https://github.com/pop-os/keyboard-configurator/issues/133

== Contingency Plan ==

N/A (not a System Wide Change)

In the extremely unlikely event that adding `Provides: deprecated()`
to any or all of the listed packages causes problems, this change can
be easily reverted.

* Contingency mechanism: N/A (not a System Wide Change)
* Contingency deadline: F42 Final Freeze
* Blocks release? N/A (not a System Wide Change)

== Documentation ==

* https://gtk-rs.org/blog/2023/02/10/new-release.html
* https://gtk-rs.org/blog/2023/08/28/new-release.html
* https://gtk-rs.org/blog/2024/06/01/new-release.html

== Release Notes ==

The Rust bindings for GTK3 are obsolete and officially unmaintained.
The packages for them have been marked as deprecated to prevent new
packages that depend on them from being added to Fedora, and they will
be removed from a future release.

-- 
Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney

-- 
_______________________________________________
devel-announce mailing list -- devel-announce@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-announce-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
-- 
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux