Sudden unexplained error during guix pull: "channel dependency has an invalid introduction field"

  • Open
  • quality assurance status badge
Details
3 participants
  • Josselin Poiret
  • N. Y.
  • Simon Tournier
Owner
unassigned
Submitted by
N. Y.
Severity
normal
N
(address . bug-guix@gnu.org)
CAEavL=Wrpc=RtEGO5c1QXo27Y7o7-174je1hkOqjcgMp=mT+gw@mail.gmail.com
Hi all,

I am suddenly having errors with guix pull while pulling my own custom
channels, after upgrading guix yesterday. My custom channels has not
changed since early April. I am sure I was able to pull from my custom
channels when I last upgraded around early June.

The error is "channel dependency has an invalid introduction field," but
the introduction fields of my custom channels have the same form as those I
use for GNU guix and nonguix channels which I can pull without errors; and
the channel introductions and GPG fingerprints are unchanged from the last
time I was able to pull successfully (I have the channels.scm file under
version control).

There are two private channels. Including either of them are sufficient to
replicate the error; at least one is necessary to replicate the error.

Command line output:

ning@bluecoral ~/roamdb/notes/tasks$ guix pull
Updating channel 'guix' from Git repository at '
Updating channel 'nonguix' from Git repository at '
Updating channel 'ninguix' from Git repository at '
/home/ning/.cache/guix/checkouts/y6rzf466if75ebhoqonk2dqs6ac5d75tvkvziqptmqvawztuphda/.guix-channel:10:4:
error: channel dependency has an invalid introduction field

ning@bluecoral ~/roamdb/notes/tasks$ guix --version
guix (GNU Guix) b94cbbbce70f59b795526a0ed305facf041e6faa
Copyright (C) 2023 the Guix authors
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
Toggle quote (1 lines)
>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

