Incorrect argument handling in "guix shell"

  • Done
  • quality assurance status badge
Details
2 participants
  • Konrad Hinsen
  • Ludovic Courtès
Owner
unassigned
Submitted by
Konrad Hinsen
Severity
important
K
K
Konrad Hinsen wrote on 25 Nov 2021 08:57
(address . bug-guix@gnu.org)
m1ilwgu0pr.fsf@fastmail.net
The following session illustrates that the -D option to "guix shell" is
erroneously applied to *two* package arguments rather than just one if
the first package argument takes the form of a file.

The file "empty-package.scm" is attached, it defines an empty package
with no inputs. The environment defined by the command below should thus
contain only "hello" and "bash", plus the run-time dependencies of
"bash". Instead, it contains the build dependencies of "hello".

$ guix shell --container -D -f empty-package.scm hello
[env]$ cat $GUIX_ENVIRONMENT/manifest
;; This file was automatically generated and is for internal use only.
;; It cannot be passed to the '--manifest' option.
;; Run 'guix package --export-manifest' if you want to export a file
;; suitable for '--manifest'.

(manifest
(version 3)
(packages
(("tar"
"1.32"
"out"
"/gnu/store/v6f44zccwh9z5zk3pjlywjybbi8n2hjh-tar-1.32"
(propagated-inputs ())
(search-paths ())
(properties))
("gzip"
"1.10"
"out"
"/gnu/store/ncydgq2znms5n1d2k5yqshhf58nsixwv-gzip-1.10"
(propagated-inputs ())
(search-paths ())
(properties))
("bzip2"
"1.0.8"
"out"
"/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8"
(propagated-inputs ())
(search-paths ())
(properties))
("xz"
"5.2.4"
"out"
"/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4"
(propagated-inputs ())
(search-paths ())
(properties))
("file"
"5.38"
"out"
"/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38"
(propagated-inputs ())
(search-paths ())
(properties))
("diffutils"
"3.7"
"out"
"/gnu/store/n4n560pfvvw50a9369axw5vj5rrqfj1n-diffutils-3.7"
(propagated-inputs ())
(search-paths ())
(properties))
("patch"
"2.7.6"
"out"
"/gnu/store/cd5qf3kcnlq35p9k392pjdpdzpsnds70-patch-2.7.6"
(propagated-inputs ())
(search-paths ())
(properties))
("findutils"
"4.7.0"
"out"
"/gnu/store/hic7snhayfl7m6cpfqqr73nmm19bpqkg-findutils-4.7.0"
(propagated-inputs ())
(search-paths ())
(properties))
("gawk"
"5.0.1"
"out"
"/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1"
(propagated-inputs ())
(search-paths ())
(properties))
("sed"
"4.8"
"out"
"/gnu/store/ishk7fswcs4gkwcp8mh788z4mvvl9bxh-sed-4.8"
(propagated-inputs ())
(search-paths ())
(properties))
("grep"
"3.4"
"out"
"/gnu/store/bhs4rj58v8j1narb2454raan2ps38xd8-grep-3.4"
(propagated-inputs ())
(search-paths ())
(properties))
("coreutils"
"8.32"
"out"
"/gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32"
(propagated-inputs ())
(search-paths ())
(properties))
("make"
"4.3"
"out"
"/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3"
(propagated-inputs ())
(search-paths ())
(properties))
("bash-minimal"
"5.0.16"
"out"
"/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16"
(propagated-inputs ())
(search-paths
(("BASH_LOADABLES_PATH"
("lib/bash")
":"
directory
#f)))
(properties))
("ld-wrapper"
"0"
"out"
"/gnu/store/mpa04aq8lblbcviyxywxcsb1zbi0mf39-ld-wrapper-0"
(propagated-inputs ())
(search-paths ())
(properties))
("binutils"
"2.34"
"out"
"/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34"
(propagated-inputs ())
(search-paths ())
(properties))
("gcc"
"7.5.0"
"out"
"/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0"
(propagated-inputs ())
(search-paths
(("C_INCLUDE_PATH" ("include") ":" directory #f)
("CPLUS_INCLUDE_PATH"
("include/c++" "include")
":"
directory
#f)
("LIBRARY_PATH" ("lib" "lib64") ":" directory #f)))
(properties))
("glibc"
"2.31"
"out"
"/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31"
(propagated-inputs
(("linux-libre-headers"
"5.4.20"
"out"
"/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20"
(propagated-inputs ())
(search-paths ())
(properties))))
(search-paths
(("GUIX_LOCPATH" ("lib/locale") ":" directory #f)))
(properties))
("glibc"
"2.31"
"static"
"/gnu/store/s3dcqzwqaakv1yx37by9chksdbkgih17-glibc-2.31-static"
(propagated-inputs
(("linux-libre-headers"
"5.4.20"
"out"
"/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20"
(propagated-inputs ())
(search-paths ())
(properties))))
(search-paths
(("GUIX_LOCPATH" ("lib/locale") ":" directory #f)))
(properties))
("glibc-utf8-locales"
"2.31"
"out"
"/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31"
(propagated-inputs ())
(search-paths ())
(properties))
("linux-libre-headers"
"5.4.20"
"out"
"/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20"
(propagated-inputs ())
(search-paths ())
(properties)))))
Attachment: empty-package.scm
L
L
Ludovic Courtès wrote on 8 Dec 2021 18:23
control message for bug #52093
(address . control@debbugs.gnu.org)
87mtlbggd6.fsf@gnu.org
severity 52093 important
quit
L
L
Ludovic Courtès wrote on 10 Dec 2021 23:28
Re: bug#52093: Incorrect argument handling in "guix shell"
(name . Konrad Hinsen)(address . konrad.hinsen@fastmail.net)(address . 52093-done@debbugs.gnu.org)
875yrw6qnr.fsf@gnu.org
Hi Konrad,

Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:

Toggle quote (11 lines)
> The following session illustrates that the -D option to "guix shell" is
> erroneously applied to *two* package arguments rather than just one if
> the first package argument takes the form of a file.
>
> The file "empty-package.scm" is attached, it defines an empty package
> with no inputs. The environment defined by the command below should thus
> contain only "hello" and "bash", plus the run-time dependencies of
> "bash". Instead, it contains the build dependencies of "hello".
>
> $ guix shell --container -D -f empty-package.scm hello

Oops, fixed in 71977101218d1fd5d7f5016cbbcb8710be057d49.

Thanks!

Ludo’.
Closed
?
Your comment

This issue is archived.

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

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