GNU bug report logs - #48313
[1.3.0rc2] ‘guix describe’ prints nothing and exits with 0

Previous Next

Package: guix;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Sun, 9 May 2021 14:35:01 UTC

Severity: important

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 48313 in the body.
You can then email your comments to 48313 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to maxim.cournoyer <at> gmail.com, bug-guix <at> gnu.org:
bug#48313; Package guix. (Sun, 09 May 2021 14:35:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ludovic Courtès <ludo <at> gnu.org>:
New bug report received and forwarded. Copy sent to maxim.cournoyer <at> gmail.com, bug-guix <at> gnu.org. (Sun, 09 May 2021 14:35:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: <bug-guix <at> gnu.org>
Subject: [1.3.0rc2] ‘guix describe’ prints
 nothing and exits with 0
Date: Sun, 09 May 2021 16:34:09 +0200
In the 1.3.0rc2 VM image, ‘guix describe’ prints nothing and exits with
0 (success).  This is with /run/current-system/profile/bin/guix.
‘strace’ shows that it parses /run/current-system/profile/manifest,
which does not contain provenance information.

“$(readlink -f $(type -P guix)) describe” prints what’s expected, with
information from (guix config).

This is a regression compared to 1.3.0rc1.

Ludo’.




Severity set to 'important' from 'normal' Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Sun, 09 May 2021 14:41:01 GMT) Full text and rfc822 format available.

Added indication that bug 48313 blocks47297 Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Sun, 09 May 2021 14:41:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#48313; Package guix. (Sun, 09 May 2021 14:49:02 GMT) Full text and rfc822 format available.

Message #12 received at 48313 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 48313 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: bug#48313: [1.3.0rc2] ‘guix describe’ prints nothing and exits with 0
Date: Sun, 09 May 2021 16:47:59 +0200
Ludovic Courtès <ludo <at> gnu.org> skribis:

> In the 1.3.0rc2 VM image, ‘guix describe’ prints nothing and exits with
> 0 (success).  This is with /run/current-system/profile/bin/guix.
> ‘strace’ shows that it parses /run/current-system/profile/manifest,
> which does not contain provenance information.

In RC1, ‘current-profile’ from (guix describe) returns #f.
Thus, ‘current-channels’ returns channel metadata from (guix config).

In RC2, ‘current-profile’ returns /run/current-system/profile.
Thus, ‘current-channels’ returns metadata from profile entries, but
there’s none.

The different ‘current-profile’ behavior stems from this condition:

--8<---------------cut here---------------start------------->8---
(define current-profile
  (mlambda ()
    "Return the profile (created by 'guix pull') the calling process lives in,
or #f if this is not applicable."
    (match initial-program-arguments
      ((program . _)
       (and (string-suffix? "/bin/guix" program)  ;<------ HERE!
            ;; Note: We want to do _lexical dot-dot resolution_.  Using ".."
            ;; for real would instead take us into the /gnu/store directory
            ;; that ~/.config/guix/current/bin points to, whereas we want to
            ;; obtain ~/.config/guix/current.
            (let ((candidate (dirname (dirname program))))
              (and (file-exists? (string-append candidate "/manifest"))
                   candidate)))))))
--8<---------------cut here---------------end--------------->8---

Prior to c47f3fc13562d82edfd2d47342574154c452843a, PROGRAM was
“.guix-real” (hence the #f return value), but now it’s “guix”.

Ludo’.




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Sun, 09 May 2021 21:52:01 GMT) Full text and rfc822 format available.

Notification sent to Ludovic Courtès <ludo <at> gnu.org>:
bug acknowledged by developer. (Sun, 09 May 2021 21:52:01 GMT) Full text and rfc822 format available.

Message #17 received at 48313-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 48313-done <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: bug#48313: [1.3.0rc2] ‘guix describe’ prints nothing and exits with 0
Date: Sun, 09 May 2021 23:51:26 +0200
Ludovic Courtès <ludo <at> gnu.org> skribis:

> In the 1.3.0rc2 VM image, ‘guix describe’ prints nothing and exits with
> 0 (success).  This is with /run/current-system/profile/bin/guix.
> ‘strace’ shows that it parses /run/current-system/profile/manifest,
> which does not contain provenance information.

Fixed in 8a154c29151fc445e8d0364f507f6e200de1e700.  (I tested with ‘make
update-guix-package’ from which I built a VM to test into.)

The bug would also cause ‘guix pull’ to start authentication at the
introductory commit (thus authenticating more than 17,000 commits)
instead of starting at the current commit (around 800 commits today.)

If anyone wants to double-check, you can run, on version-1.3.0:

  make update-guix-package
  ./pre-inst-env guix system vm gnu/system/examples/vm-image.tmpl

and from there try things like:

  guix describe
  guix pull

and so on.

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#48313; Package guix. (Mon, 10 May 2021 00:47:02 GMT) Full text and rfc822 format available.

Message #20 received at 48313-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 48313-done <at> debbugs.gnu.org
Subject: Re: bug#48313: [1.3.0rc2] ‘guix describe’ prints nothing and exits with 0
Date: Sun, 09 May 2021 20:46:48 -0400
Hi!

Ludovic Courtès <ludo <at> gnu.org> writes:

> Ludovic Courtès <ludo <at> gnu.org> skribis:
>
>> In the 1.3.0rc2 VM image, ‘guix describe’ prints nothing and exits with
>> 0 (success).  This is with /run/current-system/profile/bin/guix.
>> ‘strace’ shows that it parses /run/current-system/profile/manifest,
>> which does not contain provenance information.
>
> Fixed in 8a154c29151fc445e8d0364f507f6e200de1e700.  (I tested with ‘make
> update-guix-package’ from which I built a VM to test into.)
>
> The bug would also cause ‘guix pull’ to start authentication at the
> introductory commit (thus authenticating more than 17,000 commits)
> instead of starting at the current commit (around 800 commits today.)
>
> If anyone wants to double-check, you can run, on version-1.3.0:
>
>   make update-guix-package
>   ./pre-inst-env guix system vm gnu/system/examples/vm-image.tmpl
>
> and from there try things like:
>
>   guix describe
>   guix pull

Thanks for catching & fixing this!

Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 07 Jun 2021 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 344 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.