-
Notifications
You must be signed in to change notification settings - Fork 6
/
install.sh
executable file
·77 lines (69 loc) · 2.23 KB
/
install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/bash
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color
get_file() {
dl_url="https://api.github.com/repos/HexmosTech/Lama2/releases/latest"
api_resp=$(wget -nv -O - $dl_url)
}
get_platform() {
architecture=""
case $(uname -m) in
i386) architecture="386" ;;
i686) architecture="386" ;;
x86_64) architecture="amd64" ;;
arm) dpkg --print-architecture | grep -q "arm64" && architecture="arm64" || architecture="arm" ;;
arm64) architecture="arm64" ;;
*) exit 1
esac
}
get_os() {
the_os=""
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
echo "OS is Linux"
the_os="linux"
elif [[ "$OSTYPE" == "darwin"* ]]; then
# Mac OSX
echo "OS is Mac OSX"
the_os="darwin"
elif [[ "$OSTYPE" == "cygwin" ]]; then
# POSIX compatibility layer and Linux environment emulation for Windows
echo "OS is Cygwin"
echo "Installer not supported yet; please use release binary"
exit
elif [[ "$OSTYPE" == "msys" ]]; then
# Lightweight shell and GNU utilities compiled for Windows (part of MinGW)
echo "OS is msys"
echo "Installer not supported yet; please use release binary"
exit
elif [[ "$OSTYPE" == "win32" ]]; then
# I'm not sure this can happen.
echo "OS is win32"
echo "Installer not supported yet; please use release binary"
exit
elif [[ "$OSTYPE" == "freebsd"* ]]; then
# ...
echo "OS is freebsd"
echo "Installer not supported yet; please use release binary"
exit
else
# Unknown.
echo "Error: Unknown OS"
exit
fi
}
get_file
get_platform
get_os
search="http.*${the_os}-${architecture}.tar.gz\"$"
echo "${search}"
archive=$(echo "${api_resp}" | grep "${search}" | sed 's|[\"\,]*||g' | sed 's/browser_download_url://g' | xargs)
wget -O /tmp/l2_latest.tar.gz "${archive}"
tar -xvzf /tmp/l2_latest.tar.gz -C /tmp
sudo rm -f /usr/local/bin/l2 /usr/bin/l2
sudo mv /tmp/l2 /usr/local/bin
if l2 > /dev/null 2>&1; then
echo -e $"${GREEN}Successfully installed Lama2; Type 'l2 <api_file>' to invoke Lama2${NC}"
else
echo -e $"${RED}Failure in installation; please report issue at github.com/HexmosTech/Lama2${NC}"
fi