[-- 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 --]
[-- 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 --]
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’.
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
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
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