# On Ultrix, /bin/sh is too buggy, change the first line to: #!/bin/sh5
-# Copyright (C) 1998, 2002, 2004, 2006 Free Software Foundation
+# Copyright (C) 1998, 2002, 2004, 2006-2007, 2010-2017 Free Software
+# Foundation, Inc.
# Copyright (C) 1993 Jean-loup Gailly
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
IFS=" $tab$nl"
version='gzexe (gzip) @VERSION@
-Copyright (C) 2006 Free Software Foundation, Inc.
+Copyright (C) 2007, 2011-2016 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the terms of
-the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
+the GNU General Public License <https://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
Written by Jean-loup Gailly.'
-usage='Usage: gzexe [OPTION] FILE...
+usage="Usage: $0 [OPTION] FILE...
Rename each FILE with a compressed version of itself, renaming FILE to FILE~.
-d Decompress each FILE instead of compressing it.
--help display this help and exit
--version output version information and exit
-Report bugs to <bug-gzip@gnu.org>.'
-
-
-PATH="BINDIR:$PATH"
+Report bugs to <bug-gzip@gnu.org>."
decomp=0
res=0
fi
tmp=
-trap '
- res=$?
+trap 'res=$?
test -n "$tmp" && rm -f "$tmp"
(exit $res); exit $res
' 0 1 2 3 5 10 13 15
+mktemp_status=
+
for i do
case $i in
-*) file=./$i;;
continue
fi
case /$file in
- */basename | */cat | */chmod | */cp | \
+ */basename | */bash | */cat | */chmod | */cp | \
*/dirname | */echo | */expr | */gzip | \
- */ln | */mkdir | */mktemp | */mv | */rm | */rmdir | \
+ */ln | */mkdir | */mktemp | */mv | */rm | \
*/sed | */sh | */sleep | */test | */tail)
- echo >&2 "$0: $i would depend on itself"; continue;;
+ echo >&2 "$0: $i might depend on itself"; continue;;
esac
dir=`dirname "$file"` || dir=$TMPDIR
test -d "$dir" && test -w "$dir" && test -x "$dir" || dir=/tmp
test -n "$tmp" && rm -f "$tmp"
- tmp=`TMPDIR=$dir mktemp -t gzexeXXXXXX` || tmp=$dir/gzexe$$
- cp -p "$file" "$tmp" 2>/dev/null || cp "$file" "$tmp" || {
+ if test -z "$mktemp_status"; then
+ type mktemp >/dev/null 2>&1
+ mktemp_status=$?
+ fi
+ if test $mktemp_status -eq 0; then
+ tmp=`TMPDIR=$dir mktemp`
+ else
+ tmp=$dir/gzexe$$
+ fi && { cp -p "$file" "$tmp" 2>/dev/null || cp "$file" "$tmp"; } || {
res=$?
echo >&2 "$0: cannot copy $file"
continue
if test $decomp -eq 0; then
(cat <<'EOF' &&
#!/bin/sh
-skip=43
+skip=44
tab=' '
nl='
umask 77
gztmpdir=
-trap '
- res=$?
+trap 'res=$?
test -n "$gztmpdir" && rm -fr "$gztmpdir"
(exit $res); exit $res
' 0 1 2 3 5 10 13 15
-gztmpdir=`(mktemp -dt) 2>/dev/null` ||
- { gztmpdir=/tmp/gztmp$$; mkdir $gztmpdir; } ||
- { (exit 127); exit 127; }
+if type mktemp >/dev/null 2>&1; then
+ gztmpdir=`mktemp -d`
+else
+ gztmpdir=/tmp/gztmp$$; mkdir $gztmpdir
+fi || { (exit 127); exit 127; }
gztmp=$gztmpdir/$0
case $0 in
-* | */*'
-') mkdir -p "$gztmp" && rmdir "$gztmp";;
+') mkdir -p "$gztmp" && rm -r "$gztmp";;
*/*) gztmp=$gztmpdir/`basename "$0"`;;
esac || { (exit 127); exit 127; }
else
# decompression
- skip=43
+ skip=44
skip_line=`sed -e 1d -e 2q "$file"`
case $skip_line in
skip=[0-9] | skip=[0-9][0-9] | skip=[0-9][0-9][0-9])