[bug#54036] gnu: gnunet: Update to 0.15.3.

Message ID 20220217080334.12044-1-tanguy@bioneland.org
State New
Headers
Series [bug#54036] gnu: gnunet: Update to 0.15.3. |

Commit Message

Tanguy Le Carrour Feb. 17, 2022, 8:03 a.m. UTC
Hi Guix,

The lint command reports problems that I don't know how and if I have to fix:

```
[…]/gnu/packages/gnunet.scm:268:4: gnunet@0.15.3: label 'gnutls' does not match package name 'gnutls-dane'
[…]/gnu/packages/gnunet.scm:268:4: gnunet@0.15.3: label 'libidn' does not match package name 'libidn2'
[…]/gnu/packages/gnunet.scm:268:4: gnunet@0.15.3: label 'libjpeg' does not match package name 'libjpeg-turbo'
[…]/gnu/packages/gnunet.scm:360:14: gnunet@0.15.3: permanent redirect from https://gnunet.org/ to https://www.gnunet.org/en/
```

Any help welcome!

Tanguy

* gnu/packages/gnunet.scm (gnunet): Update to 0.15.3.
[arguments] Disable failing tests.
---
 gnu/packages/gnunet.scm | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)
  

Comments

Maxim Cournoyer Feb. 21, 2022, 9:23 p.m. UTC | #1
tags 54036 moreinfo
thanks

Hi Tanguy,

Tanguy Le Carrour <tanguy@bioneland.org> writes:

> Hi Guix,
>
> The lint command reports problems that I don't know how and if I have to fix:
>
> ```
> […]/gnu/packages/gnunet.scm:268:4: gnunet@0.15.3: label 'gnutls' does not match package name 'gnutls-dane'
> […]/gnu/packages/gnunet.scm:268:4: gnunet@0.15.3: label 'libidn' does not match package name 'libidn2'
> […]/gnu/packages/gnunet.scm:268:4: gnunet@0.15.3: label 'libjpeg' does not match package name 'libjpeg-turbo'
> […]/gnu/packages/gnunet.scm:360:14: gnunet@0.15.3: permanent redirect from https://gnunet.org/ to https://www.gnunet.org/en/
> ```

Running './pre-inst-env guix style gnunet' should take care of the first
3.  For the last one, I'd use the new suggested URL.

> Any help welcome!
>
> Tanguy
>
> * gnu/packages/gnunet.scm (gnunet): Update to 0.15.3.
> [arguments] Disable failing tests.
> ---
>  gnu/packages/gnunet.scm | 21 +++++++++++++++++----
>  1 file changed, 17 insertions(+), 4 deletions(-)
>
> diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
> index 1c09c9047b..34c6efddcb 100644
> --- a/gnu/packages/gnunet.scm
> +++ b/gnu/packages/gnunet.scm
> @@ -254,7 +254,7 @@ (define-public gnurl
>  (define-public gnunet
>    (package
>     (name "gnunet")
> -   (version "0.13.1")
> +   (version "0.15.3")
>     (source
>      (origin
>        (method url-fetch)
> @@ -262,7 +262,7 @@ (define-public gnunet
>                            ".tar.gz"))
>        (sha256
>         (base32
> -        "15jnca5zxng7r6m3qzq9lr73xxq0v6mvcp0lny3zrlkz5s2nmmq3"))))
> +        "1iafi1rzx62lf26awmwk17ih3y7kyhr7mrqc4am8w1qyyjl6j9nn"))))
>     (build-system gnu-build-system)
>     (inputs
>      `(("bluez" ,bluez)
> @@ -301,6 +301,8 @@ (define-public gnunet
>                (("test_transport_api_manipulation_cfg\\$\\(EXEEXT\\) \\\\\n") "")
>                (("test_transport_api_udp_nat\\$\\(EXEEXT\\) \\\\\n") "")
>                (("test_transport_blacklisting_multiple_plugins\\$\\(EXEEXT\\) \\\\\n") ""))
> +            (substitute* "src/cadet/Makefile"
> +              (("test_cadet_2_speed_reliable\\$\\(EXEEXT\\) \\\\\n") ""))
>              (substitute* "src/testbed/Makefile"
>                (("test_testbed_api_2peers_1controller\\$\\(EXEEXT\\) \\\\\n") "")
>                (("test_testbed_api_statistics\\$\\(EXEEXT\\) \\\\\n") "")
> @@ -308,13 +310,24 @@ (define-public gnunet
>                (("test_testbed_api_test_timeout\\$\\(EXEEXT\\) \\\\\n") "")
>                (("test_testbed_api_topology\\$\\(EXEEXT\\) \\\\\n") "")
>                (("test_testbed_api_topology_clique\\$\\(EXEEXT\\) \\\\\n") ""))
> +            (substitute* "src/testing/Makefile"
> +              (("test_testing_api_cmd_netjail\\$\\(EXEEXT\\) \\\\\n") "")
> +              (("test_testing_peerstartup\\$\\(EXEEXT\\) \\\\\n") "")
> +              (("test_testing_peerstartup2\\$\\(EXEEXT\\) \\\\\n") ""))
>              (substitute* "src/topology/Makefile"
>                (("^check_PROGRAMS.*") "\n")
>                (("test_gnunet_daemon_topology\\$\\(EXEEXT\\)\n") ""))
>              (substitute* "src/namestore/Makefile"
> -              (("\\$\\(am__append_2\\)") ""))
> +              (("\\$\\(am__append_2\\)") "")
> +              ((" test_namestore_lookup\\.sh ") " "))
> +            (substitute* "src/fs/Makefile"
> +              (("test_fs_search_with_and\\$\\(EXEEXT\\) \\\\\n") ""))
>              (substitute* "src/gns/Makefile"
> -              (("\\$\\(am__append_4\\)") ""))
> +              (("\\$\\(am__append_4\\)") "")
> +              (("test_gns_caa_lookup.sh test_gns_mx_lookup.sh") "test_gns_caa_lookup.sh"))
> +            (substitute* "src/revocation/Makefile"
> +              (("^check_SCRIPTS.*") "")
> +              (("  test_local_revocation.py\n") ""))
>              (substitute* "contrib/Makefile"
>                (("^check_PROGRAMS.*") "\n"))
>              ;; 'test' from coreutils doesn't behave as the test expects.

These needs to be commented to show that we understand why they fail and
why it's OK/expected in our build environment.  If we don't understand
why we need to investigate more/seek support from the GNUnet authors so
that they can help us figure it out or fix real problems on their end.

Thank you,

Maxim
  
Tanguy Le Carrour Feb. 22, 2022, 11:43 a.m. UTC | #2
Hi Maxim,

Thanks for taking some time to review!


Quoting Maxim Cournoyer (2022-02-21 22:23:28)
> tags 54036 moreinfo

"moreinfo" indeed! ^_^'


> Tanguy Le Carrour <tanguy@bioneland.org> writes:
> > The lint command reports problems that I don't know how and if I have to fix:
> >
> > ```
> > […]/gnu/packages/gnunet.scm:268:4: gnunet@0.15.3: label 'gnutls' does not match package name 'gnutls-dane'
> > […]/gnu/packages/gnunet.scm:268:4: gnunet@0.15.3: label 'libidn' does not match package name 'libidn2'
> > […]/gnu/packages/gnunet.scm:268:4: gnunet@0.15.3: label 'libjpeg' does not match package name 'libjpeg-turbo'
> > […]/gnu/packages/gnunet.scm:360:14: gnunet@0.15.3: permanent redirect from https://gnunet.org/ to https://www.gnunet.org/en/
> > ```
> 
> Running './pre-inst-env guix style gnunet' should take care of the first 3.

It didn't scream `style` to me, but OK. I'll do that.


> For the last one, I'd use the new suggested URL.

Oh, this one was an easy one I was supposed to fix myself! Sorry for the noise!


> > * gnu/packages/gnunet.scm (gnunet): Update to 0.15.3.
> > [arguments] Disable failing tests.
> > ---
> >  gnu/packages/gnunet.scm | 21 +++++++++++++++++----
> >  1 file changed, 17 insertions(+), 4 deletions(-)
> >
> > diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
> > index 1c09c9047b..34c6efddcb 100644
> > --- a/gnu/packages/gnunet.scm
> > +++ b/gnu/packages/gnunet.scm
> > @@ -254,7 +254,7 @@ (define-public gnurl
> >  (define-public gnunet
> >    (package
> >     (name "gnunet")
> > -   (version "0.13.1")
> > +   (version "0.15.3")
> >     (source
> >      (origin
> >        (method url-fetch)
> > @@ -262,7 +262,7 @@ (define-public gnunet
> >                            ".tar.gz"))
> >        (sha256
> >         (base32
> > -        "15jnca5zxng7r6m3qzq9lr73xxq0v6mvcp0lny3zrlkz5s2nmmq3"))))
> > +        "1iafi1rzx62lf26awmwk17ih3y7kyhr7mrqc4am8w1qyyjl6j9nn"))))
> >     (build-system gnu-build-system)
> >     (inputs
> >      `(("bluez" ,bluez)
> > @@ -301,6 +301,8 @@ (define-public gnunet
> >                (("test_transport_api_manipulation_cfg\\$\\(EXEEXT\\) \\\\\n") "")
> >                (("test_transport_api_udp_nat\\$\\(EXEEXT\\) \\\\\n") "")
> >                (("test_transport_blacklisting_multiple_plugins\\$\\(EXEEXT\\) \\\\\n") ""))
> > +            (substitute* "src/cadet/Makefile"
> > +              (("test_cadet_2_speed_reliable\\$\\(EXEEXT\\) \\\\\n") ""))
> >              (substitute* "src/testbed/Makefile"
> >                (("test_testbed_api_2peers_1controller\\$\\(EXEEXT\\) \\\\\n") "")
> >                (("test_testbed_api_statistics\\$\\(EXEEXT\\) \\\\\n") "")
> > @@ -308,13 +310,24 @@ (define-public gnunet
> >                (("test_testbed_api_test_timeout\\$\\(EXEEXT\\) \\\\\n") "")
> >                (("test_testbed_api_topology\\$\\(EXEEXT\\) \\\\\n") "")
> >                (("test_testbed_api_topology_clique\\$\\(EXEEXT\\) \\\\\n") ""))
> > +            (substitute* "src/testing/Makefile"
> > +              (("test_testing_api_cmd_netjail\\$\\(EXEEXT\\) \\\\\n") "")
> > +              (("test_testing_peerstartup\\$\\(EXEEXT\\) \\\\\n") "")
> > +              (("test_testing_peerstartup2\\$\\(EXEEXT\\) \\\\\n") ""))
> >              (substitute* "src/topology/Makefile"
> >                (("^check_PROGRAMS.*") "\n")
> >                (("test_gnunet_daemon_topology\\$\\(EXEEXT\\)\n") ""))
> >              (substitute* "src/namestore/Makefile"
> > -              (("\\$\\(am__append_2\\)") ""))
> > +              (("\\$\\(am__append_2\\)") "")
> > +              ((" test_namestore_lookup\\.sh ") " "))
> > +            (substitute* "src/fs/Makefile"
> > +              (("test_fs_search_with_and\\$\\(EXEEXT\\) \\\\\n") ""))
> >              (substitute* "src/gns/Makefile"
> > -              (("\\$\\(am__append_4\\)") ""))
> > +              (("\\$\\(am__append_4\\)") "")
> > +              (("test_gns_caa_lookup.sh test_gns_mx_lookup.sh") "test_gns_caa_lookup.sh"))
> > +            (substitute* "src/revocation/Makefile"
> > +              (("^check_SCRIPTS.*") "")
> > +              (("  test_local_revocation.py\n") ""))
> >              (substitute* "contrib/Makefile"
> >                (("^check_PROGRAMS.*") "\n"))
> >              ;; 'test' from coreutils doesn't behave as the test expects.
> 
> These needs to be commented to show that we understand why they fail and
> why it's OK/expected in our build environment.  If we don't understand
> why we need to investigate more/seek support from the GNUnet authors so
> that they can help us figure it out or fix real problems on their end.

Actually, I had a ticket [1] open for the upgrade to 0.12.2 a year ago.

[1]: https://bugs.gnunet.org/view.php?id=6114

I'll have to update it and mention it in our package definition.

Actually, I should try to enable the previously disabled tests see if
they now pass, but… running GNUnet's tests is sooooo long!!!

I'll keep you posted when I send the new patch!

Regards,
  
Maxim Cournoyer Feb. 22, 2022, 6:30 p.m. UTC | #3
Hi Tanguy,

Tanguy LE CARROUR <tanguy@bioneland.org> writes:

> Hi Maxim,
>
> Thanks for taking some time to review!
>
>
> Quoting Maxim Cournoyer (2022-02-21 22:23:28)
>> tags 54036 moreinfo
>
> "moreinfo" indeed! ^_^'
>
>
>> Tanguy Le Carrour <tanguy@bioneland.org> writes:
>> > The lint command reports problems that I don't know how and if I have to fix:
>> >
>> > ```
>> > […]/gnu/packages/gnunet.scm:268:4: gnunet@0.15.3: label 'gnutls' does not match package name 'gnutls-dane'
>> > […]/gnu/packages/gnunet.scm:268:4: gnunet@0.15.3: label 'libidn' does not match package name 'libidn2'
>> > […]/gnu/packages/gnunet.scm:268:4: gnunet@0.15.3: label 'libjpeg' does not match package name 'libjpeg-turbo'
>> > […]/gnu/packages/gnunet.scm:360:14: gnunet@0.15.3: permanent redirect from https://gnunet.org/ to https://www.gnunet.org/en/
>> > ```
>> 
>> Running './pre-inst-env guix style gnunet' should take care of the first 3.
>
> It didn't scream `style` to me, but OK. I'll do that.

You'll find out that it doesn't rewrite the inputs as I'd hope, but you
could do so by hand (see:
https://guix.gnu.org/en/blog/2021/the-big-change/), which would take
care of the lint warnings.

[...]

>> > @@ -301,6 +301,8 @@ (define-public gnunet
>> >                (("test_transport_api_manipulation_cfg\\$\\(EXEEXT\\) \\\\\n") "")
>> >                (("test_transport_api_udp_nat\\$\\(EXEEXT\\) \\\\\n") "")
>> >                (("test_transport_blacklisting_multiple_plugins\\$\\(EXEEXT\\) \\\\\n") ""))
>> > +            (substitute* "src/cadet/Makefile"
>> > +              (("test_cadet_2_speed_reliable\\$\\(EXEEXT\\) \\\\\n") ""))
>> >              (substitute* "src/testbed/Makefile"
>> >                (("test_testbed_api_2peers_1controller\\$\\(EXEEXT\\) \\\\\n") "")
>> >                (("test_testbed_api_statistics\\$\\(EXEEXT\\) \\\\\n") "")
>> > @@ -308,13 +310,24 @@ (define-public gnunet
>> >                (("test_testbed_api_test_timeout\\$\\(EXEEXT\\) \\\\\n") "")
>> >                (("test_testbed_api_topology\\$\\(EXEEXT\\) \\\\\n") "")
>> >                (("test_testbed_api_topology_clique\\$\\(EXEEXT\\) \\\\\n") ""))
>> > +            (substitute* "src/testing/Makefile"
>> > +              (("test_testing_api_cmd_netjail\\$\\(EXEEXT\\) \\\\\n") "")
>> > +              (("test_testing_peerstartup\\$\\(EXEEXT\\) \\\\\n") "")
>> > +              (("test_testing_peerstartup2\\$\\(EXEEXT\\) \\\\\n") ""))
>> >              (substitute* "src/topology/Makefile"
>> >                (("^check_PROGRAMS.*") "\n")
>> >                (("test_gnunet_daemon_topology\\$\\(EXEEXT\\)\n") ""))
>> >              (substitute* "src/namestore/Makefile"
>> > -              (("\\$\\(am__append_2\\)") ""))
>> > +              (("\\$\\(am__append_2\\)") "")
>> > +              ((" test_namestore_lookup\\.sh ") " "))
>> > +            (substitute* "src/fs/Makefile"
>> > +              (("test_fs_search_with_and\\$\\(EXEEXT\\) \\\\\n") ""))
>> >              (substitute* "src/gns/Makefile"
>> > -              (("\\$\\(am__append_4\\)") ""))
>> > +              (("\\$\\(am__append_4\\)") "")
>> > +              (("test_gns_caa_lookup.sh test_gns_mx_lookup.sh") "test_gns_caa_lookup.sh"))
>> > +            (substitute* "src/revocation/Makefile"
>> > +              (("^check_SCRIPTS.*") "")
>> > +              (("  test_local_revocation.py\n") ""))
>> >              (substitute* "contrib/Makefile"
>> >                (("^check_PROGRAMS.*") "\n"))
>> >              ;; 'test' from coreutils doesn't behave as the test expects.
>> 
>> These needs to be commented to show that we understand why they fail and
>> why it's OK/expected in our build environment.  If we don't understand
>> why we need to investigate more/seek support from the GNUnet authors so
>> that they can help us figure it out or fix real problems on their end.
>
> Actually, I had a ticket [1] open for the upgrade to 0.12.2 a year ago.
>
> [1]: https://bugs.gnunet.org/view.php?id=6114
>
> I'll have to update it and mention it in our package definition.
>
> Actually, I should try to enable the previously disabled tests see if
> they now pass, but… running GNUnet's tests is sooooo long!!!
>
> I'll keep you posted when I send the new patch!

*If* the reason these tests fail is because they rely on network, it'd
be best if upstream (the GNUnet team) could provide an easy way to opt
out of network-relying tests; we could open a ticket with them for that.

Thanks,

Maxim
  
Tanguy Le Carrour Feb. 28, 2022, 3:36 p.m. UTC | #4
Hi Maxim,

A **lot** has changed since I submitted this patch: version 0.16.0 is out!

So I decided to remove the `substitute` for all the failing tests and give it
a try, and… a lot of them seem to have been fixed!
But, even though I have no failing tests in the log, the check phase fails
with the following error message:

```
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("check") exit-status: 2 term-signal: #f stop-signal: #f>
phase `check' failed after 4846.7 seconds
command "make" "check" failed with status 2
```

I don't know on which side is the problem, Guix or GNUnet?
My only guess is that `make` is supposed to return 0, but it
actually returns 2, which could mean "some tests have been skipped."
But it's just a random guess.
Any idea what could be wrong?!

I'm anyway submitting the latest version of my patch.

The last failing test that is disabled, `test_transport_api_https`, I
can probably fix.

The good news is, if I `guix package --without-tests=gnunet gnunet` I
get a for-what-I-can-tell working GNUnet! \o/

Best regards,
  

Patch

diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 1c09c9047b..34c6efddcb 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -254,7 +254,7 @@  (define-public gnurl
 (define-public gnunet
   (package
    (name "gnunet")
-   (version "0.13.1")
+   (version "0.15.3")
    (source
     (origin
       (method url-fetch)
@@ -262,7 +262,7 @@  (define-public gnunet
                           ".tar.gz"))
       (sha256
        (base32
-        "15jnca5zxng7r6m3qzq9lr73xxq0v6mvcp0lny3zrlkz5s2nmmq3"))))
+        "1iafi1rzx62lf26awmwk17ih3y7kyhr7mrqc4am8w1qyyjl6j9nn"))))
    (build-system gnu-build-system)
    (inputs
     `(("bluez" ,bluez)
@@ -301,6 +301,8 @@  (define-public gnunet
               (("test_transport_api_manipulation_cfg\\$\\(EXEEXT\\) \\\\\n") "")
               (("test_transport_api_udp_nat\\$\\(EXEEXT\\) \\\\\n") "")
               (("test_transport_blacklisting_multiple_plugins\\$\\(EXEEXT\\) \\\\\n") ""))
+            (substitute* "src/cadet/Makefile"
+              (("test_cadet_2_speed_reliable\\$\\(EXEEXT\\) \\\\\n") ""))
             (substitute* "src/testbed/Makefile"
               (("test_testbed_api_2peers_1controller\\$\\(EXEEXT\\) \\\\\n") "")
               (("test_testbed_api_statistics\\$\\(EXEEXT\\) \\\\\n") "")
@@ -308,13 +310,24 @@  (define-public gnunet
               (("test_testbed_api_test_timeout\\$\\(EXEEXT\\) \\\\\n") "")
               (("test_testbed_api_topology\\$\\(EXEEXT\\) \\\\\n") "")
               (("test_testbed_api_topology_clique\\$\\(EXEEXT\\) \\\\\n") ""))
+            (substitute* "src/testing/Makefile"
+              (("test_testing_api_cmd_netjail\\$\\(EXEEXT\\) \\\\\n") "")
+              (("test_testing_peerstartup\\$\\(EXEEXT\\) \\\\\n") "")
+              (("test_testing_peerstartup2\\$\\(EXEEXT\\) \\\\\n") ""))
             (substitute* "src/topology/Makefile"
               (("^check_PROGRAMS.*") "\n")
               (("test_gnunet_daemon_topology\\$\\(EXEEXT\\)\n") ""))
             (substitute* "src/namestore/Makefile"
-              (("\\$\\(am__append_2\\)") ""))
+              (("\\$\\(am__append_2\\)") "")
+              ((" test_namestore_lookup\\.sh ") " "))
+            (substitute* "src/fs/Makefile"
+              (("test_fs_search_with_and\\$\\(EXEEXT\\) \\\\\n") ""))
             (substitute* "src/gns/Makefile"
-              (("\\$\\(am__append_4\\)") ""))
+              (("\\$\\(am__append_4\\)") "")
+              (("test_gns_caa_lookup.sh test_gns_mx_lookup.sh") "test_gns_caa_lookup.sh"))
+            (substitute* "src/revocation/Makefile"
+              (("^check_SCRIPTS.*") "")
+              (("  test_local_revocation.py\n") ""))
             (substitute* "contrib/Makefile"
               (("^check_PROGRAMS.*") "\n"))
             ;; 'test' from coreutils doesn't behave as the test expects.