unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* GNU Guix 1.3.0rc2 available for testing!
@ 2021-05-08 20:22 Maxim Cournoyer
  2021-05-09 16:25 ` Leo Famulari
  2021-05-12 11:03 ` Chris Marusich
  0 siblings, 2 replies; 11+ messages in thread
From: Maxim Cournoyer @ 2021-05-08 20:22 UTC (permalink / raw)
  To: guix-devel; +Cc: guix-maintainers

Hello Guix!

A second RC for the upcoming 1.3.0 release is now available for testing:

  source:
    https://alpha.gnu.org/gnu/guix/guix-1.3.0rc2.tar.gz

  binary tarball (to install on a “foreign distro”):
    https://alpha.gnu.org/gnu/guix/guix-binary-1.3.0rc2.aarch64-linux.tar.xz
    https://alpha.gnu.org/gnu/guix/guix-binary-1.3.0rc2.armhf-linux.tar.xz
    https://alpha.gnu.org/gnu/guix/guix-binary-1.3.0rc2.i686-linux.tar.xz
    https://alpha.gnu.org/gnu/guix/guix-binary-1.3.0rc2.powerpc64le-linux.tar.xz
    https://alpha.gnu.org/gnu/guix/guix-binary-1.3.0rc2.x86_64-linux.tar.xz

  system installation:

https://alpha.gnu.org/gnu/guix/guix-system-install-1.3.0rc2.i686-linux.iso

https://alpha.gnu.org/gnu/guix/guix-system-install-1.3.0rc2.x86_64-linux.iso

  virtual machine image:

https://alpha.gnu.org/gnu/guix/guix-system-vm-image-1.3.0rc2.x86_64-linux.qcow2

SHA256 hashes:

18baef75195d702f6b9f8b623d8a64164aad63581b1478e1668e81ca6e6b6425
guix-1.3.0rc2.tar.gz
8a7d2fab6a46f0bdd753a1d7cb2e0fb1d6bbdb27b951c357eb6b2655bca768ce
guix-binary-1.3.0rc2.aarch64-linux.tar.xz
e60ce44cecb039755348688234092e113a7280d059c460395ec4ef51c2d3239b
guix-binary-1.3.0rc2.armhf-linux.tar.xz
082f5bdb159dc09dac31a8c64b3b2e18cbf22c420fb17ad15f8f7d813a6701db
guix-binary-1.3.0rc2.i686-linux.tar.xz
1cad283b1d13983c25622d68f7492f7f11271e22df592a74372b7f4033eab5f1
guix-binary-1.3.0rc2.powerpc64le-linux.tar.xz
83dc8f00d3c0c02468900a875db83c70b9812e94487dfe209965527c294d5795
guix-binary-1.3.0rc2.x86_64-linux.tar.xz
ac9364ecf11c7f6a307e24eba1a42d04babeb4170763d91532e66caf461b0e69
guix-system-vm-image-1.3.0rc2.x86_64-linux.qcow2
b4bfe750615331b0dfd344dc842cfb0e72b1b87f67b62ce2bcdd823509e4d70d
guix-system-install-1.3.0rc2.i686-linux.iso
479a4a1bf7dbb0149b62fa9380014fa5dc881664fb2e43117d6c6a3bc69cc506
guix-system-install-1.3.0rc2.x86_64-linux.iso

All these files have an associated ‘.sig’, an OpenPGP signature that you
can verify as explained at
<https://guix.gnu.org/manual/en/html_node/Binary-Installation.html> [0].

Compared to RC1, this release candidate has seen minor improvements such
as fixes in the build system, improvements to the installation script
and the addition of the spice-vdagent service to the provided VM image.
The installation script can now automatically retrieve the required
OpenPGP keys.  The ISO images are no longer manually compressed, which
should make them easier to use.  The VM .qcow2 images are no longer
manually compressed with xz, as the qcow2 format used by 'guix system
image -t qcow2' is already compressed.  The 'wget' utility is now
included out of the box.  A locale warning problem was fixed.

You can help by:

  1. Testing the binary tarball on the distro of your choice.  You can
     download <https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh?h=version-1.3.0&id=dde029147619cdee9956dfa053933f9a4e619b5d>.  Uncomment the
     ‘GNU_URL’ variable assignment that refers to alpha.gnu.org and it
     should pick up 1.3.0rc2 automatically.

  2. Testing the graphical installer of Guix System.

  3. Testing the VM image.