ning@bluecoral ~/roamdb/notes/tasks$ cat ~/.config/guix/channels.scm
(list (channel
(name 'guix)
(branch "master")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"
(openpgp-fingerprint
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))
(channel
(name 'nonguix)
(branch "master")
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
(channel
(name 'ninguix)
(branch "main")
(introduction
(make-channel-introduction
"3f7eb8b5064445d72649b1b27f714b86f3946a9a"
(openpgp-fingerprint
"4523 A758 035C 5177 7A8F 1E1F 2CB0 E8CD 7035 5FB7"))))
(channel
(name 'ninguix-private)
(url "git@github.com:ning-y/ninguix-private.git")
(branch "main")
(introduction
(make-channel-introduction
"01f91f7dba5a4949a0719e0ff0e85bb8b0050128"
(openpgp-fingerprint
"4523 A758 035C 5177 7A8F 1E1F 2CB0 E8CD 7035 5FB7")))))
Attachment: file
S
S
Simon Tournier wrote on 19 Jun 2023 16:44
87edm7a4vc.fsf@gmail.com
Hi,

On Wed, 14 Jun 2023 at 01:56, "N. Y." <ningyuan.sg@gmail.com> wrote:

Toggle quote (5 lines)
> Updating channel 'ninguix' from Git repository at '
> https://github.com/ning-y/ninguix'...
> /home/ning/.cache/guix/checkouts/y6rzf466if75ebhoqonk2dqs6ac5d75tvkvziqptmqvawztuphda/.guix-channel:10:4:
> error: channel dependency has an invalid introduction field

[...]

Toggle quote (10 lines)
> (channel
> (name 'ninguix)
> (url "https://github.com/ning-y/ninguix")
> (branch "main")
> (introduction
> (make-channel-introduction
> "3f7eb8b5064445d72649b1b27f714b86f3946a9a"
> (openpgp-fingerprint
> "4523 A758 035C 5177 7A8F 1E1F 2CB0 E8CD 7035 5FB7"))))

The branch ’keyring’ seems empty, is it expected? I mean the manual
reads:

Additionally, your channel must provide all the OpenPGP keys
that were ever mentioned in .guix-authorizations, stored as .key
files, which can be either binary or “ASCII-armored”. By
default, those .key files are searched for in the branch named
keyring but you can specify a different branch name in
.guix-channel like so:


Cheers,
simon
N
(name . Simon Tournier)(address . zimon.toutoune@gmail.com)(address . 64059@debbugs.gnu.org)
CAEavL=UK+yn8dcB0mEZK-4EtpqDk5UCEgL5ujsscSpaTA=UthQ@mail.gmail.com
Hi Simon,

Thanks for taking a look! The keyring branch doesn't seem empty on my end,

Maybe it looks empty because it is an orphan branch? I always had it as an
orphan branch though (that part never changed) and it had worked before.

On Tue, Jun 20, 2023, 00:36 Simon Tournier <zimon.toutoune@gmail.com> wrote:

Toggle quote (38 lines)
> Hi,
>
> On Wed, 14 Jun 2023 at 01:56, "N. Y." <ningyuan.sg@gmail.com> wrote:
>
> > Updating channel 'ninguix' from Git repository at '
> > https://github.com/ning-y/ninguix'...
> >
> /home/ning/.cache/guix/checkouts/y6rzf466if75ebhoqonk2dqs6ac5d75tvkvziqptmqvawztuphda/.guix-channel:10:4:
> > error: channel dependency has an invalid introduction field
>
> [...]
>
> > (channel
> > (name 'ninguix)
> > (url "https://github.com/ning-y/ninguix")
> > (branch "main")
> > (introduction
> > (make-channel-introduction
> > "3f7eb8b5064445d72649b1b27f714b86f3946a9a"
> > (openpgp-fingerprint
> > "4523 A758 035C 5177 7A8F 1E1F 2CB0 E8CD 7035 5FB7"))))
>
> The branch ’keyring’ seems empty, is it expected? I mean the manual
> reads:
>
> Additionally, your channel must provide all the OpenPGP keys
> that were ever mentioned in .guix-authorizations, stored as .key
> files, which can be either binary or “ASCII-armored”. By
> default, those .key files are searched for in the branch named
> keyring but you can specify a different branch name in
> .guix-channel like so:
>
>
> https://guix.gnu.org/manual/devel/en/guix.html#Specifying-Channel-Authorizations
>
> Cheers,
> simon
>
Attachment: file
N
(address . 64059@debbugs.gnu.org)(name . Simon Tournier)(address . zimon.toutoune@gmail.com)
CAEavL=X=mEHOjr8irpbNQFO=9JYG=j0Qjiag1NjcAEOeUL9YyQ@mail.gmail.com
I was able to pull my custom channels without error after pinning the GNU
f2e98587 (21 May). The Guix CLI version for this commit was version
d884fc9e2efecfba09af4694f5a13ad7fc6f704f.

(channel
(name 'guix)
; (branch "master")
(commit "f2e98587ec72b5f5c2ec79956ced129350396bab")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"
(openpgp-fingerprint
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))

ning@bluecoral ~/repos/guix$ guix --version
guix (GNU Guix) d884fc9e2efecfba09af4694f5a13ad7fc6f704f
Copyright (C) 2023 the Guix authors
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
Toggle quote (1 lines)
>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

On Mon, Jun 19, 2023 at 5:21?PM N. Y. <ningyuan.sg@gmail.com> wrote:

Toggle quote (50 lines)
> Hi Simon,
>
> Thanks for taking a look! The keyring branch doesn't seem empty on my end,
> though. https://github.com/ning-y/ninguix/tree/keyring
>
> Maybe it looks empty because it is an orphan branch? I always had it as an
> orphan branch though (that part never changed) and it had worked before.
>
> On Tue, Jun 20, 2023, 00:36 Simon Tournier <zimon.toutoune@gmail.com>
> wrote:
>
>> Hi,
>>
>> On Wed, 14 Jun 2023 at 01:56, "N. Y." <ningyuan.sg@gmail.com> wrote:
>>
>> > Updating channel 'ninguix' from Git repository at '
>> > https://github.com/ning-y/ninguix'...
>> >
>> /home/ning/.cache/guix/checkouts/y6rzf466if75ebhoqonk2dqs6ac5d75tvkvziqptmqvawztuphda/.guix-channel:10:4:
>> > error: channel dependency has an invalid introduction field
>>
>> [...]
>>
>> > (channel
>> > (name 'ninguix)
>> > (url "https://github.com/ning-y/ninguix")
>> > (branch "main")
>> > (introduction
>> > (make-channel-introduction
>> > "3f7eb8b5064445d72649b1b27f714b86f3946a9a"
>> > (openpgp-fingerprint
>> > "4523 A758 035C 5177 7A8F 1E1F 2CB0 E8CD 7035 5FB7"))))
>>
>> The branch ’keyring’ seems empty, is it expected? I mean the manual
>> reads:
>>
>> Additionally, your channel must provide all the OpenPGP keys
>> that were ever mentioned in .guix-authorizations, stored as .key
>> files, which can be either binary or “ASCII-armored”. By
>> default, those .key files are searched for in the branch named
>> keyring but you can specify a different branch name in
>> .guix-channel like so:
>>
>>
>> https://guix.gnu.org/manual/devel/en/guix.html#Specifying-Channel-Authorizations
>>
>> Cheers,
>> simon
>>
>
Attachment: file
J
J
Josselin Poiret wrote on 20 Jun 2023 11:19
87y1ke4hja.fsf@jpoiret.xyz
Hi Ning,

"N. Y." <ningyuan.sg@gmail.com> writes:

Toggle quote (7 lines)
> The error is "channel dependency has an invalid introduction field," but
> the introduction fields of my custom channels have the same form as those I
> use for GNU guix and nonguix channels which I can pull without errors; and
> the channel introductions and GPG fingerprints are unchanged from the last
> time I was able to pull successfully (I have the channels.scm file under
> version control).

I've purposefully added this new error to warn users that their
.guix-channel's introduction forms were erroneous. Previously, they
were silently being dropped. The formats in a channels.scm file and in
the .guix-channel file are *not* the same! Please see "(guix) Declaring
Channel Dependencies" for an example of the format.

Best,
--
Josselin Poiret
-----BEGIN PGP SIGNATURE-----

iQHEBAEBCgAuFiEEOSSM2EHGPMM23K8vUF5AuRYXGooFAmSRbzkQHGRldkBqcG9p
cmV0Lnh5egAKCRBQXkC5Fhcaiik2C/0URzm2xFjsbCyph5j6/cAaetYIh8bhXzbk
Ad/TePZM5DCAocNyeIIs/NFT1ENlmXEm+vAp6YiSc0nD+VFSDSNyjHHirDVaRQhu
WDNtnRPSWg/BmjS3LVpaii2aQVHwBrua343UU2fzMHBxgryd5GBzGkexkoueE+y0
mmEprLzhzocn+fLSIhqrebrbWmqi5MKpVRt3aWAL3feslB61EuCt8d+YSLj8oyYN
M4yycr4741/+cM6d0T83jXdoDcxO30h4uD3Hl2uWVSPkTkYA5riTkcAYw1mElxMN
gXCSrOkQfXZp6Ns8A00XeVjA4D1E9LDBpVujRkaUzNlfRrTwFbW4NbYOGaYZ3bhd
mRzWbBQqDDPIsUsMMlUXqS4OMBjIaof5NHFMyTNALKChxjDORFEEgokMgLBK/oHL
rQjvud+EG1SoJ8f3SXTVf1gfmJwn0a+P4u1lbzIhH11LoQYpzj/72PvEawgjIOU1
3r5EaIZwGR0eJ7WG92OvgptAv3edrOI=
=fW08
-----END PGP SIGNATURE-----

N
(name . Josselin Poiret)(address . dev@jpoiret.xyz)(address . 64059@debbugs.gnu.org)
CAEavL=XM9cpGYzi16mhCX9Rf2OAt=FuCsdvB=fusVaM4hrOvxA@mail.gmail.com
Hi Josselin,

Thank you so much for your help! Indeed, the .channels.scm files of my
custom channels had invalid introduction fields. That's on me --- I
should've read the error message more carefully!

Best regards,
Ning

On Tue, Jun 20, 2023 at 9:19?AM Josselin Poiret <dev@jpoiret.xyz> wrote:

Toggle quote (24 lines)
> Hi Ning,
>
> "N. Y." <ningyuan.sg@gmail.com> writes:
>
> > The error is "channel dependency has an invalid introduction field," but
> > the introduction fields of my custom channels have the same form as
> those I
> > use for GNU guix and nonguix channels which I can pull without errors;
> and
> > the channel introductions and GPG fingerprints are unchanged from the
> last
> > time I was able to pull successfully (I have the channels.scm file under
> > version control).
>
> I've purposefully added this new error to warn users that their
> .guix-channel's introduction forms were erroneous. Previously, they
> were silently being dropped. The formats in a channels.scm file and in
> the .guix-channel file are *not* the same! Please see "(guix) Declaring
> Channel Dependencies" for an example of the format.
>
> Best,
> --
> Josselin Poiret
>
Attachment: file
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 64059@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 64059
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch