Gabriel Wicki <gabr...@erlikon.ch> writes: > Howdy! > > So, mysterious things seem to happen on my machines - yes, that's right, > i managed to reproduce the following behaviour. But see yourself: > > Guix pull fails (has guix-past been rebased or force-pushed?) > > gabriel@silvi ~$ guix pull > Updating channel 'guix' from Git repository at > 'https://git.savannah.gnu.org/git/guix.git'... > Updating channel 'gabber' from Git repository at > 'https://git.sr.ht/~gabber/gabber-channel'... > Updating channel 'nonguix' from Git repository at > 'https://gitlab.com/nonguix/nonguix'... > Updating channel 'guix-gaming-games' from Git repository at > 'https://gitlab.com/guix-gaming-channels/games.git'... > Updating channel 'guix-past' from Git repository at > 'https://codeberg.org/guix-science/guix-past.git'... > guix pull: error: aborting update of channel 'guix-past' to commit > f99ada4123de1eadf668d34dac2d726407634549, which is not a descendant of > 5fb77cce01f21a03b8f5a9c873067691cf09d057 > hint: This could indicate that the channel has been tampered with and is > trying to force a roll-back, > preventing you from getting the latest updates. If you think this is not > the case, explicitly allow > non-forward updates. > > So i investigate: > > gabriel@silvi ~$ guix describe > Generation 21 Oct 23 2024 22:56:15 (current) > guix 5f4ba1c > repository URL: https://git.savannah.gnu.org/git/guix.git > branch: master > commit: 5f4ba1c09fa0fba1ed230b80bae9f6a4d0d2d303 > gabber 20f7905 > repository URL: https://git.sr.ht/~gabber/gabber-channel > branch: trunk > commit: 20f7905206826e0d110cab57974b3426683ac814 > nonguix ad966c3 > repository URL: https://gitlab.com/nonguix/nonguix > branch: master > commit: ad966c3844385e8f7b60b0dc915f92a1eba47e09 > guix-gaming-games 5762eda > repository URL: https://gitlab.com/guix-gaming-channels/games.git > branch: master > commit: 5762eda50230715555da5beb0f4d06a5456bb5c0 > guix-past 5fb77cc > repository URL: https://gitlab.inria.fr/guix-hpc/guix-past > branch: master > commit: 5fb77cce01f21a03b8f5a9c873067691cf09d057 > > Weirdly enough, guix-past is not im my channels configuration (which is > managed by guix home): > > gabriel@silvi ~$ cat .config/guix/channels.scm > (list (channel > (name 'guix) > (url "https://git.savannah.gnu.org/git/guix.git") > (branch "master") > (introduction > (make-channel-introduction > "9edb3f66fd807b096b48283debdcddccfea34bad" > (openpgp-fingerprint > "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))) > (channel > (name 'gabber) > (url "https://git.sr.ht/~gabber/gabber-channel") > (branch "trunk")) > (channel > (name 'nonguix) > (url "https://gitlab.com/nonguix/nonguix") > (branch "master") > (introduction > (make-channel-introduction > "897c1a470da759236cc11798f4e0a5f7d4d59fbc" > (openpgp-fingerprint > "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) > (channel > (name 'guix-gaming-games) > (url "https://gitlab.com/guix-gaming-channels/games.git") > (branch "master") > (introduction > (make-channel-introduction > "c23d64f1b8cc086659f8781b27ab6c7314c5cca5" > (openpgp-fingerprint > "50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F"))))) > > And even pulling with explicitly stating the channels file (which i > thought would **only** pull the channels described in said file) fails > pulling guix-past -- which is *not* part of that very file: > > gabriel@silvi ~$ guix pull --channels=!$ > guix pull --channels=.config/guix/channels.scm > Updating channel 'guix' from Git repository at > 'https://git.savannah.gnu.org/git/guix.git'... > Updating channel 'gabber' from Git repository at > 'https://git.sr.ht/~gabber/gabber-channel'... > Updating channel 'nonguix' from Git repository at > 'https://gitlab.com/nonguix/nonguix'... > Updating channel 'guix-gaming-games' from Git repository at > 'https://gitlab.com/guix-gaming-channels/games.git'... > Updating channel 'guix-past' from Git repository at > 'https://codeberg.org/guix-science/guix-past.git'... > guix pull: error: aborting update of channel 'guix-past' to commit > f99ada4123de1eadf668d34dac2d726407634549, which is not a descendant of > 5fb77cce01f21a03b8f5a9c873067691cf09d057 > hint: This could indicate that the channel has been tampered with and is > trying to force a roll-back, > preventing you from getting the latest updates. If you think this is not > the case, explicitly allow > non-forward updates. > > Needless to say, `guix-past' is (seemingly) defined nowhere on my > system. > > gabriel@silvi ~$ sudo cat /etc/guix/channels.scm > (list (channel (name (quote guix)) (url > "https://git.savannah.gnu.org/git/guix.git") (branch "master") (introduction > (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" > (openpgp-fingerprint "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) > > Any ideas where this is coming from and/or how i can work around this > issue? Or where /else/ i could look. Thanks for any input! > > gabber
Hi Gabriel, Just like packages can depend on other packages, so Guix channels can depend on other channels. A channel can define dependencies in the .guix-channel file at the root of each repository. Checking through each channel, I found that guix-gaming-games depends on guix-past. As for getting around it, you could try running "guix pull --roll-back" and try pulling again. Hope that helps, James