‘guix shell --export-manifest’ can yield incorrect results

  • Done
  • quality assurance status badge
Details
3 participants
  • Dominic Martinez
  • Ludovic Courtès
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
important
L
L
Ludovic Courtès wrote on 19 May 2022 13:42
‘guix shell --export-manifest ’ can yield incorrect results
(address . bug-guix@gnu.org)
871qwp21fp.fsf@inria.fr
‘guix shell --export-manifest’ behaves in a strange way:

Toggle snippet (25 lines)
$ guix shell rubber --export-manifest
;; What follows is a "manifest" equivalent to the command line you gave.
;; You can store it in a file that you may then pass to any 'guix' command
;; that accepts a '--manifest' (or '-m') option.

(specifications->manifest (list "rubber"))
$ guix shell texlive-base --export-manifest
;; What follows is a "manifest" equivalent to the command line you gave.
;; You can store it in a file that you may then pass to any 'guix' command
;; that accepts a '--manifest' (or '-m') option.

(specifications->manifest (list "texlive-base"))
$ guix shell texlive-base rubber --export-manifest
;; What follows is a "manifest" equivalent to the command line you gave.
;; You can store it in a file that you may then pass to any 'guix' command
;; that accepts a '--manifest' (or '-m') option.
(concatenate-manifests)
$ guix describe
Generation 214 May 02 2022 21:44:14 (current)
guix 6b588da
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 6b588da368c77cde82ea2f22ca315116228777ad

Something breaks when combining ‘rubber’ with other packages.

Ludo’.
L
L
Ludovic Courtès wrote on 19 May 2022 13:52
Re: bug#55521: ‘guix shell --export -manifest’ can yield incorrect results
(address . 55521@debbugs.gnu.org)
87wnehzqn0.fsf@gnu.org
Ludovic Courtès <ludovic.courtes@inria.fr> skribis:

Toggle quote (12 lines)
> $ guix shell texlive-base rubber --export-manifest
> ;; What follows is a "manifest" equivalent to the command line you gave.
> ;; You can store it in a file that you may then pass to any 'guix' command
> ;; that accepts a '--manifest' (or '-m') option.
> (concatenate-manifests)
> $ guix describe
> Generation 214 May 02 2022 21:44:14 (current)
> guix 6b588da
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: 6b588da368c77cde82ea2f22ca315116228777ad

Actually it looks like this was fixed in the meantime:

Toggle snippet (9 lines)
$ guix time-machine --commit=2f170893719e6e9fc8e19cc5f0568e20a95d92b4 -- shell --export-manifest texlive-base rubber
;; What follows is a "manifest" equivalent to the command line you gave.
;; You can store it in a file that you may then pass to any 'guix' command
;; that accepts a '--manifest' (or '-m') option.

(specifications->manifest
(list "texlive-base" "rubber"))

I’m not sure what happened, but it’s a good surprise. :-)

Closing!

Ludo’.
L
L
Ludovic Courtès wrote on 19 May 2022 13:52
control message for bug #55521
(address . control@debbugs.gnu.org)
87v8u1zqmt.fsf@gnu.org
close 55521
quit
D
D
Dominic Martinez wrote on 19 May 2022 15:00
Re: bug#55521: ‘guix shell --export -manifest’ can yield incorrect results
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 55521@debbugs.gnu.org)
87v8u1d62n.fsf@dominicm.dev
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (18 lines)
> Actually it looks like this was fixed in the meantime:
>
> $ guix time-machine
> --commit=2f170893719e6e9fc8e19cc5f0568e20a95d92b4 -- shell
> --export-manifest texlive-base rubber
> ;; What follows is a "manifest" equivalent to the command line
> you gave.
> ;; You can store it in a file that you may then pass to any
> 'guix' command
> ;; that accepts a '--manifest' (or '-m') option.
>
> (specifications->manifest
> (list "texlive-base" "rubber"))
>
> I’m not sure what happened, but it’s a good surprise. :-)
>
> Closing!

