Initial commit for ACARS support - Issue #288

pull/334/head
romeo-golf 2017-01-08 18:48:43 +00:00
rodzic 4d8d5533d2
commit 64b3518f7a
1 zmienionych plików z 132 dodań i 1 usunięć

Wyświetl plik

@ -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