kopia lustrzana https://github.com/km4ack/pi-build
commit
7d5c407c14
|
@ -0,0 +1,687 @@
|
|||
#!/bin/bash
|
||||
|
||||
#this script used to check for apps that need updates
|
||||
|
||||
UPDATEFILE=/run/user/1000/bapupdate.txt
|
||||
|
||||
#Delete file if exist
|
||||
if [ -f $UPDATEFILE ]; then
|
||||
rm $UPDATEFILE
|
||||
fi
|
||||
#create new file
|
||||
touch $UPDATEFILE
|
||||
|
||||
CHECK() {
|
||||
#----------------------------------------------------#
|
||||
# Hotspot
|
||||
#----------------------------------------------------#
|
||||
HOTSPOT="/usr/bin/autohotspotN"
|
||||
if [ ! -f "$HOTSPOT" ]; then
|
||||
echo "HOTSPOT=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "HOTSPOT=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#remove duplicate HST check
|
||||
|
||||
#----------------------------------------------------#
|
||||
# AX25
|
||||
#----------------------------------------------------#
|
||||
if [ ! -d /etc/ax25 ]; then
|
||||
echo "AX25=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "AX25=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# GPS
|
||||
#----------------------------------------------------#
|
||||
if ! hash gpsd 2>/dev/null; then
|
||||
echo "GPS=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "GPS=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# PULSE
|
||||
#----------------------------------------------------#
|
||||
if ! hash pavucontrol 2>/dev/null; then
|
||||
echo "PULSE=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "PULSE=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# ARDOP
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/ardop/piardopc ]; then
|
||||
echo "ARDOP=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "ARDOP=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# ARDOP GUI
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/ardop/piARDOP_GUI ]; then
|
||||
echo "ARDOPGUI=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "ARDOPGUI=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# JS8Call
|
||||
#----------------------------------------------------#
|
||||
if ! hash js8call 2>/dev/null; then
|
||||
echo "JS8=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "JS8=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# WSJTX
|
||||
#----------------------------------------------------#
|
||||
if ! hash wsjtx 2>/dev/null; then
|
||||
echo "FT8=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "FT8=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# CONKY
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/.conkyrc ]; then
|
||||
echo "CONKY=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "CONKY=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# M0IAX
|
||||
#----------------------------------------------------#
|
||||
if [ -f /usr/local/bin/JS8CallUtils_v2 ]; then
|
||||
echo "M0IAX=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "M0IAX=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# RIG CONTROL - HAMLIB
|
||||
#----------------------------------------------------#
|
||||
if ! hash rigctl 2>/dev/null; then
|
||||
echo "RIG=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "Checking Rig Control"
|
||||
RIG=$(rigctl --version | grep Hamlib | sed s/"rigctl(d),\ Hamlib\ "//)
|
||||
NEWRIG=$(curl -s https://sourceforge.net/projects/hamlib/files/latest/download |
|
||||
grep -o https://downloads.sourceforge.net/project/hamlib/hamlib/[0-9].[0-9] |
|
||||
head -n 1 | awk -F "/" '{print $7}')
|
||||
|
||||
if (($(echo "${NEWRIG} ${RIG}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "RIG=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "RIG=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# FLDIGI
|
||||
#----------------------------------------------------#
|
||||
echo "Checking FLDIGI"
|
||||
if ! hash fldigi 2>/dev/null; then
|
||||
echo "FLDIGI=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
FLDIGI=$(fldigi --version | awk 'FNR == 1 {print $2}')
|
||||
NEWFLDIGI=$(curl -s https://sourceforge.net/projects/fldigi/files/fldigi/ |
|
||||
grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar" '{print $1}')
|
||||
|
||||
if (($(echo "${NEWFLDIGI} ${FLDIGI}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "FLDIGI=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "FLDIGI=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# FLWRAP
|
||||
#----------------------------------------------------#
|
||||
echo "Checking FLWRAP"
|
||||
if ! hash flwrap 2>/dev/null; then
|
||||
echo "FLWRAP=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
FLWRAP=$(flwrap --version | awk 'FNR == 1 {print $2}')
|
||||
NEWFLWRAP=$(curl -s http://www.w1hkj.com/files/flwrap/ | grep .tar.gz | sed 's/<li><a\ href="//' |
|
||||
sed 's/">\ flwrap.*$//' | sed 's/flwrap-//' | sed 's/.tar.gz//')
|
||||
|
||||
if (($(echo "${NEWFLWRAP} ${FLWRAP}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "FLWRAP=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "FLWRAP=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# FLRIG
|
||||
#----------------------------------------------------#
|
||||
echo "Checking FLRIG"
|
||||
if ! hash flrig 2>/dev/null; then
|
||||
echo "FLRIG=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
FLRIG=$(flrig --version | awk 'FNR == 1 {print $2}')
|
||||
NEWFLRIG=$(curl -s https://sourceforge.net/projects/fldigi/files/flrig/ |
|
||||
grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar.gz" '{print $1}')
|
||||
|
||||
if (($(echo "${NEWFLRIG} ${FLRIG}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "FLRIG=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "FLRIG=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# FLAMP
|
||||
#----------------------------------------------------#
|
||||
echo "Checking FLAMP"
|
||||
if ! hash flamp 2>/dev/null; then
|
||||
echo "FLAMP=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
FLAMP=$(flamp --version | awk 'FNR == 1 {print $2}')
|
||||
NEWFLAMP=$(curl -s https://sourceforge.net/projects/fldigi/files/flamp/ |
|
||||
grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar.gz" '{print $1}')
|
||||
|
||||
if (($(echo "${NEWFLAMP} ${FLAMP}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "FLAMP=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "FLAMP=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# FLMSG
|
||||
#----------------------------------------------------#
|
||||
echo "Checking FLMSG"
|
||||
if ! hash flmsg 2>/dev/null; then
|
||||
echo "FLMSG=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
FLMSG=$(flmsg --version | awk 'FNR == 1 {print $2}')
|
||||
NEWFLMSG=$(curl -s https://sourceforge.net/projects/fldigi/files/flmsg/ |
|
||||
grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar.gz" '{print $1}')
|
||||
|
||||
if (($(echo "${NEWFLMSG} ${FLMSG}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "FLMSG=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "FLMSG=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# FLNET
|
||||
#----------------------------------------------------#
|
||||
echo "Checking FLNET"
|
||||
if ! hash flnet 2>/dev/null; then
|
||||
echo "FLNET=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
FLNET=$(flnet --version | awk 'FNR == 1 {print $2}')
|
||||
NEWFLNET=$(curl -s https://sourceforge.net/projects/fldigi/files/flnet/ |
|
||||
grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar" '{print $1}')
|
||||
|
||||
if (($(echo "${NEWFLNET} ${FLNET}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "FLNET=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "FLNET=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# Pat Winlink
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Pat Winlink"
|
||||
if ! hash pat 2>/dev/null; then
|
||||
echo "PAT=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
PAT=$(pat version | awk '{print $2}' | sed 's/v//' | sed 's/0\.//')
|
||||
NEWPATV=$(curl -s https://github.com/la5nta/pat/releases | grep armhf | head -1 | sed 's/.*pat_/pat_/' | sed 's/<\/a>.*$//')
|
||||
NEWPAT=$(echo ${NEWPATV} | sed 's/pat_//' | sed 's/_linux_armhf.deb//' | sed 's/0\.//')
|
||||
VERTEST=$(echo "${NEWPAT}>${PAT}" | bc)
|
||||
|
||||
if [ "$VERTEST" = 1 ]; then
|
||||
echo "PAT=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "PAT=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# CHRIP
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Chirp"
|
||||
if ! hash chirpw 2>/dev/null; then
|
||||
echo "CHIRP=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
CP=$(chirpw --version)
|
||||
CHIRP=$(echo ${CP} | awk '{ print $2 }' | sed 's/daily-//')
|
||||
NEWCHIRP=$(curl -s https://trac.chirp.danplanet.com/chirp_daily/LATEST/ |
|
||||
grep .tar.gz | awk -F 'chirp-daily-' '{print $2}' | head -c 8)
|
||||
|
||||
if (($(echo "${NEWCHIRP} ${CHIRP}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "CHIRP=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "CHIRP=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# DIREWOLF
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Direwolf"
|
||||
if ! hash direwolf 2>/dev/null; then
|
||||
echo "DIRE=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
DIRE=$(direwolf -S -t 0 | head -1 | sed 's/Dire\ Wolf\ version\ //')
|
||||
wget -P /tmp/ https://raw.githubusercontent.com/wb2osz/direwolf/master/CHANGES.md >/dev/null 2>&1
|
||||
NEWDIRE=$(cat /tmp/CHANGES.md | head -5 | tail -1 | awk '{ print $3 }')
|
||||
|
||||
if (($(echo "${NEWDIRE} ${DIRE}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "DIRE=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "DIRE=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# Pat Menu
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Pat Menu"
|
||||
if [ ! -d ${HOME}/patmenu2 ]; then
|
||||
echo "PATMENU=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
cd ${HOME}/patmenu2/ || ! echo "Failure"
|
||||
wget -O ${HOME}/patmenu2/latest https://raw.githubusercontent.com/km4ack/patmenu2/master/changelog >/dev/null 2>&1
|
||||
LATEST=$(cat ${HOME}/patmenu2/latest | grep '^release' | sed 's/release=//')
|
||||
CURRENT=$(cat ${HOME}/patmenu2/changelog | grep '^release' | sed 's/release=//')
|
||||
rm ${HOME}/patmenu2/latest >/dev/null 2>&1
|
||||
if (($(echo "${LATEST} ${CURRENT}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "PATMENU=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "PATMENU=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Hot Spot Tools
|
||||
#----------------------------------------------------#
|
||||
if [ ! -d ${HOME}/hotspot-tools2 ]; then
|
||||
echo "HSTOOLS=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
CURRENT=$(cat ${HOME}/hotspot-tools2/changelog | grep version= | sed 's/version=//')
|
||||
LATEST=$(curl -s https://raw.githubusercontent.com/km4ack/hotspot-tools2/master/changelog | grep version= | sed 's/version=//')
|
||||
if (($(echo "${LATEST} ${CURRENT}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "HSTOOLS=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "HSTOOLS=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# GARIM
|
||||
#----------------------------------------------------#
|
||||
echo "Checking GARIM"
|
||||
if ! hash garim 2>/dev/null; then
|
||||
echo "GARIM=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
GARIM=$(garim --version | head -n1 | awk -F ' ' '{print $2}')
|
||||
NEWGARIM=$(curl -s https://www.whitemesa.net/garim/garim.html | grep -m 1 \
|
||||
"armv7l.tar.gz" | awk -F '-' '{print $2}')
|
||||
if (($(echo "${NEWGARIM} ${GARIM}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "GARIM=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "GARIM=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# XASTIR
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Xastir"
|
||||
if ! hash xastir 2>/dev/null; then
|
||||
echo "XASTIR=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
LATESTXAS=$(curl -s https://github.com/Xastir/Xastir | grep Release- | head -1 | sed 's/.*Release-//;s/">//')
|
||||
CURRENTXAS=$(xastir -V | sed 's/Xastir V//;s/(.*//;/^\s*$/d')
|
||||
|
||||
if (($(echo "${LATESTXAS} ${CURRENTXAS}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "XASTIR=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "XASTIR=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# YAAC
|
||||
#----------------------------------------------------#
|
||||
YAAC="${HOME}/YAAC"
|
||||
echo "Checking YAAC for updates"
|
||||
if [ ! -d "$YAAC" ]; then
|
||||
echo "YAAC=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
|
||||
CURYAAC=$(java -jar ${HOME}/YAAC/YAAC.jar -version | grep core | awk '{print $7}' | sed 's/(.*//;s/1.0-beta//')
|
||||
wget -q https://sourceforge.net/projects/yetanotheraprsc/files/YAACBuildLabel.txt -O /run/user/${UID}/latestyaac.txt
|
||||
LATESTYAAC=$(cat /run/user/${UID}/latestyaac.txt | sed 's/1.0-beta//;s/(.*//')
|
||||
if (($(echo "${LATESTYAAC} ${CURYAAC}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "YAAC=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "YAAC=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# PYQSO
|
||||
#----------------------------------------------------#
|
||||
if ! hash pyqso 2>/dev/null; then
|
||||
echo "PYQSO=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "PYQSO=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# QSSTV
|
||||
#----------------------------------------------------#
|
||||
if ! hash qsstv 2>/dev/null; then
|
||||
echo "QSSTV=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "QSSTV=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# GRIDTRACKER
|
||||
#----------------------------------------------------#
|
||||
GT="${HOME}/GridTracker"
|
||||
if [ ! -d "$GT" ]; then
|
||||
echo "GRIDTRACK=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "GRIDTRACK=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# PROPAGATION
|
||||
#----------------------------------------------------#
|
||||
if ! hash voacapl 2>/dev/null; then
|
||||
echo "PROP=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "PROP=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# CQRLOG
|
||||
#----------------------------------------------------#
|
||||
if ! hash cqrlog 2>/dev/null; then
|
||||
echo "CQRLOG=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "CQRLOG=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# EES
|
||||
#----------------------------------------------------#
|
||||
if [ -f /var/www/html/email.php ]; then
|
||||
echo "EES=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "EES=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Pi-APRS
|
||||
#----------------------------------------------------#
|
||||
if [ -d ${HOME}/Pi-APRS ]; then
|
||||
echo "PIAPRS=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "PIAPRS=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Temp Convert
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/bin/converttemp ]; then
|
||||
echo "TEMPCONVERT=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "TEMPCONVERT=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# GPARTED
|
||||
#----------------------------------------------------#
|
||||
if ! hash gparted 2>/dev/null; then
|
||||
echo "GPARTED=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "GPARTED=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# DIPOLE CALCULATOR
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/bin/dipole ]; then
|
||||
echo "DIPOLE=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "DIPOLE=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# SHOWLOG | Log file viewer
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/bin/showlog ]; then
|
||||
echo "SHOWLOG=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "SHOWLOG=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Call Sign Lookup GETCALL
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/bin/getcall ]; then
|
||||
echo "CALLSIGN=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "CALLSIGN=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# HamClock
|
||||
#----------------------------------------------------#
|
||||
HAMCLOCK=$(ls /usr/local/bin | grep hamclock)
|
||||
if [ -n "$HAMCLOCK" ]; then
|
||||
echo "HAMCLOCK=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "HAMCLOCK=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Real Time Clock
|
||||
#----------------------------------------------------#
|
||||
echo "RTC=Unknown" >> $UPDATEFILE
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Gpredict
|
||||
#----------------------------------------------------#
|
||||
if ! hash gpredict 2>/dev/null; then
|
||||
echo "GPREDICT=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "GPREDICT=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# TQSL
|
||||
#----------------------------------------------------#
|
||||
if ! hash tqsl 2>/dev/null; then
|
||||
echo "TQSL=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "TQSL=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# PISTATS
|
||||
#----------------------------------------------------#
|
||||
if ! hash pistats 2>/dev/null; then
|
||||
echo "PISTATS=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "PISTATS=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# XLOG CHECK
|
||||
#----------------------------------------------------#
|
||||
if ! hash xlog 2>/dev/null; then
|
||||
echo "XLOG=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
|
||||
XLOGCUR=$(xlog -version | sed 's/xlog\ version\ //')
|
||||
|
||||
XLOGLATEST=$(curl -s https://download.savannah.nongnu.org/releases/xlog/ |
|
||||
grep "2.[0-9].[0-9][0-9].tar" | sort | tail -1 | sed 's/.*xlog/xlog/' | sed 's/.sig.*$//' |
|
||||
sed 's/xlog-//' | sed 's/.tar.gz//')
|
||||
|
||||
if (($(echo "${XLOGLATEST} ${XLOGCUR}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "XLOG=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "XLOG=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# JTDX
|
||||
#----------------------------------------------------#
|
||||
if ! hash jtdx 2>/dev/null; then
|
||||
echo "JTDX=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "JTDX=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
#----------------------------------------------------#
|
||||
# TELNET
|
||||
#----------------------------------------------------#
|
||||
if ! hash telnet 2>/dev/null; then
|
||||
echo "TEL=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "TEL=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# piQtTermTCP
|
||||
#----------------------------------------------------#
|
||||
if [ -f /usr/local/bin/piQtTermTCP ]; then
|
||||
echo "PITERM=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "PITERM=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Security Tools
|
||||
#----------------------------------------------------#
|
||||
if [ -f /usr/local/bin/securefile ]; then
|
||||
echo "SECURITY=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "SECURITY=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# YGATE
|
||||
#----------------------------------------------------#
|
||||
YGATE="${HOME}/bin/ygate.py"
|
||||
if [ ! -f "$YGATE" ]; then
|
||||
echo "YGATE=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "YGATE=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# BPQ
|
||||
#----------------------------------------------------#
|
||||
BPQ="${HOME}/linbpq/linbpq"
|
||||
if [ ! -f "$BPQ" ]; then
|
||||
echo "BPQ=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "BPQ=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Battery Test Script :: BATT
|
||||
#----------------------------------------------------#
|
||||
BATT="${HOME}/bin/batt-test"
|
||||
if [ ! -f "$BATT" ]; then
|
||||
echo "BATT=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "BATT=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# VNC Viewer
|
||||
#----------------------------------------------------#
|
||||
if ! hash vncviewer 2>/dev/null; then
|
||||
echo "VNC=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "VNC=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# ZYGRIB Viewer
|
||||
#----------------------------------------------------#
|
||||
if [ -f /usr/bin/zyGrib ]; then
|
||||
echo "ZYGRIB=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "ZYGRIB=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# GPS UPDATE TOOL
|
||||
#----------------------------------------------------#
|
||||
echo "Checking GPS Update Tool"
|
||||
if [ ! -f ${HOME}/bin/gpsupdate ]; then
|
||||
echo "GPSUPDATE=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
GPSUPDATE=$(grep VERSION= ${HOME}/bin/gpsupdate | sed 's/VERSION=//')
|
||||
NEWGPSUPDATE=$(curl -s https://raw.githubusercontent.com/km4ack/pi-scripts/master/gpsupdate | grep VERSION= | sed 's/VERSION=//')
|
||||
if (($(echo "${NEWGPSUPDATE} ${GPSUPDATE}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "GPSUPDATE=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "GPSUPDATE=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Grid Calc
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Grid Calc"
|
||||
if [ ! -f $HOME/bin/grid-calc ]; then
|
||||
echo "GRIDCALC=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
CURRENT=$(grep VERSION $HOME/bin/grid-calc | head -1 | sed 's/VERSION=//')
|
||||
LATEST=$(curl -s https://raw.githubusercontent.com/km4ack/pi-scripts/master/grid-calc | grep VERSION | head -1 | sed 's/VERSION=//')
|
||||
if (($(echo "${LATEST} ${CURRENT}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "GRIDCALC=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "GRIDCALC=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# HAMRS
|
||||
#----------------------------------------------------#
|
||||
if [ ! -f /usr/local/bin/hamrs ]; then
|
||||
echo "HAMRS=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "HAMRS=Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# PacketSearch
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Packet Search"
|
||||
if [ ! -f $HOME/bin/packetsearch ]; then
|
||||
echo "PACKETSEARCH=Not_Installed" >> $UPDATEFILE
|
||||
else
|
||||
PACKETSEARCH=$(grep VERSION $HOME/bin/packetsearch | sed 's/VERSION=//')
|
||||
NEWPACKETSEARCH=$(curl -s https://raw.githubusercontent.com/km4ack/pi-scripts/master/packetsearch | grep VERSION | sed 's/VERSION=//')
|
||||
|
||||
if (($(echo "${NEWFLNET} ${FLNET}" | awk '{print ($1 > $2)}'))); then
|
||||
echo "PACKETSEARCH=NEEDS-UPDATE" >> $UPDATEFILE
|
||||
else
|
||||
echo "PACKETSEARCH=is_latest_version" >> $UPDATEFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# piQtSoundModem
|
||||
#----------------------------------------------------#
|
||||
if [ -f /usr/local/bin/piQtSoundModem ]; then
|
||||
echo "QTSOUND=Installed" >> $UPDATEFILE
|
||||
else
|
||||
echo "QTSOUND=Not_Installed" >> $UPDATEFILE
|
||||
fi
|
||||
|
||||
CHECK
|
25
build-a-pi
25
build-a-pi
|
@ -564,6 +564,31 @@ sudo apt -y autoremove > /dev/null 2>&1
|
|||
crontab ${TEMPCRON}
|
||||
rm ${TEMPCRON}
|
||||
|
||||
#####################################
|
||||
# Pat 12 Temp Workaround
|
||||
#####################################
|
||||
#This will move the user to the "version12" branch of the Pat Menu code
|
||||
#until this can be implemented into the main branch of code. This will
|
||||
#allow Pat Menu to support both the new version of Pat as well as older
|
||||
#versions. This section of code needs to be removed once the "version12"
|
||||
#branch is merged with the master branch
|
||||
|
||||
PAT_VERSION=$(pat version | awk '{print $2}' | sed 's/v0.//;s/.0//')
|
||||
|
||||
if [ "$PAT_VERSION" -le 11 ]; then
|
||||
echo "pat version 11 detected"
|
||||
else
|
||||
echo "pat version 12 or greater detected"
|
||||
echo "moving pat menu to the version12 branch"
|
||||
cd $HOME/patmenu2
|
||||
git pull
|
||||
git checkout version12
|
||||
fi
|
||||
|
||||
#####################################
|
||||
# END Pat 12 Temp Workaround
|
||||
#####################################
|
||||
|
||||
echo "WE ARE ALL DONE HERE. If you close this window, you will have to reboot manually."
|
||||
|
||||
#reboot when done
|
||||
|
|
11
changelog
11
changelog
|
@ -1,4 +1,13 @@
|
|||
version=3.1.2
|
||||
version=3.1.3
|
||||
|
||||
3.1.3 Split app check from update script into new app-check script
|
||||
fix variable in menu-update script
|
||||
update flsuite with new build directory
|
||||
update base apps with new build directory
|
||||
update utility apps with new build directory
|
||||
update ham app with new build directory
|
||||
change pat config file location for Pat version 0.12
|
||||
add pat 12 check to update script - https://github.com/km4ack/pi-build/issues/328
|
||||
|
||||
3.1.2 Fix FLSUITE links
|
||||
|
||||
|
|
|
@ -5,6 +5,8 @@ TEMPCRON=${MYPATH}/cron.tmp
|
|||
DIR=${MYPATH}/temp
|
||||
WHO=$(whoami)
|
||||
mkdir -p ${DIR}
|
||||
BUILDDIR=$HOME/.bap-source-files
|
||||
mkdir -p ${BUILDDIR}
|
||||
|
||||
source ${MYPATH}/config
|
||||
|
||||
|
@ -19,6 +21,8 @@ PAT() {
|
|||
cd ${DIR}
|
||||
if [ -f ${HOME}/.wl2k/config.json ]; then
|
||||
cp ${HOME}/.wl2k/config.json ${DIR}/config.json
|
||||
elif [ -f ${XDG_CONFIG_HOME}/pat/config.json ]; then
|
||||
cp $XDG_CONFIG_HOME/pat/config.json ${DIR}/config.json
|
||||
fi
|
||||
NEWPATV=$(curl -s https://github.com/la5nta/pat/releases | grep armhf | head -1 | sed 's/.*pat_/pat_/' | sed 's/<\/a>.*$//')
|
||||
NEWPAT=$(echo ${NEWPATV} | sed 's/pat_//' | sed 's/_linux_armhf.deb//' | sed 's/0\.//')
|
||||
|
@ -31,7 +35,18 @@ PAT() {
|
|||
sudo systemctl start pat@${WHO}
|
||||
sudo systemctl enable pat@${WHO}
|
||||
cd ${DIR}
|
||||
FIG=${HOME}/.wl2k/config.json
|
||||
PAT_VERSION=$(pat version | awk '{print $2}' | sed 's/v0.//;s/.0//')
|
||||
#The Pat Winlink config file will change location in version 0.12. The below if statement
|
||||
#checks to see which version is installed.
|
||||
#check to see if pat version is 12 or greater. Change config file location
|
||||
#depending on which version.
|
||||
if [ "$PAT_VERSION" -le 11 ]; then
|
||||
echo "pat version 11 detected"
|
||||
FIG=$HOME/.wl2k/config.json
|
||||
else
|
||||
echo "pat version 12 or greater detected"
|
||||
FIG=$XDG_CONFIG_HOME/pat/config.json
|
||||
fi
|
||||
#set callsign
|
||||
sed -i "s/\"mycall\": \".*\",/\"mycall\": \"${CALL}\",/" ${FIG}
|
||||
#set password
|
||||
|
@ -223,13 +238,14 @@ CQRLOG() {
|
|||
|
||||
sudo ln -s /usr/lib/arm-linux-gnueabihf/libmariadbclient.so /usr/lib/libmysqlclient.so
|
||||
|
||||
cd
|
||||
cd ${BUILDDIR}
|
||||
git clone https://github.com/ok2cqr/cqrlog.git
|
||||
cd cqrlog
|
||||
make
|
||||
sudo make install
|
||||
sudo make clean
|
||||
cd ..
|
||||
rm -rf cqrlog
|
||||
#rm -rf cqrlog
|
||||
|
||||
cat >cqrlog.desktop <<EOF
|
||||
[Desktop Entry]
|
||||
|
@ -270,7 +286,7 @@ CHIRP() {
|
|||
##################################
|
||||
GARIM() {
|
||||
GPKG=$(curl -s https://www.whitemesa.net/garim/src/ | grep tar.gz | tail -1 | sed 's/^.*garim/garim/' | sed 's/tar.gz.*$/tar.gz/')
|
||||
cd ${DIR} || return
|
||||
cd ${BUILDDIR} || return
|
||||
wget --tries 2 --connect-timeout=60 https://www.whitemesa.net/garim/src/$GPKG
|
||||
tar -xzvf $GPKG
|
||||
DIRR=$(echo $GPKG | sed 's/.tar.gz//')
|
||||
|
@ -278,6 +294,9 @@ GARIM() {
|
|||
./configure
|
||||
make
|
||||
sudo make install
|
||||
sudo make clean
|
||||
cd ${BUILDDIR} || return
|
||||
rm *.gz
|
||||
}
|
||||
|
||||
##################################
|
||||
|
@ -286,7 +305,7 @@ GARIM() {
|
|||
QSSTV() {
|
||||
sudo apt-get install -y g++ libfftw3-dev qt5-default libpulse-dev libhamlib-dev libasound2-dev libv4l-dev libopenjp2-7 libopenjp2-7-dev
|
||||
|
||||
cd ${HOME}/Downloads || return
|
||||
cd ${BUILDDIR} || return
|
||||
|
||||
TAR=$(curl -s http://users.telenet.be/on4qz/qsstv/downloads/ | grep tar.gz | sed 's/.*href="//' | sed 's/">.*$//' | tail -1)
|
||||
wget --tries 2 --connect-timeout=60 http://users.telenet.be/on4qz/qsstv/downloads/$TAR
|
||||
|
@ -296,6 +315,9 @@ QSSTV() {
|
|||
qmake
|
||||
make
|
||||
sudo make install
|
||||
sudo make clean
|
||||
cd ${BUILDDIR} || return
|
||||
rm *.gz
|
||||
|
||||
cat >qsstv.desktop <<EOF
|
||||
[Desktop Entry]
|
||||
|
@ -351,22 +373,24 @@ PROPAGATION() {
|
|||
sudo apt-get install -y gfortran yelp python3-gi python3-gi-cairo rarian-compat gnome-doc-utils pkg-config python3-dateutil python3-mpltoolkits.basemap python3-cairocffi libgtk-3-dev
|
||||
|
||||
#install primary program
|
||||
cd ${HOME}/Downloads || return
|
||||
cd ${BUILDDIR} || return
|
||||
wget --tries 2 --connect-timeout=60 https://www.qsl.net/hz1jw/voacapl/downloads/voacapl-0.7.2.tar.gz
|
||||
tar -xzf voacapl-0.7.2.tar.gz
|
||||
cd voacapl-0.7.2 || return
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
sudo make clean
|
||||
|
||||
#install gui app for propagation reports
|
||||
cd ${HOME}/Downloads
|
||||
cd ${BUILDDIR}
|
||||
wget --tries 2 --connect-timeout=60 https://www.qsl.net/hz1jw/pythonprop/downloads/pythonprop-0.28.tar.gz
|
||||
tar -xzf pythonprop-0.28.tar.gz
|
||||
cd pythonprop-0.28
|
||||
./configure
|
||||
sudo make install
|
||||
${HOME}/Downloads/voacapl-0.7.2/makeitshfbc
|
||||
sudo make clean
|
||||
${BUILDDIR}/voacapl-0.7.2/makeitshfbc
|
||||
}
|
||||
|
||||
##################################
|
||||
|
@ -412,7 +436,7 @@ XASTIR() {
|
|||
gv libcurl4-openssl-dev shapelib libshp-dev libpcre3-dev libproj-dev libdb-dev python-dev \
|
||||
libax25-dev libwebp-dev libwebp-dev libgraphicsmagick1-dev festival festival-dev
|
||||
|
||||
cd || return
|
||||
cd ${BUILDDIR} || return
|
||||
git clone https://github.com/Xastir/Xastir.git
|
||||
cd Xastir || return
|
||||
./bootstrap.sh
|
||||
|
@ -421,8 +445,7 @@ XASTIR() {
|
|||
../configure
|
||||
make
|
||||
sudo make install
|
||||
cd || return
|
||||
rm -rf Xastir
|
||||
sudo make clean
|
||||
|
||||
cat >xastir.desktop <<EOF
|
||||
[Desktop Entry]
|
||||
|
@ -586,7 +609,7 @@ GPREDICT() {
|
|||
##################################
|
||||
TQSL() {
|
||||
sudo apt install -y cmake g++ libexpat1-dev libssl-dev libdb++-dev libcurl4-openssl-dev libwxgtk3.0-dev
|
||||
cd ${HOME} || return
|
||||
cd ${BUILDDIR} || return
|
||||
CUR=$(curl -s http://www.arrl.org/tqsl-download | grep "for Linux" | sed 's/.*TQSL //' | awk '{print $1}')
|
||||
wget http://www.arrl.org/tqsl/tqsl-${CUR}.tar.gz
|
||||
tar -xzvf tqsl-${CUR}.tar.gz
|
||||
|
@ -595,8 +618,9 @@ TQSL() {
|
|||
cmake .
|
||||
make
|
||||
sudo make install
|
||||
sudo cp /home/pi/tqsl-${CUR}/apps/tqsl.desktop /usr/share/applications/
|
||||
rm -rf "${HOME}/tqsl-${CUR}"
|
||||
sudo make clean
|
||||
sudo cp ${BUILDDIR}/tqsl-${CUR}/apps/tqsl.desktop /usr/share/applications/
|
||||
|
||||
}
|
||||
|
||||
##################################
|
||||
|
|
|
@ -4,9 +4,21 @@
|
|||
TEMPCRON=${MYPATH}/cron.tmp
|
||||
DIR=${MYPATH}/temp
|
||||
mkdir -p ${DIR}
|
||||
BUILDDIR=$HOME/.bap-source-files
|
||||
mkdir -p ${BUILDDIR}
|
||||
|
||||
source ${MYPATH}/config
|
||||
|
||||
CLEANSOURCE(){
|
||||
#this function removes any old source files before
|
||||
#new files are downloaded for installation. This
|
||||
#function is called by install functions below.
|
||||
PACKAGE=$(ls $BUILDDIR | grep $PACKAGE)
|
||||
if [ -d $BUILDDIR/$PACKAGE ]; then
|
||||
sudo rm -rf $BUILDDIR/$PACKAGE*
|
||||
fi
|
||||
}
|
||||
|
||||
################################
|
||||
# HOTSPOT
|
||||
################################
|
||||
|
@ -44,7 +56,7 @@ HSTOOLS() {
|
|||
# GPS
|
||||
################################
|
||||
GPS() {
|
||||
cd ${DIR} || return
|
||||
cd ${BUILDDIR} || return
|
||||
|
||||
#old gpsd install left for reference
|
||||
#wget --tries 2 --connect-timeout=60 https://raw.githubusercontent.com/km4ack/pi-scripts/master/gpsinstall
|
||||
|
@ -55,7 +67,7 @@ GPS() {
|
|||
#begin gpsd change 11OCT2021 - see https://github.com/km4ack/pi-build/issues/316
|
||||
sudo apt-get -y install scons libncurses5-dev python-dev pps-tools chrony
|
||||
sudo ldconfig
|
||||
cd $HOME/Downloads
|
||||
cd ${BUILDDIR}
|
||||
wget http://download.savannah.gnu.org/releases/gpsd/gpsd-3.23.1.tar.gz
|
||||
tar -xzf gpsd-3.23.1.tar.gz
|
||||
rm gpsd-3.23.1.tar.gz
|
||||
|
@ -63,8 +75,8 @@ GPS() {
|
|||
scons prefix=/usr --config=force
|
||||
sudo scons udev-install
|
||||
sudo ldconfig
|
||||
sudo scons clean
|
||||
sudo wget https://raw.githubusercontent.com/km4ack/pi-scripts/master/gpsd -P /etc/default/
|
||||
sudo rm -rf gpsd-3.23.1/
|
||||
CHRONYCHK=$(grep "refclock SHM 0 offset 0.5 delay 0.2 refid NMEA" /etc/chrony/chrony.conf)
|
||||
if [ -z "$CHRONYCHK" ]; then
|
||||
echo "refclock SHM 0 offset 0.5 delay 0.2 refid NMEA" | sudo tee -a /etc/chrony/chrony.conf
|
||||
|
@ -135,13 +147,14 @@ EOF
|
|||
# HAMLIB
|
||||
################################
|
||||
HAMLIB() {
|
||||
PACKAGE=hamlib
|
||||
CLEANSOURCE
|
||||
sudo apt install -y libusb-1.0 libusb-dev
|
||||
cd ${DIR} || return
|
||||
cd ${BUILDDIR} || return
|
||||
NEWRIG=$(curl -s https://sourceforge.net/projects/hamlib/files/latest/download |
|
||||
grep -o https://downloads.sourceforge.net/project/hamlib/hamlib/[0-9].[0-9] |
|
||||
head -n 1 | awk -F "/" '{print $7}')
|
||||
HAMLIBLINK=https://sourceforge.net/projects/hamlib/files/hamlib/${NEWRIG}/hamlib-${NEWRIG}.tar.gz
|
||||
cd ${HOME}/Downloads || return
|
||||
echo "###################################"
|
||||
echo "# Installing Hamlib "
|
||||
echo "###################################"
|
||||
|
@ -154,25 +167,27 @@ HAMLIB() {
|
|||
make
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
sudo make clean
|
||||
}
|
||||
|
||||
################################
|
||||
# DIREWOLF
|
||||
################################
|
||||
DIREWOLF() {
|
||||
cd ${HOME} || return
|
||||
cd ${BUILDDIR} || return
|
||||
git clone https://www.github.com/wb2osz/direwolf
|
||||
cd ${HOME}/direwolf || return
|
||||
cd ${BUILDDIR}/direwolf || return
|
||||
mkdir build && cd build
|
||||
sudo apt-get install -y libasound2-dev cmake libudev-dev
|
||||
cmake ..
|
||||
make -j 4
|
||||
sudo make install
|
||||
make install-conf
|
||||
sudo make clean
|
||||
sed -i "s/N0CALL/${CALL}/" "${HOME}/direwolf.conf"
|
||||
sed -i 's/# ADEVICE plughw:1,0/ADEVICE plughw:2,0/' ${HOME}/direwolf.conf
|
||||
sed -i '/#PTT\ \/dev\/ttyUSB0\ RTS/a #Uncomment line below for PTT with sabrent sound card\n#PTT RIG 2 localhost:4532' ${HOME}/direwolf.conf
|
||||
rm -rf ${HOME}/direwolf
|
||||
|
||||
}
|
||||
|
||||
################################
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#script to install FLDIGI from source
|
||||
#20200121 km4ack
|
||||
|
||||
mkdir -p ${HOME}/Downloads
|
||||
BUILDDIR=$HOME/.bap-source-files
|
||||
mkdir -p ${BUILDDIR}
|
||||
|
||||
FLSTART() {
|
||||
#find how much memory we are working with
|
||||
FREEMEM=$(free -m | grep Mem: | awk '{ print $2 }')
|
||||
|
@ -35,7 +37,7 @@ FLSTART() {
|
|||
#determine latest FLXMLRPC & download
|
||||
FLXM=$(curl -s http://www.w1hkj.com/files/flxmlrpc/ | grep .tar.gz | sed 's/.*ref="//;s/">.*$//')
|
||||
XMPKG=$(echo ${FLXM} | sed 's/.tar.gz//')
|
||||
cd ${HOME}/Downloads || return
|
||||
cd ${BUILDDIR} || return
|
||||
wget --tries 2 --connect-timeout=60 http://www.w1hkj.com/files/flxmlrpc/${FLXM}
|
||||
tar -zxvf ${FLXM}
|
||||
rm ./*.gz #THIS IS DANGEROUS -- SEE SC2035
|
||||
|
@ -46,6 +48,7 @@ FLSTART() {
|
|||
make
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
sudo make clean
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -58,7 +61,7 @@ FLRIG() {
|
|||
RIGPKG=$(echo ${RIGTAR} | sed 's/.tar.gz//')
|
||||
|
||||
#Download latest FLRIG
|
||||
cd ${HOME}/Downloads || return
|
||||
cd ${BUILDDIR} || return
|
||||
wget --tries 2 --connect-timeout=60 http://www.w1hkj.com/files/flrig/${RIGTAR}
|
||||
tar -zxvf ${RIGTAR}
|
||||
rm ./*.gz #THIS IS DANGEROUS -- SEE SC2035
|
||||
|
@ -69,6 +72,7 @@ FLRIG() {
|
|||
make
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
sudo make clean
|
||||
sudo apt-mark manual libjpeg9
|
||||
}
|
||||
|
||||
|
@ -81,7 +85,7 @@ FLWRAP() {
|
|||
WRAPPKG=$(echo ${WRAPTAR} | sed 's/.tar.gz//')
|
||||
|
||||
#Download latest FLWRAP
|
||||
cd ${HOME}/Downloads || return
|
||||
cd ${BUILDDIR} || return
|
||||
wget --tries 2 --connect-timeout=60 http://www.w1hkj.com/files/flwrap/${WRAPTAR}
|
||||
tar -zxvf ${WRAPTAR}
|
||||
rm ./*.gz #THIS IS DANGEROUS -- SEE SC2035
|
||||
|
@ -92,6 +96,7 @@ FLWRAP() {
|
|||
make
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
sudo make clean
|
||||
}
|
||||
|
||||
##################################
|
||||
|
@ -103,7 +108,7 @@ FLDIGI() {
|
|||
FLPKG=$(echo ${FLTAR} | sed 's/.tar.gz//')
|
||||
|
||||
#Download latest FLDIGI tar file
|
||||
cd ${HOME}/Downloads || return
|
||||
cd ${BUILDDIR} || return
|
||||
wget --tries 2 --connect-timeout=60 http://www.w1hkj.com/files/fldigi/${FLTAR}
|
||||
tar -zxvf ${FLTAR}
|
||||
rm ./*.gz #THIS IS DANGEROUS -- SEE SC2035
|
||||
|
@ -114,6 +119,7 @@ FLDIGI() {
|
|||
make
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
sudo make clean
|
||||
}
|
||||
##################################
|
||||
# FLMSG
|
||||
|
@ -124,7 +130,7 @@ FLMSG() {
|
|||
MSGPKG=$(echo ${MSGTAR} | sed 's/.tar.gz//')
|
||||
|
||||
#download FLMSG
|
||||
cd ${HOME}/Downloads || return
|
||||
cd ${BUILDDIR} || return
|
||||
wget --tries 2 --connect-timeout=60 http://www.w1hkj.com/files/flmsg/${MSGTAR}
|
||||
tar -zxvf ${MSGTAR}
|
||||
rm ./*.gz #THIS IS DANGEROUS -- SEE SC2035
|
||||
|
@ -135,6 +141,7 @@ FLMSG() {
|
|||
make
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
sudo make clean
|
||||
}
|
||||
##################################
|
||||
# FLAMP
|
||||
|
@ -145,7 +152,7 @@ FLAMP() {
|
|||
AMPPKG=$(echo ${AMPTAR} | sed 's/.tar.gz//')
|
||||
|
||||
#download FLAMP
|
||||
cd ${HOME}/Downloads || return
|
||||
cd ${BUILDDIR} || return
|
||||
wget --tries 2 --connect-timeout=60 http://www.w1hkj.com/files/flamp/$AMPTAR
|
||||
tar -zxvf ${AMPTAR}
|
||||
rm ./*.gz #THIS IS DANGEROUS -- SEE SC2035
|
||||
|
@ -156,6 +163,7 @@ FLAMP() {
|
|||
make
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
sudo make clean
|
||||
}
|
||||
##################################
|
||||
# FLNET
|
||||
|
@ -166,7 +174,7 @@ FLNET() {
|
|||
NETPKG=$(echo ${NETTAR} | sed 's/.tar.gz//')
|
||||
|
||||
#download FLNET
|
||||
cd ${HOME}/Downloads || return
|
||||
cd ${BUILDDIR} || return
|
||||
wget --tries 2 --connect-timeout=60 http://www.w1hkj.com/files/flnet/$NETTAR
|
||||
tar -zxvf ${NETTAR}
|
||||
rm ./*.gz #THIS IS DANGEROUS -- SEE SC2035
|
||||
|
@ -177,6 +185,7 @@ FLNET() {
|
|||
make
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
sudo make clean
|
||||
}
|
||||
##################################
|
||||
# RESET SWAP
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
BUILDDIR=$HOME/.bap-source-files
|
||||
mkdir -p ${BUILDDIR}
|
||||
|
||||
##################################
|
||||
# DIPOLE CALC
|
||||
##################################
|
||||
|
@ -185,7 +188,7 @@ by connecting to the internet or attaching a GPS" \
|
|||
# PISTATS
|
||||
##################################
|
||||
PISTATS() {
|
||||
cd ${HOME} || return
|
||||
cd ${BUILDDIR} || return
|
||||
CUR=$(curl http://www.w1hkj.com/PI/pistats.html | grep tgz | sed 's/^.*href="//;s/">.*//')
|
||||
wget http://www.w1hkj.com/PI/${CUR}
|
||||
tar -xzvf ${CUR}
|
||||
|
@ -194,10 +197,11 @@ PISTATS() {
|
|||
cd ${PISTATDIR} || return
|
||||
sudo apt-get install -y libfltk1.3-dev
|
||||
make
|
||||
make clean
|
||||
sudo mv pistats /usr/local/bin
|
||||
sudo mv ${HOME}/${PISTATDIR}/data/pistats.desktop /usr/share/applications/
|
||||
sudo mv ${BUILDDIR}/${PISTATDIR}/data/pistats.desktop /usr/share/applications/
|
||||
cd ${HOME} || return
|
||||
rm -rf "${PISTATDIR}"
|
||||
|
||||
}
|
||||
|
||||
##################################
|
||||
|
|
|
@ -211,8 +211,8 @@ fi
|
|||
BAP
|
||||
|
||||
#check to see if this script has already run
|
||||
if [ "$MENU" = "$REV" ]; then
|
||||
REV=$(cat $HOME/.config/KM4ACK | sed 's/MENU=//')
|
||||
if [ "$MENU" = "$REV" ]; then
|
||||
echo "menu mods already made"
|
||||
echo "Revision $REV installed"
|
||||
exit
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
#This script installs FLAMP.
|
||||
#20210912 km4ack
|
||||
|
||||
#Give this patch a unique name. A good idea is
|
||||
#to give it the application name that is being
|
||||
#patched followed by the date. ie FLDIDI20210805
|
||||
|
||||
PATCHNAME=flamp-20210912
|
||||
|
||||
PATCHFILE=$HOME/.config/patch
|
||||
touch $PATCHFILE
|
||||
###############################
|
||||
#Patch script commands go here#
|
||||
###############################
|
||||
#determine latest FLAMP
|
||||
AMPTAR=$(curl -s http://www.w1hkj.com/files/flamp/ | grep .tar.gz | sed 's/<li><a\ href="//' | sed 's/">\ flamp.*$//' | tac | head -1)
|
||||
AMPPKG=$(echo ${AMPTAR} | sed 's/.tar.gz//')
|
||||
|
||||
#download FLAMP
|
||||
cd ${HOME}/Downloads || return
|
||||
wget --tries 2 --connect-timeout=60 http://www.w1hkj.com/files/flamp/$AMPTAR
|
||||
tar -zxvf ${AMPTAR}
|
||||
|
||||
|
||||
#build FLAMP
|
||||
cd ${AMPPKG} || return
|
||||
./configure --prefix=/usr/local --enable-static
|
||||
make
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
|
||||
#############################################
|
||||
#write patch name to a file so we can #
|
||||
#look and see if it has been applied before.#
|
||||
#This is checked by the patch-menu script #
|
||||
#before running the patch #
|
||||
#############################################
|
||||
echo "$PATCHNAME" >> $PATCHFILE
|
|
@ -1,52 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
#This test-patch script should serve as a
|
||||
#template for future patch scripts.
|
||||
#20210805 KM4ACK
|
||||
|
||||
#Give this patch a unique name. A good idea is
|
||||
#to give it the application name that is being
|
||||
#patched followed by the date. ie FLDIDI20210805
|
||||
|
||||
PATCHNAME=flmsg-20210806
|
||||
|
||||
PATCHFILE=$HOME/.config/patch
|
||||
touch $PATCHFILE
|
||||
###############################
|
||||
#Patch script commands go here#
|
||||
###############################
|
||||
clear;echo;echo
|
||||
echo "################################
|
||||
This patch will take ~20 minutes
|
||||
to complete. DO NOT close this
|
||||
window! You will be notified once
|
||||
the patch has completed.
|
||||
################################"
|
||||
sleep 3
|
||||
sudo apt -y update
|
||||
|
||||
##################################
|
||||
# DEPENDS
|
||||
##################################
|
||||
#install needed depends
|
||||
sudo apt-get install -y libfltk1.3-dev libjpeg9-dev libxft-dev libxinerama-dev libxcursor-dev libsndfile1-dev libsamplerate0-dev portaudio19-dev libpulse-dev libusb-1.0-0-dev texinfo libudev-dev
|
||||
|
||||
#download and compile FLMSG 4.0.19
|
||||
cd $HOME/Downloads
|
||||
wget http://www.w1hkj.com/files/flmsg/flmsg-4.0.19.tar.gz
|
||||
tar -zxvf flmsg-4.0.19.tar.gz
|
||||
rm flmsg-4.0.19.tar.gz
|
||||
cd flmsg-4.0.19
|
||||
./configure --prefix=/usr/local --enable-static --without-flxmlrpc
|
||||
make
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
|
||||
|
||||
#############################################
|
||||
#write patch name to a file so we can #
|
||||
#look and see if it has been applied before.#
|
||||
#This is checked by the patch-menu script #
|
||||
#before running the patch #
|
||||
#############################################
|
||||
echo "$PATCHNAME" >> $PATCHFILE
|
714
update
714
update
|
@ -23,6 +23,7 @@ LOGO=${MYPATH}/logo.png
|
|||
TEMPCRON=${MYPATH}/cron.tmp
|
||||
VERSION=$(grep "version=" ${MYPATH}/changelog | sed 's/version=//')
|
||||
DATE=$(date)
|
||||
UPDATEFILE=/run/user/1000/bapupdate.txt
|
||||
|
||||
FINISH() {
|
||||
if [ -f "${BASE}" ]; then
|
||||
|
@ -212,689 +213,9 @@ if ! hash bc >/dev/null; then
|
|||
sudo apt install -y bc
|
||||
fi
|
||||
|
||||
CHECK() {
|
||||
#----------------------------------------------------#
|
||||
# Hotspot
|
||||
#----------------------------------------------------#
|
||||
HOTSPOT="/usr/bin/autohotspotN"
|
||||
if [ ! -f "$HOTSPOT" ]; then
|
||||
HOTSPOT="Not Installed"
|
||||
else
|
||||
HOTSPOT="Installed"
|
||||
fi
|
||||
|
||||
#remove duplicate HST check
|
||||
|
||||
#----------------------------------------------------#
|
||||
# AX25
|
||||
#----------------------------------------------------#
|
||||
if [ ! -d /etc/ax25 ]; then
|
||||
AX25="Not Installed"
|
||||
else
|
||||
AX25="Installed"
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# GPS
|
||||
#----------------------------------------------------#
|
||||
if ! hash gpsd 2>/dev/null; then
|
||||
GPS="Not Installed"
|
||||
else
|
||||
GPS="Installed"
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# PULSE
|
||||
#----------------------------------------------------#
|
||||
if ! hash pavucontrol 2>/dev/null; then
|
||||
PULSE="Not Installed"
|
||||
else
|
||||
PULSE="Installed"
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# ARDOP
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/ardop/piardopc ]; then
|
||||
ARDOP="Installed"
|
||||
else
|
||||
ARDOP="Not Installed"
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# ARDOP GUI
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/ardop/piARDOP_GUI ]; then
|
||||
ARDOPGUI="Installed"
|
||||
else
|
||||
ARDOPGUI="Not Installed"
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# JS8Call
|
||||
#----------------------------------------------------#
|
||||
if ! hash js8call 2>/dev/null; then
|
||||
JS8="Not Installed"
|
||||
else
|
||||
JS8="Installed"
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# WSJTX
|
||||
#----------------------------------------------------#
|
||||
if ! hash wsjtx 2>/dev/null; then
|
||||
FT8="Not Installed"
|
||||
else
|
||||
FT8="Installed"
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# CONKY
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/.conkyrc ]; then
|
||||
CONKY=Installed
|
||||
else
|
||||
CONKY="Not Installed"
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# M0IAX
|
||||
#----------------------------------------------------#
|
||||
if [ -f /usr/local/bin/JS8CallUtils_v2 ]; then
|
||||
M0IAX=Installed
|
||||
else
|
||||
M0IAX="Not Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# RIG CONTROL - HAMLIB
|
||||
#----------------------------------------------------#
|
||||
if ! hash rigctl 2>/dev/null; then
|
||||
RIG="Not_Installed"
|
||||
else
|
||||
echo "Checking Rig Control"
|
||||
RIG=$(rigctl --version | grep Hamlib | sed s/"rigctl(d),\ Hamlib\ "//)
|
||||
NEWRIG=$(curl -s https://sourceforge.net/projects/hamlib/files/latest/download |
|
||||
grep -o https://downloads.sourceforge.net/project/hamlib/hamlib/[0-9].[0-9] |
|
||||
head -n 1 | awk -F "/" '{print $7}')
|
||||
|
||||
if (($(echo "${NEWRIG} ${RIG}" | awk '{print ($1 > $2)}'))); then
|
||||
RIG=NEEDS-UPDATE
|
||||
else
|
||||
RIG="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# FLDIGI
|
||||
#----------------------------------------------------#
|
||||
echo "Checking FLDIGI"
|
||||
if ! hash fldigi 2>/dev/null; then
|
||||
FLDIGI="Not_Installed"
|
||||
else
|
||||
FLDIGI=$(fldigi --version | awk 'FNR == 1 {print $2}')
|
||||
NEWFLDIGI=$(curl -s https://sourceforge.net/projects/fldigi/files/fldigi/ |
|
||||
grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar" '{print $1}')
|
||||
|
||||
if (($(echo "${NEWFLDIGI} ${FLDIGI}" | awk '{print ($1 > $2)}'))); then
|
||||
FLDIGI=NEEDS-UPDATE
|
||||
else
|
||||
FLDIGI="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# FLWRAP
|
||||
#----------------------------------------------------#
|
||||
echo "Checking FLWRAP"
|
||||
if ! hash flwrap 2>/dev/null; then
|
||||
FLWRAP="Not_Installed"
|
||||
else
|
||||
FLWRAP=$(flwrap --version | awk 'FNR == 1 {print $2}')
|
||||
NEWFLWRAP=$(curl -s http://www.w1hkj.com/files/flwrap/ | grep .tar.gz | sed 's/<li><a\ href="//' |
|
||||
sed 's/">\ flwrap.*$//' | sed 's/flwrap-//' | sed 's/.tar.gz//')
|
||||
|
||||
if (($(echo "${NEWFLWRAP} ${FLWRAP}" | awk '{print ($1 > $2)}'))); then
|
||||
FLWRAP=NEEDS-UPDATE
|
||||
else
|
||||
FLWRAP="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# FLRIG
|
||||
#----------------------------------------------------#
|
||||
echo "Checking FLRIG"
|
||||
if ! hash flrig 2>/dev/null; then
|
||||
FLRIG="Not_Installed"
|
||||
else
|
||||
FLRIG=$(flrig --version | awk 'FNR == 1 {print $2}')
|
||||
NEWFLRIG=$(curl -s https://sourceforge.net/projects/fldigi/files/flrig/ |
|
||||
grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar.gz" '{print $1}')
|
||||
|
||||
if (($(echo "${NEWFLRIG} ${FLRIG}" | awk '{print ($1 > $2)}'))); then
|
||||
FLRIG=NEEDS-UPDATE
|
||||
else
|
||||
FLRIG="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# FLAMP
|
||||
#----------------------------------------------------#
|
||||
echo "Checking FLAMP"
|
||||
if ! hash flamp 2>/dev/null; then
|
||||
FLAMP="Not_Installed"
|
||||
else
|
||||
FLAMP=$(flamp --version | awk 'FNR == 1 {print $2}')
|
||||
NEWFLAMP=$(curl -s https://sourceforge.net/projects/fldigi/files/flamp/ |
|
||||
grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar.gz" '{print $1}')
|
||||
|
||||
if (($(echo "${NEWFLAMP} ${FLAMP}" | awk '{print ($1 > $2)}'))); then
|
||||
FLAMP=NEEDS-UPDATE
|
||||
else
|
||||
FLAMP="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# FLMSG
|
||||
#----------------------------------------------------#
|
||||
echo "Checking FLMSG"
|
||||
if ! hash flmsg 2>/dev/null; then
|
||||
FLMSG="Not_Installed"
|
||||
else
|
||||
FLMSG=$(flmsg --version | awk 'FNR == 1 {print $2}')
|
||||
NEWFLMSG=$(curl -s https://sourceforge.net/projects/fldigi/files/flmsg/ |
|
||||
grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar.gz" '{print $1}')
|
||||
|
||||
if (($(echo "${NEWFLMSG} ${FLMSG}" | awk '{print ($1 > $2)}'))); then
|
||||
FLMSG=NEEDS-UPDATE
|
||||
else
|
||||
FLMSG="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# FLNET
|
||||
#----------------------------------------------------#
|
||||
echo "Checking FLNET"
|
||||
if ! hash flnet 2>/dev/null; then
|
||||
FLNET="Not_Installed"
|
||||
else
|
||||
FLNET=$(flnet --version | awk 'FNR == 1 {print $2}')
|
||||
NEWFLNET=$(curl -s https://sourceforge.net/projects/fldigi/files/flnet/ |
|
||||
grep .tar.gz | head -1 | awk -F "-" '{print $2}' | awk -F ".tar" '{print $1}')
|
||||
|
||||
if (($(echo "${NEWFLNET} ${FLNET}" | awk '{print ($1 > $2)}'))); then
|
||||
FLNET=NEEDS-UPDATE
|
||||
else
|
||||
FLNET="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# Pat Winlink
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Pat Winlink"
|
||||
if ! hash pat 2>/dev/null; then
|
||||
PAT="Not_Installed"
|
||||
else
|
||||
PAT=$(pat version | awk '{print $2}' | sed 's/v//' | sed 's/0\.//')
|
||||
NEWPATV=$(curl -s https://github.com/la5nta/pat/releases | grep armhf | head -1 | sed 's/.*pat_/pat_/' | sed 's/<\/a>.*$//')
|
||||
NEWPAT=$(echo ${NEWPATV} | sed 's/pat_//' | sed 's/_linux_armhf.deb//' | sed 's/0\.//')
|
||||
VERTEST=$(echo "${NEWPAT}>${PAT}" | bc)
|
||||
|
||||
if [ "$VERTEST" = 1 ]; then
|
||||
PAT=NEEDS-UPDATE
|
||||
else
|
||||
PAT="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# CHRIP
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Chirp"
|
||||
if ! hash chirpw 2>/dev/null; then
|
||||
CHIRP="Not_Installed"
|
||||
else
|
||||
CP=$(chirpw --version)
|
||||
CHIRP=$(echo ${CP} | awk '{ print $2 }' | sed 's/daily-//')
|
||||
NEWCHIRP=$(curl -s https://trac.chirp.danplanet.com/chirp_daily/LATEST/ |
|
||||
grep .tar.gz | awk -F 'chirp-daily-' '{print $2}' | head -c 8)
|
||||
|
||||
if (($(echo "${NEWCHIRP} ${CHIRP}" | awk '{print ($1 > $2)}'))); then
|
||||
CHIRP=NEEDS-UPDATE
|
||||
else
|
||||
CHIRP="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# DIREWOLF
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Direwolf"
|
||||
if ! hash direwolf 2>/dev/null; then
|
||||
DIRE="Not_Installed"
|
||||
else
|
||||
DIRE=$(direwolf -S -t 0 | head -1 | sed 's/Dire\ Wolf\ version\ //')
|
||||
wget -P /tmp/ https://raw.githubusercontent.com/wb2osz/direwolf/master/CHANGES.md >/dev/null 2>&1
|
||||
NEWDIRE=$(cat /tmp/CHANGES.md | head -5 | tail -1 | awk '{ print $3 }')
|
||||
|
||||
if (($(echo "${NEWDIRE} ${DIRE}" | awk '{print ($1 > $2)}'))); then
|
||||
DIRE=NEEDS-UPDATE
|
||||
else
|
||||
DIRE="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
#----------------------------------------------------#
|
||||
# Pat Menu
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Pat Menu"
|
||||
if [ ! -d ${HOME}/patmenu2 ]; then
|
||||
PATMENU="Not_Installed"
|
||||
else
|
||||
cd ${HOME}/patmenu2/ || ! echo "Failure"
|
||||
wget -O ${HOME}/patmenu2/latest https://raw.githubusercontent.com/km4ack/patmenu2/master/changelog >/dev/null 2>&1
|
||||
LATEST=$(cat ${HOME}/patmenu2/latest | grep '^release' | sed 's/release=//')
|
||||
CURRENT=$(cat ${HOME}/patmenu2/changelog | grep '^release' | sed 's/release=//')
|
||||
rm ${HOME}/patmenu2/latest >/dev/null 2>&1
|
||||
if (($(echo "${LATEST} ${CURRENT}" | awk '{print ($1 > $2)}'))); then
|
||||
PATMENU="NEEDS-UPDATE"
|
||||
else
|
||||
PATMENU="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Hot Spot Tools
|
||||
#----------------------------------------------------#
|
||||
if [ ! -d ${HOME}/hotspot-tools2 ]; then
|
||||
HSTOOLS="Not_Installed"
|
||||
else
|
||||
CURRENT=$(cat ${HOME}/hotspot-tools2/changelog | grep version= | sed 's/version=//')
|
||||
LATEST=$(curl -s https://raw.githubusercontent.com/km4ack/hotspot-tools2/master/changelog | grep version= | sed 's/version=//')
|
||||
if (($(echo "${LATEST} ${CURRENT}" | awk '{print ($1 > $2)}'))); then
|
||||
HSTOOLS="NEEDS-UPDATE"
|
||||
else
|
||||
HSTOOLS="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# GARIM
|
||||
#----------------------------------------------------#
|
||||
echo "Checking GARIM"
|
||||
if ! hash garim 2>/dev/null; then
|
||||
GARIM="Not_Installed"
|
||||
else
|
||||
GARIM=$(garim --version | head -n1 | awk -F ' ' '{print $2}')
|
||||
NEWGARIM=$(curl -s https://www.whitemesa.net/garim/garim.html | grep -m 1 \
|
||||
"armv7l.tar.gz" | awk -F '-' '{print $2}')
|
||||
if (($(echo "${NEWGARIM} ${GARIM}" | awk '{print ($1 > $2)}'))); then
|
||||
GARIM=NEEDS-UPDATE
|
||||
else
|
||||
GARIM="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# XASTIR
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Xastir"
|
||||
if ! hash xastir 2>/dev/null; then
|
||||
XASTIR="Not_Installed"
|
||||
else
|
||||
LATESTXAS=$(curl -s https://github.com/Xastir/Xastir | grep Release- | head -1 | sed 's/.*Release-//;s/">//')
|
||||
CURRENTXAS=$(xastir -V | sed 's/Xastir V//;s/(.*//;/^\s*$/d')
|
||||
|
||||
if (($(echo "${LATESTXAS} ${CURRENTXAS}" | awk '{print ($1 > $2)}'))); then
|
||||
XASTIR=NEEDS-UPDATE
|
||||
else
|
||||
XASTIR="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# YAAC
|
||||
#----------------------------------------------------#
|
||||
YAAC="${HOME}/YAAC"
|
||||
echo "Checking YAAC for updates"
|
||||
if [ ! -d "$YAAC" ]; then
|
||||
YAAC="Not Installed"
|
||||
else
|
||||
|
||||
CURYAAC=$(java -jar ${HOME}/YAAC/YAAC.jar -version | grep core | awk '{print $7}' | sed 's/(.*//;s/1.0-beta//')
|
||||
wget -q https://sourceforge.net/projects/yetanotheraprsc/files/YAACBuildLabel.txt -O /run/user/${UID}/latestyaac.txt
|
||||
LATESTYAAC=$(cat /run/user/${UID}/latestyaac.txt | sed 's/1.0-beta//;s/(.*//')
|
||||
if (($(echo "${LATESTYAAC} ${CURYAAC}" | awk '{print ($1 > $2)}'))); then
|
||||
YAAC=NEEDS-UPDATE
|
||||
else
|
||||
YAAC="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# PYQSO
|
||||
#----------------------------------------------------#
|
||||
if ! hash pyqso 2>/dev/null; then
|
||||
PYQSO="Not Installed"
|
||||
else
|
||||
PYQSO="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# QSSTV
|
||||
#----------------------------------------------------#
|
||||
if ! hash qsstv 2>/dev/null; then
|
||||
QSSTV="Not Installed"
|
||||
else
|
||||
QSSTV="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# GRIDTRACKER
|
||||
#----------------------------------------------------#
|
||||
GT="${HOME}/GridTracker"
|
||||
if [ ! -d "$GT" ]; then
|
||||
GRIDTRACK="Not Installed"
|
||||
else
|
||||
GRIDTRACK="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# PROPAGATION
|
||||
#----------------------------------------------------#
|
||||
if ! hash voacapl 2>/dev/null; then
|
||||
PROP="Not Installed"
|
||||
else
|
||||
PROP="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# CQRLOG
|
||||
#----------------------------------------------------#
|
||||
if ! hash cqrlog 2>/dev/null; then
|
||||
CQRLOG="Not Installed"
|
||||
else
|
||||
CQRLOG="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# EES
|
||||
#----------------------------------------------------#
|
||||
if [ -f /var/www/html/email.php ]; then
|
||||
EES="Installed"
|
||||
else
|
||||
EES="Not Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Pi-APRS
|
||||
#----------------------------------------------------#
|
||||
if [ -d ${HOME}/Pi-APRS ]; then
|
||||
PIAPRS=Installed
|
||||
else
|
||||
PIAPRS="Not Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Temp Convert
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/bin/converttemp ]; then
|
||||
TEMPCONVERT="Installed"
|
||||
else
|
||||
TEMPCONVERT="Not Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# GPARTED
|
||||
#----------------------------------------------------#
|
||||
if ! hash gparted 2>/dev/null; then
|
||||
GPARTED="Not Installed"
|
||||
else
|
||||
GPARTED="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# DIPOLE CALCULATOR
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/bin/dipole ]; then
|
||||
DIPOLE="Installed"
|
||||
else
|
||||
DIPOLE="Not Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# SHOWLOG | Log file viewer
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/bin/showlog ]; then
|
||||
SHOWLOG="Installed"
|
||||
else
|
||||
SHOWLOG="Not Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Call Sign Lookup GETCALL
|
||||
#----------------------------------------------------#
|
||||
if [ -f ${HOME}/bin/getcall ]; then
|
||||
CALLSIGN="Installed"
|
||||
else
|
||||
CALLSIGN="Not Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# HamClock
|
||||
#----------------------------------------------------#
|
||||
HAMCLOCK=$(ls /usr/local/bin | grep hamclock)
|
||||
if [ -n "$HAMCLOCK" ]; then
|
||||
HAMCLOCK="Installed"
|
||||
else
|
||||
HAMCLOCK="Not Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Real Time Clock
|
||||
#----------------------------------------------------#
|
||||
RTC="Unknown"
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Gpredict
|
||||
#----------------------------------------------------#
|
||||
if ! hash gpredict 2>/dev/null; then
|
||||
GPREDICT="Not Installed"
|
||||
else
|
||||
GPREDICT="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# TQSL
|
||||
#----------------------------------------------------#
|
||||
if ! hash tqsl 2>/dev/null; then
|
||||
TQSL="Not Installed"
|
||||
else
|
||||
TQSL="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# PISTATS
|
||||
#----------------------------------------------------#
|
||||
if ! hash pistats 2>/dev/null; then
|
||||
PISTATS="Not Installed"
|
||||
else
|
||||
PISTATS="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# XLOG CHECK
|
||||
#----------------------------------------------------#
|
||||
if ! hash xlog 2>/dev/null; then
|
||||
XLOG="Not_Installed"
|
||||
else
|
||||
|
||||
XLOGCUR=$(xlog -version | sed 's/xlog\ version\ //')
|
||||
|
||||
XLOGLATEST=$(curl -s https://download.savannah.nongnu.org/releases/xlog/ |
|
||||
grep "2.[0-9].[0-9][0-9].tar" | sort | tail -1 | sed 's/.*xlog/xlog/' | sed 's/.sig.*$//' |
|
||||
sed 's/xlog-//' | sed 's/.tar.gz//')
|
||||
|
||||
if (($(echo "${XLOGLATEST} ${XLOGCUR}" | awk '{print ($1 > $2)}'))); then
|
||||
XLOG="NEEDS-UPDATE"
|
||||
else
|
||||
XLOG=is_latest_version
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# JTDX
|
||||
#----------------------------------------------------#
|
||||
if ! hash jtdx 2>/dev/null; then
|
||||
JTDX="Not_Installed"
|
||||
else
|
||||
JTDX=Installed
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
#----------------------------------------------------#
|
||||
# TELNET
|
||||
#----------------------------------------------------#
|
||||
if ! hash telnet 2>/dev/null; then
|
||||
TEL="Not Installed"
|
||||
else
|
||||
TEL="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# piQtTermTCP
|
||||
#----------------------------------------------------#
|
||||
if [ -f /usr/local/bin/piQtTermTCP ]; then
|
||||
PITERM="Installed"
|
||||
else
|
||||
PITERM="Not Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Security Tools
|
||||
#----------------------------------------------------#
|
||||
if [ -f /usr/local/bin/securefile ]; then
|
||||
SECURITY="Installed"
|
||||
else
|
||||
SECURITY="Not Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# YGATE
|
||||
#----------------------------------------------------#
|
||||
YGATE="${HOME}/bin/ygate.py"
|
||||
if [ ! -f "$YGATE" ]; then
|
||||
YGATE="Not Installed"
|
||||
else
|
||||
YGATE="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# BPQ
|
||||
#----------------------------------------------------#
|
||||
BPQ="${HOME}/linbpq/linbpq"
|
||||
if [ ! -f "$BPQ" ]; then
|
||||
BPQ="Not Installed"
|
||||
else
|
||||
BPQ="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Battery Test Script :: BATT
|
||||
#----------------------------------------------------#
|
||||
BATT="${HOME}/bin/batt-test"
|
||||
if [ ! -f "$BATT" ]; then
|
||||
BATT="Not Installed"
|
||||
else
|
||||
BATT="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# VNC Viewer
|
||||
#----------------------------------------------------#
|
||||
if ! hash vncviewer 2>/dev/null; then
|
||||
VNC="Not Installed"
|
||||
else
|
||||
VNC="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# ZYGRIB Viewer
|
||||
#----------------------------------------------------#
|
||||
if [ -f /usr/bin/zyGrib ]; then
|
||||
ZYGRIB=Installed
|
||||
else
|
||||
ZYGRIB="Not Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# GPS UPDATE TOOL
|
||||
#----------------------------------------------------#
|
||||
echo "Checking GPS Update Tool"
|
||||
if [ ! -f ${HOME}/bin/gpsupdate ]; then
|
||||
GPSUPDATE="Not_Installed"
|
||||
else
|
||||
GPSUPDATE=$(grep VERSION= ${HOME}/bin/gpsupdate | sed 's/VERSION=//')
|
||||
NEWGPSUPDATE=$(curl -s https://raw.githubusercontent.com/km4ack/pi-scripts/master/gpsupdate | grep VERSION= | sed 's/VERSION=//')
|
||||
if (($(echo "${NEWGPSUPDATE} ${GPSUPDATE}" | awk '{print ($1 > $2)}'))); then
|
||||
GPSUPDATE=NEEDS-UPDATE
|
||||
else
|
||||
GPSUPDATE="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# Grid Calc
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Grid Calc"
|
||||
if [ ! -f $HOME/bin/grid-calc ]; then
|
||||
GRIDCALC="Not_Installed"
|
||||
else
|
||||
CURRENT=$(grep VERSION $HOME/bin/grid-calc | head -1 | sed 's/VERSION=//')
|
||||
LATEST=$(curl -s https://raw.githubusercontent.com/km4ack/pi-scripts/master/grid-calc | grep VERSION | head -1 | sed 's/VERSION=//')
|
||||
if (($(echo "${LATEST} ${CURRENT}" | awk '{print ($1 > $2)}'))); then
|
||||
GRIDCALC=NEEDS-UPDATE
|
||||
else
|
||||
GRIDCALC="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# HAMRS
|
||||
#----------------------------------------------------#
|
||||
if [ ! -f /usr/local/bin/hamrs ]; then
|
||||
HAMRS="Not_Installed"
|
||||
else
|
||||
HAMRS="Installed"
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# PacketSearch
|
||||
#----------------------------------------------------#
|
||||
echo "Checking Packet Search"
|
||||
if [ ! -f $HOME/bin/packetsearch ]; then
|
||||
PACKETSEARCH="Not_Installed"
|
||||
else
|
||||
PACKETSEARCH=$(grep VERSION $HOME/bin/packetsearch | sed 's/VERSION=//')
|
||||
NEWPACKETSEARCH=$(curl -s https://raw.githubusercontent.com/km4ack/pi-scripts/master/packetsearch | grep VERSION | sed 's/VERSION=//')
|
||||
|
||||
if (($(echo "${NEWFLNET} ${FLNET}" | awk '{print ($1 > $2)}'))); then
|
||||
PACKETSEARCH=NEEDS-UPDATE
|
||||
else
|
||||
PACKETSEARCH="is_latest_version"
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------#
|
||||
# piQtSoundModem
|
||||
#----------------------------------------------------#
|
||||
if [ -f /usr/local/bin/piQtSoundModem ]; then
|
||||
QTSOUND="Installed"
|
||||
else
|
||||
QTSOUND="Not Installed"
|
||||
fi
|
||||
|
||||
CHECK
|
||||
####################################################################
|
||||
####################################################################
|
||||
####################################################################
|
||||
####################################################################
|
||||
####################################################################
|
||||
####################################################################
|
||||
####################################################################
|
||||
####################################################################
|
||||
####################################################################
|
||||
#Run the app check script
|
||||
bash $MYPATH/app-check
|
||||
|
||||
#####################################
|
||||
# Get User Call
|
||||
|
@ -930,6 +251,7 @@ fi
|
|||
#----------------------------------------------------#
|
||||
# BASE APP MENU
|
||||
#----------------------------------------------------#
|
||||
source $UPDATEFILE
|
||||
yad --center --list --checklist --width=600 --height=600 --separator="" \
|
||||
--image ${LOGO} --column=Check --column=App --column=status --column=description --print-column=2 \
|
||||
--window-icon=${LOGO} --image-on-top --text-align=center \
|
||||
|
@ -1052,6 +374,7 @@ fi
|
|||
#----------------------------------------------------#
|
||||
# FLSUITE APP MENU
|
||||
#----------------------------------------------------#
|
||||
source $UPDATEFILE
|
||||
yad --center --list --checklist --width=600 --height=600 --separator="" \
|
||||
--image ${LOGO} --column=Check --column=App --column=status --column=description --print-column=2 \
|
||||
--window-icon=${LOGO} --image-on-top --text-align=center \
|
||||
|
@ -1071,6 +394,7 @@ fi
|
|||
#----------------------------------------------------#
|
||||
# HAM APP MENU
|
||||
#----------------------------------------------------#
|
||||
source $UPDATEFILE
|
||||
yad --center --list --checklist --width=600 --height=600 --separator="" \
|
||||
--image ${LOGO} --column=Check --column=App --column=status --column=description --print-column=2 \
|
||||
--window-icon=${LOGO} --image-on-top --text-align=center \
|
||||
|
@ -1139,6 +463,7 @@ fi
|
|||
#----------------------------------------------------#
|
||||
# UTILITIES MENU
|
||||
#----------------------------------------------------#
|
||||
source $UPDATEFILE
|
||||
yad --center --list --checklist --width=600 --height=600 --separator="" \
|
||||
--image ${LOGO} --column=Check --column=App --column=status --column=description --print-column=2 \
|
||||
--window-icon=${LOGO} --image-on-top --text-align=center \
|
||||
|
@ -1249,6 +574,31 @@ rm ${BASE} ${ADDITIONAL} ${UTILITY} ${FLSUITE} >/dev/null 2>&1
|
|||
#restore crontab
|
||||
crontab ${TEMPCRON}
|
||||
rm ${TEMPCRON}
|
||||
|
||||
#####################################
|
||||
# Pat 12 Temp Workaround
|
||||
#####################################
|
||||
#This will move the user to the "version12" branch of the Pat Menu code
|
||||
#until this can be implemented into the main branch of code. This will
|
||||
#allow Pat Menu to support both the new version of Pat as well as older
|
||||
#versions. This section of code needs to be removed once the "version12"
|
||||
#branch is merged with the master branch
|
||||
|
||||
PAT_VERSION=$(pat version | awk '{print $2}' | sed 's/v0.//;s/.0//')
|
||||
|
||||
if [ "$PAT_VERSION" -le 11 ]; then
|
||||
echo "pat version 11 detected"
|
||||
else
|
||||
echo "pat version 12 or greater detected"
|
||||
echo "moving pat menu to the version12 branch"
|
||||
cd $HOME/patmenu2
|
||||
git pull
|
||||
git checkout version12
|
||||
fi
|
||||
|
||||
#####################################
|
||||
# END Pat 12 Temp Workaround
|
||||
#####################################
|
||||
#reboot when done
|
||||
yad --width=400 --height=200 --title="Reboot" --image ${LOGO} \
|
||||
--text-align=center --skip-taskbar --image-on-top \
|
||||
|
|
Ładowanie…
Reference in New Issue