1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-26 19:11:46 +02:00

shell: Handle '--emulate-fhs' in 'guix shell', not in 'guix environment'.

Previously, using 'guix shell -CF coreutils' twice (such that the
profile is cache) would result in:

  guix shell: error: '--profile' cannot be used with package options

This patch fixes it by moving argument handling to (guix scripts shell),
before 'options-with-caching' is called.

* guix/scripts/environment.scm (show-environment-options-help)
(%options): Remove '--emulate-fhs'.
(guix-environment*): Pass OPTS as-is to 'options/resolve-packages'.
* guix/scripts/shell.scm (show-help, %options): Add '--emulate-fhs'.
Add the (expression . ...) component to RESULT right from the argument
handler.
* tests/guix-environment-container.sh: Change '--emulate-fhs' tests to
use 'guix shell' instead of 'guix environment'.
This commit is contained in:
Ludovic Courtès
2022-10-13 15:52:43 +02:00
parent 10d429f2fc
commit 8b192c5550
3 changed files with 20 additions and 18 deletions
+2 -2
View File
@@ -217,7 +217,7 @@ fi
# Test that the container has FHS specific files/directories. Note that /bin
# exists in a non-FHS container as it will contain sh, a symlink to the bash
# package, so we don't test for it.
guix environment -C --emulate-fhs --ad-hoc --bootstrap guile-bootstrap \
guix shell -C --emulate-fhs --bootstrap guile-bootstrap \
-- guile -c '(exit (and (file-exists? "/etc/ld.so.cache")
(file-exists? "/lib")
(file-exists? "/sbin")
@@ -229,5 +229,5 @@ guix environment -C --emulate-fhs --ad-hoc --bootstrap guile-bootstrap \
(file-exists? "/usr/share")))'
# Test that the ld cache was generated and can be successfully read.
guix environment -C --emulate-fhs --ad-hoc --bootstrap guile-bootstrap \
guix shell -CF --bootstrap guile-bootstrap \
-- guile -c '(execlp "ldconfig" "ldconfig" "-p")'