Re: libsoup 2 -> 3 migration plan and timeline (action required if you depend on libsoup)

2022-05-27 Thread Milan Crha
On Thu, 2022-05-26 at 14:37 -0500, Michael Catanzaro wrote:
> Still, hopefully we can manage this transition without applications 
> winding up broken in stable Fedoras.

Hi,
for what it's worth, I have a COPR repo for Fedora 36, which includes
several packages to use/build with/... libsoup3:
https://copr.fedorainfracloud.org/coprs/mcrha/evo-soup3/
It replaces core packages (which might get obsolete by regular f36
updates eventually) as much that it includes also gnome-shell and
others. The libsoup3 version there uses branch:
https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/283
which is important for the evolution-data-server and the other
evolution packages (to be tested in action soon).

Other packages have included (or enabled) their changes from a porting
tracker bug on the libsoup side:
https://gitlab.gnome.org/GNOME/libsoup/-/issues/218

I did not cover all the packages from the default Workstation install,
I skipped gnome-boxes (Vala, huh), gnome-photos and gnome-maps. With
these removed one can replace the GNOME to the libsoup3 version.

The grilo-plugins package is just hacked to remove the libsoup parts,
because it doesn't have any proposed porting patch. There might be more
hacks in the packages, I do not recall what I tweaked where precisely.

That being said, if anyone wants to do any early testing of their
project(s), then this can be a good starting point. I can add more
packages, if anyone throws a source rpm at me (not by mail, just a link
to it).
Bye,
Milan
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: libsoup 2 -> 3 migration plan and timeline (action required if you depend on libsoup)

2022-05-27 Thread Miro Hrončok

On 26. 05. 22 21:42, Ben Cotton wrote:

Thanks for the long lead time. If you submit this as an F39 Change
proposal now, you'll be the very first for that release (and perhaps
even break churchyard's unofficial "most in-advance Change proposal
submission). You can, of course, wait a while to do this, too.


Let me correct that shortly.

--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: libsoup 2 -> 3 migration plan and timeline (action required if you depend on libsoup)

2022-05-26 Thread Michael Catanzaro
On Fri, May 27 2022 at 12:15:33 AM +0200, Joël Krähemann 
 wrote:

For webkit2gtk-4.0 we had a replacement to show the manual as PDF
using libpoppler-glib.


This is fine IMO since it's your own PDF that you control and know will 
not be malicious.


(For untrusted PDFs, WebKit is way more secure than poppler-glib.)

Michael

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: libsoup 2 -> 3 migration plan and timeline (action required if you depend on libsoup)

2022-05-26 Thread Joël Krähemann
Hi Michael,

We just did a major release to GSequencer v4.0.0 we migrated to Gtk4
and libsoup-3.0, thereby.

https://savannah.nongnu.org/forum/forum.php?forum_id=10187

For webkit2gtk-4.0 we had a replacement to show the manual as PDF
using libpoppler-glib.  During
transition, I had to disable webkit2gtk-4.0 in order to avoid symbols
from libsoup-3.0 provided by
webkit2gtk-4.1

Thank you for providing additional background.

Thought, libsoup code is only reachable from the API. If you enable
OSC Server in GSequencer you
get SLIP encoded TCP/UDP stream. This is local only.

http://krähemann.com/howtos/ags-osc-docs/index.html
http://krähemann.com/api/libags/4.0.8/xml-rpc.html
http://krähemann.com/api/libags-audio/4.0.8/audio-osc-over-xmlrpc-server.html

The AGS-OSC-OVER-XMLRPC is rather esoteric and didn't manually test
for a while. And I am missing
a login controller. We do some sort of cookie based authentication and sessions.

https://packages.fedoraproject.org/pkgs/gsequencer/gsequencer/

Fedora 35 didn't get the 4.0.x series release, I just ignored it.

libsoup-2.4 really served its purpose. Had a lot of fun.

regards,
Joël

