unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Guix now in Debian experimental!
@ 2020-11-12 17:48 Vagrant Cascadian
  2020-11-12 18:19 ` Pierre Neidhardt
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Vagrant Cascadian @ 2020-11-12 17:48 UTC (permalink / raw)
  To: guix-devel

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

It's been a long haul getting all the build dependencies of guix into
Debian, but it has finally paid off:

   https://tracker.debian.org/pkg/guix

So now you can install guix from Debian's experimental distribution!

It is not well tested, in fact, I had to disable many tests, because in
Debian it is a policy violation to download from the network during a
build, but unlike guix, the policy is not necessarily enforced in any
technical way!

Many of the tests call out to the network in one way or another... So,
this lead to:

  Support GUIX_DISABLE_NETWORK_TESTS environment variable
  https://issues.guix.gnu.org/44491

Though I since learned about RES_OPTIONS=attempts:0 to disable name
resolution in glibc instead, still working on refactoring tests/*.sh to
make use of some common functions.


There are many tests that make use of bootstrap binaries which attempt
to download them during running the tests, despite networking not being
available. I have patched these tests to also not run when the network
is unreachable:

  https://salsa.debian.org/debian/guix/-/tree/debian/devel/debian/patches

My guess is these bootstrap binaries are available as inputs during the
guix package builds of guix?


I've also patched out a few tests that seemed non-deterministic, and a
few that were simply inscrutible as to why they failed. Probably need to
file bugs about those at some point... :)


I also switched the packages to only run the tests in series, just in
case parallelism was triggering issues with the tests:

  https://issues.guix.gnu.org/21097


In all, this ends up disabling about 200 out of 1100 tests in the Debian
packages. I will explore another option to run those tests outside of
the build, where network can be used, against the installed package
using:

  https://ci.debian.net


It actually builds on both amd64 and i386 with some of the above
mentioned tests disabled:

  https://buildd.debian.org/status/package.php?p=guix&suite=experimental

On armhf (ARMv7), it successfully built, but failed some test suites
that passed on amd64/i386.

On armel (ARMv4t?), where it probably shouldn't even attempt to build,
it failed in the same way it failed on armhf...

On arm64, guile-gnutls isn't available for guile-3.0, so it cannot
build:

  https://bugs.debian.org/966714

An alternative would be to build guix against guile-2.2, which has
guile-gnutls, although I did manage to find... more test suite failures
on guile-2.2 (tests/lint.scm), including one which seemed to run
indefinitely(tests/swh.scm), an infinitely thorough test!

If the guile-gnutls issues do not get sorted out soon, building against
guile-2.2 is a plausible backup plan for getting guix 1.2 into the next
Debian release (speculated to be released mid 2021)...


For other architectures, it would require considerably more courage,
though there has been work on a few of those architectures in guix
recently (e.g. hurd-i386, mips64el, powerpc, ppc64, ppc64el, and even
talk of riscv64).  Would it be interesting to run guix on one of the
more exotic architectures, Debian GNU/kFreeBSD? :)


Well, thanks for reading the status update from your entirely unofficial
Debian-Guix or Guix-Debian ambassador.


live well,
  vagrant

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

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

* Re: Guix now in Debian experimental!
  2020-11-12 17:48 Guix now in Debian experimental! Vagrant Cascadian
@ 2020-11-12 18:19 ` Pierre Neidhardt
  2020-11-12 21:32 ` Ludovic Courtès
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Pierre Neidhardt @ 2020-11-12 18:19 UTC (permalink / raw)
  To: Vagrant Cascadian, guix-devel

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

Woohoo, congratulations!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

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

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

* Re: Guix now in Debian experimental!
  2020-11-12 17:48 Guix now in Debian experimental! Vagrant Cascadian
  2020-11-12 18:19 ` Pierre Neidhardt
@ 2020-11-12 21:32 ` Ludovic Courtès
  2020-11-12 21:46 ` Christopher Lemmer Webber
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2020-11-12 21:32 UTC (permalink / raw)
  To: Vagrant Cascadian; +Cc: guix-devel

