kopia lustrzana https://github.com/km4ack/pi-build
commit
9946439e5a
|
@ -156,18 +156,28 @@ sleep 2
|
|||
if ! hash php7.3 2>/dev/null; then
|
||||
sudo apt install -y php7.3
|
||||
fi
|
||||
#install ghostwriter if needed
|
||||
#this is used to mod the new index.html
|
||||
#page. 20200229
|
||||
if ! hash ghostwriter 2>/dev/null; then
|
||||
sudo apt-get install -y ghostwriter
|
||||
fi
|
||||
#Install the KM4ACK EES
|
||||
cd $DIR
|
||||
wget https://github.com/km4ack/EES-LITE/archive/master.zip
|
||||
unzip master.zip
|
||||
sudo cp -r $DIR/EES-LITE-master/* /var/www/html/
|
||||
#comment out master branch and add dev branch 20200229 km4ack----------------------------------------
|
||||
#wget https://github.com/km4ack/EES-LITE/archive/master.zip
|
||||
#unzip master.zip
|
||||
wget https://github.com/km4ack/EES-LITE/archive/dev.zip
|
||||
unzip dev.zip
|
||||
sudo cp -r $DIR/EES-LITE-dev/* /var/www/html/
|
||||
#sudo cp -r $DIR/EES-LITE-master/* /var/www/html/
|
||||
rm -rf $DIR/EES-LITE-master
|
||||
rm $DIR/master.zip
|
||||
cd /var/www/html
|
||||
sudo chmod +x /var/www/html/firstrun
|
||||
sudo /var/www/html/./firstrun
|
||||
#/var/www/html/./schedule
|
||||
sudo mv /var/www/html/index.html /var/www/html/index.html.org
|
||||
#line below commented out while testing new index.html file 20200229 km4ack---------------------------
|
||||
#sudo mv /var/www/html/index.html /var/www/html/index.html.org
|
||||
sudo sed -i "s/N0CALL/$CALL/" /var/www/html/config.php
|
||||
sudo sed -i 's/REMINDER\ FOR\ OPERATOR\ TO\ DO\ SOMETHING/ENABLE\ AUTO\ POST\ REPLY\ IN\ CRON/' /var/www/html/config.php
|
||||
cd $DIR
|
||||
|
@ -178,6 +188,16 @@ sed -i 's/PORT=8080/PORT=5000/' $HOME/patmenu/config
|
|||
sudo killall pat
|
||||
sudo systemctl start pat@pi
|
||||
fi
|
||||
#Move info.markdown from EES folder to Documents
|
||||
sudo mv /var/www/html/info.markdown /home/pi/Documents/
|
||||
sudo chown pi:pi /home/pi/Documents/info.markdown
|
||||
#move info.html to pi documents folder
|
||||
sudo cp /var/www/html/index.html /home/pi/Documents/info.html
|
||||
sudo chown pi:pi /home/pi/Documents/info.html
|
||||
#move script to be run by cron to bin dir
|
||||
sudo mv /var/www/html/webcopy /home/pi/bin/
|
||||
sudo chown pi:pi /home/pi/bin/webcopy
|
||||
sudo chmod +x /home/pi/bin/webcopy
|
||||
#set EES schedule using EES script
|
||||
/var/www/html/./schedule > /dev/null 2>&1
|
||||
|
||||
|
|
2
app-list
2
app-list
|
@ -3,6 +3,8 @@ RTC
|
|||
true
|
||||
HOTSPOT
|
||||
true
|
||||
HSTOOLS
|
||||
true
|
||||
GPS
|
||||
true
|
||||
CONKY
|
||||
|
|
14
build-a-pi
14
build-a-pi
|
@ -170,6 +170,20 @@ rm $DIR/autohotspotN-setup
|
|||
echo "Hot spot installed" >> $BUILDLOG
|
||||
fi
|
||||
|
||||
if [ $HSTOOLS = "yes" ] > /dev/null 2>&1
|
||||
then
|
||||
echo;echo;echo
|
||||
echo "##################################################"
|
||||
echo "##########INSTALLING HOTSPOT TOOLS"
|
||||
echo "##################################################"
|
||||
sleep 2
|
||||
git clone https://github.com/km4ack/hotspot-tools.git $HOME/hotspot-tools
|
||||
cd $HOME/hotspot-tools
|
||||
git checkout dev
|
||||
bash setup
|
||||
fi
|
||||
|
||||
|
||||
if [ $GPS = "yes" ] > /dev/null 2>&1
|
||||
then
|
||||
echo;echo;echo
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
20200117 Initial Release on Youtube
|
||||
20200319 Add gridtracker to update script
|
||||
20200316 Add bap-update script (beta)
|
||||
|
||||
20200117 Initial Release on Youtube
|
||||
20200122 Add option to build FLDIGI suite from source
|
||||
split app selection to two boxes
|
||||
backup cron just in case script is run twice
|
||||
|
@ -15,4 +17,7 @@
|
|||
change date format in conky
|
||||
add real time clock install to app choices
|
||||
update pat winlink to latest version 0.9.0
|
||||
20200228 Version 2 release on YouTube
|
||||
20200228 Version 2 release on YouTube
|
||||
20200229 add beta version of hotspot tools ------------------need to change to master checkout at some point in the future
|
||||
update EES install to include new way of modding index.html with ghost writer-----------------EES is checking out DEV version
|
||||
add ghost writer install to EES section
|
||||
|
|
|
@ -3,6 +3,8 @@ RTC
|
|||
true
|
||||
HOTSPOT
|
||||
true
|
||||
HSTOOLS
|
||||
true
|
||||
GPS
|
||||
true
|
||||
CONKY
|
||||
|
|
|
@ -0,0 +1,701 @@
|
|||
#!/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