GNU bug report logs - #46650
Making package transformation options available to 'guix pull'?

Previous Next

Package: guix;

Reported by: Carl Dong <contact <at> carldong.me>

Date: Fri, 19 Feb 2021 23:26:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Ludovic Courtès <ludo <at> gnu.org>
To: Carl Dong <contact <at> carldong.me>
Cc: 46650 <at> debbugs.gnu.org
Subject: bug#46650: Extending package transformation options
Date: Sat, 20 Feb 2021 14:57:57 +0100
Hi,

Carl Dong <contact <at> carldong.me> skribis:

> One of the main reasons for switching over to Guix is for its bootstrappbility and the ability to perform `--bootstrap --no-substitutes` builds. As mentioned in the gnutls ticket, performing these source-based builds can sometimes reveal problems with tests suites:
> 1. Spurious tests
> 2. “Expiring” tests (like the gnutls one)
> 3. Foreign distro problems (0zmcam9sdiag9s1qx3xvlf8a3jnm53x2-sed-4.8.drv fails to build on SELinux-based distros because of a test failure in testsuite/inplace-selinux)

Yes, these flaky/uncontrolled problems were one of the motivations for
‘--without-tests’.

> However, in the case of our workflow above, there is no way to specify `--without-tests=` to `guix time-machine`, which insists on building the broken `gnutls` package and running its tests. I’ve tried isolating the command to just:
>
> --8<---------------cut here---------------start------------->8---
> $ guix time-machine --commit=<pinned-guix> … \
>        -- --help
> --8<---------------cut here---------------end--------------->8—
>
> To make sure that it’s `guix time-machine` which is trying to build gnutls and not the time-machine’d `guix environment`.

Package transformation options currently only apply to packages
specified on the command line of ‘guix install’, ‘guix build’, etc.
These options are not available to ‘guix system’, ‘guix pull’, and other
non-package-oriented commands.

Guix as returned by ‘guix pull’ and ‘guix time-machine’ depends on
GnuTLS.  So here, we have a special case: to build Guix itself, you need
to build GnuTLS first, and there’s no way to pass ‘--without-tests’ at
that level.

I’m not sure how to change that because unfortunately, ‘guix pull’ and
‘time-machine’ don’t even know that Guix depends on GnuTLS; only the
target Guix knows about this.  :-/

Thanks,
Ludo’.




This bug report was last modified 4 years and 87 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.