]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix(dracut.sh): harden dracut against GZIP environment variable
authorRenaud Métrich <rmetrich@redhat.com>
Mon, 1 Mar 2021 16:43:10 +0000 (17:43 +0100)
committerHarald Hoyer <harald@hoyer.xyz>
Tue, 2 Mar 2021 10:05:52 +0000 (11:05 +0100)
When a GZIP environment variable is set, this leads to various breakage:

In case 'pigz' is installed and GZIP is defined as a path, e.g.
/usr/local/bin/gzip, then dracut will fail with the following message:

   "
   pigz: abort: cannot provide files in GZIP environment variable
   "

In case 'pigz' isn't installed and regular 'gzip' is used and GZIP is
defined as a path, e.g. /usr/local/bin/gzip, then the path will be
zipped and dracut will fail for no obvious reason.  Trying again, dracut
will then fail with following message:

   "
   gzip: /usr/local/bin/gzip.gz already exists; not overwritten
   "

In any case, GZIP environment should be unset to avoid breakage or
unwanted behaviour. This variable is anyway obsolescent, from gzip(1)
manpage.

Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
dracut.sh

index 062ed6c1a9accf1ce85648f712dc6c6a1aadb676..836b762c6bb3b83d3c174727d457fdb99a060fd6 100755 (executable)
--- a/dracut.sh
+++ b/dracut.sh
@@ -24,6 +24,7 @@
 # store for logging
 
 unset BASH_ENV
+unset GZIP
 
 # Verify bash version, current minimum is 4
 if (( BASH_VERSINFO[0] < 4 )); then