On Thu, May 26, 2022 at 9:37 PM Michael Catanzaro  wrote:
>
> Hi developers,
>
> If you maintain a package that depends (directly or indirectly) on
> libsoup, this mail is important. ***Lots of applications depend
> indirectly on libsoup, even if you don't realize it!***
>
> libsoup 3 (Fedora package: libsoup3) is incompatible with libsoup 2
> (Fedora package: libsoup). For better or for worse, the two cannot be
> linked into the same process, similar to GTK major versions. If libsoup
> 2 and 3 get linked into the same process, they will crash at runtime.
> This means the transition from 2 -> 3 is going to be difficult and
> awkward, because libsoup is often used by libraries, and all libraries
> used by an application have to transition at the exact same time or
> else the application will crash at runtime. Whereas with GTK we have a
> few libraries that depend on GTK and need ported, with libsoup there
> are many more affected libraries. Accordingly, *this will not go as
> smoothly as we'd like.*
>
> Still, hopefully we can manage this transition without applications
> winding up broken in stable Fedoras. The smoothest transition path is
> for upstream libraries to provide a different API version for libsoup2
> and libsoup3 versions, and ensure they can be parallel-installed. Some
> upstreams will do this while maintaining both versions at once, while
> others will depend on libsoup 3 for newer releases and use libsoup 2
> for older/stable releases. Either way is fine. Parallel-installability
> provides Fedora and other downstreams with maximum flexibility to
> manage the process. Libraries that use libsoup but do not provide
> parallel-installable API versions will be much harder to deal with,
> because apps that use libsoup 3 will be broken until the library
> switches to libsoup 3, and apps that use libsoup 2 will be broken after
> the library switches to libsoup 3. If the library has many
> dependencies, then it's hard to win in this situation.
>
> Now because libsoup is a sensitive network-facing HTTP library written
> in an unsafe language and where CVEs may have disastrous impact, it is
> not safe to leave libsoup 2 hanging around indefinitely like GLib 1 and
> GTK 1. My proposal is to retire libsoup 2 in *Fedora 39* and for
> packagers to not attempt to bring it back after that happens. Proposed
> timeline:
>
>  * September 2021 (done): libsoup 3.0 released
>  * January 2022 (done): libsoup3 packaged for Fedora, included in F36
>  * Today: the perfect time to port your packages away from libsoup2!
>  * October 2022: Fedora 37 released with both libsoup 2 and libsoup 3
>  * February 2023, right after F38 is branched: retire libsoup2 from
> rawhide, packages that depend on it break in rawhide
>  * April 2023: Fedora 38 released with both libsoup 2 and libsoup 3
>  * August 2023, ahead of F39 beta freeze: package carnage, retire all
> packages that still depend on libsoup 2
>  * November 2023: Fedora 39 released without libsoup 2
>
> Hopefully the 1.5 year timeline should leave adequate time for
> developers and maintainers to upgrade, while also acknowledging that we
> cannot wait forever and will not successfully port everything. Some
> packages will likely be retired at the end of this process, but
> hopefully we can keep that to a minimum. (GNOME upstream is trying to
> take care of GNOME core stuff, but we cannot possibly attempt to port
> all the extra apps or everything else that is in Fedora.)
>
> Lastly, a special note on WebKitGTK. WebKitGTK especially benefits from
> libsoup 3 because libsoup 3 can do HTTP/2 and libsoup 2 cannot. There
> are three relevant APIs:
>
>  * webkit2gtk-4.0: this is WebKitGTK for GTK 3 and libsoup 2
>  * webkit2gtk-4.1: this is WebKitGTK for GTK 3 and libsoup 3
>  * webkit2gtk-5.0 (subject to change): this is WebKitGTK for GTK 4 and
> lib

Re: libsoup 2 -> 3 migration plan and timeline (action required if you depend on libsoup)

2022-05-26 Thread Michael Catanzaro
On Thu, May 26 2022 at 03:42:55 PM -0400, Ben Cotton 
 wrote:

Thanks for the long lead time. If you submit this as an F39 Change
proposal now, you'll be the very first for that release (and perhaps
even break churchyard's unofficial "most in-advance Change proposal
submission). You can, of course, wait a while to do this, too.


I agree it needs an F39 change proposal. I'll add it to my TODO list.

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: libsoup 2 -> 3 migration plan and timeline (action required if you depend on libsoup)

2022-05-26 Thread Ben Cotton
Thanks for the long lead time. If you submit this as an F39 Change
proposal now, you'll be the very first for that release (and perhaps
even break churchyard's unofficial "most in-advance Change proposal
submission). You can, of course, wait a while to do this, too.


-- 
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure