Subject: Re: bug#48028: [PATCH wip-gnome 0/8]: Misc.

From: Leo Prikler <[email-masked]>
Date: Sun, 02 May 2021 09:03:04 +0200

Am Sonntag, den 02.05.2021, 13:14 +0800 schrieb 宋文武:
> Leo Prikler <[email-masked]> writes:
> 
> > Am Mittwoch, den 28.04.2021, 09:07 -0400 schrieb Raghav Gururajan:
> > > Hi Leo,
> > > 
> > > > After looking at this more closely, the comment is a little
> > > > misleading,
> > > > since the libsoup-2.4.pc does not actually refer to glib-
> > > > networking.
> > > > What is the rationale behind this propagation?
> > > > In v1 you claimed the .pc file mentions this, but I don't see
> > > > any
> > > > of
> > > > it:
> > > > libsoup-2.4.pc:Requires: glib-2.0 >=  2.58, gobject-2.0
> > > > >=  2.58,
> > > > gio-
> > > > 2.0 >=  2.58
> > > > libsoup-2.4.pc:Requires.private: libxml-2.0, sqlite3, libpsl
> > > > > =  0.20,
> > > > libbrotlidec, zlib
> > > > libsoup-gnome-2.4.pc:Requires: libsoup-2.4
> > > > libsoup-gnome-2.4.pc:Requires.private: glib-2.0 >=  2.58,
> > > > gobject-
> > > > 2.0
> > > > > =  2.58, gio-2.0 >=  2.58, libxml-2.0, sqlite3, libpsl
> > > > > >=  0.20,
> > > > libbrotlidec, zlib
> > > 
> > > It `gio` I was referring to. GIO can mean [glib]/lib/libgio or 
> > > [glib-networking]/lib/gio/modules/libgio* or both. It depends on
> > > what 
> > > package it is. Libsoup is a networking package, which uses 
> > > glib-networking as tls backend. So GIO networking modules
> > > provided
> > > by 
> > > glib-networking, is required by libsoup at runtime.
> 
> Yes, glib-networking provides 2 gio modules:
> - libgiognutls.so: Let GIO based applications access HTTPS (TLS).
> - libgiognomeproxy.so: Let GIO based applications use GNOME proxy
> settings.
> 
> They're required at runtime, and optional (one may argue that HTTPS
> is a
> must have feature though).  Currently we add glib-networking to
> webkit
> browsers's inputs (eg: epiphany, luakit, etc.)  directly, and wrap it
> with 'GIO_EXTRA_MODULES'.  By propagated glib-networking in libsoup,
> we
> can remove it from inputs of thoese web browsers, but we still have
> to
> wrap them...
> 
> Maybe there is a way to hardcode glib-networking in libsoup so that
> we
> can get rid of GIO_EXTRA_MODULES?  (another gio module is the
> gsettings
> backends dconf, which also need a user dbus-daemon user spawn its
> backend service...)
> 
> > I don't think "gio inside .pc" means that, however.  I do agree,
> > that
> > it might be worth propagating it as a runtime dependency, but it
> > should
> > be done with a suitable comment.
> 
> I Agree with Leo.  Raghav, could you look into if we can get rid of
> GIO_EXTRA_MODULES for glib-networking or add a specified comment for
> this comment (maybe: "For HTTPS and GNOME proxy support")?

I didn't go as far as you.  All I wanted to say, was that insinuating
it to be a pkg-config dependency might be misleading, and that we ought
to have a suitable comment.  I've already pushed that patch to master
with one I wrote myself.

I'm not quite sure what's the problem with wrapping here.  Does glib-
or-gtk-build-system not take care of GIO_EXTRA_MODULES?

Regards,
Leo