In any case, please report success, failure, and annoyances in this
thread.

Thanks to those who have provided feedback so far!  The planned release
date for v1.3.0 is this Monday, May 10th.

Thank you!

Maxim

[0] Replacing https://sv.gnu.org/people/viewgpg.php?user_id=15145 by
https://sv.gnu.org/people/viewgpg.php?user_id=127547 in the
instructions.  This will only be reflected on the website after the
release is made.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: GNU Guix 1.3.0rc2 available for testing!
  2021-05-08 20:22 GNU Guix 1.3.0rc2 available for testing! Maxim Cournoyer
@ 2021-05-09 16:25 ` Leo Famulari
  2021-05-10  0:46   ` Maxim Cournoyer
  2021-05-10 14:49   ` Leo Famulari
  2021-05-12 11:03 ` Chris Marusich
  1 sibling, 2 replies; 11+ messages in thread
From: Leo Famulari @ 2021-05-09 16:25 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: guix-devel, guix-maintainers

On Sat, May 08, 2021 at 04:22:33PM -0400, Maxim Cournoyer wrote:
>   1. Testing the binary tarball on the distro of your choice.  You can
>      download <https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh?h=version-1.3.0&id=dde029147619cdee9956dfa053933f9a4e619b5d>.  Uncomment the
>      ‘GNU_URL’ variable assignment that refers to alpha.gnu.org and it
>      should pick up 1.3.0rc2 automatically.

I tested this on Debian x86_64, and it worked well. It's nice that it
offers to fetch the signing keys for the user.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: GNU Guix 1.3.0rc2 available for testing!
  2021-05-09 16:25 ` Leo Famulari
@ 2021-05-10  0:46   ` Maxim Cournoyer
  2021-05-10 14:49   ` Leo Famulari
  1 sibling, 0 replies; 11+ messages in thread
From: Maxim Cournoyer @ 2021-05-10  0:46 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel, guix-maintainers

Hi Leo,

Leo Famulari <leo@famulari.name> writes:

> On Sat, May 08, 2021 at 04:22:33PM -0400, Maxim Cournoyer wrote:
>>   1. Testing the binary tarball on the distro of your choice.  You can
>>      download <https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh?h=version-1.3.0&id=dde029147619cdee9956dfa053933f9a4e619b5d>.  Uncomment the
>>      ‘GNU_URL’ variable assignment that refers to alpha.gnu.org and it
>>      should pick up 1.3.0rc2 automatically.
>
> I tested this on Debian x86_64, and it worked well. It's nice that it
> offers to fetch the signing keys for the user.

Great!  Thanks for the report.  Note that for a quick install it's now
possible to do something like: yes | sudo ./guix-install.sh :-).

Thanks,

Maxim


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: GNU Guix 1.3.0rc2 available for testing!
  2021-05-09 16:25 ` Leo Famulari
  2021-05-10  0:46   ` Maxim Cournoyer
@ 2021-05-10 14:49   ` Leo Famulari
  1 sibling, 0 replies; 11+ messages in thread
From: Leo Famulari @ 2021-05-10 14:49 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: guix-devel, guix-maintainers

On Sun, May 09, 2021 at 12:25:06PM -0400, Leo Famulari wrote:
> I tested this on Debian x86_64, and it worked well. It's nice that it
> offers to fetch the signing keys for the user.