Hi!

Vagrant Cascadian <vagrant@debian.org> skribis:

> It's been a long haul getting all the build dependencies of guix into
> Debian, but it has finally paid off:
>
>    https://tracker.debian.org/pkg/guix
>
> So now you can install guix from Debian's experimental distribution!

Yay!  Quite an achievement, thumbs up, party time!  :-)

> There are many tests that make use of bootstrap binaries which attempt
> to download them during running the tests, despite networking not being
> available. I have patched these tests to also not run when the network
> is unreachable:
>
>   https://salsa.debian.org/debian/guix/-/tree/debian/devel/debian/patches
>
> My guess is these bootstrap binaries are available as inputs during the
> guix package builds of guix?

Yes, there’s a phase that copies the bootstrap Guile tarball and the
bootstrap executables (bash, mkdir, tar, and xz):

  https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/package-management.scm#n225

More precisely, it adds them to the temporary store used for the tests,
in a way that’s similar to “guix download file://$PWD/mkdir” etc.

That way, running “./test-env guix build guile-bootstrap” won’t try to
download ‘guile-bootstrap-2.0.tar.xz’ because it’ll notice that it’s
already in store, with the right hash.

Those binaries are listed as inputs further below:

  https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/package-management.scm#n375

On IRC I mentioned that perhaps you could use Debian’s /bin/mkdir etc.,
but I was wrong: the hashes really all have to match those that appear
in gnu/packages/bootstrap.scm.

> I've also patched out a few tests that seemed non-deterministic, and a
> few that were simply inscrutible as to why they failed. Probably need to
> file bugs about those at some point... :)

Yup.  :-)

> In all, this ends up disabling about 200 out of 1100 tests in the Debian
> packages. I will explore another option to run those tests outside of
> the build, where network can be used, against the installed package
> using:
>
>   https://ci.debian.net

Could be an option!

>
> It actually builds on both amd64 and i386 with some of the above
> mentioned tests disabled:
>
>   https://buildd.debian.org/status/package.php?p=guix&suite=experimental
>
> On armhf (ARMv7), it successfully built, but failed some test suites
> that passed on amd64/i386.
>
> On armel (ARMv4t?), where it probably shouldn't even attempt to build,
> it failed in the same way it failed on armhf...
>
> On arm64, guile-gnutls isn't available for guile-3.0, so it cannot
> build:
>
>   https://bugs.debian.org/966714

Bah.  :-/

> An alternative would be to build guix against guile-2.2, which has
> guile-gnutls, although I did manage to find... more test suite failures
> on guile-2.2 (tests/lint.scm), including one which seemed to run
> indefinitely(tests/swh.scm), an infinitely thorough test!
>
> If the guile-gnutls issues do not get sorted out soon, building against
> guile-2.2 is a plausible backup plan for getting guix 1.2 into the next
> Debian release (speculated to be released mid 2021)...

Do you think Andreas (or you?) could give us the backtrace of the GnuTLS
test that hangs?

> For other architectures, it would require considerably more courage,
> though there has been work on a few of those architectures in guix
> recently (e.g. hurd-i386, mips64el, powerpc, ppc64, ppc64el, and even
> talk of riscv64).  Would it be interesting to run guix on one of the
> more exotic architectures, Debian GNU/kFreeBSD? :)

It would!  But that’d also meaning porting Guix (the packages) there.  :-)

> Well, thanks for reading the status update from your entirely unofficial
> Debian-Guix or Guix-Debian ambassador.

Congrats on your diplomatic efforts, dear ambassador, and a huge thank you!

Ludo’.


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

* Re: Guix now in Debian experimental!
  2020-11-12 17:48 Guix now in Debian experimental! Vagrant Cascadian
  2020-11-12 18:19 ` Pierre Neidhardt
  2020-11-12 21:32 ` Ludovic Courtès
