Subject: bug#55826: guix pull fails on local channel

From: Tobias Geerinckx-Rice <[email-masked]>
Date: Tue, 07 Jun 2022 11:34:35 +0200

Hi!

Kjartan Oli Agustsson 写道：
>> Updating channel 'kjartan' from Git repository at 
>> 'file:///home/kjartan/guix-custom'...
>> Authenticating channel 'kjartan', commits 3bd6c82 to 6677083 (1 
>> new commits)...
>> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>> #<unknown port>:5:1: unexpected end of input while searching 
>> for: )

Guile errors are quite literal-minded, most of the time.  All the 
world's a string, and parsing it an adventure.

This error means that you have a missing or mismatched closing ) 
somewhere, or didn't close a " so Guile doesn't see it, or…

It's impossible to say more without seeing the code.

> If I delete the git repository and re-initialize it the pull is
> successful, but once I commit any changes to this new repository 
> the
> problem re-appears.

It must be some specific change/file, not any change.

A quick and dirty

  ~/guix-custom$ guix repl -L. <each/scheme/file/in/turn.scm

might be enough: Guile will print all kinds of things to ignore, 
but if you see the same error about searching for ), you'll know 
that the problem is in that file.

But really…

> Does anyone have any clues as to what could be
> wrong, or how I could go about debugging this?

…use an editor (like emacs, but other fine and graphical editors 
are available) that balances or at least highlights brackets. 
Manually counting them is madness and not how anybody writes Lisps 
in real life.

> If it helps the channel definition is:
> (channel
>   (name 'kjartan) 
> 	(url "file:///home/kjartan/guix-custom")
> 	(introduction
> 		 (make-channel-introduction
>       	"3bd6c82a5bb588c35ead0458036aac0ef60f166a"
> 				(openpgp-fingerprint
> 		    	 "4801 0D71 49C0 1DD6 E5FD  6AC9 D757 2FE3 
> 605E E6B0"))))

This looks fine, but I was unable to clone the repository. :-)

Kind regards,

T G-R