All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Perez de Castro <aperez@igalia.com>
To: Thomas Devoogdt <thomas.devoogdt@gmail.com>
Cc: Thomas Devoogdt <thomas.devoogdt@barco.com>,
	Fabrice Fontaine <fontaine.fabrice@gmail.com>,
	buildroot@buildroot.org
Subject: [Buildroot] libsoup3 migration (was: Re: [PATCH 2/2] package/libsoup: bump to version 3.0.4)
Date: Fri, 28 Jan 2022 16:13:14 +0200	[thread overview]
Message-ID: <20220128161314.GB770598@momiji> (raw)
In-Reply-To: <CACXRmJi3_D1n3tJNXgm+6azeVqY8=cA7gPvfWT8xMbR3Dk8eWA@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 4851 bytes --]

Hello Thomas, all,

On Fri, 28 Jan 2022 13:33:32 +0100 Thomas Devoogdt <thomas.devoogdt@gmail.com> wrote:
> Hello Adrián, all,
> 
> I tested indeed libsoup3 against webkitgtk 2.34.4 [1]. By dropping
> -DUSE_SOUP2=ON
> from your commit, I was able to build webkitgtk 2.34.4.
> 
> You are right, other packages will have to migrate as well,
> e.g. a GStreamer bump to 1.19.3 is needed [2].
> 
> A quick search learns me that BR2_PACKAGE_LIBSOUP is/can be selected in/for:
>  - BR2_PACKAGE_GMPC (no explicit support mentioned yet)
>  - BR2_PACKAGE_GSSDP (support on master branch [3])
>  - BR2_PACKAGE_GUPNP_TOOLS (no explicit support mentioned yet)
>  - BR2_PACKAGE_GVFS (no explicit support mentioned yet)
>  - BR2_PACKAGE_LIBOSTREE (no explicit support mentioned yet)
>  - BR2_PACKAGE_MIDORI (no explicit support mentioned yet)
>  - BR2_PACKAGE_WPEWEBKIT (no explicit support mentioned yet)
> 
>  - BR2_PACKAGE_GST1_PLUGINS_GOOD (starting from 1.19.3)
>  - BR2_PACKAGE_GSTD (starting from 1.19.3)
>  - BR2_PACKAGE_WEBKITGTK (starting from 2.34.4)

There is a tracking table for the libsoup3 migration that one of my work mates
has been maintaining up to date; you can find it here:

  https://gitlab.gnome.org/GNOME/libsoup/-/issues/218

For most of the packages from Buildroot that you listed there are patches
filed to their corresponding upstreams. 

The way I see it, there are three possible ways for a migration:

- Keep both libsoup2 and libsoup3 in the tree, migrate packages to libsoup3
  where possible and where we do not see conflicts (like loading both versions
  in the same process) likely to happen.

- Replace libsoup2 with libsoup3 *now*, import patches into the Buildroot tree
  for the packages which do not yet have releases compatible with libsoup3.

- Replace libsoup2 with libsoup3 *later*, once all upstreams of packages
  present in Buildroot put out releases that work with libsoup3.

Personally I tend to think the last option is likely to be the best, to avoid
confusions and the possibility that people who use Buildroot as basis for
their work get into nasty situations due to both libsoup2 and libsoup3 being
available.

Opinions?

> ---
> [1]
> https://git.sr.ht/~aperezdc/buildroot/commit/5dc402d58659a35a30afd1de1a8fb8075034f3fc
> [2] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1044
> [3] https://gitlab.gnome.org/GNOME/gssdp/-/merge_requests/7
> 
> 
> Op vr 28 jan. 2022 om 12:42 schreef Adrian Perez de Castro <
> aperez@igalia.com>:
> 
> > Hello Thomas, all,
> >
> > On Fri, 28 Jan 2022 11:59:17 +0100 Thomas Devoogdt <
> > thomas.devoogdt@gmail.com> wrote:
> > > Drop upstreamed patch:
> > >
> > https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c3d431bdb094c59997f2a23e31e83f815ab667c
> > >
> > > The gnome option was dropped in:
> > >
> > https://gitlab.gnome.org/GNOME/libsoup/-/commit/3fcaa882c4eb29fd754cdb6dd06195632cb4b52a
> > >
> > > A new "libnghttp2" dependency is added since libsoup 2.99.6 (HTTP2
> > backend):
> > >
> > https://gitlab.gnome.org/GNOME/libsoup/-/commit/1a1d29c3114ca86c673d0c0b02a492d0962dcfe8
> > >
> > > Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
> > > ---
> > >  Config.in.legacy                              |  6 +++
> > >  .../0001-meson.build-set-c_std-to-gnu99.patch | 40 -------------------
> > >  package/libsoup/Config.in                     |  6 +--
> > >  package/libsoup/libsoup.hash                  |  4 +-
> > >  package/libsoup/libsoup.mk                    | 11 ++---
> > >  package/midori/Config.in                      |  1 -
> > >  6 files changed, 12 insertions(+), 56 deletions(-)
> > >  delete mode 100644
> > package/libsoup/0001-meson.build-set-c_std-to-gnu99.patch
> >
> > Note that libsoup3 has a new API [1] (and ABI, therefore). Packages using
> > libsoup2 may not even compile with libsoup3, or may crash at runtime in
> > unexpected ways.
> >
> > You will need followup patches to modify packages that depend on libsoup
> > to make them use libsoup2. For example in package/wpewebkit.mk we are
> > currently passing -DUSE_SOUP2=ON to CMake, which needs to be changed to
> > OFF.
> >
> > Some packages may not even support yet building with libsoup3. Therefore
> > we may need to keep the libsoup2 package. This is possible, as both
> > versions
> > are parallel-installable. But then there is one more issue: one cannot use
> > both libraries in the same process. Which means, for example, if wpewebkit
> > gets changed to use libsoup3, then GStreamer *also* needs to be changed
> > because both are used inside WebKit.
> >
> > These are all reasons why I have not yet sent patches to do the switch.
> > Probably we want to discuss how to go ahead with the libsoup3 migration in
> > Buildroot.
> >
> > Cheers,
> > —Adrián
> >
> > ---
> > [1] https://libsoup.org/libsoup-3.0/ch02.html
> >

Cheers,
—Adrián

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2022-01-28 14:13 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-28 10:59 [Buildroot] [PATCH 1/2] package/libglib2: bump version to 2.69.1 Thomas Devoogdt
2022-01-28 10:59 ` [Buildroot] [PATCH 2/2] package/libsoup: bump to version 3.0.4 Thomas Devoogdt
2022-01-28 11:42   ` Adrian Perez de Castro
2022-01-28 12:33     ` Thomas Devoogdt
2022-01-28 14:13       ` Adrian Perez de Castro [this message]
2022-01-28 17:23         ` [Buildroot] libsoup3 migration (was: Re: [PATCH 2/2] package/libsoup: bump to version 3.0.4) Thomas Devoogdt
2022-01-28 18:25         ` [Buildroot] libsoup3 migration Peter Korsgaard
2022-01-28 18:11 ` [Buildroot] [PATCH 1/2] package/libglib2: bump version to 2.69.1 Peter Korsgaard
2022-01-28 18:26   ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220128161314.GB770598@momiji \
    --to=aperez@igalia.com \
    --cc=buildroot@buildroot.org \
    --cc=fontaine.fabrice@gmail.com \
    --cc=thomas.devoogdt@barco.com \
    --cc=thomas.devoogdt@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.