‘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
?