summaryrefslogtreecommitdiffstats
path: root/setup_native/scripts/downloadscript.sh
diff options
context:
space:
mode:
Diffstat (limited to 'setup_native/scripts/downloadscript.sh')
-rw-r--r--setup_native/scripts/downloadscript.sh104
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