update: changes to install new modules
This commit is contained in:
parent
8753c76e6b
commit
6c580b0de1
|
@ -1,7 +1,21 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
log="logger -t update.sh -s "
|
log="logger -t update.sh -s "
|
||||||
|
|
||||||
|
if [[ $# == 1 ]]; then
|
||||||
|
BRANCH=$1
|
||||||
|
else
|
||||||
|
BRANCH="master"
|
||||||
|
fi
|
||||||
|
|
||||||
|
${log} "Updating the main repository to branch $BRANCH"
|
||||||
|
|
||||||
|
function restart(){
|
||||||
|
sudo nginx -t && sudo systemctl reload nginx
|
||||||
|
sudo systemctl restart nodered.service
|
||||||
|
}
|
||||||
|
|
||||||
function update(){
|
function update(){
|
||||||
|
cd /home/pi/PlanktonScope || { echo "/home/pi/PlanktonScope does not exist"; exit 1; }
|
||||||
sudo killall -15 raspimjpeg
|
sudo killall -15 raspimjpeg
|
||||||
sudo killall -15 python3
|
sudo killall -15 python3
|
||||||
git stash
|
git stash
|
||||||
|
@ -9,31 +23,40 @@ function update(){
|
||||||
git checkout stash@'{0}' -- config.json hardware.json
|
git checkout stash@'{0}' -- config.json hardware.json
|
||||||
# TODO we need to change this to drop stash@{1} if changes made to the flow are to be restored by the user
|
# TODO we need to change this to drop stash@{1} if changes made to the flow are to be restored by the user
|
||||||
git stash drop
|
git stash drop
|
||||||
sudo nginx -t && sudo systemctl reload nginx
|
|
||||||
sudo systemctl restart nodered.service
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function special(){
|
function special_before(){
|
||||||
${log} "Nothing special to do!"
|
cd /home/pi/.node-red || { echo "/home/pi/.node-red does not exist"; exit 1; }
|
||||||
|
npm install copy-dependencies
|
||||||
|
${log} "Nothing else special to do before updating!"
|
||||||
}
|
}
|
||||||
|
|
||||||
${log} "Updating the main repository"
|
function special_after(){
|
||||||
|
cd /home/pi/.node-red || { echo "/home/pi/.node-red does not exist"; exit 1; }
|
||||||
|
node_modules/copy-dependencies/index.js projects/PlanktonScope ./
|
||||||
|
# updating and installing now whatever module has been added to package.json
|
||||||
|
npm update
|
||||||
|
${log} "Nothing else special to do after updating!"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
cd /home/pi/PlanktonScope || { echo "/home/pi/PlanktonScope does not exist"; exit 1; }
|
cd /home/pi/PlanktonScope || { echo "/home/pi/PlanktonScope does not exist"; exit 1; }
|
||||||
|
remote=$(git ls-remote -h origin $BRANCH | awk '{print $1}')
|
||||||
remote=$(git ls-remote -h origin master | awk '{print $1}')
|
|
||||||
local=$(git rev-parse HEAD)
|
local=$(git rev-parse HEAD)
|
||||||
if [[ "$local" == "$remote" ]]; then
|
if [[ "$local" == "$remote" ]]; then
|
||||||
${log} "nothing to do!"
|
${log} "nothing to do!"
|
||||||
else
|
else
|
||||||
${log} "Local and Remote are different, we have to update!"
|
${log} "Local and Remote are different, we have to update!"
|
||||||
git fetch
|
git fetch
|
||||||
UPDATE=$(git diff --numstat origin/master scripts/bash/update.sh | awk '/update.sh/ {print $NF}')
|
UPDATE=$(git diff --numstat origin/$BRANCH scripts/bash/update.sh | awk '/update.sh/ {print $NF}')
|
||||||
if [[ -n "${UPDATE}" ]]; then
|
if [[ -n "${UPDATE}" ]]; then
|
||||||
# Update the file and restart the script
|
# Update the file and restart the script
|
||||||
git checkout origin/master scripts/bash/update.sh
|
git checkout origin/$BRANCH scripts/bash/update.sh
|
||||||
exec scripts/bash/update.sh
|
exec scripts/bash/update.sh $BRANCH
|
||||||
fi
|
fi
|
||||||
special
|
special_before
|
||||||
update
|
update
|
||||||
|
special_after
|
||||||
|
restart
|
||||||
${log} "Done!"
|
${log} "Done!"
|
||||||
fi
|
fi
|
Loading…
Reference in a new issue