m (→Owner) |
(Change proposal has failed) |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Remove webkit2gtk-4.0 API Version = | = Remove webkit2gtk-4.0 API Version = | ||
== Summary == | == Summary == | ||
Line 15: | Line 13: | ||
== Current status == | == Current status == | ||
[[Category:ChangePageIncomplete]] | [[Category:ChangePageIncomplete]] | ||
[[Category:SystemWideChange]] | |||
This change was accepted for Fedora 40 and the webkit2gtk-4.0 packages were removed from the webkitgtk source package. But it failed because a new webkit2gtk4.0 source package was created. There is effectively no impact on users because the package continues to exist; it's just maintained separately now. | |||
* Targeted release: | * Targeted release: | ||
* Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | * Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | ||
* FESCo issue: | * [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/R2WNW66JE45IML2OP4CZOX4P5FTABWCM/ devel thread] | ||
* Tracker bug: | * FESCo issue: [https://pagure.io/fesco/issue/2984 #2984] | ||
* Release notes tracker: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2193249 #2193249] | ||
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/983 #983] | |||
== Detailed Description == | == Detailed Description == | ||
Line 42: | Line 38: | ||
However, if your package does directly or indirectly depend on libsoup 2, then you will need to eliminate that dependency, which will require more effort. If your application links to libsoup 2 via any dependency, it will crash if also linked to libsoup 3. | However, if your package does directly or indirectly depend on libsoup 2, then you will need to eliminate that dependency, which will require more effort. If your application links to libsoup 2 via any dependency, it will crash if also linked to libsoup 3. | ||
This is a slimmed-down version of the [[Changes/libsoup_3:_Part_Two | This is a slimmed-down version of the [[Changes/libsoup_3:_Part_Two|libsoup 3: Part Two]] change proposal that was previously rejected by FESCo. Instead of removing all packages that depend on libsoup 2, packages will only be removed if they depend on both libsoup 2 and also WebKitGTK. No effort will be made to remove libsoup 2 from the distribution (though an obsolete HTTP library is a major security risk and packages really ought to stop using it). | ||
== Feedback == | == Feedback == | ||
Line 49: | Line 45: | ||
== Benefit to Fedora == | == Benefit to Fedora == | ||
libsoup 3 brings support for HTTP/2, whereas libsoup 2 supports only HTTP/1.1. Users will experience shorter load times and improved responsiveness. | libsoup 3 brings support for HTTP/2, whereas libsoup 2 supports only HTTP/1.1. Users will experience shorter load times and improved responsiveness in applications that use WebKitGTK. Users of applications that previously used webkit2gtk-4.0 will have one fewer massive package installed after this transition is completed. | ||
Additionally, the WebKitGTK package maintainer will be less grumpy because WebKitGTK will need to be built only twice for each supported version of Fedora, rather than three times. | Additionally, the WebKitGTK package maintainer will be less grumpy because WebKitGTK will need to be built only twice for each supported version of Fedora, rather than three times. | ||
Line 58: | Line 54: | ||
* Other developers: ensure other packages no longer depend on webkit2gtk-4.0 | * Other developers: ensure other packages no longer depend on webkit2gtk-4.0 | ||
* Release engineering: [https://pagure.io/releng/ | * Release engineering: [https://pagure.io/releng/issue/11368 #11368] | ||
* Policies and guidelines: no policies or guidelines would need to be updated | * Policies and guidelines: no policies or guidelines would need to be updated | ||
Line 131: | Line 127: | ||
xreader-libs-0:3.6.3-1.fc38.x86_64 | xreader-libs-0:3.6.3-1.fc38.x86_64 | ||
yad-0:9.3-5.fc38.x86_6 | yad-0:9.3-5.fc38.x86_6 | ||
== Contingency Plan == | == Contingency Plan == | ||
Line 138: | Line 133: | ||
* Contingency deadline: F39 beta freeze | * Contingency deadline: F39 beta freeze | ||
* Blocks release? No | * Blocks release? No | ||
== Documentation == | == Documentation == | ||
* [https://webkitgtk.org/reference/webkit2gtk/stable/index.html WebKit2 - 4.1] | |||
* [https://webkitgtk.org/reference/webkit2gtk-web-extension/stable/index.html WebKit2WebExtension - 4.1] | |||
* [https://webkitgtk.org/reference/jsc-glib/stable/index.html JavaScriptCore - 4.1] | |||
* [https://libsoup.org/libsoup-3.0/migrating-from-libsoup-2.html Soup - 3.0: Migrating from libsoup 2] | |||
== Release Notes == | == Release Notes == | ||
The webkit2gtk4.0 and javascriptcoregtk4.0 packages providing WebKitGTK for GTK 3 and libsoup 2 applications have been removed. Use the webkit2gtk4.1 and javascriptcoregtk4.1 packages instead, providing WebKitGTK for GTK 3 and libsoup 3 applications. | The webkit2gtk4.0 and javascriptcoregtk4.0 packages providing WebKitGTK for GTK 3 and libsoup 2 applications have been removed. Use the webkit2gtk4.1 and javascriptcoregtk4.1 packages instead, providing WebKitGTK for GTK 3 and libsoup 3 applications. |
Latest revision as of 16:39, 26 January 2024
Remove webkit2gtk-4.0 API Version
Summary
The webkit2gtk-4.0 API version will no longer be built. Packages that depend on it will fail to build from source and eventually be retired.
Owner
- Name: Michael Catanzaro
- Email: <mcatanzaro@redhat.com>
Current status
This change was accepted for Fedora 40 and the webkit2gtk-4.0 packages were removed from the webkitgtk source package. But it failed because a new webkit2gtk4.0 source package was created. There is effectively no impact on users because the package continues to exist; it's just maintained separately now.
- Targeted release:
- Last updated: 2024-01-26
- devel thread
- FESCo issue: #2984
- Tracker bug: #2193249
- Release notes tracker: #983
Detailed Description
The webkitgtk source package currently provides three different API versions of WebKitGTK:
- webkit2gtk-4.0: for GTK 3 and libsoup 2
- webkit2gtk-4.1: for GTK 3 and libsoup 3
- webkitgtk-6.0: for GTK 4 and libsoup 3
Building three different package versions is slow, and Red Hat does not wish to do so anymore. We will remove the webkit2gtk-4.0 API version, which is provided by the webkit2gtk4.0 and javascriptcoregtk4.0 packages. Everything that depends on these packages will fail to build from source and will eventually be removed from the distribution unless fixed.
The good news is that updating your package to webkit2gtk-4.1 is probably easy because there are no API changes other than the version of libsoup that is linked to. If your package does not directly or indirectly depend on libsoup 2, then just change the API version number from 4.0 to 4.1 and you're done. Here is a typical example of how easy this is.
However, if your package does directly or indirectly depend on libsoup 2, then you will need to eliminate that dependency, which will require more effort. If your application links to libsoup 2 via any dependency, it will crash if also linked to libsoup 3.
This is a slimmed-down version of the libsoup 3: Part Two change proposal that was previously rejected by FESCo. Instead of removing all packages that depend on libsoup 2, packages will only be removed if they depend on both libsoup 2 and also WebKitGTK. No effort will be made to remove libsoup 2 from the distribution (though an obsolete HTTP library is a major security risk and packages really ought to stop using it).
Feedback
Benefit to Fedora
libsoup 3 brings support for HTTP/2, whereas libsoup 2 supports only HTTP/1.1. Users will experience shorter load times and improved responsiveness in applications that use WebKitGTK. Users of applications that previously used webkit2gtk-4.0 will have one fewer massive package installed after this transition is completed.
Additionally, the WebKitGTK package maintainer will be less grumpy because WebKitGTK will need to be built only twice for each supported version of Fedora, rather than three times.
Scope
- Proposal owners: ensure packages required by Fedora Workstation and ELN no longer depend on webkit2gtk-4.0 (already done)
- Other developers: ensure other packages no longer depend on webkit2gtk-4.0
- Release engineering: #11368
- Policies and guidelines: no policies or guidelines would need to be updated
- Trademark approval: N/A (not needed for this Change)
- Alignment with Community Initiatives: None
Upgrade/compatibility impact
To be determined. The newer packages can either Obsoletes the older ones, or not, since they are not compatible, it's probably not appropriate to use Obsoletes?
How To Test
Applications ported to webkit2gtk-4.1 need to be tested individually to ensure they still work. It's unlikely anything will go wrong for applications that do not directly or indirectly use libsoup 2. If an application or one of its dependencies needs to be ported to libsoup 3, then there is more potential for trouble.
User Experience
Users will experience shorter load times and improved responsiveness. Additionally, there will be one fewer huge package that might be installed on user systems.
Dependencies
$ dnf repoquery --whatdepends webkit2gtk4.0 --latest-limit 1 --arch 'noarch,x86_64' Last metadata expiration check: 0:00:31 ago on Thu 30 Mar 2023 03:07:12 PM CDT. apostrophe-1:2.6.3-6.fc38.noarch apvlv-0:0.4.0-2.fc38.x86_64 atril-libs-0:1.26.0-4.fc38.x86_64 badwolf-0:1.2.2-4.fc38.x86_64 balsa-0:2.6.4-2.fc38.x86_64 bookworm-0:1.1.3-0.9.20200414git.c7c3643.fc38.x86_64 cairo-dock-plug-ins-webkit-0:3.4.1-42.20210730gitf24f769.fc38.1.x86_64 claws-mail-plugins-fancy-0:4.1.1-5.fc38.x86_64 eclipse-swt-1:4.26-2.fc38.x86_64 emacs-1:28.2-4.fc38.x86_64 ephemeral-0:7.1.0-5.fc38.x86_64 exaile-0:4.1.2-2.fc38.noarch exfalso-0:4.5.0-5.fc38.noarch fapolicy-analyzer-0:1.0.0-1.fc38.x86_64 foliate-0:2.6.4-6.fc38.noarch gambas3-gb-gtk3-webview-0:3.18.1-1.fc38.x86_64 gamehub-0:0.16.3.2-6.fc38.x86_64 geany-plugins-markdown-0:1.38-9.fc38.x86_64 glade-libs-0:3.40.0-2.fc38.x86_64 gnucash-0:4.13-6.fc38.x86_64 gphotoframe-0:2.0.2-17.hg2084299dffb6.fc38.1.noarch gthumb-1:3.12.2-7.fc38.x86_64 liferea-1:1.14.1-1.fc38.x86_64 lutris-0:0.5.12-3.fc38.x86_64 marker-0:0.0.2020.04.04-10.fc38.x86_64 meteo-0:0.9.9.1-4.fc38.x86_64 midori-0:9.0-12.fc38.x86_64 minigalaxy-0:1.2.2-3.fc38.noarch notes-up-0:2.0.6-4.fc38.x86_64 osmo-0:0.4.4-2.fc38.x86_64 pdfpc-0:4.6.0-1.fc38.x86_64 perl-Gtk3-WebKit-0:0.06-27.fc38.noarch rednotebook-0:2.29.3-2.fc38.noarch rubygem-webkit2-gtk-0:4.1.2-1.fc38.noarch setzer-0:0.4.8-2.fc38.noarch sugar-0:0.120-2.fc38.noarch sugar-browse-0:207-6.fc38.noarch sugar-toolkit-gtk3-0:0.120-2.fc38.x86_64 surf-0:2.0-15.fc38.x86_64 ulauncher-0:5.15.2-1.fc38.noarch vfrnav-0:20201231-38.fc38.x86_64 webkit2-sharp-0:0-0.17.20170219gita59fd76.fc38.x86_64 webkit2gtk4.0-devel-0:2.40.0-2.fc38.x86_64 webkit2gtk4.0-doc-0:2.40.0-2.fc38.noarch wxGTK-webview-0:3.2.1-5.fc38.x86_64 wxGTK3-webview-0:3.0.5.1-10.fc38.x86_64 xiphos-0:4.2.1-18.fc38.x86_64 xreader-libs-0:3.6.3-1.fc38.x86_64 yad-0:9.3-5.fc38.x86_6
Contingency Plan
- Contingency mechanism: Bring back the removed subpackages
- Contingency deadline: F39 beta freeze
- Blocks release? No
Documentation
Release Notes
The webkit2gtk4.0 and javascriptcoregtk4.0 packages providing WebKitGTK for GTK 3 and libsoup 2 applications have been removed. Use the webkit2gtk4.1 and javascriptcoregtk4.1 packages instead, providing WebKitGTK for GTK 3 and libsoup 3 applications.