#!/bin/sh
#
# NAME: Archiconda3
# VER: 0.2.3
# PLAT: linux-aarch64
# BYTES: 40699275
# LINES: 502
# MD5: d6798d67db5e2e87c6581e9be7cf7d07
export OLD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
unset LD_LIBRARY_PATH
if ! echo "$0" | grep '\.sh$' > /dev/null; then
printf 'Please run using "bash" or "sh", but not "." or "source"\\n' >&2
return 1
fi
# Determine RUNNING_SHELL; if SHELL is non-zero use that.
if [ -n "$SHELL" ]; then
RUNNING_SHELL="$SHELL"
else
if [ "$(uname)" = "Darwin" ]; then
RUNNING_SHELL=/bin/bash
else
if [ -d /proc ] && [ -r /proc ] && [ -d /proc/$$ ] && [ -r /proc/$$ ] && [ -L /proc/$$/exe ] && [ -r /proc/$$/exe ]; then
RUNNING_SHELL=$(readlink /proc/$$/exe)
fi
if [ -z "$RUNNING_SHELL" ] || [ ! -f "$RUNNING_SHELL" ]; then
RUNNING_SHELL=$(ps -p $$ -o args= | sed 's|^-||')
case "$RUNNING_SHELL" in
*/*)
;;
default)
RUNNING_SHELL=$(which "$RUNNING_SHELL")
;;
esac
fi
fi
fi
# Some final fallback locations
if [ -z "$RUNNING_SHELL" ] || [ ! -f "$RUNNING_SHELL" ]; then
if [ -f /bin/bash ]; then
RUNNING_SHELL=/bin/bash
else
if [ -f /bin/sh ]; then
RUNNING_SHELL=/bin/sh
fi
fi
fi
if [ -z "$RUNNING_SHELL" ] || [ ! -f "$RUNNING_SHELL" ]; then
printf 'Unable to determine your shell. Please set the SHELL env. var and re-run\\n' >&2
exit 1
fi
THIS_DIR=$(DIRNAME=$(dirname "$0"); cd "$DIRNAME"; pwd)
THIS_FILE=$(basename "$0")
THIS_PATH="$THIS_DIR/$THIS_FILE"
PREFIX=$HOME/archiconda3
BATCH=0
FORCE=0
SKIP_SCRIPTS=0
TEST=0
REINSTALL=0
USAGE="
usage: $0 [options]
Installs Archiconda3 0.2.3
-b run install in batch mode (without manual intervention),
it is expected the license terms are agreed upon
-f no error if install prefix already exists
-h print this help message and exit
-p PREFIX install prefix, defaults to $PREFIX, must not contain spaces.
-s skip running pre/post-link/install scripts
-u update an existing installation
-t run package tests after installation (may install conda-build)
"
if which getopt > /dev/null 2>&1; then
OPTS=$(getopt bfhp:sut "$*" 2>/dev/null)
if [ ! $? ]; then
printf "%s\\n" "$USAGE"
exit 2
fi
eval set -- "$OPTS"
while true; do
case "$1" in
-h)
printf "%s\\n" "$USAGE"
exit 2
;;
-b)
BATCH=1
shift
;;
-f)
FORCE=1
shift
;;
-p)
PREFIX="$2"
shift
shift
;;
-s)
SKIP_SCRIPTS=1
shift
;;
-u)
FORCE=1
shift
;;
-t)
TEST=1
shift
;;
--)
shift
break
;;
*)
printf "ERROR: did not recognize option '%s', please try -h\\n" "$1"
exit 1
;;
esac
done
else
while getopts "bfhp:sut" x; do
case "$x" in
h)
printf "%s\\n" "$USAGE"
exit 2
;;
b)
BATCH=1
;;
f)
FORCE=1
;;
p)
PREFIX="$OPTARG"
;;
s)
SKIP_SCRIPTS=1
;;
u)
FORCE=1
;;
t)
TEST=1
;;
?)
printf "ERROR: did not recognize option '%s', please try -h\\n" "$x"
exit 1
;;
esac
done
fi
if ! bzip2 --help >/dev/null 2>&1; then
printf "WARNING: bzip2 does not appear to be installed this may cause problems below\\n" >&2
fi
# verify the size of the installer
if ! wc -c "$THIS_PATH" | grep 40699275 >/dev/null; then
printf "ERROR: size of %s should be 40699275 bytes\\n" "$THIS_FILE" >&2
exit 1
fi
if [ "$BATCH" = "0" ] # interactive mode
then
if [ "$(uname)" != "Linux" ]; then
printf "WARNING:\\n"
printf " Your operating system does not appear to be Linux, \\n"
printf " but you are trying to install a Linux version of Archiconda3.\\n"
printf " Are sure you want to continue the installation? [yes|no]\\n"
printf "[no] >>> "
read -r ans
if [ "$ans" != "yes" ] && [ "$ans" != "Yes" ] && [ "$ans" != "YES" ] && \
[ "$ans" != "y" ] && [ "$ans" != "Y" ]
then
printf "Aborting installation\\n"
exit 2
fi
fi
printf "\\n"
printf "Welcome to Archiconda3 0.2.3\\n"
printf "\\n"
printf "In order to continue the installation process, please review the license\\n"
printf "agreement.\\n"
printf "Please, press ENTER to continue\\n"
printf ">>> "
read -r dummy
pager="cat"
if command -v "more" > /dev/null 2>&1; then
pager="more"
fi
"$pager" <<EOF
Copyright (c) 2016-2017 Jonathan J. Helmus
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of the developers nor the names of any
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
EOF
printf "\\n"
printf "Do you accept the license terms? [yes|no]\\n"
printf "[no] >>> "
read -r ans
while [ "$ans" != "yes" ] && [ "$ans" != "Yes" ] && [ "$ans" != "YES" ] && \
[ "$ans" != "no" ] && [ "$ans" != "No" ] && [ "$ans" != "NO" ]
do
printf "Please answer 'yes' or 'no':'\\n"
printf ">>> "
read -r ans
done
if [ "$ans" != "yes" ] && [ "$ans" != "Yes" ] && [ "$ans" != "YES" ]
then
printf "The license agreement wasn't approved, aborting installation.\\n"
exit 2
fi
printf "\\n"
printf "Archiconda3 will now be installed into this location:\\n"
printf "%s\\n" "$PREFIX"
printf "\\n"
printf " - Press ENTER to confirm the location\\n"
printf " - Press CTRL-C to abort the installation\\n"
printf " - Or specify a different location below\\n"
printf "\\n"
printf "[%s] >>> " "$PREFIX"
read -r user_prefix
if [ "$user_prefix" != "" ]; then
case "$user_prefix" in
*\ * )
printf "ERROR: Cannot in
评论0