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

Debbugs page

Konrad Hinsen wrote 3 years ago
(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
Ludovic Courtès wrote 3 years ago
control message for bug #52093
(address . control@debbugs.gnu.org)
87mtlbggd6.fsf@gnu.org
severity 52093 important
quit
Ludovic Courtès wrote 3 years ago
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
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help