environment: Rename '--inherit' to '--preserve'.
authorLudovic Courtès <ludo@gnu.org>
Mon, 4 Mar 2019 13:19:55 +0000 (14:19 +0100)
committerLudovic Courtès <ludo@gnu.org>
Mon, 4 Mar 2019 14:22:59 +0000 (15:22 +0100)
Suggested by Eric Bavier and Ricardo Wurmus.

* guix/scripts/environment.scm (show-help, %options): Emit a deprecation
warning for "--inherit" and add -E/--preserve.
* tests/guix-environment.sh: Adjust accordingly.
* doc/guix.texi (Invoking guix environment): Update accordingly.

doc/guix.texi
guix/scripts/environment.scm
tests/guix-environment.sh

index 7fcfcb1..1b77881 100644 (file)
@@ -4456,17 +4456,18 @@ that will be added to the environment directly.
 
 @item --pure
 Unset existing environment variables when building the new environment, except
-those specified with @option{--inherit} (see below.)  This has the effect of
+those specified with @option{--preserve} (see below.)  This has the effect of
 creating an environment in which search paths only contain package inputs.
 
-@item --inherit=@var{regexp}
-When used alongside @option{--pure}, inherit all the environment variables
+@item --preserve=@var{regexp}
+@itemx -E @var{regexp}
+When used alongside @option{--pure}, preserve the environment variables
 matching @var{regexp}---in other words, put them on a ``white list'' of
 environment variables that must be preserved.  This option can be repeated
 several times.
 
 @example
-guix environment --pure --inherit=^SLURM --ad-hoc openmpi @dots{} \
+guix environment --pure --preserve=^SLURM --ad-hoc openmpi @dots{} \
   -- mpirun @dots{}
 @end example
 
index 0cf7b3f..63f6129 100644 (file)
@@ -141,7 +141,7 @@ COMMAND or an interactive shell in that environment.\n"))
   (display (G_ "
       --pure             unset existing environment variables"))
   (display (G_ "
-      --inherit=REGEXP   inherit environment variables that match REGEXP"))
+  -E, --preserve=REGEXP  preserve environment variables that match REGEXP"))
   (display (G_ "
       --search-paths     display needed environment variable definitions"))
   (display (G_ "
@@ -215,11 +215,18 @@ COMMAND or an interactive shell in that environment.\n"))
          (option '("pure") #f #f
                  (lambda (opt name arg result)
                    (alist-cons 'pure #t result)))
-         (option '("inherit") #t #f
+         (option '(#\E "preserve") #t #f
                  (lambda (opt name arg result)
                    (alist-cons 'inherit-regexp
                                (make-regexp* arg)
                                result)))
+         (option '("inherit") #t #f               ;deprecated
+                 (lambda (opt name arg result)
+                   (warning (G_ "'--inherit' is deprecated, \
+use '--preserve' instead~%"))
+                   (alist-cons 'inherit-regexp
+                               (make-regexp* arg)
+                               result)))
          (option '("search-paths") #f #f
                  (lambda (opt name arg result)
                    (alist-cons 'search-paths #t result)))
index d6df623..7ea9c20 100644 (file)
@@ -49,13 +49,13 @@ test -x `sed -r 's/^export PATH="(.*)"/\1/' "$tmpdir/a"`/guile
 
 cmp "$tmpdir/a" "$tmpdir/b"
 
-# Check '--inherit'.
+# Check '--preserve'.
 GUIX_TEST_ABC=1
 GUIX_TEST_DEF=2
 GUIX_TEST_XYZ=3
 export GUIX_TEST_ABC GUIX_TEST_DEF GUIX_TEST_XYZ
 guix environment --bootstrap --ad-hoc guile-bootstrap --pure   \
-     --inherit='^GUIX_TEST_A' --inherit='^GUIX_TEST_D'         \
+     --preserve='^GUIX_TEST_A' --preserve='^GUIX_TEST_D'       \
      -- "$SHELL" -c set > "$tmpdir/a"
 grep '^PATH=' "$tmpdir/a"
 grep '^GUIX_TEST_ABC=' "$tmpdir/a"