kopia lustrzana https://github.com/jprochazka/adsb-receiver
Initial commit for ACARS support - Issue #288
rodzic
4d8d5533d2
commit
64b3518f7a
|
|
@ -1,3 +1,134 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Placeholder for acarsdec from https://github.com/TLeconte/acarsdec.git - Issue #288
|
||||
### VARIABLES
|
||||
|
||||
RECIEVER_ROOT_DIRECTORY="${PWD}"
|
||||
RECEIVER_BASH_DIRECTORY="${RECIEVER_ROOT_DIRECTORY}/bash"
|
||||
RECEIVER_BUILD_DIRECTORY="${RECIEVER_ROOT_DIRECTORY}/build"
|
||||
|
||||
# DECODER SPECIFIC VARIABLES
|
||||
|
||||
BETA_NAME="Acarsdec"
|
||||
BETA_GITHUB_URL="https://github.com/TLeconte/acarsdec.git"
|
||||
|
||||
## INCLUDE EXTERNAL SCRIPTS
|
||||
|
||||
source ${RECEIVER_BASH_DIRECTORY}/variables.sh
|
||||
source ${RECEIVER_BASH_DIRECTORY}/functions.sh
|
||||
|
||||
# Should be moved to functions.sh.
|
||||
function CheckReturnCode {
|
||||
LINE=$((`stty size | awk '{print $1}'` - 1))
|
||||
COL=$((`stty size | awk '{print $2}'` - 8))
|
||||
tput cup "${LINE}" "${COL}"
|
||||
if [[ $? -eq 0 ]] ; then
|
||||
echo -e "\e[97m[\e[32mDone\e[97m]\e[39m\n"
|
||||
else
|
||||
echo -e "\e[97m[\e[31mError\e[97m]\e[39m\n"
|
||||
echo -e "\e[39m ${ACTION}\n"
|
||||
fi
|
||||
}
|
||||
|
||||
# Source the automated install configuration file if this is an automated installation.
|
||||
if [[ ${RECEIVER_AUTOMATED_INSTALL} = "true" ]] ; then
|
||||
source ${RECEIVER_CONFIGURATION_FILE}
|
||||
fi
|
||||
|
||||
## BEGIN SETUP
|
||||
|
||||
if [[ ${RECEIVER_AUTOMATED_INSTALL} = "false" ]] ; then
|
||||
clear
|
||||
echo -e "\n\e[91m ${RECEIVER_PROJECT_TITLE}"
|
||||
fi
|
||||
echo -e ""
|
||||
echo -e "\e[92m Setting up ${BETA_NAME}...\e[97m"
|
||||
echo -e ""
|
||||
echo -e "\e[93m ------------------------------------------------------------------------------\e[96m"
|
||||
echo -e ""
|
||||
#
|
||||
|
||||
## CHECK FOR PREREQUISITE PACKAGES
|
||||
|
||||
echo -e "\e[95m Installing packages needed to fulfill dependencies for ${BETA_NAME}...\e[97m"
|
||||
echo -e ""
|
||||
# Required by install script.
|
||||
CheckPackage git
|
||||
CheckPackage curl
|
||||
# Required for USB SDR devices.
|
||||
CheckPackage librtlsdr-dev
|
||||
CheckPackage libusb-1.0-0-dev
|
||||
CheckPackage rtl-sdr
|
||||
# Required for Acarsdec.
|
||||
CheckPackage autoconf
|
||||
CheckPackage automake
|
||||
CheckPackage libfftw3-3
|
||||
CheckPackage libfftw3-dev
|
||||
CheckPackage libtool
|
||||
echo -e ""
|
||||
echo -e "\e[95m Configuring this device to run the ${BETA_NAME} binaries...\e[97m"
|
||||
echo -e ""
|
||||
|
||||
# Download and compile Acarsdec.
|
||||
if [[ true ]] ; then
|
||||
BETA_GITHUB_URL_SHORT=`echo ${BETA_GITHUB_URL} | sed -e 's/http:\/\///g' -e 's/https:\/\///g' | tr '[A-Z]' '[a-z]'`
|
||||
BETA_GITHUB_PROJECT=`echo ${BETA_GITHUB_URL} | awk -F "/" '{print $NF}' | sed -e 's/\.git$//g'`
|
||||
BETA_BUILD_DIRECTORY="${RECEIVER_BUILD_DIRECTORY}/${BETA_GITHUB_PROJECT}"
|
||||
|
||||
# Check if Acarsdec is already present and located where we would expect it to be.
|
||||
if [[ -d "${BETA_BUILD_DIRECTORY}" ]] ; then
|
||||
# Then perhaps we can update from github.
|
||||
echo -en "\e[33m Updating ${BETA_GITHUB_PROJECT} from \"\e[37m${BETA_GITHUB_URL_SHORT}\e[33m\"...\e[97m"
|
||||
cd ${BETA_BUILD_DIRECTORY}
|
||||
ACTION=$(git remote update 2>&1)
|
||||
if [[ `git status -uno | grep -c "is behind"` -gt 0 ]] ; then
|
||||
# Local branch is behind remote so update.
|
||||
ACTION=$(git pull 2>&1)
|
||||
DO_INSTALL_FROM_GIT="true"
|
||||
fi
|
||||
else
|
||||
# Otherwise clone from github.
|
||||
echo -en "\e[33m Building ${BETA_GITHUB_PROJECT} from \"\e[37m${BETA_GITHUB_URL_SHORT}\e[33m\"...\e[97m"
|
||||
ACTION=$(git clone https://${BETA_GITHUB_URL_SHORT} ${BETA_BUILD_DIRECTORY} 2>&1)
|
||||
DO_INSTALL_FROM_GIT="true"
|
||||
fi
|
||||
if [[ ${DO_INSTALL_FROM_GIT} = "true" ]] ; then
|
||||
# Prepare to build from source.
|
||||
cd ${BETA_BUILD_DIRECTORY}
|
||||
# And remove previous binaries.
|
||||
if [[ `ls -l *.h 2>/dev/null | grep -c "\.h"` -gt 0 ]] ; then
|
||||
ACTION=$(sudo make -C ${BETA_BUILD_DIRECTORY} clean 2>&1)
|
||||
fi
|
||||
if [[ -x "bootstrap" ]] ; then
|
||||
ACTION=$(./bootstrap 2>&1)
|
||||
fi
|
||||
if [[ -x "configure" ]] ; then
|
||||
ACTION=$(./configure ${BETA_CFLAGS} 2>&1)
|
||||
fi
|
||||
if [[ -f "Makefile" ]] ; then
|
||||
ACTION=$(make -C ${BETA_BUILD_DIRECTORY} 2>&1)
|
||||
fi
|
||||
if [[ `grep -c "^install:" Makefile` -gt 0 ]] ; then
|
||||
ACTION=$(sudo make -C ${BETA_BUILD_DIRECTORY} install 2>&1)
|
||||
fi
|
||||
fi
|
||||
CheckReturnCode
|
||||
unset DO_INSTALL_FROM_GIT
|
||||
cd ${BETA_BUILD_DIRECTORY}
|
||||
fi
|
||||
|
||||
## SETUP COMPLETE
|
||||
|
||||
# Return to the project root directory.
|
||||
echo -en "\e[94m Returning to ${RECEIVER_PROJECT_TITLE} root directory...\e[97m"
|
||||
cd ${RECIEVER_ROOT_DIRECTORY}
|
||||
ACTION=${PWD}
|
||||
CheckReturnCode
|
||||
|
||||
echo -e "\e[93m ------------------------------------------------------------------------------\n"
|
||||
echo -e "\e[92m ${BETA_NAME} setup is complete.\e[39m"
|
||||
echo -e ""
|
||||
if [[ ${RECEIVER_AUTOMATED_INSTALL} = "false" ]] ; then
|
||||
read -p "Press enter to continue..." CONTINUE
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue