‘guix shell -D … --export-manifest’ behaves inconsistently

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 13 Jul 2022 16:15
‘guix shell -D … --export-m anifest’ behaves inconsistently
(address . bug-guix@gnu.org)
87lesx9k0g.fsf@inria.fr
Hi!

I observe the following weird behavior, where the first invocation
wrongfully expands ‘-D gnutls’ into a list of package specs, whereas the
other invocations (only slightly different) lead to calls to
‘package->development-manifest’ as expected:

Toggle snippet (75 lines)
$ guix shell -D gnutls autoconf@2.69 automake libtool --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 "libtool"
"automake"
"autoconf@2.69"
"net-tools"
"iproute2"
"socat"
"pkg-config"
"texinfo"
"which"
"datefudge"
"util-linux"
"guile@3.0.7"
"libtasn1"
"libidn2"
"nettle"
"zlib"
"p11-kit@0.23"
"tar"
"gzip"
"bzip2"
"xz"
"file@5.39"
"diffutils"
"patch"
"findutils"
"gawk"
"sed"
"grep"
"coreutils"
"make"
"bash-minimal"
"ld-wrapper"
"binutils"
"gcc@10"
"glibc"
"glibc:static"
"glibc-utf8-locales"
"libgc"
"libunistring"
"gmp"
"linux-libre-headers@5.10.35"))
$ guix shell -D gnutls autoconf@2.69 automake --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
(list (specifications->manifest
(list "autoconf@2.69" "automake"))
(package->development-manifest
(specification->package "gnutls"))))
$ guix shell -D gnutls autoconf automake libtool --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
(list (specifications->manifest
(list "autoconf" "automake" "libtool"))
(package->development-manifest
(specification->package "gnutls"))))
$ guix describe
Generation 221 Jul 03 2022 23:52:07 (current)
guix e069de4
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: e069de452a2c923868f5137421b4b6349c38d754

Ludo’.
L
L
Ludovic Courtès wrote on 15 Jul 2022 17:39
Re: bug#56539: ‘guix shell -D … --export-manifest’ behaves inconsistently
(address . 56539-done@debbugs.gnu.org)
87sfn25qri.fsf@gnu.org
Ludovic Courtès <ludovic.courtes@inria.fr> skribis:

Toggle quote (5 lines)
> I observe the following weird behavior, where the first invocation
> wrongfully expands ‘-D gnutls’ into a list of package specs, whereas the
> other invocations (only slightly different) lead to calls to
> ‘package->development-manifest’ as expected:

This had to due with profile caching: cached profiles would be taken
into account, leading to the “expanded view” because the ‘-D’
information would be lost in that case.

Fixed in 30915a7419d48c6a5dcfdc3a1547268ac406a9ef.

Ludo’.
Closed
?