cyclically dependent channels crashes guix pull

OpenSubmitted by Martin Becze.
Details
3 participants
  • Marius Bakke
  • Martin Becze
  • zimoun
Owner
unassigned
Severity
normal
M
M
Martin Becze wrote on 4 May 04:38 +0200
(address . bug-guix@gnu.org)
834cde6a-8d43-6abe-819c-414611846cee@riseup.net
Cyclically dependent channels crashes guix pull. Cyclically dependentchannels probably shouldn't happen, but guix pull probably shouldn't gointo an endless loop and die either.
Cheers!,-Martin
M
M
Marius Bakke wrote on 4 May 18:16 +0200
87wo5rznel.fsf@devup.no
Martin Becze <mjbecze@riseup.net> writes:
Toggle quote (4 lines)> Cyclically dependent channels crashes guix pull. Cyclically dependent> channels probably shouldn't happen, but guix pull probably shouldn't go> into an endless loop and die either.
Can you provide a channel configuration that reproduces this?
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl6wP8IACgkQoqBt8qM6VPpxOggAqOM7P0AtyypF4u3p48mZ1c6Ccehc0Qeb3NX+XuR2j+DskrbAVKH7W9d/UDXvXE34QTyEj0rphyWvqqJEJFiTiSXhmAouXLTXqVQyhEmDjiu2c3F95DJ0iUGsRsspViZebgBgCEVekbPQMlWDlDrMpiS7OQGQvBG+7fF6UCFM2L/qqbbIUHXooS6pAv+jqn6F6QQX2r5NFrzFEtE4BK3n5z6H/6F8OFUB6BhJLJ7CWIZTJRbDLXX6mwN9WdHhQS/vnk+yVYq53LFxFzUXJaWpT/WzCJXmo9a/gnZ0PwWVkQ0orBH8hrY+Q20LXloGItPGv+aOxlmJsdP9uZdVqpldmQ===9w4A-----END PGP SIGNATURE-----
Z
Z
zimoun wrote on 4 May 19:06 +0200
(name . Marius Bakke)(address . mbakke@fastmail.com)
CAJ3okZ0-T10dRqH8bBmbOfHgys0wETSe=hozW3K_CG+vFd5mfA@mail.gmail.com
On Mon, 4 May 2020 at 18:23, Marius Bakke <mbakke@fastmail.com> wrote:
Toggle quote (9 lines)>> Martin Becze <mjbecze@riseup.net> writes:>> > Cyclically dependent channels crashes guix pull. Cyclically dependent> > channels probably shouldn't happen, but guix pull probably shouldn't go> > into an endless loop and die either.>> Can you provide a channel configuration that reproduces this?
When one channel depends on another one which depends on the first.
This /tmp/channel1/ contains this .guix-channel
Toggle snippet (10 lines)(channel (version 0) (dependencies (channel (name channel2-from-channel1) (url "file:///tmp/channel2") (branch "master"))))

This /tmp/channel2/ contains this .guix-channel
Toggle snippet (9 lines)(channel (version 0) (dependencies (channel (name channel1-from-channel2) (url "file:///tmp/channel1") (branch "master"))))
And for example, the file 'my-channels.scm' contains:
Toggle snippet (16 lines)(list (channel (name 'channel1) (url "file:///tmp/channel1") (branch "master")) (channel (name 'channel2) (url "file:///tmp/channel2") (branch "master")) (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (commit "aea6ab2f4ca060e68f8539cd612b0ce088627557")))

Then guix pull -C /tmp/my-channels.scm will be "Updating ..." for ever. :-)


Hope that helps.
All the best,simon
?