kopia lustrzana https://github.com/km4ack/pi-build
update
rodzic
28200e3443
commit
cf50bed7b0
701
update-bap
701
update-bap
|
@ -1,701 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
#script to update build a pi script
|
|
||||||
#20190313 km4ack
|
|
||||||
#SIDENOTE: This was written as the Covid-19 outbreak was occuring
|
|
||||||
|
|
||||||
WHO=$(whoami)
|
|
||||||
|
|
||||||
#verify not run as root
|
|
||||||
if [ $WHO = "root" ]
|
|
||||||
then
|
|
||||||
echo "no need to run with sudo"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
#verify we have a Downloads directory
|
|
||||||
mkdir -p $HOME/Downloads
|
|
||||||
|
|
||||||
clear;echo;echo
|
|
||||||
|
|
||||||
echo "Build-a-Pi update tool by KM4ACK"
|
|
||||||
echo;echo
|
|
||||||
cat <<EOF
|
|
||||||
This update tool will update the apps that were
|
|
||||||
orignally compiled from source as well as a few
|
|
||||||
apps like JS8Call & WSJTX that cannot be updated
|
|
||||||
with a simple apt-get upgrade command.
|
|
||||||
The entire process can take over an hour.
|
|
||||||
Several apps (FLDIGI Suite, hamlib, direwolf)
|
|
||||||
will be compiled from source.
|
|
||||||
Press CRTL+C to exit or
|
|
||||||
EOF
|
|
||||||
read -n 1 -s -r -p "Press any key to continue"
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# JS8Call/WSJTX
|
|
||||||
#----------------------------------------------------#
|
|
||||||
clear;echo;echo
|
|
||||||
cat <<EOF
|
|
||||||
Currently, it isn't possible for any script
|
|
||||||
to detect if JS8Call or WSJTX needs to be
|
|
||||||
updated. If JS8Call or WSJTX is out of date
|
|
||||||
the script can update both apps for you. It
|
|
||||||
will not hurt if you update and the latest
|
|
||||||
version is already installed.
|
|
||||||
|
|
||||||
EOF
|
|
||||||
read -p "Would you like to update JS8Call? y/n " JS8
|
|
||||||
read -p "Would you like to update WSJTX? y/n " WSJ
|
|
||||||
|
|
||||||
if [ $JS8 = 'y' ] || [ $JS8 = 'Y' ];then
|
|
||||||
echo "removing old JS8Call"
|
|
||||||
sudo apt-get remove -y js8call;echo
|
|
||||||
echo "updating JS8Call "
|
|
||||||
sleep 1
|
|
||||||
cd $HOME/Downloads
|
|
||||||
JS8LATE=$(curl -s http://files.js8call.com/latest.html | grep armhf | awk '{ print $2 }' | sed 's/href=//' | sed 's/"//g')
|
|
||||||
JS8PKG=$(curl -s http://files.js8call.com/latest.html | grep armhf | awk '{ print $2 }' | sed 's/\///g' | sed 's/href="http:files.js8call.com[0-9].[0-9].[0-9]//' | sed 's/"//')
|
|
||||||
wget $JS8LATE
|
|
||||||
sudo dpkg -i $JS8PKG
|
|
||||||
sudo apt-get --fix-broken -y install
|
|
||||||
sudo dpkg -i $JS8PKG
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $WSJ = 'y' ] || [ $WSJ = 'Y' ];then
|
|
||||||
echo "removing old WSJTX"
|
|
||||||
sudo apt-get remove -y wsjtx
|
|
||||||
echo "installing new WSJTX"
|
|
||||||
WSPKG=$(curl -s https://physics.princeton.edu/pulsar/k1jt/wsjtx.html | grep armhf.deb | sed 's/^.*wsjtx/wsjtx/' | sed 's/deb.*$/deb/')
|
|
||||||
cd $HOME/Downloads
|
|
||||||
wget https://physics.princeton.edu/pulsar/k1jt/$WSPKG
|
|
||||||
sudo dpkg -i $WSPKG
|
|
||||||
sleep 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
clear;echo;echo
|
|
||||||
cat <<EOF
|
|
||||||
You should run an update and upgrade
|
|
||||||
before proceeding. If you have not run
|
|
||||||
both of these commands today, we can
|
|
||||||
do it now. Would you like to update
|
|
||||||
and upgrade now? y/n
|
|
||||||
EOF
|
|
||||||
read ANS
|
|
||||||
if [ $ANS = 'y' ] || [ $ANS = 'Y' ]
|
|
||||||
then
|
|
||||||
sudo apt-get -y update
|
|
||||||
sudo apt-get -y upgrade
|
|
||||||
fi
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------------#
|
|
||||||
#This section compares what is installed against to latest version available"
|
|
||||||
#-------------------------------------------------------------------------------------#
|
|
||||||
clear;echo;echo
|
|
||||||
echo "Standby while we check for updates"
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# RIG CONTROL - HAMLIB
|
|
||||||
#----------------------------------------------------#
|
|
||||||
echo "Checking Rig Contol"
|
|
||||||
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 already latest version"
|
|
||||||
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 already 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 already 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 already 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 already 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 already 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 -F 'v' '{print $2}' | head -c 5)
|
|
||||||
NEWPAT=$(curl -s https://github.com/la5nta/pat/releases | grep -m 1 "amd64.deb"\
|
|
||||||
| awk -F '_' '{print $2}')
|
|
||||||
|
|
||||||
if (( $(echo "$NEWPAT $PAT" | awk '{print ($1 > $2)}') ))
|
|
||||||
then
|
|
||||||
PAT=NEEDS-UPDATE
|
|
||||||
else
|
|
||||||
PAT="is already 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 already 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 already latest version"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# Pat Menu
|
|
||||||
#----------------------------------------------------#
|
|
||||||
echo "Checking Pat Menu"
|
|
||||||
if [ ! -d $HOME/patmenu ]; then
|
|
||||||
PATMENU="Not Installed"
|
|
||||||
else
|
|
||||||
cd $HOME/patmenu/
|
|
||||||
wget -O $HOME/patmenu/latest https://raw.githubusercontent.com/km4ack/patmenu/master/release > /dev/null 2>&1
|
|
||||||
LATEST=$(cat $HOME/patmenu/latest | grep '^release' | sed 's/release=//')
|
|
||||||
CURRENT=$(cat $HOME/patmenu/release | grep '^release' | sed 's/release=//')
|
|
||||||
rm $HOME/patmenu/latest
|
|
||||||
if (( $(echo "$LATEST $CURRENT" | awk '{print ($1 > $2)}') ))
|
|
||||||
then
|
|
||||||
PATMENU="NEEDS-UPDATE"
|
|
||||||
else
|
|
||||||
PATMENU="is already latest version"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# Hot Spot Tools
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ ! -d $HOME/hotspot-tools ]; then
|
|
||||||
HSTOOLS="Not Installed"
|
|
||||||
else
|
|
||||||
CURRENT=$(cat $HOME/hotspot-tools/changelog | grep version= | sed 's/version=//')
|
|
||||||
LATEST=$(curl -s https://raw.githubusercontent.com/km4ack/hotspot-tools/master/changelog | grep version= | sed 's/version=//')
|
|
||||||
if (( $(echo "$LATEST $CURRENT" | awk '{print ($1 > $2)}') ))
|
|
||||||
then
|
|
||||||
HSTOOLS="NEEDS-UPDATE"
|
|
||||||
else
|
|
||||||
HSTOOLS="is already 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 already latest version"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# Grid Tracker
|
|
||||||
#----------------------------------------------------#
|
|
||||||
echo "Checking Grid Tracker"
|
|
||||||
if [ ! -d $HOME/GridTracker ]; then
|
|
||||||
GRIDTRACK="Not Installed"
|
|
||||||
else
|
|
||||||
GRIDDLL=$(curl -s https://tagloomis.com/downloads/ | grep Arm | head -1 | sed 's/<p><a\ href="//' | sed 's/?.*$//')
|
|
||||||
CURRENT=$(cat $HOME/GridTracker/package.nw/lib/gt.js | grep gtVersion | head -1 | sed 's/var\ gtVersion\ =\ //' | sed 's/;//')
|
|
||||||
LATEST=$(echo $GRIDDLL | sed 's/.*Arm-//' | sed 's/.tar.gz//' | sed 's/\.//g')
|
|
||||||
if (( $(echo "$LATEST $CURRENT" | awk '{print ($1 > $2)}') ))
|
|
||||||
then
|
|
||||||
GRIDTRACK=NEEDS-UPDATE
|
|
||||||
else
|
|
||||||
GRIDTRACK="is already latest version"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# END VERSION CHECK
|
|
||||||
# Print Results
|
|
||||||
#----------------------------------------------------#
|
|
||||||
#Print results for user
|
|
||||||
clear;echo;echo
|
|
||||||
echo "Results of Test"
|
|
||||||
echo "---------------"
|
|
||||||
echo "Rig Control "$RIG
|
|
||||||
echo "FLDIGI "$FLDIGI
|
|
||||||
echo "FLRIG "$FLRIG
|
|
||||||
echo "FLAMP" $FLAMP
|
|
||||||
echo "FLMSG "$FLMSG
|
|
||||||
echo "FLNET "$FLNET
|
|
||||||
echo "PAT Winlink "$PAT
|
|
||||||
echo "Chirp "$CHIRP
|
|
||||||
echo "Direwolf "$DIRE
|
|
||||||
echo "Pat Menu "$PATMENU
|
|
||||||
echo "GARIM "$GARIM
|
|
||||||
echo "Hotspot Tools "$HSTOOLS
|
|
||||||
echo "Grid Tracker "$GRIDTRACK
|
|
||||||
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# Update Function
|
|
||||||
#----------------------------------------------------#
|
|
||||||
UPDATE() {
|
|
||||||
#Section installs/updates fldigi depends.
|
|
||||||
if [ $FLDIGI = "NEEDS-UPDATE" > /dev/null 2>&1 ] || [ $FLRIG = "NEEDS-UPDATE" > /dev/null 2>&1 ] || [ $FLAMP = "NEEDS-UPDATE" > /dev/null 2>&1 ] ||
|
|
||||||
[ $FLMSG = "NEEDS-UPDATE" > /dev/null 2>&1 ] || [ $FLNET = "NEEDS-UPDATE" > /dev/null 2>&1 ]
|
|
||||||
then
|
|
||||||
#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
|
|
||||||
|
|
||||||
#find how much memory we are working with
|
|
||||||
FREEMEM=$(free -m | grep Mem: | awk '{ print $2 }')
|
|
||||||
echo $FREEMEM
|
|
||||||
|
|
||||||
#increase swap file if less than 3G memory
|
|
||||||
if [ $FREEMEM -lt 3000 ]
|
|
||||||
then
|
|
||||||
echo "Increasing Swap size for build"
|
|
||||||
#increase swap size
|
|
||||||
sudo sed -i 's/#CONF_SWAPFILE=\/var\/swap/CONF_SWAPFILE=\/var\/swap/' /etc/dphys-swapfile
|
|
||||||
sudo sed -i 's/CONF_SWAPSIZE=100/CONF_SWAPSIZE=1024/' /etc/dphys-swapfile
|
|
||||||
sudo /etc/init.d/dphys-swapfile restart
|
|
||||||
sleep 10
|
|
||||||
fi
|
|
||||||
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# FLXMLRPC
|
|
||||||
#----------------------------------------------------#
|
|
||||||
|
|
||||||
#check if flxmlrpc library is installed
|
|
||||||
FLX=$(ldconfig -p | grep flxmlrpc)
|
|
||||||
|
|
||||||
if [ -z "$FLX" ]
|
|
||||||
then
|
|
||||||
#determine latest FLXMLRPC & download
|
|
||||||
FLXM=$(curl -s http://www.w1hkj.com/files/flxmlrpc/ | grep .tar.gz | sed 's/<li><a\ href="//' | sed 's/">\ flxmlrpc.*$//')
|
|
||||||
XMPKG=$( echo $FLXM | sed 's/.tar.gz//')
|
|
||||||
cd $HOME/Downloads
|
|
||||||
wget http://www.w1hkj.com/files/flxmlrpc/$FLXM
|
|
||||||
tar -zxvf $FLXM
|
|
||||||
rm *.gz
|
|
||||||
|
|
||||||
#build FLXMLRPC
|
|
||||||
cd $XMPKG
|
|
||||||
./configure --prefix=/usr/local --enable-static
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
sudo ldconfig
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# RIG CONTROL
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $RIG = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
LATERIG=$(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}')
|
|
||||||
DLRIG=$(curl -s https://sourceforge.net/projects/hamlib/files/hamlib/$LATERIG/ | grep .tar.gz |head -1)
|
|
||||||
CURRIG=$(echo $DLRIG | sed 's/^.*hamlib/hamlib/' | sed 's/".*$//')
|
|
||||||
cd $HOME/Downloads
|
|
||||||
wget https://sourceforge.net/projects/hamlib/files/hamlib/$LATERIG/$CURRIG
|
|
||||||
DIR=$(echo $CURRIG | sed 's/.tar.gz*$//')
|
|
||||||
tar -xzvf $CURRIG
|
|
||||||
cd $DIR
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
sudo ldconfig
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# FLDIGI
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $FLDIGI = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
#Determine latest FLDIGI
|
|
||||||
FLTAR=$(curl -s http://www.w1hkj.com/files/fldigi/ | grep .tar.gz | sed 's/<li><a\ href="//' | sed 's/">\ fldigi.*$//')
|
|
||||||
FLPKG=$(echo $FLTAR | sed 's/.tar.gz//')
|
|
||||||
|
|
||||||
#Download latest FLDIGI tar file
|
|
||||||
cd $HOME/Downloads
|
|
||||||
wget http://www.w1hkj.com/files/fldigi/$FLTAR
|
|
||||||
tar -zxvf $FLTAR
|
|
||||||
rm *.gz
|
|
||||||
|
|
||||||
|
|
||||||
#build FLDIGI
|
|
||||||
cd $FLPKG
|
|
||||||
./configure --prefix=/usr/local --enable-static
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
sudo ldconfig
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# FLRIG
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $FLRIG = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
#Determine latest FLRIG
|
|
||||||
RIGTAR=$(curl -s http://www.w1hkj.com/files/flrig/ | grep .tar.gz | sed 's/<li><a\ href="//' | sed 's/">\ flrig.*$//')
|
|
||||||
RIGPKG=$(echo $RIGTAR | sed 's/.tar.gz//')
|
|
||||||
|
|
||||||
#Download latest FLRIG
|
|
||||||
cd $HOME/Downloads
|
|
||||||
wget http://www.w1hkj.com/files/flrig/$RIGTAR
|
|
||||||
tar -zxvf $RIGTAR
|
|
||||||
rm *.gz
|
|
||||||
|
|
||||||
#Build FLRIG
|
|
||||||
cd $RIGPKG
|
|
||||||
./configure --prefix=/usr/local --enable-static
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
sudo ldconfig
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# FLAMP
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $FLAMP = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
#determine latest FLAMP
|
|
||||||
AMPTAR=$(curl -s http://www.w1hkj.com/files/flamp/ | grep .tar.gz | sed 's/<li><a\ href="//' | sed 's/">\ flamp.*$//')
|
|
||||||
AMPPKG=$(echo $AMPTAR | sed 's/.tar.gz//')
|
|
||||||
|
|
||||||
#download FLAMP
|
|
||||||
cd $HOME/Downloads
|
|
||||||
wget http://www.w1hkj.com/files/flamp/$AMPTAR
|
|
||||||
tar -zxvf $AMPTAR
|
|
||||||
rm *.gz
|
|
||||||
|
|
||||||
#build FLAMP
|
|
||||||
cd $AMPPKG
|
|
||||||
./configure --prefix=/usr/local --enable-static
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
sudo ldconfig
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# FLMSG
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $FLMSG = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
#Determine latest FLMSG
|
|
||||||
MSGTAR=$(curl -s http://www.w1hkj.com/files/flmsg/ | grep .tar.gz | sed 's/<li><a\ href="//' | sed 's/">\ flmsg.*$//')
|
|
||||||
MSGPKG=$(echo $MSGTAR | sed 's/.tar.gz//')
|
|
||||||
|
|
||||||
#download FLMSG
|
|
||||||
cd $HOME/Downloads
|
|
||||||
wget http://www.w1hkj.com/files/flmsg/$MSGTAR
|
|
||||||
tar -zxvf $MSGTAR
|
|
||||||
rm *.gz
|
|
||||||
|
|
||||||
#Build FLMSG
|
|
||||||
cd $MSGPKG
|
|
||||||
./configure --prefix=/usr/local --enable-static
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
sudo ldconfig
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# FLNET
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $FLNET = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
#determine lastest FLNET
|
|
||||||
NETTAR=$(curl -s http://www.w1hkj.com/files/flnet/ | grep .tar.gz | sed 's/<li><a\ href="//' | sed 's/">\ flnet.*$//')
|
|
||||||
NETPKG=$(echo $NETTAR | sed 's/.tar.gz//')
|
|
||||||
|
|
||||||
#download FLNET
|
|
||||||
cd $HOME/Downloads
|
|
||||||
wget http://www.w1hkj.com/files/flnet/$NETTAR
|
|
||||||
tar -zxvf $NETTAR
|
|
||||||
rm *.gz
|
|
||||||
|
|
||||||
#build FLNET
|
|
||||||
cd $NETPKG
|
|
||||||
./configure --prefix=/usr/local --enable-static
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
sudo ldconfig
|
|
||||||
fi
|
|
||||||
|
|
||||||
#reset swap size to default
|
|
||||||
if [ $FREEMEM -lt 3000 ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
echo "Resetting swap size to default"
|
|
||||||
#reset swap size
|
|
||||||
sudo sed -i 's/CONF_SWAPFILE=\/var\/swap/#CONF_SWAPFILE=\/var\/swap/' /etc/dphys-swapfile
|
|
||||||
sudo sed -i 's/CONF_SWAPSIZE=1024/CONF_SWAPSIZE=100/' /etc/dphys-swapfile
|
|
||||||
sudo /etc/init.d/dphys-swapfile restart
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# Pat WINLINK
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $PAT = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
echo "updating Pat Winlink"
|
|
||||||
sleep 1
|
|
||||||
sudo systemctl stop pat@$WHO
|
|
||||||
sudo apt-get remove -y pat
|
|
||||||
cd $HOME/Downloads
|
|
||||||
PAT=$(curl -s https://github.com/la5nta/pat/releases/ | grep linux_armhf.deb | head -1 | sed 's/<li><a\ href="//' | sed 's/".*$//')
|
|
||||||
PAT1=$(echo $PAT | sed 's/^.*v[0-9].[0-9].[0-9]\///')
|
|
||||||
wget $PAT
|
|
||||||
sudo dpkg -i $PAT1
|
|
||||||
sleep 2
|
|
||||||
sudo systemctl start pat@$WHO > /dev/null 2>&1
|
|
||||||
sudo systemctl daemon-reload
|
|
||||||
echo "Pat Winlink Updated"
|
|
||||||
sleep 1
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# CHIRP
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $CHIRP = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
echo "updating CHIRP"
|
|
||||||
sleep 1
|
|
||||||
cd $HOME/Downloads
|
|
||||||
wget https://trac.chirp.danplanet.com/chirp_daily/LATEST/
|
|
||||||
CHIRPBUILD=$(cat index.html | grep .tar.gz | grep chirp-daily- | awk '{ print $6 }' | sed 's/.*"//' | sed 's/>//' | sed 's/[<].*$//')
|
|
||||||
sudo apt-get -y install python-gtk2 python-serial python-libxml2
|
|
||||||
mkdir $HOME/chirp
|
|
||||||
cd $HOME/chirp
|
|
||||||
wget https://trac.chirp.danplanet.com/chirp_daily/LATEST/$CHIRPBUILD
|
|
||||||
tar -xzf $CHIRPBUILD
|
|
||||||
CHIRPDIR=$(echo $CHIRPBUILD | sed 's/[.].*$//')
|
|
||||||
cd $CHIRPDIR
|
|
||||||
sudo python setup.py install
|
|
||||||
echo;echo;echo "Chirp has been updated"
|
|
||||||
sleep 1
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# DIREWOLF
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $DIRE = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
echo "updating direwolf"
|
|
||||||
sleep 1
|
|
||||||
cd $HOME/direwolf
|
|
||||||
git pull
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# PAT Menu
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $PATMENU = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
echo "updating Pat Menu"
|
|
||||||
sleep 1
|
|
||||||
cd $HOME/Downloads
|
|
||||||
cp $HOME/patmenu/config $HOME/Downloads/
|
|
||||||
git clone https://github.com/km4ack/patmenu.git
|
|
||||||
cp $HOME/Downloads/patmenu/* $HOME/patmenu/
|
|
||||||
mv $HOME/Downloads/config $HOME/patmenu/
|
|
||||||
rm -rf $HOME/Downloads/patmenu
|
|
||||||
chmod +x $HOME/patmenu/setup
|
|
||||||
$HOME/patmenu/./setup
|
|
||||||
fi
|
|
||||||
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# GARIM
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $GARIM = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
echo "updating GARIM"
|
|
||||||
sleep 1
|
|
||||||
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 $HOME/Downloads
|
|
||||||
wget https://www.whitemesa.net/garim/src/$GPKG
|
|
||||||
tar -xzvf $GPKG
|
|
||||||
DIR=$(echo $GPKG | sed 's/.tar.gz//')
|
|
||||||
cd $DIR
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# Hotspot Tools
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $HSTOOLS = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
echo "updating Hotspot Tools"
|
|
||||||
sleep 1
|
|
||||||
cd $HOME/hotspot-tools
|
|
||||||
git fetch --all
|
|
||||||
git reset --hard origin/master
|
|
||||||
bash setup
|
|
||||||
fi
|
|
||||||
#----------------------------------------------------#
|
|
||||||
# Grid Tracker
|
|
||||||
#----------------------------------------------------#
|
|
||||||
if [ $GRIDTRACK = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
rm -rf $HOME/GridTracker
|
|
||||||
cd $HOME
|
|
||||||
sudo apt-get install -y libgconf-2-4
|
|
||||||
GRIDDLL=$(curl -s https://tagloomis.com/downloads/ | grep Arm | head -1 | sed 's/<p><a\ href="//' | sed 's/?.*$//')
|
|
||||||
wget $GRIDDLL
|
|
||||||
GRIDTAR=$(echo $GRIDDLL | sed 's/.*\///g')
|
|
||||||
tar -xzvf $GRIDTAR
|
|
||||||
rm *.gz
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
echo;echo
|
|
||||||
|
|
||||||
if [ $FLDIGI = "NEEDS-UPDATE" ] > /dev/null 2>&1 || [ $FLRIG = "NEEDS-UPDATE" ] > /dev/null 2>&1 ||
|
|
||||||
[ $FLAMP = "NEEDS-UPDATE" ] > /dev/null 2>&1 || [ $FLMSG = "NEEDS-UPDATE" ] > /dev/null 2>&1 ||
|
|
||||||
[ $FLNET = "NEEDS-UPDATE" ] > /dev/null 2>&1 || [ $DIRE = "NEEDS-UPDATE" ] > /dev/null 2>&1 ||
|
|
||||||
[ $CHIRP = "NEEDS-UPDATE" ] > /dev/null 2>&1 || [ $FLNET = "NEEDS-UPDATE" ] > /dev/null 2>&1 ||
|
|
||||||
[ $PAT = "NEEDS-UPDATE" ] > /dev/null 2>&1 || [ $RIG = "NEEDS-UPDATE" ] > /dev/null 2>&1 ||
|
|
||||||
[ $PATMENU = "NEEDS-UPDATE" ] > /dev/null 2>&1 || [ $GARIM = "NEEDS-UPDATE" ] > /dev/null 2>&1 ||
|
|
||||||
[ $HSTOOLS = "NEEDS-UPDATE" ] > /dev/null 2>&1 || [ $GRIDTRACK = "NEEDS-UPDATE" ] > /dev/null 2>&1
|
|
||||||
then
|
|
||||||
read -p "Would you like to update all apps that need it now? y/n " ANS
|
|
||||||
if [ $ANS = 'y' ] || [ $ANS = 'Y' ]
|
|
||||||
then
|
|
||||||
UPDATE
|
|
||||||
else
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
echo;echo;echo "rebooting in 5 seconds"
|
|
||||||
sleep 5
|
|
||||||
sudo reboot
|
|
||||||
else
|
|
||||||
echo "Everything is currently up to date"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue