Hi all,
Latest webkitgtk build in rawhide now has two parallel installable API's:
webkit2gtk-4.0, gtk3 + libsoup 2 (webkit2gtk3-devel rpm) webkit2gtk-4.1, gtk3 + libsoup 3 (webkit2gtk4.1-devel rpm)
This is to support libsoup 2 to libsoup 3 transition where two different libsoup ABI versions can't be linked to the same process. It should be fairly straightforward to switch over to new 4.1 API, but care must be taken that mixed linkage doesn't happen (some library linking to libsoup 2 and some other linking to libsoup 3).
Also note that there is a plan to rename webkit2gtk3 rpm to webkit2gtk4.0 to clean up the naming a bit (https://bugzilla.redhat.com/show_bug.cgi?id=2108905 review request).
We've already switched a bunch of things that are on Workstation install media over to the new API. The 4.0 API is likely going away at some point so it would be good if people could try to move their packages over to 4.1. Michael Catanzaro can help with porting questions.
Here is where we stand right now.
Packages linking to webkit2gtk-4.0:
anjuta-3.34.0-12.fc36.src.rpm apvlv-0.2.0-4.fc36.src.rpm atril-1.26.0-2.fc36.src.rpm badwolf-1.2.2-2.fc36.src.rpm balsa-2.6.3-2.fc36.src.rpm bookworm-1.1.3-0.7.20200414git.c7c3643.fc36.src.rpm cairo-dock-plug-ins-3.4.1-41.20210730gitf24f769.fc37.3.src.rpm claws-mail-4.1.0-4.fc37.src.rpm elementary-capnet-assist-2.4.2-1.fc37.src.rpm elementary-mail-6.4.0-1.fc36.src.rpm elementary-photos-2.7.5-1.fc37.src.rpm elementary-planner-3.0.7-1.fc37.src.rpm emacs-28.1-2.fc37.src.rpm ephemeral-7.1.0-3.fc36.src.rpm evolution-rss-0.3.96-9.fc36.src.rpm gambas3-3.17.2-1.fc37.src.rpm gamehub-0.16.3.2-4.fc37.src.rpm geany-plugins-1.38-3.fc36.src.rpm geary-40.0-5.fc36.src.rpm glade-3.38.2-7.fc37.src.rpm gnome-builder-42.1-2.fc37.src.rpm gnucash-4.11-1.fc37.src.rpm libgepub-0.6.0-9.fc36.src.rpm liferea-1.13.8-2.fc37.src.rpm marker-0.0.2020.04.04-6.fc36.src.rpm meteo-0.9.9.1-2.fc36.src.rpm midori-9.0-9.fc36.src.rpm notes-up-2.0.6-2.fc36.src.rpm osmo-0.4.4-2.fc37.src.rpm pdfpc-4.5.0-7.fc36.src.rpm remmina-1.4.27-4.fc37.src.rpm surf-2.0-13.fc36.src.rpm vfrnav-20201231-29.fc37.src.rpm wxGTK-3.1.7-1.fc37.src.rpm wxGTK3-3.0.5.1-7.fc36.src.rpm xiphos-4.2.1-13.fc37.src.rpm xreader-3.4.1-1.fc37.src.rpm yad-9.3-3.fc36.src.rpm
Packages linking to webkit2gtk-4.1:
bijiben-40.1-4.fc37.src.rpm devhelp-43~alpha-2.fc37.src.rpm epiphany-43~alpha-1.fc37.src.rpm evolution-3.45.1-1.fc37.src.rpm evolution-data-server-3.45.1-1.fc37.src.rpm evolution-rspam-0.6.0-36.fc37.src.rpm gnome-boxes-43~alpha-1.fc37.src.rpm gnome-initial-setup-43~alpha.1-1.fc37.src.rpm gnome-online-accounts-3.45.1-1.fc37.src.rpm pidgin-chime-1.4.1-6.fc37.src.rpm shotwell-0.31.5-1.fc37.src.rpm yelp-42.1-3.fc37.src.rpm
On Wed, Jul 20, 2022 at 11:02 AM Kalev Lember kalevlember@gmail.com wrote:
Hi all,
Latest webkitgtk build in rawhide now has two parallel installable API's:
webkit2gtk-4.0, gtk3 + libsoup 2 (webkit2gtk3-devel rpm) webkit2gtk-4.1, gtk3 + libsoup 3 (webkit2gtk4.1-devel rpm)
This is to support libsoup 2 to libsoup 3 transition where two different libsoup ABI versions can't be linked to the same process. It should be fairly straightforward to switch over to new 4.1 API, but care must be taken that mixed linkage doesn't happen (some library linking to libsoup 2 and some other linking to libsoup 3).
Also note that there is a plan to rename webkit2gtk3 rpm to webkit2gtk4.0 to clean up the naming a bit (https://bugzilla.redhat.com/show_bug.cgi?id=2108905 review request).
We've already switched a bunch of things that are on Workstation install media over to the new API. The 4.0 API is likely going away at some point so it would be good if people could try to move their packages over to 4.1. Michael Catanzaro can help with porting questions.
(snip)
Here is where we stand right now.
Packages linking to webkit2gtk-4.0:
elementary-capnet-assist-2.4.2-1.fc37.src.rpm elementary-mail-6.4.0-1.fc36.src.rpm elementary-photos-2.7.5-1.fc37.src.rpm
I think porting elementary-capnet-assist and elementary-photos might be relatively straightforward, as the things they do with embedded web content is simple. I'll open tickets with the upstream projects, but given that these two packages continue to work with webkit2gtk-4.0, that's not a high priority right now.
However, for elementary-mail, switching to webkit2gtk-4.1 is a requirement to make it work again, given that e-d-s now links against libsoup-3, and elementary-mail currently only builds against webkit2gtk-4.0, which depends on libsoup-2.4. Am I understanding this correctly?
Fabio
On Wed, Jul 20, 2022 at 12:03 PM Fabio Valentini decathorpe@gmail.com wrote:
On Wed, Jul 20, 2022 at 11:02 AM Kalev Lember kalevlember@gmail.com wrote:
Here is where we stand right now.
Packages linking to webkit2gtk-4.0:
elementary-capnet-assist-2.4.2-1.fc37.src.rpm elementary-mail-6.4.0-1.fc36.src.rpm elementary-photos-2.7.5-1.fc37.src.rpm
I think porting elementary-capnet-assist and elementary-photos might be relatively straightforward, as the things they do with embedded web content is simple. I'll open tickets with the upstream projects, but given that these two packages continue to work with webkit2gtk-4.0, that's not a high priority right now.
Agreed, no rush here as long as things continue working. I don't know what Michael's timeframe is for removing webkit2gtk-4.0, but I would expect it to be at least a year from now to give time for things to transition over.
Thanks for being proactive here!
However, for elementary-mail, switching to webkit2gtk-4.1 is a requirement to make it work again, given that e-d-s now links against libsoup-3, and elementary-mail currently only builds against webkit2gtk-4.0, which depends on libsoup-2.4. Am I understanding this correctly?
Yes, that's entirely correct. https://pagure.io/fedora-infrastructure
On Wed, Jul 20, 2022 at 12:09 PM Kalev Lember kalevlember@gmail.com wrote:
On Wed, Jul 20, 2022 at 12:03 PM Fabio Valentini decathorpe@gmail.com wrote:
On Wed, Jul 20, 2022 at 11:02 AM Kalev Lember kalevlember@gmail.com wrote:
Here is where we stand right now.
Packages linking to webkit2gtk-4.0:
elementary-capnet-assist-2.4.2-1.fc37.src.rpm elementary-mail-6.4.0-1.fc36.src.rpm elementary-photos-2.7.5-1.fc37.src.rpm
I think porting elementary-capnet-assist and elementary-photos might be relatively straightforward, as the things they do with embedded web content is simple. I'll open tickets with the upstream projects, but given that these two packages continue to work with webkit2gtk-4.0, that's not a high priority right now.
Agreed, no rush here as long as things continue working. I don't know what Michael's timeframe is for removing webkit2gtk-4.0, but I would expect it to be at least a year from now to give time for things to transition over.
Thanks for being proactive here!
However, for elementary-mail, switching to webkit2gtk-4.1 is a requirement to make it work again, given that e-d-s now links against libsoup-3, and elementary-mail currently only builds against webkit2gtk-4.0, which depends on libsoup-2.4. Am I understanding this correctly?
Yes, that's entirely correct.
Thanks for confirming! I filed issues with the upstream projects:
https://github.com/elementary/mail/issues/793 https://github.com/elementary/photos/issues/718 https://github.com/elementary/capnet-assist/issues/84
Fabio
On Wed, Jul 20 2022 at 12:08:36 PM +0200, Kalev Lember kalevlember@gmail.com wrote:
Agreed, no rush here as long as things continue working. I don't know what Michael's timeframe is for removing webkit2gtk-4.0, but I would expect it to be at least a year from now to give time for things to transition over.
My current plan is to retire webkit2gtk3/webkit2gtk4.0 at the same time that we remove libsoup 2: February next year, right after F38 is branched. This way, we can release F39 in November next year with libsoup 3 only.
This is a compromise between giving applications a fair amount of time to port, but also ensuring we do not keep an obsolete security-critical network library around any longer than we need to.
Note the only difference between webkit2gtk3/webkit2gtk4.0 and webkit2gtk4.1 is the version number and the libsoup version that it links against. Once you've handled libsoup migration, the WebKitGTK migration is just a matter of bumping the version number.
Michael
On Wed, Jul 20 2022 at 07:49:27 AM -0500, Michael Catanzaro mcatanzaro@gnome.org wrote:
My current plan is to retire webkit2gtk3/webkit2gtk4.0 at the same time that we remove libsoup 2: February next year, right after F38 is branched. This way, we can release F39 in November next year with libsoup 3 only.
Forgot to include my reference:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/...
On Wed, Jul 20, 2022 at 2:50 PM Michael Catanzaro mcatanzaro@gnome.org wrote:
On Wed, Jul 20 2022 at 12:08:36 PM +0200, Kalev Lember kalevlember@gmail.com wrote:
Agreed, no rush here as long as things continue working. I don't know what Michael's timeframe is for removing webkit2gtk-4.0, but I would expect it to be at least a year from now to give time for things to transition over.
My current plan is to retire webkit2gtk3/webkit2gtk4.0 at the same time that we remove libsoup 2: February next year, right after F38 is branched. This way, we can release F39 in November next year with libsoup 3 only.
This is a compromise between giving applications a fair amount of time to port, but also ensuring we do not keep an obsolete security-critical network library around any longer than we need to.
Note the only difference between webkit2gtk3/webkit2gtk4.0 and webkit2gtk4.1 is the version number and the libsoup version that it links against. Once you've handled libsoup migration, the WebKitGTK migration is just a matter of bumping the version number.
That's good to know, thank you for this context! I'm sure elementary OS devs will be glad that at least *one* of all these transitions should be simple 😅
Fabio