Subject: Re: bug#45911: authorized-fields is not/badly documented

From: Ricardo Wurmus <[email-masked]>
Date: Tue, 26 Jan 2021 08:13:50 +0100

raingloom <[email-masked]> writes:

> On Sat, 23 Jan 2021 10:10:15 +0100
> Ricardo Wurmus <[email-masked]> wrote:
>
>> raingloom <[email-masked]> writes:
>> 
>> > Okay, so I figured out that I should use a G-Expression if I want to
>> > compute the file, instead of just include it. Still not sure how to
>> > store it as Scheme data, but I have an untested idea involving the
>> > "pipe" syntax for symbols.  
>> 
>> Use computed-file instead of local-file.
>> 
>
> I  know about computed-file, the issue is that the syntax of the key is
> not strictly Scheme. The long hexadecimal block isn't parsed as a
> number:
> ```
> (with-input-from-file "/etc/guix/signing-key.pub" read)
> ...
> /etc/guix/signing-key.pub:4:8: Unknown # object: #\C
> ```

These are canonical s-expressions.  You can read them with
“read-file-sexp” from (gcrypt pk-crypto).  Or you can convert them to
readable s-expressions with “canonical-sexp->sexp”.  Or you can create
them from strings with “string->canonical-sexp”.

-- 
Ricardo