diff options
Diffstat (limited to 'setup_native/scripts/downloadscript.sh')
-rw-r--r-- | setup_native/scripts/downloadscript.sh | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/setup_native/scripts/downloadscript.sh b/setup_native/scripts/downloadscript.sh new file mode 100644 index 000000000..7246ebcda --- /dev/null +++ b/setup_native/scripts/downloadscript.sh @@ -0,0 +1,104 @@ +#!/bin/sh +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# 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 . +# + +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 |