forked from d8ahazard/glimmr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup_linux.sh
101 lines (91 loc) · 3.13 KB
/
setup_linux.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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/bin/bash
# Add user if not exist
id -u glimmrtv &>/dev/null || useradd -m glimmrtv
cd /home/glimmrtv || exit
# Check dotnet installation
if [ ! -d "/opt/dotnet" ]
then
echo "Installing dotnet."
echo "A..."
wget https://download.visualstudio.microsoft.com/download/pr/daec2daf-b458-4ae1-9046-b8ba09b5fb49/733e2d73b41640d6e6bdf1cc6b9ef03b/dotnet-sdk-3.1.200-linux-x64.tar.gz
wget https://download.visualstudio.microsoft.com/download/pr/2d72ee67-ac4d-42c6-97d9-a26a28201fc8/977ad14b99b6ed03dcefd6655789e43a/aspnetcore-runtime-3.1.2-linux-x64.tar.gz
mkdir -p /opt/dotnet
echo "Extracting Dotnet-SDK..."
tar zxf dotnet-sdk-3.1.200-linux-x64.tar.gz -C /opt/dotnet
echo "DONE!"
echo "Extracting runtime..."
tar zxf ./aspnetcore-runtime-3.1.2-linux-x64.tar.gz -C /opt/dotnet
echo "DONE!"
echo "Symlinking..."
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
echo "DONE!"
# Cleanup
echo "Cleanup..."
rm -rf ./dotnet-sdk-3.1.102-linux-arm.tar.gz
rm -rf ./aspnetcore-runtime-3.1.2-linux-arm.tar.gz
echo "DONE!"
fi
cd /opt/dotnet || exit
# Install dependencies
echo "Installing dependencies..."
sudo apt-get -y update && apt-get -y upgrade
sudo apt-get -y install libgtk-3-dev libhdf5-dev libatlas-base-dev libjasper-dev libqtgui4 libqt4-test libglu1-mesa libdc1394-22 libtesseract-dev scons icu-devtools libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libatlas-base-dev gfortran libopengl-dev git gcc xauth
echo "DONE!"
# Moar Cleanup
echo "More cleanup..."
if [ ! -d "/home/glimmrtv/glimmr" ]
then
# Clone glimmr
echo "Cloning glimmr"
git clone https://github.com/d8ahazard/glimmr /home/glimmrtv/glimmr/src
else
echo "Source exists, updating..."
cd /home/glimmrtv/glimmr/src || exit
git stash && git fetch && git pull
fi
cd /home/glimmrtv/glimmr/src || exit
# Check for service stop
serviceName="glimmr"
if systemctl --all --type service | grep -q "$serviceName";then
echo "Stopping glimmr..."
service glimmr stop
echo "STOPPED!"
else
echo "$serviceName is not installed."
fi
# Build latest version
echo "Building glimmr..."
dotnet build HueDream.csproj /p:PublishProfile=LinuxARM
cp -r /home/glimmrtv/glimmr/src/bin/debug/netcoreapp3.1/linux-arm/* /home/glimmrtv/glimmr/
cp -r /home/glimmrtv/glimmr/src/wwwroot/ /home/glimmrtv/glimmr/wwwroot/
echo "DONE."
# Copy necessary libraries
echo "Copying libs..."
cp -r /home/glimmrtv/glimmr/src/build/arm /usr/lib
# Check service start/install
if systemctl --all --type service | grep -q "$serviceName";then
echo "Starting glimmr..."
systemctl daemon-reload
service glimmr start
echo "DONE!"
else
echo "$serviceName does NOT exist, installing."
echo "
[Unit]
Description=GlimmrTV
[Service]
Type=simple
RemainAfterExit=yes
StandardOutput=tty
Restart=always
User=root
WorkingDirectory=/home/glimmrtv/glimmr
ExecStart=/home/glimmrtv/glimmr/Glimmr
[Install]
WantedBy=multi-user.target
" > /etc/systemd/system/glimmr.service
systemctl daemon-reload
systemctl enable glimmr.service
systemctl start glimmr.service
fi
read -n 1 -r -s -p $'Install complete, press enter to continue. You may want to reboot your system.\n'