#!/bin/sh # ************************************************************* # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # # ************************************************************* linenum=LINENUMBERPLACEHOLDER UNPACKDIR=/var/tmp/unpack_PRODUCTNAMEPLACEHOLDER diskSpaceRequired=DISCSPACEPLACEHOLDER checksum=CHECKSUMPLACEHOLDER EXTRACTONLY="no" if [ "$1" = "-x" ] then EXTRACTONLY=yes fi # 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 -m 700 $UNPACKDIR diskSpace=`df -k $UNPACKDIR | $tail_prog -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 [ "$EXTRACTONLY" != "yes" ] then if [ -f $UNPACKDIR/setup ] then chmod 775 $UNPACKDIR/setup $UNPACKDIR/setup fi fi exit 0