diff mbox series

[1/1] package/libsoup: always disable tls_check

Message ID 20210609212503.1580411-1-fontaine.fabrice@gmail.com
State Superseded
Headers show
Series [1/1] package/libsoup: always disable tls_check | expand

Commit Message

Fabrice Fontaine June 9, 2021, 9:25 p.m. UTC
Always disable tls_check to avoid the following build failure since bump to
version 2.72.0 in commit 8e5f7f1cfc8fd7a9d5270f6a9707eb9eecfd21da:

../output-1/build/libsoup-2.72.0/meson.build:184:4: ERROR: Can not run test applications in this cross environment.

tls_check will run code since
https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c45253243a2deca4880d4f614f2932373445cf9

Fixes:
 - http://autobuild.buildroot.org/results/9e539dc7185cfb81f18438dd36357cb49ef23a5a

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/libsoup/libsoup.mk | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Adrian Perez de Castro June 10, 2021, 3:36 a.m. UTC | #1
Hi,

On Wed, 09 Jun 2021 23:25:03 +0200 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> Always disable tls_check to avoid the following build failure since bump to
> version 2.72.0 in commit 8e5f7f1cfc8fd7a9d5270f6a9707eb9eecfd21da:
> 
> ../output-1/build/libsoup-2.72.0/meson.build:184:4: ERROR: Can not run test applications in this cross environment.
> 
> tls_check will run code since
> https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c45253243a2deca4880d4f614f2932373445cf9

I wonder how this check passed locally when doing test builds of the update
before submitting the patch (I did a few cross-builds targeting 64-bit ARM)
¯\_(ツ)_/¯ 

At any rate, it's good to disable the test unconditionally.

> Fixes:
>  - http://autobuild.buildroot.org/results/9e539dc7185cfb81f18438dd36357cb49ef23a5a
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Reviewed-by: Adrian Perez de Castro <aperez@igalia.com>

> ---
>  package/libsoup/libsoup.mk | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk
> index 2f63e9e85c..73c8c080c5 100644
> --- a/package/libsoup/libsoup.mk
> +++ b/package/libsoup/libsoup.mk
> @@ -30,6 +30,7 @@ LIBSOUP_CONF_OPTS = \
>  	-Dntlm=disabled \
>  	-Dsysprof=disabled \
>  	-Dtests=false \
> +	-Dtls_check=false \
>  	-Dvapi=disabled
>  
>  ifeq ($(BR2_PACKAGE_BROTLI),y)
> @@ -54,8 +55,6 @@ endif
>  
>  ifeq ($(BR2_PACKAGE_LIBSOUP_SSL),y)
>  LIBSOUP_DEPENDENCIES += glib-networking
> -else
> -LIBSOUP_CONF_OPTS += -Dtls_check=false
>  endif
>  
>  $(eval $(meson-package))
> -- 
> 2.30.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Fabrice Fontaine June 10, 2021, 5:34 a.m. UTC | #2
Hi,

Le jeu. 10 juin 2021 à 05:36, Adrian Perez de Castro
<aperez@igalia.com> a écrit :
>
> Hi,
>
> On Wed, 09 Jun 2021 23:25:03 +0200 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> > Always disable tls_check to avoid the following build failure since bump to
> > version 2.72.0 in commit 8e5f7f1cfc8fd7a9d5270f6a9707eb9eecfd21da:
> >
> > ../output-1/build/libsoup-2.72.0/meson.build:184:4: ERROR: Can not run test applications in this cross environment.
> >
> > tls_check will run code since
> > https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c45253243a2deca4880d4f614f2932373445cf9
>
> I wonder how this check passed locally when doing test builds of the update
> before submitting the patch (I did a few cross-builds targeting 64-bit ARM)
> ¯\_(ツ)_/¯
I assume that BR2_PACKAGE_LIBSOUP_SSL was not set in your tests.
However, I'm now wondering if we should also drop BR2_PACKAGE_LIBSOUP_SSL.
From my understanding, glib-networking is a runtime dependency that
was only needed at compile-time to pass tls_check.
>
> At any rate, it's good to disable the test unconditionally.
>
> > Fixes:
> >  - http://autobuild.buildroot.org/results/9e539dc7185cfb81f18438dd36357cb49ef23a5a
> >
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
>
> Reviewed-by: Adrian Perez de Castro <aperez@igalia.com>
>
> > ---
> >  package/libsoup/libsoup.mk | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk
> > index 2f63e9e85c..73c8c080c5 100644
> > --- a/package/libsoup/libsoup.mk
> > +++ b/package/libsoup/libsoup.mk
> > @@ -30,6 +30,7 @@ LIBSOUP_CONF_OPTS = \
> >       -Dntlm=disabled \
> >       -Dsysprof=disabled \
> >       -Dtests=false \
> > +     -Dtls_check=false \
> >       -Dvapi=disabled
> >
> >  ifeq ($(BR2_PACKAGE_BROTLI),y)
> > @@ -54,8 +55,6 @@ endif
> >
> >  ifeq ($(BR2_PACKAGE_LIBSOUP_SSL),y)
> >  LIBSOUP_DEPENDENCIES += glib-networking
> > -else
> > -LIBSOUP_CONF_OPTS += -Dtls_check=false
> >  endif
> >
> >  $(eval $(meson-package))
> > --
> > 2.30.2
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot@busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
Best Regards,

