Репозитории ALT
S: | 1.13-alt2 |
5.1: | 1.3.5-alt6 |
4.1: | 1.3.5-alt4.M40.1 |
4.0: | 1.3.5-alt4.M40.1 |
3.0: | 1.3.5-alt2 |
+updates: | 1.3.5-alt2.M30.1 |
Другие репозитории
Upstream: | 1.3.12 |
Группа :: Архивирование/Сжатие
Пакет: gzip
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: gzip-1.3.5-openbsd-owl-alt-tmp.patch
Скачать
Скачать
diff -upk.orig gzip-1.3.5.orig/gzexe.in gzip-1.3.5/gzexe.in
--- gzip-1.3.5.orig/gzexe.in 2005-05-19 14:02:38 +0000
+++ gzip-1.3.5/gzexe.in 2005-05-19 14:02:55 +0000
@@ -42,9 +42,6 @@ if test $# = 0; then
exit 1
fi
-tmp=gz$$
-trap "rm -f $tmp; exit 1" 1 2 3 5 10 13 15
-
decomp=0
res=0
test "$x" = "ungzexe" && decomp=1
@@ -53,12 +50,10 @@ if test "x$1" = "x-d"; then
shift
fi
-echo hi > zfoo1$$
-echo hi > zfoo2$$
-if test -z "`(${CPMOD-cpmod} zfoo1$$ zfoo2$$) 2>&1`"; then
- cpmod=${CPMOD-cpmod}
+cpmod=
+if type ${CPMOD:-cpmod} 2>/dev/null; then
+ cpmod=${CPMOD:-cpmod}
fi
-rm -f zfoo[12]$$
tail=""
IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
@@ -99,9 +94,14 @@ for i do
continue
fi
case "${i##*/}" in
- gzip | tail | sed | chmod | ln | sleep | rm)
+ chmod | gzip | ln | mktemp | rm | sed | sh | tail)
echo "${x}: $i would depend on itself"; continue ;;
esac
+
+ tmp=`mktemp -t gzexe.XXXXXXXXXX` || exit 1
+ trap 'rc=$?; trap - EXIT; test -z "$tmp" || rm -f -- "$tmp"; exit $rc' \
+ EXIT HUP INT QUIT PIPE TERM
+
if test -z "$cpmod"; then
cp -p "$i" $tmp 2>/dev/null || cp "$i" $tmp
if test -w $tmp 2>/dev/null; then
@@ -112,31 +112,23 @@ for i do
fi
fi
if test $decomp -eq 0; then
- sed 1q $0 > $tmp
+ sed 1q "$0" > $tmp
sed "s|^if tail|if $tail|" >> $tmp <<'EOF'
-skip=22
-set -C
-umask=`umask`
-umask 77
-if tail +$skip "$0" | "BINDIR"/gzip -cd > /tmp/gztmp$$; then
- umask $umask
- /bin/chmod 700 /tmp/gztmp$$
- prog="${0##*/}"
- if /bin/ln /tmp/gztmp$$ "/tmp/$prog" 2>/dev/null; then
- trap '/bin/rm -f /tmp/gztmp$$ "/tmp/$prog"; exit $res' 0
- (/bin/sleep 5; /bin/rm -f /tmp/gztmp$$ "/tmp/$prog") 2>/dev/null &
- /tmp/"$prog" ${1+"$@"}; res=$?
- else
- trap '/bin/rm -f /tmp/gztmp$$; exit $res' 0
- (/bin/sleep 5; /bin/rm -f /tmp/gztmp$$) 2>/dev/null &
- /tmp/gztmp$$ ${1+"$@"}; res=$?
- fi
+skip=14
+tmpdir=`/bin/mktemp -dt gzexe.XXXXXXXXXX` || exit 1
+prog="${tmpdir}/${0##*/}"
+if tail +$skip "$0" | "BINDIR"/gzip -cd > "$prog"; then
+ /bin/chmod 700 "$prog"
+ trap '/bin/rm -rf -- "$tmpdir"; exit $res' EXIT
+ "$prog" ${1+"$@"}; res=$?
else
- echo Cannot decompress $0; exit 1
+ echo "Cannot decompress $0"
+ /bin/rm -rf "$tmpdir"
+ exit 1
fi; exit $res
EOF
gzip -cv9 "$i" >> $tmp || {
- /bin/rm -f $tmp
+ rm -f $tmp
echo ${x}: compression not possible for $i, file unchanged.
res=1
continue
@@ -152,6 +144,7 @@ EOF
:
else
echo ${x}: $i probably not in gzexe format, file unchanged.
+ rm -f $tmp
res=1
continue
fi
@@ -176,4 +169,5 @@ EOF
chmod u-w $i 2>/dev/null
fi
done
+tmp=
exit $res
diff -upk.orig gzip-1.3.5.orig/zdiff.in gzip-1.3.5/zdiff.in
--- gzip-1.3.5.orig/zdiff.in 2005-05-19 14:02:38 +0000
+++ gzip-1.3.5/zdiff.in 2005-05-19 14:02:55 +0000
@@ -46,13 +46,13 @@ elif test $# -eq 2; then
case "$2" in
*[-.]gz* | *[-.][zZ] | *.t[ga]z)
F=`echo "$2" | sed 's|.*/||;s|[-.][zZtga]*||'`
- set -C
- trap 'rm -f /tmp/"$F".$$; exit 2' HUP INT PIPE TERM 0
- gzip -cdfq "$2" > /tmp/"$F".$$ || exit
- gzip -cdfq "$1" | $comp $OPTIONS - /tmp/"$F".$$
+ TF=`/bin/mktemp -t "$F".XXXXXXXXXX` || exit 1
+ trap 'trap - EXIT; rm -f "$TF"; exit 2' EXIT HUP INT PIPE TERM
+ gzip -cdfq "$2" > "$TF" || exit
+ gzip -cdfq "$1" | $comp $OPTIONS - "$TF"
STAT="$?"
- /bin/rm -f /tmp/"$F".$$ || STAT=2
- trap - HUP INT PIPE TERM 0
+ rm -f "$TF" || STAT=2
+ trap - EXIT HUP INT PIPE TERM
exit $STAT;;
*) gzip -cdfq "$1" | $comp $OPTIONS - "$2";;
diff -upk.orig gzip-1.3.5.orig/znew.in gzip-1.3.5/znew.in
--- gzip-1.3.5.orig/znew.in 2005-05-19 14:02:38 +0000
+++ gzip-1.3.5/znew.in 2005-05-19 14:02:55 +0000
@@ -14,29 +14,29 @@ block=1024
# block is the disk block size (best guess, need not be exact)
warn="(does not preserve modes and timestamp)"
-tmp=/tmp/zfoo.$$
-set -C
-echo hi > $tmp.1
-echo hi > $tmp.2
-if test -z "`(${CPMOD-cpmod} $tmp.1 $tmp.2) 2>&1`"; then
- cpmod=${CPMOD-cpmod}
+cpmod=
+cpmodarg=
+if type ${CPMOD:-cpmod} 2>/dev/null; then
+ cpmod=${CPMOD:-cpmod}
warn=""
fi
-if test -z "$cpmod" && ${TOUCH-touch} -r $tmp.1 $tmp.2 2>/dev/null; then
- cpmod="${TOUCH-touch}"
+if test -z "$cpmod"; then
+ cpmod=touch
cpmodarg="-r"
warn="(does not preserve file modes)"
fi
-# check if GZIP env. variable uses -S or --suffix
-gzip -q $tmp.1
-ext=`echo $tmp.1* | sed "s|$tmp.1||"`
-rm -f $tmp.[12]*
-if test -z "$ext"; then
- echo znew: error determining gzip extension
- exit 1
-fi
+case "$GZIP" in
+ *-S*) ext=`echo "$GZIP" | sed 's/^.*-S[[:space:]]*\([^[:space:]]*\).*$/\1/'`
+ ;;
+ *--suffix=*) ext=`echo "$GZIP" | sed 's/^.*--suffix=\([^[:space:]]*\).*$/\1/'`
+ ;;
+ *--suffix*) ext=`echo "$GZIP" | sed 's/^.*--suffix[[:space:]][[:space:]]*\([^[:space:]]*\).*$/\1/'`
+ ;;
+ *) ext='.gz'
+ ;;
+esac
if test "$ext" = ".Z"; then
echo znew: cannot use .Z as gzip extension.
exit 1