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
	
	 romeo-golf
						romeo-golf