Fabrice
Adrian Perez de Castro June 10, 2021, 1:21 p.m. UTC | #3
On Thu, 10 Jun 2021 07:34:40 +0200 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> Hi,
> 
> Le jeu. 10 juin 2021 à 05:36, Adrian Perez de Castro
> <aperez@igalia.com> a écrit :
> >
> > Hi,
> >
> > On Wed, 09 Jun 2021 23:25:03 +0200 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> > > Always disable tls_check to avoid the following build failure since bump to
> > > version 2.72.0 in commit 8e5f7f1cfc8fd7a9d5270f6a9707eb9eecfd21da:
> > >
> > > ../output-1/build/libsoup-2.72.0/meson.build:184:4: ERROR: Can not run test applications in this cross environment.
> > >
> > > tls_check will run code since
> > > https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c45253243a2deca4880d4f614f2932373445cf9
> >
> > I wonder how this check passed locally when doing test builds of the update
> > before submitting the patch (I did a few cross-builds targeting 64-bit ARM)
> > ¯\_(ツ)_/¯
>
> I assume that BR2_PACKAGE_LIBSOUP_SSL was not set in your tests.
> However, I'm now wondering if we should also drop BR2_PACKAGE_LIBSOUP_SSL.
> From my understanding, glib-networking is a runtime dependency that
> was only needed at compile-time to pass tls_check.

I still had the “.config” file around... You are right actually, I did not
have BR2_PACKAGE_LIBSOUP_SSL enabled. My bad.

It is true that glib-networking is a pure runtime dependency, and not even
needed at build time at all, except for the sanity check that can be turned
off with -Dtls_check=false. The actual GTlsConnection types are defined in
GLib itself, but to avoid linking any particular TLS implementation (which
might result in accidental license incompatibilities) the actual
implementation is inside glib-networking, which is a plug-in for GLib.
Currently it's possible to build glib-networking against both GnuTLS and
OpenSSL, but the latter is newer and less battle tested, which is the reason
why I have not yet sent a patch to allow building against OpenSSL ;-)

I do not have much of an opinion about removing BR2_PACKAGE_LIBSOUP_SSL;
probably it's fine to remove the check for it in “libsoup.mk”, but I would
still leave the option in “Config.in” to make sure that glib-networking will
be built and installed. Otherwise I am afraid that we may get people reporting
that TLS does not work with GLib sockets, and it will turned out that they
forgot to enable building glib-networking.

How does the above approach sound?

Cheers,
-Adrian
Fabrice Fontaine June 10, 2021, 1:39 p.m. UTC | #4
Hi Adrian,

Le jeu. 10 juin 2021 à 15:21, Adrian Perez de Castro
<aperez@igalia.com> a écrit :
>
> On Thu, 10 Jun 2021 07:34:40 +0200 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> > Hi,
> >
> > Le jeu. 10 juin 2021 à 05:36, Adrian Perez de Castro
> > <aperez@igalia.com> a écrit :
> > >
> > > Hi,
> > >
> > > On Wed, 09 Jun 2021 23:25:03 +0200 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> > > > Always disable tls_check to avoid the following build failure since bump to
> > > > version 2.72.0 in commit 8e5f7f1cfc8fd7a9d5270f6a9707eb9eecfd21da:
> > > >
> > > > ../output-1/build/libsoup-2.72.0/meson.build:184:4: ERROR: Can not run test applications in this cross environment.
> > > >
> > > > tls_check will run code since
> > > > https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c45253243a2deca4880d4f614f2932373445cf9
> > >
> > > I wonder how this check passed locally when doing test builds of the update
> > > before submitting the patch (I did a few cross-builds targeting 64-bit ARM)
> > > ¯\_(ツ)_/¯
> >
> > I assume that BR2_PACKAGE_LIBSOUP_SSL was not set in your tests.
> > However, I'm now wondering if we should also drop BR2_PACKAGE_LIBSOUP_SSL.
> > From my understanding, glib-networking is a runtime dependency that
> > was only needed at compile-time to pass tls_check.
>
> I still had the “.config” file around... You are right actually, I did not
> have BR2_PACKAGE_LIBSOUP_SSL enabled. My bad.
>
> It is true that glib-networking is a pure runtime dependency, and not even
> needed at build time at all, except for the sanity check that can be turned
> off with -Dtls_check=false. The actual GTlsConnection types are defined in
> GLib itself, but to avoid linking any particular TLS implementation (which
> might result in accidental license incompatibilities) the actual
> implementation is inside glib-networking, which is a plug-in for GLib.
> Currently it's possible to build glib-networking against both GnuTLS and
> OpenSSL, but the latter is newer and less battle tested, which is the reason
> why I have not yet sent a patch to allow building against OpenSSL ;-)
>
> I do not have much of an opinion about removing BR2_PACKAGE_LIBSOUP_SSL;
> probably it's fine to remove the check for it in “libsoup.mk”, but I would
> still leave the option in “Config.in” to make sure that glib-networking will
> be built and installed. Otherwise I am afraid that we may get people reporting
> that TLS does not work with GLib sockets, and it will turned out that they
> forgot to enable building glib-networking.
>
> How does the above approach sound?
I like your approach.
I'll send a v2 to only remove the build-time dependency on
glib-networking but I'll keep the option and so a run-time dependency
on glib-networking.
>
> Cheers,
> -Adrian
>
Best Regards,

