kopia lustrzana https://github.com/km4ack/pi-build
initial commit
rodzic
6d1e134092
commit
adfb0385ee
|
@ -0,0 +1,670 @@
|
|||
#!/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
|
||||
|
||||
#----------------------------------------------------#
|
||||
# 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
|
||||
|
||||
#----------------------------------------------------#
|
||||
# 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
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
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