I also had a successful test on aarch64.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: GNU Guix 1.3.0rc2 available for testing!
  2021-05-08 20:22 GNU Guix 1.3.0rc2 available for testing! Maxim Cournoyer
  2021-05-09 16:25 ` Leo Famulari
@ 2021-05-12 11:03 ` Chris Marusich
  2021-05-14 16:07   ` Maxim Cournoyer
  1 sibling, 1 reply; 11+ messages in thread
From: Chris Marusich @ 2021-05-12 11:03 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: guix-devel, guix-maintainers

[-- Attachment #1: Type: text/plain, Size: 4498 bytes --]

Hi,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> A second RC for the upcoming 1.3.0 release is now available for testing:

Thank you for preparing it!

I tested the binary installation using the guix-install.sh script for
1.3.0 (not the rc2 candidate, but the actual 1.3.0 release, which I
noticed was on the FTP server already).  I tested on powerpc64le-linux
and found no major issues; it worked as expected.

I did "guix pull" and "guix build hello".  To my surprise, I received a
substitute:

marusich@guixtestbed:~$ guix build hello
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
0.1 MB will be downloaded:
   /gnu/store/zcs3cj0mqixwng2ldf92haab2vkpsicb-hello-2.10
substituting /gnu/store/zcs3cj0mqixwng2ldf92haab2vkpsicb-hello-2.10...
downloading from https://ci.guix.gnu.org/nar/lzip/zcs3cj0mqixwng2ldf92haab2vkpsicb-hello-2.10 ...
 hello-2.10  52KiB                    239KiB/s 00:00 [##################] 100.0%
/gnu/store/zcs3cj0mqixwng2ldf92haab2vkpsicb-hello-2.10

I guess something is building powerpc64le-linux substitutes?  I had
thought no substitutes would be available, but certainly it is not a
problem if substitutes are being built for powerpc64le-linux already.

I tried building from source on Debian 10 buster ppc64el.  It succeeded,
but "make check" reported one test failure.  It was in tests/go.scm:

--8<---------------cut here---------------start------------->8---
test-name: go-module->guix-package
location: /home/marusich/guix-1.3.0/tests/go.scm:254
source:
+ (test-equal
+   "go-module->guix-package"
+   '(package
+      (name "go-github-com-go-check-check")
+      (version "0.0.0-20201130134442-10cb98267c6c")
+      (source
+        (origin
+          (method git-fetch)
+          (uri (git-reference
+                 (url "https://github.com/go-check/check")
+                 (commit (go-version->git-ref version))))
+          (file-name (git-file-name name version))
+          (sha256
+            (base32
+              "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5"))))
+      (build-system go-build-system)
+      (arguments
+        '(#:import-path "github.com/go-check/check"))
+      (propagated-inputs
+        `(("go-github-com-kr-pretty"
+           ,go-github-com-kr-pretty)))
+      (home-page "https://github.com/go-check/check")
+      (synopsis "Instructions")
+      (description
+        "Package check is a rich testing extension for Go's testing package.")
+      (license license:bsd-2))
+   (call-with-temporary-directory
+     (lambda (checkout)
+       (mock ((web client)
+              http-get
+              (mock-http-get fixtures-go-check-test))
+             (mock ((guix http-client)
+                    http-fetch
+                    (mock-http-fetch fixtures-go-check-test))
+                   (mock ((guix git)
+                          update-cached-checkout
+                          (lambda* (url #:key ref)
+                            (values
+                              checkout
+                              (nix-base32-string->bytevector
+                                "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5")
+                              #f)))
+                         (go-module->guix-package
+                           "github.com/go-check/check")))))))
expected-value: (package (name "go-github-com-go-check-check") (version "0.0.0-20201130134442-10cb98267c6c") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/go-check/check") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 (base32 "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5")))) (build-system go-build-system) (arguments (quote (#:import-path "github.com/go-check/check"))) (propagated-inputs (quasiquote (("go-github-com-kr-pretty" (unquote go-github-com-kr-pretty))))) (home-page "https://github.com/go-check/check") (synopsis "Instructions") (description "Package check is a rich testing extension for Go's testing package.") (license license:bsd-2))
actual-value: #f
actual-error:
+ (wrong-number-of-args
+   #f
+   "Wrong number of arguments to ~A"
+   (#<procedure html->sxml-0nf (input)>)
+   #f)
result: FAIL
--8<---------------cut here---------------end--------------->8---

Seems like an issue in code related to importing go packages.  I didn't
check if it was reported already.

-- 
Chris

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: GNU Guix 1.3.0rc2 available for testing!
  2021-05-12 11:03 ` Chris Marusich
@ 2021-05-14 16:07   ` Maxim Cournoyer
  2021-06-03  8:46     ` Chris Marusich
  0 siblings, 1 reply; 11+ messages in thread
From: Maxim Cournoyer @ 2021-05-14 16:07 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

Hi Chris!

Sorry for the delayed answer.

Chris Marusich <cmmarusich@gmail.com> writes:

> Hi,
>
> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>> A second RC for the upcoming 1.3.0 release is now available for testing:
>
> Thank you for preparing it!
>
> I tested the binary installation using the guix-install.sh script for
> 1.3.0 (not the rc2 candidate, but the actual 1.3.0 release, which I
> noticed was on the FTP server already).  I tested on powerpc64le-linux
> and found no major issues; it worked as expected.

Good :-).

> I did "guix pull" and "guix build hello".  To my surprise, I received a
> substitute:
>
> marusich@guixtestbed:~$ guix build hello
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> 0.1 MB will be downloaded:
>    /gnu/store/zcs3cj0mqixwng2ldf92haab2vkpsicb-hello-2.10
> substituting /gnu/store/zcs3cj0mqixwng2ldf92haab2vkpsicb-hello-2.10...
> downloading from https://ci.guix.gnu.org/nar/lzip/zcs3cj0mqixwng2ldf92haab2vkpsicb-hello-2.10 ...
>  hello-2.10  52KiB                    239KiB/s 00:00 [##################] 100.0%
> /gnu/store/zcs3cj0mqixwng2ldf92haab2vkpsicb-hello-2.10
>
> I guess something is building powerpc64le-linux substitutes?  I had
> thought no substitutes would be available, but certainly it is not a
> problem if substitutes are being built for powerpc64le-linux already.

The graciously provided POWER9 VM from OSUOSL is not yet hooked to the
CI (as a Cuirass worker), as you can see here [0].  I'm guessing the
little substitutes available are a side-effect of my initial testing
from Berlin directly, which can offload manually started builds to the
offload machines.

> I tried building from source on Debian 10 buster ppc64el.  It succeeded,
> but "make check" reported one test failure.  It was in tests/go.scm:
>
> test-name: go-module->guix-package
> location: /home/marusich/guix-1.3.0/tests/go.scm:254
> source:
> + (test-equal
> +   "go-module->guix-package"
> +   '(package
> +      (name "go-github-com-go-check-check")
> +      (version "0.0.0-20201130134442-10cb98267c6c")
> +      (source
> +        (origin
> +          (method git-fetch)
> +          (uri (git-reference
> +                 (url "https://github.com/go-check/check")
> +                 (commit (go-version->git-ref version))))
> +          (file-name (git-file-name name version))
> +          (sha256
> +            (base32
> +              "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5"))))
> +      (build-system go-build-system)
> +      (arguments
> +        '(#:import-path "github.com/go-check/check"))
> +      (propagated-inputs
> +        `(("go-github-com-kr-pretty"
> +           ,go-github-com-kr-pretty)))
> +      (home-page "https://github.com/go-check/check")
> +      (synopsis "Instructions")
> +      (description
> +        "Package check is a rich testing extension for Go's testing package.")
> +      (license license:bsd-2))
> +   (call-with-temporary-directory
> +     (lambda (checkout)
> +       (mock ((web client)
> +              http-get
> +              (mock-http-get fixtures-go-check-test))
> +             (mock ((guix http-client)
> +                    http-fetch
> +                    (mock-http-fetch fixtures-go-check-test))
> +                   (mock ((guix git)
> +                          update-cached-checkout
> +                          (lambda* (url #:key ref)
> +                            (values
> +                              checkout
> +                              (nix-base32-string->bytevector
> +                                "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5")
> +                              #f)))
> +                         (go-module->guix-package
> +                           "github.com/go-check/check")))))))
> expected-value: (package (name "go-github-com-go-check-check") (version "0.0.0-20201130134442-10cb98267c6c") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/go-check/check") (commit (go-version->git-ref version)))) (file-name (git-file-name name version)) (sha256 (base32 "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5")))) (build-system go-build-system) (arguments (quote (#:import-path "github.com/go-check/check"))) (propagated-inputs (quasiquote (("go-github-com-kr-pretty" (unquote go-github-com-kr-pretty))))) (home-page "https://github.com/go-check/check") (synopsis "Instructions") (description "Package check is a rich testing extension for Go's testing package.") (license license:bsd-2))
> actual-value: #f
> actual-error:
> + (wrong-number-of-args
> +   #f
> +   "Wrong number of arguments to ~A"
> +   (#<procedure html->sxml-0nf (input)>)
> +   #f)
> result: FAIL

The go importer depends on a recent version of guile-lib (0.2.7), which
added a new #:strict argument to the HTML parser.  We should probably
skip the test depending on the already available HAVE_GUILE_LIB Automake
conditional, like so:

--8<---------------cut here---------------start------------->8---
modified   Makefile.am
@@ -457,7 +457,6 @@ SCM_TESTS =					\
   tests/git-authenticate.scm			\
   tests/glob.scm				\
   tests/gnu-maintenance.scm			\
-  tests/go.scm					\
   tests/grafts.scm				\
   tests/graph.scm				\
   tests/gremlin.scm				\
@@ -505,6 +504,10 @@ SCM_TESTS =					\
   tests/uuid.scm				\
   tests/workers.scm
 
+if HAVE_GUILE_LIB
+SCM_TESTS += tests/go.scm
+endif
+
 if BUILD_DAEMON_OFFLOAD
 SCM_TESTS  += tests/offload.scm
 else
--8<---------------cut here---------------end--------------->8---

Could you give the above a try?  Feel free to commit it if it works as
expected.

Thank you,

Maxim


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: GNU Guix 1.3.0rc2 available for testing!
  2021-05-14 16:07   ` Maxim Cournoyer
@ 2021-06-03  8:46     ` Chris Marusich
  2021-08-03 14:41       ` Maxim Cournoyer
  2021-08-27 19:00       ` Maxim Cournoyer
  0 siblings, 2 replies; 11+ messages in thread
From: Chris Marusich @ 2021-06-03  8:46 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 3203 bytes --]

Hi Maxim,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> Sorry for the delayed answer.

No worries!  I've waited even longer in replying to you now, so we're
even.  :-)

> The go importer depends on a recent version of guile-lib (0.2.7), which
> added a new #:strict argument to the HTML parser.  We should probably
> skip the test depending on the already available HAVE_GUILE_LIB Automake
> conditional, like so:
>
> modified   Makefile.am
> @@ -457,7 +457,6 @@ SCM_TESTS =					\
>    tests/git-authenticate.scm			\
>    tests/glob.scm				\
>    tests/gnu-maintenance.scm			\
> -  tests/go.scm					\
>    tests/grafts.scm				\
>    tests/graph.scm				\
>    tests/gremlin.scm				\
> @@ -505,6 +504,10 @@ SCM_TESTS =					\
>    tests/uuid.scm				\
>    tests/workers.scm
>  
> +if HAVE_GUILE_LIB
> +SCM_TESTS += tests/go.scm
> +endif
> +
>  if BUILD_DAEMON_OFFLOAD
>  SCM_TESTS  += tests/offload.scm
>  else
>
> Could you give the above a try?  Feel free to commit it if it works as
> expected.

I tested this, and it works.  Thank you!  I can now build the release
(with this change) and run the tests (make check) successfully;
tests/go.scm is just omitted from the tests to run.

By chance, I noticed the following lines below what you added:

--8<---------------cut here---------------start------------->8---
if HAVE_GUILE_LIB
SCM_TESTS += tests/go.scm
endif

if BUILD_DAEMON_OFFLOAD
SCM_TESTS  += tests/offload.scm
else
EXTRA_DIST += tests/offload.scm
endif
--8<---------------cut here---------------end--------------->8---

I guess that if we omit tests/go.scm from SCM_TESTS, it not only means
that the test won't be run, but it also means the test won't get
included in the tarball distribution ("make dist").  Is that right?  It
seems undesirable to omit this test from the distribution just because
the machine on which the distribution was built might have lacked the
library necessary to run the test.  Someone who builds Guix from the
distribution might actually have that library installed and thus be able
to run the test.  To ensure that this test always gets included in the
distribution, perhaps we should also add it to EXTRA_DIST like so:

--8<---------------cut here---------------start------------->8---
diff -u a/Makefile.am b/Makefile.am
--- a/Makefile.am       2021-05-11 11:09:31.000000000 -0700
+++ b/Makefile.am       2021-06-02 12:55:06.134793001 -0700
@@ -457,7 +457,6 @@
   tests/git-authenticate.scm                   \
   tests/glob.scm                               \
   tests/gnu-maintenance.scm                    \
-  tests/go.scm                                 \
   tests/grafts.scm                             \
   tests/graph.scm                              \
   tests/gremlin.scm                            \
@@ -505,6 +504,12 @@
   tests/uuid.scm                               \
   tests/workers.scm
 
+if HAVE_GUILE_LIB
+SCM_TESTS += tests/go.scm
+else
+EXTRA_DIST += tests/go.scm
+endif
+
 if BUILD_DAEMON_OFFLOAD
 SCM_TESTS  += tests/offload.scm
 else
--8<---------------cut here---------------end--------------->8---

What do you think?

-- 
Chris

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: GNU Guix 1.3.0rc2 available for testing!
  2021-06-03  8:46     ` Chris Marusich
@ 2021-08-03 14:41       ` Maxim Cournoyer
  2021-08-27 19:00       ` Maxim Cournoyer
  1 sibling, 0 replies; 11+ messages in thread
From: Maxim Cournoyer @ 2021-08-03 14:41 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

Hello Chris,

Chris Marusich <cmmarusich@gmail.com> writes:

> Hi Maxim,
>
> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>> Sorry for the delayed answer.
>
> No worries!  I've waited even longer in replying to you now, so we're
> even.  :-)
>
>> The go importer depends on a recent version of guile-lib (0.2.7), which
>> added a new #:strict argument to the HTML parser.  We should probably
>> skip the test depending on the already available HAVE_GUILE_LIB Automake
>> conditional, like so:
>>
>> modified   Makefile.am
>> @@ -457,7 +457,6 @@ SCM_TESTS =					\
>>    tests/git-authenticate.scm			\
>>    tests/glob.scm				\
>>    tests/gnu-maintenance.scm			\
>> -  tests/go.scm					\
>>    tests/grafts.scm				\
>>    tests/graph.scm				\
>>    tests/gremlin.scm				\
>> @@ -505,6 +504,10 @@ SCM_TESTS =					\
>>    tests/uuid.scm				\
>>    tests/workers.scm
>>  
>> +if HAVE_GUILE_LIB
>> +SCM_TESTS += tests/go.scm
>> +endif
>> +
>>  if BUILD_DAEMON_OFFLOAD
>>  SCM_TESTS  += tests/offload.scm
>>  else
>>
>> Could you give the above a try?  Feel free to commit it if it works as
>> expected.
>
> I tested this, and it works.  Thank you!  I can now build the release
> (with this change) and run the tests (make check) successfully;
> tests/go.scm is just omitted from the tests to run.
>
> By chance, I noticed the following lines below what you added:
>
> if HAVE_GUILE_LIB
> SCM_TESTS += tests/go.scm
> endif
>
> if BUILD_DAEMON_OFFLOAD
> SCM_TESTS  += tests/offload.scm
> else
> EXTRA_DIST += tests/offload.scm
> endif
>
>
> I guess that if we omit tests/go.scm from SCM_TESTS, it not only means
> that the test won't be run, but it also means the test won't get
> included in the tarball distribution ("make dist").  Is that right?  It
> seems undesirable to omit this test from the distribution just because
> the machine on which the distribution was built might have lacked the
> library necessary to run the test.  Someone who builds Guix from the
> distribution might actually have that library installed and thus be able
> to run the test.  To ensure that this test always gets included in the
> distribution, perhaps we should also add it to EXTRA_DIST like so:
>
> diff -u a/Makefile.am b/Makefile.am
> --- a/Makefile.am       2021-05-11 11:09:31.000000000 -0700
> +++ b/Makefile.am       2021-06-02 12:55:06.134793001 -0700
> @@ -457,7 +457,6 @@
>    tests/git-authenticate.scm                   \
>    tests/glob.scm                               \
>    tests/gnu-maintenance.scm                    \
> -  tests/go.scm                                 \
>    tests/grafts.scm                             \
>    tests/graph.scm                              \
>    tests/gremlin.scm                            \
> @@ -505,6 +504,12 @@
>    tests/uuid.scm                               \
>    tests/workers.scm
>  
> +if HAVE_GUILE_LIB
> +SCM_TESTS += tests/go.scm
> +else
> +EXTRA_DIST += tests/go.scm
> +endif
> +
>  if BUILD_DAEMON_OFFLOAD
>  SCM_TESTS  += tests/offload.scm
>  else
>
> What do you think?

Well observed!  Makes sense to me.  Feel free to push such change if you
haven't already.

Thank you!

Maxim


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: GNU Guix 1.3.0rc2 available for testing!
  2021-06-03  8:46     ` Chris Marusich
  2021-08-03 14:41       ` Maxim Cournoyer
@ 2021-08-27 19:00       ` Maxim Cournoyer
  2021-08-30 23:06         ` Patched shebangs in Autoconf-provided scripts Ludovic Courtès
  1 sibling, 1 reply; 11+ messages in thread
From: Maxim Cournoyer @ 2021-08-27 19:00 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

Hello Chris!

Chris Marusich <cmmarusich@gmail.com> writes:

[...]

> I tested this, and it works.  Thank you!  I can now build the release
> (with this change) and run the tests (make check) successfully;
> tests/go.scm is just omitted from the tests to run.
>
> By chance, I noticed the following lines below what you added:
>
> if HAVE_GUILE_LIB
> SCM_TESTS += tests/go.scm
> endif
>
> if BUILD_DAEMON_OFFLOAD
> SCM_TESTS  += tests/offload.scm
> else
> EXTRA_DIST += tests/offload.scm
> endif
>
>
> I guess that if we omit tests/go.scm from SCM_TESTS, it not only means
> that the test won't be run, but it also means the test won't get
> included in the tarball distribution ("make dist").  Is that right?  It
> seems undesirable to omit this test from the distribution just because
> the machine on which the distribution was built might have lacked the
> library necessary to run the test.  Someone who builds Guix from the
> distribution might actually have that library installed and thus be able
> to run the test.  To ensure that this test always gets included in the
> distribution, perhaps we should also add it to EXTRA_DIST like so:
>
> diff -u a/Makefile.am b/Makefile.am
> --- a/Makefile.am       2021-05-11 11:09:31.000000000 -0700
> +++ b/Makefile.am       2021-06-02 12:55:06.134793001 -0700
> @@ -457,7 +457,6 @@
>    tests/git-authenticate.scm                   \
>    tests/glob.scm                               \
>    tests/gnu-maintenance.scm                    \
> -  tests/go.scm                                 \
>    tests/grafts.scm                             \
>    tests/graph.scm                              \
>    tests/gremlin.scm                            \
> @@ -505,6 +504,12 @@
>    tests/uuid.scm                               \
>    tests/workers.scm
>
> +if HAVE_GUILE_LIB
> +SCM_TESTS += tests/go.scm
> +else
> +EXTRA_DIST += tests/go.scm
> +endif
> +
>  if BUILD_DAEMON_OFFLOAD
>  SCM_TESTS  += tests/offload.scm
>  else
>
> What do you think?

Well observed!  I test with the following environment, with and without
guile-lib, and could confirm that the tests/go.scm file was missing from
the dist archive when guile-lib was not present.

--8<---------------cut here---------------start------------->8---
guix environment --ad-hoc --pure autoconf@2.69 automake@1.16.2 bzip2@1.0.8 disarchive@0.2.1 gettext-minimal@0.20.1 glibc-utf8-locales@2.31 gnutls@3.6.15 graphviz@2.42.3 guile-avahi@0.4.0-1.6d43caf guile-gcrypt@0.3.0 guile-git@0.5.2 guile-json@4.5.2 guile-lzlib@0.0.2 guile-sqlite3@0.1.2 guile-ssh@0.13.1 guile-zlib@0.1.0 guile-zstd@0.1.1 guile@3.0.7 gzip@1.10 help2man@1.47.13 libgcrypt@1.8.5 pkg-config@0.29.2 po4a@0.63 sqlite@3.31.1 texinfo@6.7 util-linux@2.35.1 git sed gawk findutils diffutils perl coreutils grep automake autoconf gettext xz tar gzip make gcc-toolchain imagemagick help2man
[env]$ ./bootstrap && ./configure && make -j32 && make dist
--8<---------------cut here---------------end--------------->8---

There was a problem where these files had embedded file names:

--8<---------------cut here---------------start------------->8---
guix-1.3.0rc2.5207-ce515/build-aux/config.guess:#!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
guix-1.3.0rc2.5207-ce515/build-aux/config.sub:#!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
guix-1.3.0rc2.5207-ce515/build-aux/install-sh:#!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
error: store file names embedded in the distribution
--8<---------------cut here---------------end--------------->8---

I had not seen this issue and it'll need to be investigated.  For now I
disabled the check to get the dist archive produced.

Pushed with 0f853ab7731da4784a24cad7b08d6b9b633f5787.

Thank you!

Maxim


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Patched shebangs in Autoconf-provided scripts
  2021-08-27 19:00       ` Maxim Cournoyer
@ 2021-08-30 23:06         ` Ludovic Courtès
  2021-08-31  2:47           ` Maxim Cournoyer
  0 siblings, 1 reply; 11+ messages in thread
From: Ludovic Courtès @ 2021-08-30 23:06 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: guix-devel

Hi!

Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:

> There was a problem where these files had embedded file names:
>
> guix-1.3.0rc2.5207-ce515/build-aux/config.guess:#!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
> guix-1.3.0rc2.5207-ce515/build-aux/config.sub:#!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
> guix-1.3.0rc2.5207-ce515/build-aux/install-sh:#!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
> error: store file names embedded in the distribution
>
> I had not seen this issue and it'll need to be investigated.  For now I
> disabled the check to get the dist archive produced.

These three files are installed by ‘autoreconf -i’ (unless already
present), and I’m afraid our automake/autoconf packages ship them with
those shebangs:

--8<---------------cut here---------------start------------->8---
$ head -1 $(find $(guix build autoconf) -name config.guess)
#!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
$ head -1 $(find $(guix build autoconf) -name config.sub)
#!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
$ head -1 $(find $(guix build automake) -name install-sh)
#!/bin/sh
--8<---------------cut here---------------end--------------->8---

So automake is good thanks to its ‘unpatch-shebangs’ phase (maybe your
‘install-sh’ file predates that fix?), but autoconf is not.  Reported!

Anyway, the simple solution is to manually edit those three files so
they read #!/bin/sh and you’ll be fine!

Ludo’.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Patched shebangs in Autoconf-provided scripts
  2021-08-30 23:06         ` Patched shebangs in Autoconf-provided scripts Ludovic Courtès
@ 2021-08-31  2:47           ` Maxim Cournoyer
  0 siblings, 0 replies; 11+ messages in thread
From: Maxim Cournoyer @ 2021-08-31  2:47 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Hi Ludo,

Ludovic Courtès <ludo@gnu.org> writes:

> Hi!
>
> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>
>> There was a problem where these files had embedded file names:
>>
>> guix-1.3.0rc2.5207-ce515/build-aux/config.guess:#!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
>> guix-1.3.0rc2.5207-ce515/build-aux/config.sub:#!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
>> guix-1.3.0rc2.5207-ce515/build-aux/install-sh:#!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
>> error: store file names embedded in the distribution
>>
>> I had not seen this issue and it'll need to be investigated.  For now I
>> disabled the check to get the dist archive produced.
>
> These three files are installed by ‘autoreconf -i’ (unless already
> present), and I’m afraid our automake/autoconf packages ship them with
> those shebangs:
>
> $ head -1 $(find $(guix build autoconf) -name config.guess)
> #!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
> $ head -1 $(find $(guix build autoconf) -name config.sub)
> #!/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/sh
> $ head -1 $(find $(guix build automake) -name install-sh)
> #!/bin/sh
>
> So automake is good thanks to its ‘unpatch-shebangs’ phase (maybe your
> ‘install-sh’ file predates that fix?), but autoconf is not.  Reported!

Thanks for reporting the issue :-).  It'll be one to fix before the
release.

> Anyway, the simple solution is to manually edit those three files so
> they read #!/bin/sh and you’ll be fine!

Yep, the purpose of the test here was simply producing a dist archive to
see what was in so it was not critical, but it'll come back in the
picture as soon as we enter release mode :-).

Thanks,

Maxim


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-08-31  2:48 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-08 20:22 GNU Guix 1.3.0rc2 available for testing! Maxim Cournoyer
2021-05-09 16:25 ` Leo Famulari
2021-05-10  0:46   ` Maxim Cournoyer
2021-05-10 14:49   ` Leo Famulari
2021-05-12 11:03 ` Chris Marusich
2021-05-14 16:07   ` Maxim Cournoyer
2021-06-03  8:46     ` Chris Marusich
2021-08-03 14:41       ` Maxim Cournoyer
2021-08-27 19:00       ` Maxim Cournoyer
2021-08-30 23:06         ` Patched shebangs in Autoconf-provided scripts Ludovic Courtès
2021-08-31  2:47           ` Maxim Cournoyer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).