Fabrice
Adrian Perez de Castro June 10, 2021, 2:11 p.m. UTC | #5
Hi,

On Thu, 10 Jun 2021 15:39:54 +0200 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> Hi Adrian,
> 
> Le jeu. 10 juin 2021 à 15:21, Adrian Perez de Castro
> <aperez@igalia.com> a écrit :
> >
> > On Thu, 10 Jun 2021 07:34:40 +0200 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> > > Hi,
> > >
> > > Le jeu. 10 juin 2021 à 05:36, Adrian Perez de Castro
> > > <aperez@igalia.com> a écrit :
> > > >
> > > > Hi,
> > > >
> > > > On Wed, 09 Jun 2021 23:25:03 +0200 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> > > > > Always disable tls_check to avoid the following build failure since bump to
> > > > > version 2.72.0 in commit 8e5f7f1cfc8fd7a9d5270f6a9707eb9eecfd21da:
> > > > >
> > > > > ../output-1/build/libsoup-2.72.0/meson.build:184:4: ERROR: Can not run test applications in this cross environment.
> > > > >
> > > > > tls_check will run code since
> > > > > https://gitlab.gnome.org/GNOME/libsoup/-/commit/5c45253243a2deca4880d4f614f2932373445cf9
> > > >
> > > > I wonder how this check passed locally when doing test builds of the update
> > > > before submitting the patch (I did a few cross-builds targeting 64-bit ARM)
> > > > ¯\_(ツ)_/¯
> > >
> > > I assume that BR2_PACKAGE_LIBSOUP_SSL was not set in your tests.
> > > However, I'm now wondering if we should also drop BR2_PACKAGE_LIBSOUP_SSL.
> > > From my understanding, glib-networking is a runtime dependency that
> > > was only needed at compile-time to pass tls_check.
> >
> > I still had the “.config” file around... You are right actually, I did not
> > have BR2_PACKAGE_LIBSOUP_SSL enabled. My bad.
> >
> > It is true that glib-networking is a pure runtime dependency, and not even
> > needed at build time at all, except for the sanity check that can be turned
> > off with -Dtls_check=false. The actual GTlsConnection types are defined in
> > GLib itself, but to avoid linking any particular TLS implementation (which
> > might result in accidental license incompatibilities) the actual
> > implementation is inside glib-networking, which is a plug-in for GLib.
> > Currently it's possible to build glib-networking against both GnuTLS and
> > OpenSSL, but the latter is newer and less battle tested, which is the reason
> > why I have not yet sent a patch to allow building against OpenSSL ;-)
> >
> > I do not have much of an opinion about removing BR2_PACKAGE_LIBSOUP_SSL;
> > probably it's fine to remove the check for it in “libsoup.mk”, but I would
> > still leave the option in “Config.in” to make sure that glib-networking will
> > be built and installed. Otherwise I am afraid that we may get people reporting
> > that TLS does not work with GLib sockets, and it will turned out that they
> > forgot to enable building glib-networking.
> >
> > How does the above approach sound?
> I like your approach.
> I'll send a v2 to only remove the build-time dependency on
> glib-networking but I'll keep the option and so a run-time dependency
> on glib-networking.

Wonderful, thanks!

-Adrian
diff mbox series

Patch

diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk
index 2f63e9e85c..73c8c080c5 100644
--- a/package/libsoup/libsoup.mk
+++ b/package/libsoup/libsoup.mk
@@ -30,6 +30,7 @@  LIBSOUP_CONF_OPTS = \
 	-Dntlm=disabled \
 	-Dsysprof=disabled \
 	-Dtests=false \
+	-Dtls_check=false \
 	-Dvapi=disabled
 
 ifeq ($(BR2_PACKAGE_BROTLI),y)
@@ -54,8 +55,6 @@  endif
 
 ifeq ($(BR2_PACKAGE_LIBSOUP_SSL),y)
 LIBSOUP_DEPENDENCIES += glib-networking
-else
-LIBSOUP_CONF_OPTS += -Dtls_check=false
 endif
 
 $(eval $(meson-package))