forked from mcguirepr89/BirdNET-Pi
-
Notifications
You must be signed in to change notification settings - Fork 26
/
newinstaller.sh
executable file
·57 lines (48 loc) · 1.31 KB
/
newinstaller.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
#!/usr/bin/env bash
if [ "$EUID" == 0 ]
then echo "Please run as a non-root user."
exit
fi
if [ "$(uname -m)" != "aarch64" ] && [ "$(uname -m)" != "x86_64" ];then
echo "BirdNET-Pi requires a 64-bit OS.
It looks like your operating system is using $(uname -m),
but would need to be aarch64."
exit 1
fi
# we require passwordless sudo
sudo -K
if ! sudo -n true; then
echo "Passwordless sudo is not working. Aborting"
exit
fi
# the php code expects the user with uid 1000 on this system
PRIMARY=$(awk -F: '/1000/{print $1}' /etc/passwd)
if [ $USER != $PRIMARY ]; then
echo "Current user \"$USER\" does not match the user with uid 1000 on this system \"$PRIMARY\". Aborting"
exit
fi
# Simple new installer
HOME=$HOME
USER=$USER
export HOME=$HOME
export USER=$USER
PACKAGES_MISSING=
for cmd in git jq ; do
if ! which $cmd &> /dev/null;then
PACKAGES_MISSING="${PACKAGES_MISSING} $cmd"
fi
done
if [[ ! -z $PACKAGES_MISSING ]] ; then
sudo apt update
sudo apt -y install $PACKAGES_MISSING
fi
branch=main
git clone -b $branch --depth=1 https://github.com/Nachtzuster/BirdNET-Pi.git ${HOME}/BirdNET-Pi &&
$HOME/BirdNET-Pi/scripts/install_birdnet.sh
if [ ${PIPESTATUS[0]} -eq 0 ];then
echo "Installation completed successfully"
sudo reboot
else
echo "The installation exited unsuccessfully."
exit 1
fi