@ 2020-11-12 21:46 ` Christopher Lemmer Webber
  2020-11-13  5:40 ` Jan Nieuwenhuizen
  2020-11-14  2:51 ` zimoun
  4 siblings, 0 replies; 6+ messages in thread
From: Christopher Lemmer Webber @ 2020-11-12 21:46 UTC (permalink / raw)
  To: Vagrant Cascadian; +Cc: guix-devel

This!  Is!  Awesome!

I think Guix in Debian could be huge and help both massively.  Well,
I've said so more than once in the past.  I believe it!  What's easy to
package in one tends to be easy to package in the other.  Just imagine
if we encouraged more developers using Debian as their host OS to use
"guix environment" (or eventually "guix shell") for their development
environments instead of one million incompatible language package
managers!

Vagrant Cascadian writes:

> It's been a long haul getting all the build dependencies of guix into
> Debian, but it has finally paid off:
>
>    https://tracker.debian.org/pkg/guix
>
> So now you can install guix from Debian's experimental distribution!
>
> It is not well tested, in fact, I had to disable many tests, because in
> Debian it is a policy violation to download from the network during a
> build, but unlike guix, the policy is not necessarily enforced in any
> technical way!
>
> Many of the tests call out to the network in one way or another... So,
> this lead to:
>
>   Support GUIX_DISABLE_NETWORK_TESTS environment variable
>   https://issues.guix.gnu.org/44491
>
> Though I since learned about RES_OPTIONS=attempts:0 to disable name
> resolution in glibc instead, still working on refactoring tests/*.sh to
> make use of some common functions.
>
>
> There are many tests that make use of bootstrap binaries which attempt
> to download them during running the tests, despite networking not being
> available. I have patched these tests to also not run when the network
> is unreachable:
>
>   https://salsa.debian.org/debian/guix/-/tree/debian/devel/debian/patches
>
> My guess is these bootstrap binaries are available as inputs during the
> guix package builds of guix?
>
>
> I've also patched out a few tests that seemed non-deterministic, and a
> few that were simply inscrutible as to why they failed. Probably need to
> file bugs about those at some point... :)
>
>
> I also switched the packages to only run the tests in series, just in
> case parallelism was triggering issues with the tests:
>
>   https://issues.guix.gnu.org/21097
>
>
> In all, this ends up disabling about 200 out of 1100 tests in the Debian
> packages. I will explore another option to run those tests outside of
> the build, where network can be used, against the installed package
> using:
>
>   https://ci.debian.net
>
>
> It actually builds on both amd64 and i386 with some of the above
> mentioned tests disabled:
>
>   https://buildd.debian.org/status/package.php?p=guix&suite=experimental
>
> On armhf (ARMv7), it successfully built, but failed some test suites
> that passed on amd64/i386.
>
> On armel (ARMv4t?), where it probably shouldn't even attempt to build,
> it failed in the same way it failed on armhf...
>
> On arm64, guile-gnutls isn't available for guile-3.0, so it cannot
> build:
>
>   https://bugs.debian.org/966714
>
> An alternative would be to build guix against guile-2.2, which has
> guile-gnutls, although I did manage to find... more test suite failures
> on guile-2.2 (tests/lint.scm), including one which seemed to run
> indefinitely(tests/swh.scm), an infinitely thorough test!
>
> If the guile-gnutls issues do not get sorted out soon, building against
> guile-2.2 is a plausible backup plan for getting guix 1.2 into the next
> Debian release (speculated to be released mid 2021)...
>
>
> For other architectures, it would require considerably more courage,
> though there has been work on a few of those architectures in guix
> recently (e.g. hurd-i386, mips64el, powerpc, ppc64, ppc64el, and even
> talk of riscv64).  Would it be interesting to run guix on one of the
> more exotic architectures, Debian GNU/kFreeBSD? :)
>
>
> Well, thanks for reading the status update from your entirely unofficial
> Debian-Guix or Guix-Debian ambassador.
>
>
> live well,
>   vagrant



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

* Re: Guix now in Debian experimental!
  2020-11-12 17:48 Guix now in Debian experimental! Vagrant Cascadian
                   ` (2 preceding siblings ...)
  2020-11-12 21:46 ` Christopher Lemmer Webber
@ 2020-11-13  5:40 ` Jan Nieuwenhuizen
  2020-11-14  2:51 ` zimoun
  4 siblings, 0 replies; 6+ messages in thread
From: Jan Nieuwenhuizen @ 2020-11-13  5:40 UTC (permalink / raw)
  To: Vagrant Cascadian; +Cc: guix-devel

Vagrant Cascadian writes:

Hello!

> It's been a long haul getting all the build dependencies of guix into
> Debian, but it has finally paid off:
>
>    https://tracker.debian.org/pkg/guix
>
> So now you can install guix from Debian's experimental distribution!

That's an amazing achievement, congratulations!

Greetings,
Janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com


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

* Re: Guix now in Debian experimental!
  2020-11-12 17:48 Guix now in Debian experimental! Vagrant Cascadian
                   ` (3 preceding siblings ...)
  2020-11-13  5:40 ` Jan Nieuwenhuizen
@ 2020-11-14  2:51 ` zimoun
  4 siblings, 0 replies; 6+ messages in thread
