kopia lustrzana https://github.com/jprochazka/adsb-receiver
commit
64389f7d78
|
|
@ -31,38 +31,10 @@
|
|||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
|
||||
BUILDDIR=${PWD}
|
||||
BUILDDIR=$PWD
|
||||
DUMP1090DIR="$BUILDDIR/dump1090"
|
||||
|
||||
## FUNCTIONS
|
||||
|
||||
# Function used to check if a package is install and if not install it.
|
||||
ATTEMPT=1
|
||||
function CheckPackage(){
|
||||
if (( $ATTEMPT > 5 )); then
|
||||
echo -e "\033[33mSCRIPT HALETED! \033[31m[FAILED TO INSTALL PREREQUISITE PACKAGE]\033[37m"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
printf "\e[33mChecking if the package $1 is installed..."
|
||||
if [ $(dpkg-query -W -f='${Status}' $1 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
if (( $ATTEMPT > 1 )); then
|
||||
echo -e "\033[31m [PREVIOUS INSTALLATION FAILED]\033[37m"
|
||||
echo -e "\033[33mAttempting to Install the package $1 again in 5 seconds (ATTEMPT $ATTEMPT OF 5)..."
|
||||
sleep 5
|
||||
else
|
||||
echo -e "\033[31m [NOT INSTALLED]\033[37m"
|
||||
echo -e "\033[33mInstalling the package $1..."
|
||||
fi
|
||||
echo -e "\033[37m"
|
||||
ATTEMPT=$((ATTEMPT+1))
|
||||
sudo apt-get install -y $1;
|
||||
echo ""
|
||||
CheckPackage $1
|
||||
else
|
||||
echo -e "\033[32m [OK]\033[37m"
|
||||
ATTEMPT=0
|
||||
fi
|
||||
}
|
||||
source ../bash/functions.sh
|
||||
|
||||
clear
|
||||
|
||||
|
|
@ -97,12 +69,12 @@ CheckPackage lighttpd
|
|||
## DOWNLOAD OR UPDATE THE DUMP1090-MUTABILITY SOURCE
|
||||
|
||||
# Check if the git repository already exists locally.
|
||||
if [ -d "$BUILDDIR/dump1090" ] && [ -d $BUILDDIR/dump1090/.git ]; then
|
||||
if [ -d $DUMP1090DIR ] && [ -d $DUMP1090DIR/.git ]; then
|
||||
# A directory with a git repository containing the source code exists.
|
||||
echo -e "\033[33m"
|
||||
echo "Updating the local dump1090-mutability git repository..."
|
||||
echo -e "\033[37m"
|
||||
cd $BUILDDIR/dump1090
|
||||
cd $DUMP1090DIR
|
||||
git pull origin master
|
||||
else
|
||||
# A directory containing the source code does not exist in the build directory.
|
||||
|
|
@ -117,7 +89,7 @@ fi
|
|||
echo -e "\033[33m"
|
||||
echo "Building the dump1090-mutability package..."
|
||||
echo -e "\033[37m"
|
||||
cd $BUILDDIR/dump1090
|
||||
cd $DUMP1090DIR
|
||||
dpkg-buildpackage -b
|
||||
|
||||
## INSTALL THE DUMP1090-MUTABILITY PACKAGE
|
||||
|
|
@ -130,7 +102,7 @@ sudo dpkg -i dump1090-mutability_1.15~dev_*.deb
|
|||
|
||||
## CHECK THAT THE PACKAGE INSTALLED
|
||||
|
||||
if [ $(dpkg-query -W -f='${Status}' dump1090-mutability 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
if [ $(dpkg-query -W -f='${STATUS}' dump1090-mutability 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
echo "\033[31m"
|
||||
echo "The dump1090-mutability package did not install properly!"
|
||||
echo -e "\033[33m"
|
||||
|
|
@ -167,7 +139,7 @@ sudo /etc/init.d/dump1090-mutability start
|
|||
# Check if the heywhatsthis.com range position file has already been downloaded.
|
||||
if [ ! -f /usr/share/dump1090-mutability/html/upintheair.json ]; then
|
||||
echo -e "\033[33m"
|
||||
echo "Dump1090-mutability is able to display terrain limit rings using data obtained."
|
||||
echo "Dump1090-mutability is able to display terrain limit rings using data obtained"
|
||||
echo "from the website http://www.heywhatsthat.com. Some work will be required on your"
|
||||
echo "part including visiting http://www.heywhatsthat.com and generating a new"
|
||||
echo "panorama set to your location."
|
||||
|
|
@ -177,7 +149,6 @@ if [ ! -f /usr/share/dump1090-mutability/html/upintheair.json ]; then
|
|||
if [[ ! $ADDTERRAINRINGS =~ ^[Nn]$ ]]; then
|
||||
echo -e "\033[31m"
|
||||
echo "READ THE FOLLOWING INSTRUCTION CAREFULLY!"
|
||||
echo ""
|
||||
echo -e "\033[33m"
|
||||
echo "To set up terrain limit rings you will need to first generate a panorama on the website"
|
||||
echo "heywhatsthat.com. To do so visit the following URL:"
|
||||
|
|
|
|||
|
|
@ -31,38 +31,14 @@
|
|||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
|
||||
BUILDDIR=${PWD}
|
||||
## VARIABLES
|
||||
|
||||
## FUNCTIONS
|
||||
BUILDDIR=$PWD
|
||||
ADSBEXCHANGEDIR="$BUILDDIR/adsbexchange"
|
||||
|
||||
# Function used to check if a package is install and if not install it.
|
||||
ATTEMPT=1
|
||||
function CheckPackage(){
|
||||
if (( $ATTEMPT > 5 )); then
|
||||
echo -e "\033[33mSCRIPT HALETED! \033[31m[FAILED TO INSTALL PREREQUISITE PACKAGE]\033[37m"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
printf "\e[33mChecking if the package $1 is installed..."
|
||||
if [ $(dpkg-query -W -f='${Status}' $1 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
if (( $ATTEMPT > 1 )); then
|
||||
echo -e "\033[31m [PREVIOUS INSTALLATION FAILED]\033[37m"
|
||||
echo -e "\033[33mAttempting to Install the package $1 again in 5 seconds (ATTEMPT $ATTEMPT OF 5)..."
|
||||
sleep 5
|
||||
else
|
||||
echo -e "\033[31m [NOT INSTALLED]\033[37m"
|
||||
echo -e "\033[33mInstalling the package $1..."
|
||||
fi
|
||||
echo -e "\033[37m"
|
||||
ATTEMPT=$((ATTEMPT+1))
|
||||
sudo apt-get install -y $1;
|
||||
echo ""
|
||||
CheckPackage $1
|
||||
else
|
||||
echo -e "\033[32m [OK]\033[37m"
|
||||
ATTEMPT=0
|
||||
fi
|
||||
}
|
||||
source ../bash/functions.sh
|
||||
|
||||
## INFORMATIVE MESSAAGE ABOUT THIS SOFTWARE
|
||||
|
||||
clear
|
||||
|
||||
|
|
@ -108,7 +84,7 @@ fi
|
|||
|
||||
echo -e "\033[33mSetting permissions on adsbexchange-maint.sh..."
|
||||
echo -e "\033[37m"
|
||||
sudo chmod +x $BUILDDIR/adsbexchange/adsbexchange-maint.sh
|
||||
sudo chmod +x $ADSBEXCHANGEDIR/adsbexchange-maint.sh
|
||||
|
||||
echo -e "\033[33mAdding startup line to rc.local..."
|
||||
echo -e "\033[37m"
|
||||
|
|
@ -119,7 +95,7 @@ lnum=($(sed -n '/exit 0/=' /etc/rc.local))
|
|||
|
||||
echo -e "\033[33mExecuting adsbexchange-maint.sh..."
|
||||
echo -e "\033[37m"
|
||||
sudo $BUILDDIR/adsbexchange/adsbexchange-maint.sh &
|
||||
sudo $ADSBEXCHANGEDIR/adsbexchange-maint.sh &
|
||||
|
||||
echo -e "\033[33mConfiguration of the ADS-B Exchange feed is now complete."
|
||||
echo "Please look over the output generated to be sure no errors were encountered."
|
||||
|
|
|
|||
|
|
@ -31,46 +31,15 @@
|
|||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
|
||||
# Set to the most current stable version of PiAware available.
|
||||
CURRENTVERSION="2.1-5-jessie"
|
||||
## VAARIABLES
|
||||
|
||||
# This next line was added temporarily due to the fact the version of PiAware containing a certificate
|
||||
# error fix is still pacakaged with the version number 2.1-5. This should be able to be removed once
|
||||
# PiAware's versioning matches back up with that of the tag being used to build the packages.
|
||||
CURRENTVERSIONNAME="2.1-5"
|
||||
BUILDDIR=$PWD
|
||||
PIAWAREDIR="$PWD/piaware_builder"
|
||||
|
||||
BUILDDIR=${PWD}
|
||||
source ../bash/variables.sh
|
||||
source ../bash/functions.sh
|
||||
|
||||
## FUNCTIONS
|
||||
|
||||
# Function used to check if a package is install and if not install it.
|
||||
ATTEMPT=1
|
||||
function CheckPackage(){
|
||||
if (( $ATTEMPT > 5 )); then
|
||||
echo -e "\033[33mSCRIPT HALETED! \033[31m[FAILED TO INSTALL PREREQUISITE PACKAGE]\033[37m"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
printf "\e[33mChecking if the package $1 is installed..."
|
||||
if [ $(dpkg-query -W -f='${Status}' $1 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
if (( $ATTEMPT > 1 )); then
|
||||
echo -e "\033[31m [PREVIOUS INSTALLATION FAILED]\033[37m"
|
||||
echo -e "\033[33mAttempting to Install the package $1 again in 5 seconds (ATTEMPT $ATTEMPT OF 5)..."
|
||||
sleep 5
|
||||
else
|
||||
echo -e "\033[31m [NOT INSTALLED]\033[37m"
|
||||
echo -e "\033[33mInstalling the package $1..."
|
||||
fi
|
||||
echo -e "\033[37m"
|
||||
ATTEMPT=$((ATTEMPT+1))
|
||||
sudo apt-get install -y $1;
|
||||
echo ""
|
||||
CheckPackage $1
|
||||
else
|
||||
echo -e "\033[32m [OK]\033[37m"
|
||||
ATTEMPT=0
|
||||
fi
|
||||
}
|
||||
## INFORMATIVE MESSAGE ABOUT THIS SOFTWARE
|
||||
|
||||
clear
|
||||
|
||||
|
|
@ -117,12 +86,12 @@ CheckPackage itcl3
|
|||
## DOWNLOAD OR UPDATE THE PIAWARE_BUILDER SOURCE
|
||||
|
||||
# Check if the git repository already exists locally.
|
||||
if [ -d "$BUILDDIR/piaware_builder" ] && [ -d $BUILDDIR/piaware_builder/.git ]; then
|
||||
if [ -d $PIAWAREDIR ] && [ -d $PIAWAREDIR/.git ]; then
|
||||
# A directory with a git repository containing the source code exists.
|
||||
echo -e "\033[33m"
|
||||
echo "Updating the local piaware_builder git repository..."
|
||||
echo -e "\033[37m"
|
||||
cd $BUILDDIR/piaware_builder
|
||||
cd $PIAWAREDIR
|
||||
git pull origin master
|
||||
else
|
||||
# A directory containing the source code does not exist in the build directory.
|
||||
|
|
@ -130,8 +99,8 @@ else
|
|||
echo "Cloning the piaware_builder git repository locally..."
|
||||
echo -e "\033[37m"
|
||||
git clone https://github.com/flightaware/piaware_builder.git
|
||||
cd $BUILDDIR/piaware_builder
|
||||
git checkout tags/v${CURRENTVERSION}
|
||||
cd $PIAWAREDIR
|
||||
git checkout ${PIAWAREBRANCH}
|
||||
fi
|
||||
|
||||
## BUILD THE PIAWARE PACKAGE
|
||||
|
|
@ -140,7 +109,7 @@ echo -e "\033[33m"
|
|||
echo "Building the PiAware package..."
|
||||
echo -e "\033[37m"
|
||||
./sensible-build.sh
|
||||
cd $BUILDDIR/piaware_builder/package
|
||||
cd $PIAWAREDIR/package
|
||||
dpkg-buildpackage -b
|
||||
|
||||
## INSTALL THE PIAWARE PACKAGE
|
||||
|
|
@ -148,16 +117,11 @@ dpkg-buildpackage -b
|
|||
echo -e "\033[33m"
|
||||
echo "Installing the PiAware package..."
|
||||
echo -e "\033[37m"
|
||||
|
||||
### TEMPORARY FIX #########################################################################
|
||||
# READ THE COMMENT PERTAINING TO THE VARIABLE CURRENTVERSIONNAME AT THE TOP OF THE SCRIPT #
|
||||
###########################################################################################
|
||||
#sudo dpkg -i $BUILDDIR/piaware_builder/piaware_${CURRENTVERSION}_*.deb
|
||||
sudo dpkg -i $BUILDDIR/piaware_builder/piaware_${CURRENTVERSIONNAME}_*.deb
|
||||
sudo dpkg -i $PIAWAREDIR/piaware_${PIAWAREVERSION}_*.deb
|
||||
|
||||
## CHECK THAT THE PACKAGE INSTALLED
|
||||
|
||||
if [ $(dpkg-query -W -f='${Status}' piaware 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
if [ $(dpkg-query -W -f='${STATUS}' piaware 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
echo "\033[31m"
|
||||
echo "The piaware package did not install properly!"
|
||||
echo -e "\033[33m"
|
||||
|
|
|
|||
|
|
@ -31,43 +31,14 @@
|
|||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
|
||||
BUILDDIR=${PWD}
|
||||
## VARIABLES
|
||||
|
||||
## DECLARE THE CURRENT VERSIONS OF THE SOFTWARE
|
||||
BUILDDIR=$PWD
|
||||
|
||||
ARMVERSION="3.1.201"
|
||||
I386VERSION="3.0.2080"
|
||||
source ../bash/variables.sh
|
||||
source ../bash/functions.sh
|
||||
|
||||
## FUNCTIONS
|
||||
|
||||
# Function used to check if a package is install and if not install it.
|
||||
ATTEMPT=1
|
||||
function CheckPackage(){
|
||||
if (( $ATTEMPT > 5 )); then
|
||||
echo -e "\033[33mSCRIPT HALETED! \033[31m[FAILED TO INSTALL PREREQUISITE PACKAGE]\033[37m"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
printf "\e[33mChecking if the package $1 is installed..."
|
||||
if [ $(dpkg-query -W -f='${Status}' $1 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
if (( $ATTEMPT > 1 )); then
|
||||
echo -e "\033[31m [PREVIOUS INSTALLATION FAILED]\033[37m"
|
||||
echo -e "\033[33mAttempting to Install the package $1 again in 5 seconds (ATTEMPT $ATTEMPT OF 5)..."
|
||||
sleep 5
|
||||
else
|
||||
echo -e "\033[31m [NOT INSTALLED]\033[37m"
|
||||
echo -e "\033[33mInstalling the package $1..."
|
||||
fi
|
||||
echo -e "\033[37m"
|
||||
ATTEMPT=$((ATTEMPT+1))
|
||||
sudo apt-get install -y $1;
|
||||
echo ""
|
||||
CheckPackage $1
|
||||
else
|
||||
echo -e "\033[32m [OK]\033[37m"
|
||||
ATTEMPT=0
|
||||
fi
|
||||
}
|
||||
## INFORMATIVE MESSAGE ABOUT THIS SOFTWARE
|
||||
|
||||
clear
|
||||
|
||||
|
|
@ -110,9 +81,9 @@ echo -e "\033[33m"
|
|||
echo "Downloading the Plane Finder ADS-B Client package..."
|
||||
echo -e "\033[37m"
|
||||
if [[ `uname -m` == "armv7l" ]]; then
|
||||
wget http://client.planefinder.net/pfclient_${ARMVERSION}_armhf.deb -O $BUILDDIR/pfclient_${ARMVERSION}_armhf.deb
|
||||
wget http://client.planefinder.net/pfclient_${PFCLIENTVERSIONARM}_armhf.deb -O $BUILDDIR/pfclient_${PFCLIENTVERSIONARM}_armhf.deb
|
||||
else
|
||||
wget http://client.planefinder.net/pfclient_${I386VERSION}_i386.deb -O $BUILDDIR/pfclient_${I386VERSION}_i386.deb
|
||||
wget http://client.planefinder.net/pfclient_${PFCLIENTVERSIONI386}_i386.deb -O $BUILDDIR/pfclient_${PFCLIENTVERSIONI386}_i386.deb
|
||||
fi
|
||||
|
||||
## INSTALL THE PLANEFINDER ADS-B CLIENT PACKAGE
|
||||
|
|
@ -121,19 +92,19 @@ echo -e "\033[33m"
|
|||
echo "Installing the Plane Finder ADS-B Client package..."
|
||||
echo -e "\033[37m"
|
||||
if [[ `uname -m` == "armv7l" ]]; then
|
||||
sudo dpkg -i $BUILDDIR/pfclient_${ARMVERSION}_armhf.deb
|
||||
sudo dpkg -i $BUILDDIR/pfclient_${PFCLIENTVERSIONARM}_armhf.deb
|
||||
else
|
||||
if [[ `lsb_release -si` == "Debian" ]]; then
|
||||
# Force architecture if this is Debian.
|
||||
sudo dpkg -i --force-architecture $BUILDDIR/pfclient_${I386VERSION}_i386.deb
|
||||
sudo dpkg -i --force-architecture $BUILDDIR/pfclient_${PFCLIENTVERSIONI386}_i386.deb
|
||||
else
|
||||
sudo dpkg -i $BUILDDIR/pfclient_${I386VERSION}_i386.deb
|
||||
sudo dpkg -i $BUILDDIR/pfclient_${PFCLIENTVERSIONI386}_i386.deb
|
||||
fi
|
||||
fi
|
||||
|
||||
## CHECK THAT THE PACKAGE INSTALLED
|
||||
|
||||
if [ $(dpkg-query -W -f='${Status}' pfclient 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
if [ $(dpkg-query -W -f='${STATUS}' pfclient 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
echo "\033[31m"
|
||||
echo "The piaware package did not install properly!"
|
||||
echo -e "\033[33m"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,83 @@
|
|||
#!/bin/bash
|
||||
|
||||
#####################################################################################
|
||||
# ADS-B FEEDER #
|
||||
#####################################################################################
|
||||
# #
|
||||
# This script is not meant to be executed directly. #
|
||||
# Instead execute install.sh to begin the installation process. #
|
||||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
# #
|
||||
# Copyright (c) 2015 Joseph A. Prochazka #
|
||||
# #
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy #
|
||||
# of this software and associated documentation files (the "Software"), to deal #
|
||||
# in the Software without restriction, including without limitation the rights #
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell #
|
||||
# copies of the Software, and to permit persons to whom the Software is #
|
||||
# furnished to do so, subject to the following conditions: #
|
||||
# #
|
||||
# The above copyright notice and this permission notice shall be included in all #
|
||||
# copies or substantial portions of the Software. #
|
||||
# #
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE #
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, #
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE #
|
||||
# SOFTWARE. #
|
||||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
|
||||
#######################################################################
|
||||
# Detect if a package is installed and if not attempt to install it.
|
||||
|
||||
function CheckPackage {
|
||||
ATTEMPT=1
|
||||
MAXATTEMPTS=5
|
||||
WAITTIME=5
|
||||
|
||||
while (( $ATTEMPT -le `(($MAXATTEMPTS + 1))` )); do
|
||||
|
||||
# If the maximum attempts has been reached...
|
||||
if [ $ATTEMPT -gt $MAXATTEMPTS ]; then
|
||||
echo -e "\033[31m"
|
||||
echo "#########################################"
|
||||
echo "# INSTALLATION HALTED! #"
|
||||
echo "# UNABLE TO INSTALL A REQUIRED PACKAGE. #"
|
||||
echo "#########################################"
|
||||
echo -e "\033[33m"
|
||||
echo "The package \"$1\" could not be installed in $MAXATTEMPTS attempts."
|
||||
echo -e "\033[37m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if the package is already installed.
|
||||
printf "\033[33mChecking if the package $1 is installed..."
|
||||
if [ $(dpkg-query -W -f='${STATUS}' $1 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
|
||||
# If this is not the first attempt at installing this package...
|
||||
if [ $ATTEMPT -gt 1 ]; then
|
||||
echo -e "\033[31m [PREVIOUS INSTALLATION FAILED]"
|
||||
echo -e "\033[33mAttempting to Install the package $1 again in $WAITTIME seconds (ATTEMPT $ATTEMPT OF $MAXATTEMPTS)..."
|
||||
sleep $WAITTIME
|
||||
else
|
||||
echo -e "\033[31m [NOT INSTALLED]"
|
||||
echo -e "\033[33mInstalling the package $1..."
|
||||
fi
|
||||
|
||||
# Attempt to install the required package.
|
||||
echo -e "\033[37m"
|
||||
ATTEMPT=$((ATTEMPT+1))
|
||||
sudo apt-get install -y $1
|
||||
echo ""
|
||||
else
|
||||
# The package appears to be installed.
|
||||
echo -e "\033[32m [OK]\033[37m"
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
|
||||
BUILDDIR="${PWD}/build"
|
||||
BUILDDIR=$PWD
|
||||
|
||||
# Assign the Lighthttpd document root directory to a variable.
|
||||
RAWDOCUMENTROOT=`/usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf -p | grep server.document-root`
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
|
||||
BUILDDIR="${PWD}/build"
|
||||
BUILDDIR=$PWD
|
||||
|
||||
# Assign the Lighthttpd document root directory to a variable.
|
||||
RAWDOCUMENTROOT=`/usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf -p | grep server.document-root`
|
||||
|
|
|
|||
|
|
@ -31,38 +31,10 @@
|
|||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
|
||||
SCRIPTDIR=${PWD}
|
||||
BUILDDIR=$PWD
|
||||
BASHDIR=$BUILDDIR/../bash
|
||||
|
||||
## FUNCTIONS
|
||||
|
||||
# Function used to check if a package is install and if not install it.
|
||||
ATTEMPT=1
|
||||
function CheckPackage(){
|
||||
if (( $ATTEMPT > 5 )); then
|
||||
echo -e "\033[33mSCRIPT HALETED! \033[31m[FAILED TO INSTALL PREREQUISITE PACKAGE]\033[37m"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
printf "\e[33mChecking if the package $1 is installed..."
|
||||
if [ $(dpkg-query -W -f='${Status}' $1 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
if (( $ATTEMPT > 1 )); then
|
||||
echo -e "\033[31m [PREVIOUS INSTALLATION FAILED]\033[37m"
|
||||
echo -e "\033[33mAttempting to Install the package $1 again in 5 seconds (ATTEMPT $ATTEMPT OF 5)..."
|
||||
sleep 5
|
||||
else
|
||||
echo -e "\033[31m [NOT INSTALLED]\033[37m"
|
||||
echo -e "\033[33mInstalling the package $1..."
|
||||
fi
|
||||
echo -e "\033[37m"
|
||||
ATTEMPT=$((ATTEMPT+1))
|
||||
sudo apt-get install -y $1;
|
||||
echo ""
|
||||
CheckPackage $1
|
||||
else
|
||||
echo -e "\033[32m [OK]\033[37m"
|
||||
ATTEMPT=0
|
||||
fi
|
||||
}
|
||||
source ../bash/functions.sh
|
||||
|
||||
clear
|
||||
|
||||
|
|
@ -93,27 +65,27 @@ CheckPackage rrdtool
|
|||
echo -e "\033[33m"
|
||||
echo "Installing homepage..."
|
||||
echo -e "\033[37m"
|
||||
chmod +x $SCRIPTDIR/bash/portal/homepage.sh
|
||||
$SCRIPTDIR/bash/portal/homepage.sh
|
||||
chmod +x $BASHDIR/portal/homepage.sh
|
||||
$BASHDIR/portal/homepage.sh
|
||||
|
||||
echo -e "\033[33m"
|
||||
echo "Installing map container..."
|
||||
echo -e "\033[37m"
|
||||
chmod +x $SCRIPTDIR/bash/portal/map.sh
|
||||
$SCRIPTDIR/bash/portal/map.sh
|
||||
chmod +x $BASHDIR/portal/map.sh
|
||||
$BASHDIR/portal/map.sh
|
||||
|
||||
echo -e "\033[33m"
|
||||
echo "Installing performance graphs..."
|
||||
echo -e "\033[37m"
|
||||
chmod +x $SCRIPTDIR/bash/portal/graphs.sh
|
||||
$SCRIPTDIR/bash/portal/graphs.sh
|
||||
chmod +x $BASHDIR/portal/graphs.sh
|
||||
$BASHDIR/portal/graphs.sh
|
||||
|
||||
if [ $(dpkg-query -W -f='${STATUS}' pfclient 2>/dev/null | grep -c "ok installed") -eq 1 ]; then
|
||||
echo -e "\033[33m"
|
||||
echo "Installing performance graphs..."
|
||||
echo -e "\033[37m"
|
||||
chmod +x $SCRIPTDIR/bash/portal/planefinder.sh
|
||||
$SCRIPTDIR/bash/portal/planefinder.sh
|
||||
chmod +x $BASHDIR/portal/planefinder.sh
|
||||
$BASHDIR/portal/planefinder.sh
|
||||
fi
|
||||
|
||||
echo -e "\033[33m"
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
|
||||
BUILDDIR="${PWD}/build"
|
||||
BUILDDIR=$PWD
|
||||
|
||||
# Assign the Lighthttpd document root directory to a variable.
|
||||
RAWDOCUMENTROOT=`/usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf -p | grep server.document-root`
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
|
||||
BUILDDIR="${PWD}/build"
|
||||
BUILDDIR=$PWD
|
||||
|
||||
# Assign the Lighthttpd document root directory to a variable.
|
||||
RAWDOCUMENTROOT=`/usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf -p | grep server.document-root`
|
||||
|
|
|
|||
|
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
|
||||
#####################################################################################
|
||||
# ADS-B FEEDER #
|
||||
#####################################################################################
|
||||
# #
|
||||
# This script is not meant to be executed directly. #
|
||||
# Instead execute install.sh to begin the installation process. #
|
||||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
# #
|
||||
# Copyright (c) 2015 Joseph A. Prochazka #
|
||||
# #
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy #
|
||||
# of this software and associated documentation files (the "Software"), to deal #
|
||||
# in the Software without restriction, including without limitation the rights #
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell #
|
||||
# copies of the Software, and to permit persons to whom the Software is #
|
||||
# furnished to do so, subject to the following conditions: #
|
||||
# #
|
||||
# The above copyright notice and this permission notice shall be included in all #
|
||||
# copies or substantial portions of the Software. #
|
||||
# #
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE #
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, #
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE #
|
||||
# SOFTWARE. #
|
||||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
|
||||
## SOFTWARE VERSIONS
|
||||
|
||||
# FlightAware PiAware
|
||||
PIAWAREVERSION="2.1-5"
|
||||
PIAWAREBRANCH="5c77c4924"
|
||||
|
||||
# PlaneFinder ADS-B Client
|
||||
PFCLIENTVERSIONARM="3.1.201"
|
||||
PFCLIENTVERSIONI386="3.0.2080"
|
||||
126
install.sh
126
install.sh
|
|
@ -34,49 +34,17 @@
|
|||
# #
|
||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||
|
||||
##############
|
||||
## VARIABLES
|
||||
|
||||
PIAWAREVERSION="2.1-5-jessie"
|
||||
PFCLIENTI386VERSION="3.1.201"
|
||||
PFCLIENTARMVERSION="3.0.2080"
|
||||
BASEDIR=$PWD
|
||||
BASHDIR="$BASEDIR/bash"
|
||||
BUILDDIR="$BASEDIR/build"
|
||||
|
||||
SCRIPTDIR=${PWD}
|
||||
BUILDDIR="$SCRIPTDIR/build"
|
||||
source $BASHDIR/variables.sh
|
||||
source $BASHDIR/functions.sh
|
||||
|
||||
|
||||
##############
|
||||
## FUNCTIONS
|
||||
|
||||
# Function used to check if a package is install and if not install it.
|
||||
ATTEMPT=1
|
||||
function CheckPackage(){
|
||||
if (( $ATTEMPT > 5 )); then
|
||||
echo -e "\033[33mSCRIPT HALETED! \033[31m[FAILED TO INSTALL PREREQUISITE PACKAGE]\033[37m"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
printf "\e[33mChecking if the package $1 is installed..."
|
||||
if [ $(dpkg-query -W -f='${Status}' $1 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
|
||||
if (( $ATTEMPT > 1 )); then
|
||||
echo -e "\033[31m [PREVIOUS INSTALLATION FAILED]\033[37m"
|
||||
echo -e "\033[33mAttempting to Install the package $1 again in 5 seconds (ATTEMPT $ATTEMPT OF 5)..."
|
||||
sleep 5
|
||||
else
|
||||
echo -e "\033[31m [NOT INSTALLED]\033[37m"
|
||||
echo -e "\033[33mInstalling the package $1..."
|
||||
fi
|
||||
echo -e "\033[37m"
|
||||
ATTEMPT=$((ATTEMPT+1))
|
||||
sudo apt-get install -y $1;
|
||||
echo ""
|
||||
CheckPackage $1
|
||||
else
|
||||
echo -e "\033[32m [OK]\033[37m"
|
||||
ATTEMPT=0
|
||||
fi
|
||||
}
|
||||
|
||||
# Download the latest package lists for enabled repositories and PPAs.
|
||||
function AptUpdate() {
|
||||
clear
|
||||
|
|
@ -99,34 +67,15 @@ function UpdateOperatingSystem() {
|
|||
read -p "Press enter to continue..." CONTINUE
|
||||
}
|
||||
|
||||
# Update Raspberry Pi firmware.
|
||||
function UpdateFirmware() {
|
||||
clear
|
||||
CheckPackage rpi-update
|
||||
echo -e "\033[33m"
|
||||
echo "Updating Raspberry Pi firmware..."
|
||||
echo -e "\033[37m"
|
||||
sudo rpi-update
|
||||
echo -e "\033[33m"
|
||||
echo "Your Raspberry Pi firmware is now up to date."
|
||||
echo "If in fact your firmware was update it is recommended that you restart your device now."
|
||||
echo "After the reboot execute this script again to enter the installation process once more."
|
||||
echo -e "\033[37m"
|
||||
read -p "Would you like to reboot your device now? [y/N] " REBOOT
|
||||
if [[ $REBOOT =~ ^[Yy]$ ]]; then
|
||||
sudo reboot
|
||||
fi
|
||||
}
|
||||
|
||||
# Download, build and then install the dump1090-mutability package.
|
||||
function InstallDump1090() {
|
||||
clear
|
||||
cd $BUILDDIR
|
||||
echo -e "\033[33mExecuting the dump1090-mutability installation script..."
|
||||
echo -e "\033[37m"
|
||||
chmod +x $SCRIPTDIR/bash/decoders/dump1090-mutability.sh
|
||||
$SCRIPTDIR/bash/decoders/dump1090-mutability.sh
|
||||
cd $SCRIPTDIR
|
||||
chmod +x $BASHDIR/decoders/dump1090-mutability.sh
|
||||
$BASHDIR/decoders/dump1090-mutability.sh
|
||||
cd $BASEDIR
|
||||
}
|
||||
|
||||
# Download, build and then install the PiAware package.
|
||||
|
|
@ -135,9 +84,9 @@ function InstallPiAware() {
|
|||
cd $BUILDDIR
|
||||
echo -e "\033[33mExecuting the PiAware installation script..."
|
||||
echo -e "\033[37m"
|
||||
chmod +x $SCRIPTDIR/bash/feeders/piaware.sh
|
||||
$SCRIPTDIR/bash/feeders/piaware.sh
|
||||
cd $SCRIPTDIR
|
||||
chmod +x $BASHDIR/feeders/piaware.sh
|
||||
$BASHDIR/feeders/piaware.sh
|
||||
cd $BASEDIR
|
||||
}
|
||||
|
||||
# Download and install the Plane Finder ADS-B Client package.
|
||||
|
|
@ -146,9 +95,9 @@ function InstallPlaneFinder() {
|
|||
cd $BUILDDIR
|
||||
echo -e "\033[33mExecuting the Plane Finder ADS-B Client installation script..."
|
||||
echo -e "\033[37m"
|
||||
chmod +x $SCRIPTDIR/bash/feeders/planefinder.sh
|
||||
$SCRIPTDIR/bash/feeders/planefinder.sh
|
||||
cd $SCRIPTDIR
|
||||
chmod +x $BASHDIR/feeders/planefinder.sh
|
||||
$BASHDIR/feeders/planefinder.sh
|
||||
cd $BASEDIR
|
||||
}
|
||||
|
||||
# Setup the ADS-B Exchange feed.
|
||||
|
|
@ -157,20 +106,20 @@ function InstallAdsbExchange() {
|
|||
cd $BUILDDIR
|
||||
echo -e "\033[33mExecuting the ADS-B Exchange installation script..."
|
||||
echo -e "\033[37m"
|
||||
chmod +x $SCRIPTDIR/bash/feeders/adsbexchange.sh
|
||||
$SCRIPTDIR/bash/feeders/adsbexchange.sh
|
||||
cd $SCRIPTDIR
|
||||
chmod +x $BASHDIR/bash/feeders/adsbexchange.sh
|
||||
$BASHDIR/feeders/adsbexchange.sh
|
||||
cd $BASEDIR
|
||||
}
|
||||
|
||||
# Setup and execute the web portal installation scripts.
|
||||
function InstallWebPortal() {
|
||||
clear
|
||||
cd $SCRIPTDIR
|
||||
cd $BUILDDIR
|
||||
echo -e "\033[33mExecuting the web portal installation scripts..."
|
||||
echo -e "\033[37m"
|
||||
chmod +x $SCRIPTDIR/bash/portal/install.sh
|
||||
$SCRIPTDIR/bash/portal/install.sh
|
||||
cd $SCRIPTDIR
|
||||
chmod +x $BASHDIR/portal/install.sh
|
||||
$BASHDIR/portal/install.sh
|
||||
cd $BASEDIR
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -204,16 +153,6 @@ It is recommended that you update your system before building and/or installing
|
|||
Update system before installing any ADS-B feeder related software?
|
||||
EOF
|
||||
|
||||
# Message displayed asking to update the Raspberry Pi firmware.
|
||||
read -d '' UPDATEFIRMWAREFIRST <<"EOF"
|
||||
This script has detected that this may be a Raspberry Pi. If this is in fact a Raspberry Pi this script can update the system's firmware now as well.
|
||||
|
||||
If you choose to update your Raspberry Pi firmware this script will check for the existance of the package rpi-update and install it if it is not install already. After confirming that rpi-update is installed it will be used to update your firmware.
|
||||
|
||||
Is this in fact a Raspberry Pi and if so do you want to update
|
||||
the firmware now? (This will require a reboot.)
|
||||
EOF
|
||||
|
||||
# Message displayed if dump1090-mutability is installed.
|
||||
read -d '' DUMP1090INSTALLED <<"EOF"
|
||||
The dump1090-mutability package appears to be installed on your device However...
|
||||
|
|
@ -280,13 +219,6 @@ fi
|
|||
whiptail --backtitle "$BACKTITLE" --title "Install Operating System Updates" --yesno "$UPDATEFIRST" 10 65
|
||||
UPDATEOS=$?
|
||||
|
||||
# Ask to update the Raspberry Pi firmware.
|
||||
UPDATEFIRMWARENOW=1
|
||||
if [[ `uname -m` == "armv7l" ]]; then
|
||||
whiptail --backtitle "$BACKTITLE" --title "Update Raspberry Pi Firmware" --yesno "$UPDATEFIRMWAREFIRST" 10 65
|
||||
UPDATEFIRMWARENOW=$?
|
||||
fi
|
||||
|
||||
## DUMP1090-MUTABILITY CHECK
|
||||
|
||||
DUMP1090CHOICE=1
|
||||
|
|
@ -332,12 +264,12 @@ if [ $(dpkg-query -W -f='${STATUS}' pfclient 2>/dev/null | grep -c "ok installed
|
|||
FEEDERLIST=("${FEEDERLIST[@]}" 'Plane Finder ADS-B Client' '' OFF)
|
||||
else
|
||||
# Set version depending on the device architecture.
|
||||
PFCLIENTVERSION=$PFCLIENTARMVERSION
|
||||
PFCLIENTVERSION=$PFCLIENTVERSIONARM
|
||||
|
||||
## The i386 version even though labeled as 3.1.201 is in fact reported as 3.0.2080.
|
||||
## So for now we will skip the architecture check and use the ARM version variable for both.
|
||||
#if [[ `uname -m` != "armv7l" ]]; then
|
||||
# PFCLIENTVERSION=$PFCLIENTI386VERSION
|
||||
# PFCLIENTVERSION=$PFCLIENTVERSIONI386
|
||||
#fi
|
||||
|
||||
# Check if a newer version can be installed.
|
||||
|
|
@ -372,7 +304,7 @@ DOINSTALLWEBPORTAL=$?
|
|||
## CONFIRMATION
|
||||
|
||||
# Check if anything is to be done before moving on.
|
||||
if [ $UPDATEOS = 1 ] && [ $UPDATEFIRMWARENOW = 1 ] && [ $DUMP1090CHOICE = 1 ] && [ $DOINSTALLWEBPORTAL = 1 ] && [ ! -s FEEDERCHOICES ]; then
|
||||
if [ $UPDATEOS = 1 ] && [ $DUMP1090CHOICE = 1 ] && [ $DOINSTALLWEBPORTAL = 1 ] && [ ! -s FEEDERCHOICES ]; then
|
||||
whiptail --backtitle "$BACKTITLE" --title "Nothing to be done" --msgbox "$NOTHINGTODO" 10 65
|
||||
|
||||
echo -e "\033[31m"
|
||||
|
|
@ -389,7 +321,7 @@ fi
|
|||
|
||||
declare CONFIRMATION
|
||||
# If the user decided to install updates...
|
||||
if [ $UPDATEOS = 0 ] || [ $UPDATEFIRMWARENOW = 0 ]; then
|
||||
if [ $UPDATEOS = 0 ]; then
|
||||
CONFIRMATION="The following actions will be performed:\n"
|
||||
|
||||
if [ $UPDATEOS = 0 ]; then
|
||||
|
|
@ -397,10 +329,6 @@ if [ $UPDATEOS = 0 ] || [ $UPDATEFIRMWARENOW = 0 ]; then
|
|||
CONFIRMATION="${CONFIRMATION}\n * Operating system updates will be applied."
|
||||
fi
|
||||
|
||||
if [ $UPDATEFIRMWARENOW = 0 ]; then
|
||||
# Firmware update message.
|
||||
CONFIRMATION="${CONFIRMATION}\n * Raspberry Pi firmware updates will be applied."
|
||||
fi
|
||||
CONFIRMATION="${CONFIRMATION}\n"
|
||||
fi
|
||||
|
||||
|
|
@ -474,10 +402,6 @@ if [ $UPDATEOS = 0 ]; then
|
|||
UpdateOperatingSystem
|
||||
fi
|
||||
|
||||
if [ $UPDATEFIRMWARENOW = 0 ]; then
|
||||
UpdateFirmware
|
||||
fi
|
||||
|
||||
## Mode S decoder.
|
||||
|
||||
if [ $DUMP1090CHOICE = 0 ]; then
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue