gzip: fix errors in gzexe script
[termux-packages] / packages / gzip / fix-gzexe.patch
CommitLineData
743f7e3b
LP
1diff -uNr gzip-1.9/gzexe.in gzip-1.9.mod/gzexe.in
2--- gzip-1.9/gzexe.in 2018-01-07 07:05:21.000000000 +0200
3+++ gzip-1.9.mod/gzexe.in 2018-03-05 18:34:06.258486200 +0200
4@@ -66,7 +66,7 @@
5 esac
6 done
7
8-if test $# -eq 0; then
9+if [ $# -eq 0 ]; then
10 printf >&2 '%s\n' "$0: missing operand
11 Try \`$0 --help' for more information."
12 exit 1
13@@ -74,7 +74,7 @@
14
15 tmp=
16 trap 'res=$?
17- test -n "$tmp" && rm -f "$tmp"
18+ [ -n "$tmp" ] && rm -f "$tmp"
19 (exit $res); exit $res
20 ' 0 1 2 3 5 10 13 15
21
22@@ -85,22 +85,22 @@
23 -*) file=./$i;;
24 *) file=$i;;
25 esac
26- if test ! -f "$file" || test ! -r "$file"; then
27+ if [ ! -f "$file" ] || [ ! -r "$file" ]; then
28 res=$?
29 printf >&2 '%s\n' "$0: $i is not a readable regular file"
30 continue
31 fi
32- if test $decomp -eq 0; then
33+ if [ $decomp -eq 0 ]; then
34 if sed -e 1d -e 2q "$file" | grep "^skip=[0-9][0-9]*$" >/dev/null; then
35 printf >&2 '%s\n' "$0: $i is already gzexe'd"
36 continue
37 fi
38 fi
39- if test -u "$file"; then
40+ if [ -u "$file" ]; then
41 printf >&2 '%s\n' "$0: $i has setuid permission, unchanged"
42 continue
43 fi
44- if test -g "$file"; then
45+ if [ -g "$file" ]; then
46 printf >&2 '%s\n' "$0: $i has setgid permission, unchanged"
47 continue
48 fi
49@@ -112,10 +112,10 @@
50 printf >&2 '%s\n' "$0: $i might depend on itself"; continue;;
51 esac
52
53- dir=`dirname "$file"` || dir=$TMPDIR
54- test -d "$dir" && test -w "$dir" && test -x "$dir" || dir=/tmp
55- test -n "$tmp" && rm -f "$tmp"
56- if test -z "$mktemp_status"; then
57+ dir=$(dirname "$file") || dir=$TMPDIR
58+ [ -d "$dir" ] && [ -w "$dir" ] && [ -x "$dir" ] || dir=@TERMUX_PREFIX@/tmp
59+ [ -n "$tmp" ] && rm -f "$tmp"
60+ if [ -z "$mktemp_status" ]; then
61 type mktemp >/dev/null 2>&1
62 mktemp_status=$?
63 fi
64@@ -123,8 +123,8 @@
65 */) ;;
66 *) dir=$dir/;;
67 esac
68- if test $mktemp_status -eq 0; then
69- tmp=`mktemp "${dir}gzexeXXXXXXXXX"`
70+ if [ $mktemp_status -eq 0 ]; then
71+ tmp=$(mktemp "${dir}gzexeXXXXXXXXX")
72 else
73 tmp=${dir}gzexe$$
74 fi && { cp -p "$file" "$tmp" 2>/dev/null || cp "$file" "$tmp"; } || {
75@@ -132,7 +132,7 @@
76 printf >&2 '%s\n' "$0: cannot copy $file"
77 continue
78 }
79- if test -w "$tmp"; then
80+ if [ -w "$tmp" ]; then
81 writable=1
82 else
83 writable=0
84@@ -142,32 +142,35 @@
85 continue
86 }
87 fi
88- if test $decomp -eq 0; then
89+ if [ $decomp -eq 0 ]; then
90 (cat <<'EOF' &&
91-#!/bin/sh
92-skip=44
93+#!@TERMUX_PREFIX@/bin/sh
94+skip=52
95+set -e
96+
97+export PATH="@TERMUX_PREFIX@/bin:@TERMUX_PREFIX@/bin/applets:${PATH}"
98
99 tab=' '
100 nl='
101 '
102 IFS=" $tab$nl"
103
104-umask=`umask`
105+umask=$(umask)
106 umask 77
107
108 gztmpdir=
109 trap 'res=$?
110- test -n "$gztmpdir" && rm -fr "$gztmpdir"
111+ [ -n "$gztmpdir" ] && rm -rf "$gztmpdir"
112 (exit $res); exit $res
113 ' 0 1 2 3 5 10 13 15
114
115 case $TMPDIR in
116 / | /*/) ;;
117 /*) TMPDIR=$TMPDIR/;;
118- *) TMPDIR=/tmp/;;
119+ *) TMPDIR=@TERMUX_PREFIX@/tmp/;;
120 esac
121 if type mktemp >/dev/null 2>&1; then
122- gztmpdir=`mktemp -d "${TMPDIR}gztmpXXXXXXXXX"`
123+ gztmpdir=$(mktemp -d "${TMPDIR}gztmpXXXXXXXXX")
124 else
125 gztmpdir=${TMPDIR}gztmp$$; mkdir $gztmpdir
126 fi || { (exit 127); exit 127; }
127@@ -176,15 +179,15 @@
128 case $0 in
129 -* | */*'
130 ') mkdir -p "$gztmp" && rm -r "$gztmp";;
131-*/*) gztmp=$gztmpdir/`basename "$0"`;;
132+*/*) gztmp=$gztmpdir/$(basename "$0");;
133 esac || { (exit 127); exit 127; }
134
135-case `printf 'X\n' | tail -n +1 2>/dev/null` in
136+case $(printf 'X\n' | tail -n +1 2>/dev/null) in
137 X) tail_n=-n;;
138 *) tail_n=;;
139 esac
140 if tail $tail_n +$skip <"$0" | gzip -cd > "$gztmp"; then
141- umask $umask
142+ umask "$umask"
143 chmod 700 "$gztmp"
144 (sleep 5; rm -fr "$gztmpdir") 2>/dev/null &
145 "$gztmp" ${1+"$@"}; res=$?
146@@ -201,13 +204,13 @@
147
148 else
149 # decompression
150- skip=44
151- skip_line=`sed -e 1d -e 2q "$file"`
152+ skip=52
153+ skip_line=$(sed -e 1d -e 2q "$file")
154 case $skip_line in
155 skip=[0-9] | skip=[0-9][0-9] | skip=[0-9][0-9][0-9])
156 eval "$skip_line";;
157 esac
158- case `printf 'X\n' | tail -n +1 2>/dev/null` in
159+ case $(printf 'X\n' | tail -n +1 2>/dev/null) in
160 X) tail_n=-n;;
161 *) tail_n=;;
162 esac
163@@ -217,7 +220,7 @@
164 continue
165 }
166 fi
167- test $writable -eq 1 || chmod u-w "$tmp" || {
168+ [ $writable -eq 1 ] || chmod u-w "$tmp" || {
169 res=$?
170 printf >&2 '%s\n' "$0: $tmp: cannot chmod"
171 continue