gzip: fix errors in gzexe script
[termux-packages] / packages / gzip / fix-gzexe.patch
1 diff -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