2019-12-19 16:07:17 -08:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# exit on error
|
|
|
|
set -e
|
|
|
|
|
2019-12-21 02:45:05 -05:00
|
|
|
# detect os/ver for install type
|
|
|
|
os=""
|
|
|
|
if [[ -f /etc/os-release ]]; then
|
2019-12-23 09:28:49 -08:00
|
|
|
. /etc/os-release
|
|
|
|
os=${ID}
|
2019-12-19 16:07:17 -08:00
|
|
|
fi
|
2019-12-21 02:45:05 -05:00
|
|
|
|
2019-12-23 09:28:49 -08:00
|
|
|
# parse arguments
|
2020-07-14 10:42:24 -07:00
|
|
|
dev=""
|
|
|
|
verbose=""
|
|
|
|
prefix=""
|
2020-09-11 15:05:49 -07:00
|
|
|
local=""
|
|
|
|
while getopts "dvlp:" opt; do
|
2019-12-23 09:28:49 -08:00
|
|
|
case ${opt} in
|
|
|
|
d)
|
2020-07-14 10:42:24 -07:00
|
|
|
dev="-d"
|
2019-12-23 09:28:49 -08:00
|
|
|
;;
|
2020-03-05 13:19:20 -08:00
|
|
|
v)
|
2020-07-14 10:42:24 -07:00
|
|
|
verbose="-v"
|
2020-03-05 13:19:20 -08:00
|
|
|
;;
|
2020-09-11 15:05:49 -07:00
|
|
|
l)
|
|
|
|
local="-l"
|
|
|
|
;;
|
2020-07-14 10:42:24 -07:00
|
|
|
p)
|
|
|
|
prefix="-p ${OPTARG}"
|
2020-04-16 10:16:35 -07:00
|
|
|
;;
|
2019-12-23 09:28:49 -08:00
|
|
|
\?)
|
2020-09-11 16:26:13 -07:00
|
|
|
echo "script usage: $(basename $0) [-v] [-d] [-l] [-p <prefix>]" >&2
|
2020-07-14 10:42:24 -07:00
|
|
|
echo "" >&2
|
|
|
|
echo "-v enable verbose install" >&2
|
|
|
|
echo "-d enable developer install" >&2
|
2020-09-11 15:05:49 -07:00
|
|
|
echo "-l enable local install, not compatible with developer install" >&2
|
2020-07-14 10:42:24 -07:00
|
|
|
echo "-p install prefix, defaults to /usr/local" >&2
|
2020-03-05 13:19:20 -08:00
|
|
|
exit 1
|
2019-12-23 09:28:49 -08:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
shift $((OPTIND - 1))
|
|
|
|
|
2020-07-14 10:42:24 -07:00
|
|
|
echo "installing CORE for ${os}"
|
|
|
|
case ${os} in
|
|
|
|
"ubuntu")
|
|
|
|
sudo apt install -y python3-pip python3-venv
|
|
|
|
;;
|
|
|
|
"centos")
|
|
|
|
sudo yum install -y python3-pip
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "unknown OS ID ${os} cannot install"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
python3 -m pip install --user pipx
|
|
|
|
python3 -m pipx ensurepath
|
|
|
|
export PATH=$PATH:~/.local/bin
|
|
|
|
pipx install invoke
|
2020-09-11 15:05:49 -07:00
|
|
|
inv install ${dev} ${verbose} ${local} ${prefix}
|