mirror of
https://github.com/pivpn/pivpn.git
synced 2024-12-21 04:10:20 +00:00
100 lines
2.3 KiB
Bash
100 lines
2.3 KiB
Bash
|
#/bin/bash
|
||
|
|
||
|
###Updates pivpn scripts (Not PiVPN)
|
||
|
###Main Vars
|
||
|
pivpnrepo="https://github.com/pivpn/pivpn.git"
|
||
|
pivpnlocalpath="/etc/.pivpn"
|
||
|
pivpnscripts="/opt/pivpn/scripts"
|
||
|
bashcompletiondir="/etc/bash_completion.d/pivpn"
|
||
|
|
||
|
|
||
|
###Functions
|
||
|
##Updates scripts
|
||
|
updatepivpnscripts(){
|
||
|
##We don't know what sort of changes users have made.
|
||
|
##Lets remove first /etc/.pivpn dir then clone it back again
|
||
|
echo "going do update PiVPN Scripts"
|
||
|
if [[ -d $pivpnlocalpath ]]; then
|
||
|
|
||
|
sudo rm -rf $pivpnlocalpath
|
||
|
cloneandupdate
|
||
|
|
||
|
else
|
||
|
cloneandupdate
|
||
|
fi
|
||
|
echo "PiVPN Scripts have been updated"
|
||
|
}
|
||
|
|
||
|
##Updates scripts using test branch
|
||
|
updatefromtest(){
|
||
|
##We don't know what sort of changes users have made.
|
||
|
##Lets remove first /etc/.pivpn dir then clone it back again
|
||
|
echo "PiVPN Scripts updating from test branch"
|
||
|
if [[ -d /etc/.pivpn ]]; then
|
||
|
|
||
|
rm -rf /etc/.pivpn
|
||
|
cloneupdttest
|
||
|
|
||
|
else
|
||
|
|
||
|
cloneupdttest
|
||
|
|
||
|
fi
|
||
|
echo "PiVPN Scripts updated have been updated from test branch"
|
||
|
}
|
||
|
|
||
|
##Clone and copy pivpn scripts to /op/
|
||
|
cloneandupdate(){
|
||
|
|
||
|
sudo git clone $pivpnrepo $pivpnlocalpath
|
||
|
sudo cp -r $pivpnlocalpath/scripts $pivpnscripts
|
||
|
sudo cp $pivpnlocalpath/scripts/bash-completion $bashcompletiondir
|
||
|
|
||
|
}
|
||
|
|
||
|
##same as cloneandupdate() but from test branch
|
||
|
##and falls back to master branch again after updating
|
||
|
cloneupdttest(){
|
||
|
|
||
|
sudo git clone $pivpnrepo $pivpnlocalpath
|
||
|
sudo git -C $pivpnlocalpath checkout test
|
||
|
sudo git -C $pivpnlocalpath pull origin test
|
||
|
sudo cp -r $pivpnlocalpath/scripts $pivpnscripts
|
||
|
sudo cp $pivpnlocalpath/scripts/bash-completion $bashcompletiondir
|
||
|
sudo git -C $pivpnlocalpath checkout master
|
||
|
|
||
|
}
|
||
|
|
||
|
scriptusage(){
|
||
|
echo -e "Updates pivpn scripts,\n
|
||
|
Usage:
|
||
|
pivpn update | updates from master branch
|
||
|
pivpn update -t or --test | updates from test branch"
|
||
|
|
||
|
}
|
||
|
|
||
|
## SCRIPT
|
||
|
|
||
|
if [[ $# -eq 0 ]]; then
|
||
|
updatepivpnscripts
|
||
|
|
||
|
else
|
||
|
while true; do
|
||
|
case "$1" in
|
||
|
-t | --test | test )
|
||
|
updatefromtest
|
||
|
exit 0
|
||
|
;;
|
||
|
-h | --help | help )
|
||
|
scriptusage
|
||
|
exit 0
|
||
|
;;
|
||
|
* )
|
||
|
updatepivpnscripts
|
||
|
exit 0
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
fi
|
||
|
|