b88ba5c26e
2005/02/14 13:05:36 is 1.3.4.1: #119706# less output without verbose option
78 lines
1.6 KiB
Bash
78 lines
1.6 KiB
Bash
#!/bin/sh
|
|
|
|
linenum=LINENUMBERPLACEHOLDER
|
|
|
|
UNPACKDIR=/var/tmp/unpack_PRODUCTNAMEPLACEHOLDER
|
|
diskSpaceRequired=DISCSPACEPLACEHOLDER
|
|
checksum=CHECKSUMPLACEHOLDER
|
|
|
|
# Determining current platform
|
|
|
|
platform=`uname -s`
|
|
|
|
case $platform in
|
|
SunOS)
|
|
tail_prog="tail"
|
|
;;
|
|
Linux)
|
|
tail_prog="tail -n"
|
|
;;
|
|
*)
|
|
tail_prog="tail"
|
|
;;
|
|
esac
|
|
|
|
# Asking for the unpack directory
|
|
|
|
echo
|
|
echo "Select the directory in which to save the unpacked files. [$UNPACKDIR] "
|
|
read reply leftover
|
|
if [ "x$reply" != "x" ]
|
|
then
|
|
UNPACKDIR="$reply"
|
|
fi
|
|
|
|
if [ -d $UNPACKDIR ]; then
|
|
printf "Directory $UNPACKDIR already exists.\n"
|
|
printf "Please select a new directory name.\n"
|
|
exit 1
|
|
fi
|
|
|
|
# Unpacking
|
|
|
|
mkdir $UNPACKDIR
|
|
|
|
diskSpace=`df -k $UNPACKDIR | tail -1 | awk '{if ( $4 ~ /%/) { print $3 } else { print $4 } }'`
|
|
if [ $diskSpace -lt $diskSpaceRequired ]; then
|
|
printf "The selected drive does not have enough disk space available.\n"
|
|
printf "PRODUCTNAMEPLACEHOLDER requires at least %s kByte.\n" $diskSpaceRequired
|
|
exit 1
|
|
fi
|
|
|
|
trap 'rm -rf $UNPACKDIR; exit 1' HUP INT QUIT TERM
|
|
|
|
if [ -x /usr/bin/sum ] ; then
|
|
echo "File is being checked for errors ..."
|
|
|
|
sum=`$tail_prog +$linenum $0 | /usr/bin/sum`
|
|
sum=`echo $sum | awk '{ print $1 }'`
|
|
|
|
if [ $sum != $checksum ]; then
|
|
echo "The download file appears to be corrupted. Please download PRODUCTNAMEPLACEHOLDER again."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo "Unpacking ..."
|
|
|
|
$tail_prog +$linenum $0 | (cd $UNPACKDIR; tar xf -)
|
|
|
|
echo "All files have been successfully unpacked."
|
|
|
|
if [ -f $UNPACKDIR/setup ]
|
|
then
|
|
chmod 775 $UNPACKDIR/setup
|
|
$UNPACKDIR/setup
|
|
fi
|
|
|
|
exit 0
|