I think this issue is sporadic, rather than fixed. I've had it
happen and then fix itself, even with the same list of packages on
the same Guix commit. For instance, I don't encounter the issue
with the commit you were on:

$ guix time-machine
--commit=6b588da368c77cde82ea2f22ca315116228777ad -- shell
--export-manifest texlive-base rubber
;; What follows is a "manifest" equivalent to the command line you
gave.
;; You can store it in a file that you may then pass to any 'guix'
command
;; that accepts a '--manifest' (or '-m') option.

(specifications->manifest
(list "texlive-base" "rubber"))

Maybe we could keep this bug open?
-----BEGIN PGP SIGNATURE-----

iHUEARYIAB0WIQRtp6gAxeTcYmhxQ/1Bnl1fEVBrXQUCYoZBAAAKCRBBnl1fEVBr
XfxQAQCWyJQuKii1qhtF6KlfC0jAEl9VUIRKUo2IrmK52kos/gEApXnJVrdmT8B0
BqCT8p/OUgnkXxcOJSWSDvPP7LvEvgI=
=BKjy
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 21 May 2022 18:32
control message for bug #55521
(address . control@debbugs.gnu.org)
87v8tyu9qf.fsf@gnu.org
severity 55521 important
quit
L
L
Ludovic Courtès wrote on 21 May 2022 18:33
Re: bug#55521: ‘guix shell --export -manifest’ can yield incorrect results
(name . Dominic Martinez)(address . dom@dominicm.dev)(address . 55521@debbugs.gnu.org)
87sfp2u9or.fsf@gnu.org
Hi Dominic,

Dominic Martinez <dom@dominicm.dev> skribis:

Toggle quote (16 lines)
> I think this issue is sporadic, rather than fixed. I've had it happen
> and then fix itself, even with the same list of packages on the same
> Guix commit. For instance, I don't encounter the issue with the commit
> you were on:
>
> $ guix time-machine --commit=6b588da368c77cde82ea2f22ca315116228777ad
> -- shell --export-manifest texlive-base rubber
> ;; What follows is a "manifest" equivalent to the command line you
> gave.
> ;; You can store it in a file that you may then pass to any 'guix'
> command
> ;; that accepts a '--manifest' (or '-m') option.
>
> (specifications->manifest
> (list "texlive-base" "rubber"))

Uh, weird. I do encounter it like this:

Toggle snippet (7 lines)
$ guix time-machine --commit=6b588da368c77cde82ea2f22ca315116228777ad -- shell --export-manifest texlive-base rubber
;; What follows is a "manifest" equivalent to the command line you gave.
;; You can store it in a file that you may then pass to any 'guix' command
;; that accepts a '--manifest' (or '-m') option.
(concatenate-manifests)

Toggle quote (2 lines)
> Maybe we could keep this bug open?

Yes, done. That’ll need some investigation…

Thanks for the heads-up!

Ludo’.
L
L
Ludovic Courtès wrote on 16 Jun 2022 23:59
(name . Dominic Martinez)(address . dom@dominicm.dev)(address . 55521-done@debbugs.gnu.org)
877d5gjmlt.fsf@gnu.org
Hi,

Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (8 lines)
> Uh, weird. I do encounter it like this:
>
> $ guix time-machine --commit=6b588da368c77cde82ea2f22ca315116228777ad -- shell --export-manifest texlive-base rubber
> ;; What follows is a "manifest" equivalent to the command line you gave.
> ;; You can store it in a file that you may then pass to any 'guix' command
> ;; that accepts a '--manifest' (or '-m') option.
> (concatenate-manifests)

Turns out the problem occurs if the given environment has been cached by
a previous invocation (thanks to Marek Felšöci for putting me on the
right track!).

Fixed in 925a57c5d04553ff6c514867348e7d3c5c22ca66.

Ludo’.
Closed
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 55521
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