Simon Tournier wrote 2 years ago
(address . bug-guix@gnu.org)
Hi,
Consider this channels.scm file:
Toggle snippet (15 lines)
$ cat /tmp/channels.scm
(list (channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(branch "master")
(commit
"710d9050524213a83e4ce9efe9765d7fbc233839"))
(channel
(name 'bimsb)
(url "https://github.com/BIMSBbioinfo/guix-bimsb.git")
(branch "master")
(commit
"240a599f77dab7dcb8d2ed091b90056e58a46c51")))
Then, assume Github is down forever. Guix will lookup to Software
Heritage (SWH) for the channel bimsb. So far, so good. However, then
it fails:
Toggle snippet (8 lines)
$ guix time-machine -C /tmp/channels.scm -- describe
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Updating channel 'bimsb' from Git repository at 'https://github.com/BIMSBbioinfo/guix-bimsb.git'...
/tmp/channels.scm:95:6: warning: channel 'bimsb' lacks 'introduction' field but '.guix-authorizations' found
Updating channel 'guix-past' from Git repository at 'https://gitlab.inria.fr/guix-hpc/guix-past'...
guix time-machine: error: Git error: failed to resolve address for gitlab.inria.fr: Name or service not known
The main reason is because the channel bimsb contains the file
.guix-channel which reads,
Toggle snippet (11 lines)
(channel
(version 0)
(dependencies
(channel
(name guix-past)
(url "https://gitlab.inria.fr/guix-hpc/guix-past"))
(channel
(name guix-science)
(url "https://github.com/guix-science/guix-science.git"))))
And Guix is not able to fallback to SWH for these channels.
Corollary, even if it was able, what is the correct revision of
the guix-past or guix-science channels?
This report is about two bugs:
1. transparent fallback to SWH for .guix-channel dependencies
2. pin all channels when running “guix describe”, even the ones from
.guix-channel dependencies.
This #2 is annoying because it makes the workflow:
guix time-machine -C channels.scm -- shell -m manifest.scm
unpractical when user relies on channels with dependencies.
Cheers,
simon