guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Archive authentication & ‘guix challenge’


From: Ludovic Courtès
Subject: Re: Archive authentication & ‘guix challenge’
Date: Tue, 14 Feb 2017 10:20:46 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

myglc2 <address@hidden> skribis:

> On 02/13/2017 at 14:05 Ludovic Courtès writes:
>
>> Hi Maxim,
>>
>> Maxim Cournoyer <address@hidden> skribis:
>>
>>> address@hidden (Ludovic Courtès) writes:
>>>
>>>> myglc2 <address@hidden> skribis:
>>>>
>>>>> On 02/09/2017 at 17:36 Ludovic Courtès writes:
>>>>
>>>> [...]
>>>>
>>>>>> Could it be that the ‘guix archive’ you ran uses a configuration
>>>>>> directory other than this one?  What does:
>>>>>>
>>>>>>   guile -c '(use-modules (guix config)) (pk %config-directory)'
>>>>>>
>>>>>> print?
>>>
>>> I remember being equally confused by not finding the key imported in the
>>> /etc/guix/acl file, as per the manual.
>>>
>>> On my GuixSD system, the value of %config-directory is:
>>> "/usr/local/etc/guix", and the file "/usr/local/etc/guix/acl" does
>>> contain multiple times the public key of Bayfront, which must be due
>>> to passed attempts at adding the Bayfront key using "guix archive".
>>
>> I suppose that’s because you installed Guix in /usr/local at some point?
>>
>> myglc2, are you in a similar situation?
>
> Hmm, apparently so ...
>
> guile -c '(use-modules (guix config)) (pk %config-directory)'
>
> ... returns ...
>
> ;;; ("/etc/guix")
>
> ... but in the REPL I get ...
>
> (use-modules (guix config))
> (pk %config-directory)
>
> => "/usr/local/etc/guix"
>
> ... /usr/local/etc/guix/acl is the only file under /usr and I didn't
> install in /usr/local.  The system was created with 'guix init' on a
> previous GuixSD system and has since been modified by 'guix reconfigure'
> and 'guix package', running either from 'git pull' or git checkout.
>
> I don't know if this is related, but I see that guix config.log
> (attached) has ...
>
> guix_sysconfdir='/usr/local/etc'
>
> Also, you may recall that, on the previous system, we had to make
> /usr/local/sbin/guix-register a symlink to guix-register to get 'guix
> init' to work ...

Right.

‘guix pull’ preserves your (guix config) module.  So if the ‘guix’ you
run was configured to use /etc, it’ll keep using that; if it was
configured to use /usr/local/etc, it’ll keep using that.

If you run “./pre-inst-env guix pull”, then you end up using (guix
config) from your build tree, which is configured to use /usr/local/etc
by default.  That’s probably what happened, no?

To fix it, you can either run:

  rm -f ~/.config/guix/latest && guix pull

or just do:

  ./configure --sysconfdir=/etc

in your checkout.

Admittedly all this is kind of ugly and I look forward to the ‘guix
pull’ replacement…

HTH!

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]