-
Notifications
You must be signed in to change notification settings - Fork 64
/
Copy pathinstall
executable file
·87 lines (67 loc) · 2.07 KB
/
install
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
78
79
80
81
82
83
84
85
86
#!/bin/bash
# shellcheck disable=SC2086,SC2181
declare -i version
if [[ $(id -u) -ne 0 ]]; then
echo "This script must be executed as root or using sudo."
exit 99
fi
arch="$(dpkg --print-architecture)"
echo "Arch :: ${arch}"
# exit if not supported architecture
case ${arch} in
arm64|armhf|amd64|i386)
echo "Supported architecture"
;;
*)
echo "Unsupported architecture :: ${arch}"
exit 5
;;
esac
url="https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/"
version=$(dpkg -l openmediavault | awk '$2 == "openmediavault" { print substr($3,1,1) }')
echo "OMV ${version}"
codename="$(lsb_release --codename --short)"
echo "Codename :: ${codename}"
if [ ${version} -lt 5 ]; then
echo "Unsupported version of openmediavault"
exit 0
fi
list="/etc/apt/sources.list.d/omvextras.list"
if [ -f "${list}" ]; then
rm ${list}
fi
echo "Downloading omv-extras.org plugin for openmediavault ${version}.x ..."
file="openmediavault-omvextrasorg_latest_all${version}.deb"
if ! grep -qrE "^deb.*${codename}\s+main" /etc/apt/sources.list*; then
echo "Adding missing main repo..."
echo "deb http://deb.debian.org/debian/ ${codename} main contrib non-free" | tee -a /etc/apt/sources.list
fi
if ! grep -qrE "^deb.*${codename}-updates\s+main" /etc/apt/sources.list*; then
echo "Adding missing main updates repo..."
echo "deb http://deb.debian.org/debian/ ${codename}-updates main contrib non-free" | tee -a /etc/apt/sources.list
fi
echo "Updating repos before installing..."
apt-get update
echo "Install prerequisites..."
apt-get --yes --no-install-recommends install gnupg
if [ $? -gt 0 ]; then
echo "Unable to install prerequisites. Exiting."
exit 10
fi
if [ -f "${file}" ]; then
rm ${file}
fi
wget ${url}/${file}
if [ -f "${file}" ]; then
dpkg -i ${file}
if [ $? -gt 0 ]; then
echo "Installing other dependencies ..."
apt-get -f install
fi
echo "Updating repos ..."
apt-get update
else
echo "There was a problem downloading the package."
fi
echo -e "\n\nPress ctrl-shift-R in the browser after signing in to the OMV web interface."
exit 0