Merge pull request #330 from km4ack/beta

Beta
buster
KM4ACK 2021-11-02 12:54:36 -05:00 zatwierdzone przez GitHub
commit 7d5c407c14
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
11 zmienionych plików z 840 dodań i 809 usunięć

687
app-check 100644
Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

@ -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/
}
##################################

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

@ -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}"
}
##################################

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

@ -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
Wyświetl plik

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