From: zimoun @ 2020-11-14  2:51 UTC (permalink / raw)
  To: Vagrant Cascadian, guix-devel

Hi Vagrant,

On Thu, 12 Nov 2020 at 09:48, Vagrant Cascadian <vagrant@debian.org> wrote:

> So now you can install guix from Debian's experimental distribution!

Awesome!

Let see how the popcon will increase. ;-)

   https://qa.debian.org/popcon.php?package=guix


> I've also patched out a few tests that seemed non-deterministic, and a
> few that were simply inscrutible as to why they failed. Probably need to
> file bugs about those at some point... :)

Speaking about non-deterministic, do you know why

--8<---------------cut here---------------start------------->8---
Thu Nov 12 09:36:57 UTC 2020  E: Download of guix=1.1.0+67260.9e2523-2 sources (for experimental) failed.
--8<---------------cut here---------------end--------------->8---

from

  https://tests.reproducible-builds.org/debian/rb-pkg/experimental/amd64/guix.html

?  Just by curiosity.



> It actually builds on both amd64 and i386 with some of the above
> mentioned tests disabled:
>
>   https://buildd.debian.org/status/package.php?p=guix&suite=experimental
>
> On armhf (ARMv7), it successfully built, but failed some test suites
> that passed on amd64/i386.

Wow, the diversity of architectures increases. ;-)


> For other architectures, it would require considerably more courage,
> though there has been work on a few of those architectures in guix
> recently (e.g. hurd-i386, mips64el, powerpc, ppc64, ppc64el, and even
> talk of riscv64).  Would it be interesting to run guix on one of the
> more exotic architectures, Debian GNU/kFreeBSD? :)

Let’s dream to Diverse Double Compilation at the kernel level using
cross-compilation with Hurd and kFreeBSD. :-)  At each step, using a DDC
compiler:

CrossCompil(linux on Hurd)     = Linux-H
CrossCompil(linux on kFreeBSD) = Linux-F

Compil(linux on Linux-H)  = Linux-X
Compil(linux on Linux-F)  = Linux-Y

Compil(linux on Linux-X)  = Linux-A
Compil(linux on Linux-Y)  = Linux-B

if Linux-A == Linux-B then ok else ko. :-)

Somehow. ;-)


Cheers,
simon


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

end of thread, other threads:[~2020-11-14  3:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-12 17:48 Guix now in Debian experimental! Vagrant Cascadian
2020-11-12 18:19 ` Pierre Neidhardt
2020-11-12 21:32 ` Ludovic Courtès
2020-11-12 21:46 ` Christopher Lemmer Webber
2020-11-13  5:40 ` Jan Nieuwenhuizen
2020-11-14  2:51 ` zimoun

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).