Package: guix;
Reported by: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Date: Mon, 23 Oct 2023 16:28:01 UTC
Severity: important
Done: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Simon Tournier <zimon.toutoune <at> gmail.com> To: Ludovic Courtès <ludo <at> gnu.org>, 66705 <at> debbugs.gnu.org Subject: bug#66705: ‘guix shell -CW’ provides a Guix command without extra channels Date: Mon, 23 Oct 2023 21:14:08 +0200
Hi, On Mon, 23 Oct 2023 at 18:52, Ludovic Courtès <ludo <at> gnu.org> wrote: > Actually, the original profile, which contains ‘guix’ and its channels, > *is* available in the environment: > > --8<---------------cut here---------------start------------->8--- > $ guix time-machine -C <(echo '(cons (channel (name (quote guix-hpc)) (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git")) %default-channels)') -- shell -CW coreutils > [env]$ readlink -f $(type -P guix) > /gnu/store/42731vcvzl6nrwa584mziwhpvp4xs72r-guix-command > [env]$ type -P guix > /gnu/store/ca142m4lm0grxmsjqrcqpfl5qb5i1rka-profile/bin/guix > [env]$ readlink $(type -P guix) > /gnu/store/j5g09kjd7pv1b6919vbsnjs160xfw9md-profile/bin/guix > [env]$ /gnu/store/j5g09kjd7pv1b6919vbsnjs160xfw9md-profile/bin/guix describe > guix cbd20d6 > repository URL: https://git.savannah.gnu.org/git/guix.git > branch: master > commit: ]8;;https://git.savannah.gnu.org/cgit/guix.git/commit/?id=cbd20d627497053871db863970c07d93c7081786\cbd20d627497053871db863970c07d93c7081786]8;;\ > guix-hpc 887d76a > repository URL: https://gitlab.inria.fr/guix-hpc/guix-hpc.git > branch: master > commit: ]8;;https://gitlab.inria.fr/guix-hpc/guix-hpc/commit/887d76a8e1d0f35d615c613b28b9b871f39a997e\887d76a8e1d0f35d615c613b28b9b871f39a997e]8;;\ > --8<---------------cut here---------------end--------------->8--- > > The problem is the extra profile layer that confuses > ‘current-channel-entries’ in (guix describe). Oh. Naive remarks. The ’guix’ in the manifest points to the correct one with both channels. --8<---------------cut here---------------start------------->8--- $ guix time-machine -C <(echo '(cons (channel (name (quote guix-hpc)) (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git")) %default-channels)') -- shell -CW coreutils [env]$ cat $GUIX_ENVIRONMENT/manifest ;; This file was automatically generated and is for internal use only. ;; It cannot be passed to the '--manifest' option. ;; Run 'guix package --export-manifest' if you want to export a file ;; suitable for '--manifest'. (manifest (version 4) (packages (("coreutils" "9.1" "out" "/gnu/store/d4rqw481nwvrzs09nd8ad647nczgm9k1-coreutils-9.1") ("guix" "cbd20d627497053871db863970c07d93c7081786" "out" "/gnu/store/vrmfn5142771vzma3nzivb8j3zx9780v-profile" (search-paths (("GUIX_EXTENSIONS_PATH" ("share/guix/extensions") ":" directory #f) ("SSL_CERT_DIR" ("etc/ssl/certs") #f directory #f))))))) [env]$ /gnu/store/vrmfn5142771vzma3nzivb8j3zx9780v-profile/bin/guix describe guix cbd20d6 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: ]8;;https://git.savannah.gnu.org/cgit/guix.git/commit/?id=cbd20d627497053871db863970c07d93c7081786\cbd20d627497053871db863970c07d93c7081786]8;;\ guix-hpc ef21e73 repository URL: https://gitlab.inria.fr/guix-hpc/guix-hpc.git branch: master commit: ]8;;https://gitlab.inria.fr/guix-hpc/guix-hpc/commit/ef21e73d09e792c3ed18b2483a6290b8309bd929\ef21e73d09e792c3ed18b2483a6290b8309bd929]8;;\ --8<---------------cut here---------------end--------------->8--- Well, what appears to me weird is that the ’guix’ I type is incorrect but points to a correct one. --8<---------------cut here---------------start------------->8--- [env]$ ls -l $(type -P guix) lrwxrwxrwx 1 65534 overflow 60 Jan 1 1970 /gnu/store/519kyqhl1n5r6cj0jbpkc77v4mnf6ip9-profile/bin/guix -> /gnu/store/vrmfn5142771vzma3nzivb8j3zx9780v-profile/bin/guix [env]$ /gnu/store/519kyqhl1n5r6cj0jbpkc77v4mnf6ip9-profile/bin/guix describe guix cbd20d6 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: ]8;;https://git.savannah.gnu.org/cgit/guix.git/commit/?id=cbd20d627497053871db863970c07d93c7081786\cbd20d627497053871db863970c07d93c7081786]8;;\ [env]$ /gnu/store/vrmfn5142771vzma3nzivb8j3zx9780v-profile/bin/guix describe guix cbd20d6 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: ]8;;https://git.savannah.gnu.org/cgit/guix.git/commit/?id=cbd20d627497053871db863970c07d93c7081786\cbd20d627497053871db863970c07d93c7081786]8;;\ guix-hpc ef21e73 repository URL: https://gitlab.inria.fr/guix-hpc/guix-hpc.git branch: master commit: ]8;;https://gitlab.inria.fr/guix-hpc/guix-hpc/commit/ef21e73d09e792c3ed18b2483a6290b8309bd929\ef21e73d09e792c3ed18b2483a6290b8309bd929]8;;\ --8<---------------cut here---------------end--------------->8--- Well, another way to express, This is due to the fact that ‘-W’ (‘--nesting’) is implemented by adding the outer ‘guix’ to the container’s profile, without also adding its companion profile entries (those that provide channels). is to note that the manifest file is incorrect and does not contain the outer manifest file, right? --8<---------------cut here---------------start------------->8--- [env]$ cat /gnu/store/519kyqhl1n5r6cj0jbpkc77v4mnf6ip9-profile/manifest ;; This file was automatically generated and is for internal use only. ;; It cannot be passed to the '--manifest' option. ;; Run 'guix package --export-manifest' if you want to export a file ;; suitable for '--manifest'. (manifest (version 4) (packages (("coreutils" "9.1" "out" "/gnu/store/d4rqw481nwvrzs09nd8ad647nczgm9k1-coreutils-9.1") ("guix" "cbd20d627497053871db863970c07d93c7081786" "out" "/gnu/store/vrmfn5142771vzma3nzivb8j3zx9780v-profile" (search-paths (("GUIX_EXTENSIONS_PATH" ("share/guix/extensions") ":" directory #f) ("SSL_CERT_DIR" ("etc/ssl/certs") #f directory #f))))))) [env]$ cat /gnu/store/vrmfn5142771vzma3nzivb8j3zx9780v-profile/manifest ;; This file was automatically generated and is for internal use only. ;; It cannot be passed to the '--manifest' option. ;; Run 'guix package --export-manifest' if you want to export a file ;; suitable for '--manifest'. (manifest (version 3) (packages (("guix" "cbd20d6" "out" "/gnu/store/xhim59kcwjnccsvyjv2cv2sbmid9lxm9-guix-cbd20d627" (propagated-inputs ()) (search-paths ()) (properties (source (repository (version 0) (url "https://git.savannah.gnu.org/git/guix.git") (branch "master") (commit "cbd20d627497053871db863970c07d93c7081786") (name guix) (introduction (channel-introduction (version 0) (commit "9edb3f66fd807b096b48283debdcddccfea34bad") (signer "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))))) ("guix-hpc" "ef21e73" "out" "/gnu/store/hjjwsjwm3csih0764f2mkbd65h44j7fz-guix-hpc" (propagated-inputs ()) (search-paths ()) (properties (source (repository (version 0) (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git") (branch "master") (commit "ef21e73d09e792c3ed18b2483a6290b8309bd929") (name guix-hpc)))))))) --8<---------------cut here---------------end--------------->8--- Cheers, simon
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.