2018-08-08 19:58:15 +02:00
|
|
|
#!/bin/bash
|
2018-12-07 23:51:30 +01:00
|
|
|
|
2019-01-14 16:13:37 +01:00
|
|
|
# This is for developing on your RaspiBlitz.
|
|
|
|
# THIS IS NOT THE REGULAR UPDATE MECHANISM
|
|
|
|
# and can lead to dirty state of your scripts.
|
|
|
|
# IF YOU WANT TO UPDATE YOUR RASPIBLITZ:
|
|
|
|
# https://github.com/rootzoll/raspiblitz/blob/master/FAQ.md#how-to-update-my-raspiblitz-after-version-098
|
|
|
|
|
2018-12-07 23:58:20 +01:00
|
|
|
cd /home/admin/raspiblitz
|
2020-01-21 20:56:18 +01:00
|
|
|
source /mnt/hdd/raspiblitz.conf 2>/dev/null
|
2018-12-07 23:58:20 +01:00
|
|
|
|
2020-04-26 15:18:33 +02:00
|
|
|
# gather info
|
|
|
|
activeGitHubUser=$(sudo -u admin cat /home/admin/raspiblitz/.git/config | grep "url = " | cut -d "=" -f2 | cut -d "/" -f4)
|
|
|
|
activeBranch=$(git branch | grep \* | cut -d ' ' -f2)
|
|
|
|
|
|
|
|
# if parameter is "info" just give back basic info about sync
|
2020-04-26 15:23:58 +02:00
|
|
|
if [ "$1" == "info" ]; then
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "activeGitHubUser='${activeGitHubUser}'"
|
|
|
|
echo "activeBranch='${activeBranch}'"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2018-12-07 23:51:30 +01:00
|
|
|
# change branch if set as parameter
|
2019-01-14 23:55:25 +01:00
|
|
|
clean=0
|
2018-12-08 00:09:26 +01:00
|
|
|
wantedBranch="$1"
|
2020-04-26 20:54:44 +02:00
|
|
|
wantedGitHubUser="$2"
|
2019-01-14 23:55:25 +01:00
|
|
|
if [ "${wantedBranch}" = "-clean" ]; then
|
|
|
|
clean=1
|
|
|
|
wantedBranch="$2"
|
2020-04-26 20:54:44 +02:00
|
|
|
wantedRepo="$3"
|
2019-01-14 23:55:25 +01:00
|
|
|
fi
|
2020-04-26 20:54:44 +02:00
|
|
|
|
|
|
|
# set to another GutHub repo as origin
|
|
|
|
if [ ${#wantedGitHubUser} -gt 0 ]; then
|
|
|
|
echo "# your active GitHubUser is: ${activeGitHubUser}"
|
|
|
|
echo "# your wanted GitHubUser is: ${wantedGitHubUser}"
|
|
|
|
if [ "${activeGitHubUser}" = "${wantedGitHubUser}" ]; then
|
|
|
|
echo "# OK"
|
|
|
|
else
|
2020-04-26 21:21:23 +02:00
|
|
|
|
|
|
|
echo "# checking repo exists .."
|
|
|
|
repoExists=$(curl -s https://api.github.com/repos/${wantedGitHubUser}/raspiblitz | jq -r '.name' | grep -c 'raspiblitz')
|
|
|
|
if [ ${repoExists} -eq 0 ]; then
|
|
|
|
echo "error='repo not found'"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2020-04-26 20:54:44 +02:00
|
|
|
echo "# try changing github origin .."
|
|
|
|
git remote set-url origin https://github.com/${wantedGitHubUser}/raspiblitz.git
|
|
|
|
activeGitHubUser=$(sudo -u admin cat /home/admin/raspiblitz/.git/config | grep "url = " | cut -d "=" -f2 | cut -d "/" -f4)
|
|
|
|
fi
|
2019-01-14 23:55:25 +01:00
|
|
|
fi
|
|
|
|
|
2018-12-07 23:51:30 +01:00
|
|
|
if [ ${#wantedBranch} -gt 0 ]; then
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# your active branch is: ${activeBranch}"
|
2020-04-26 20:54:44 +02:00
|
|
|
echo "# your wanted branch is: ${wantedBranch}"
|
2018-12-07 23:51:30 +01:00
|
|
|
if [ "${wantedBranch}" = "${activeBranch}" ]; then
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# OK"
|
2018-12-07 23:51:30 +01:00
|
|
|
else
|
2020-04-26 21:21:23 +02:00
|
|
|
|
|
|
|
echo "# checking branch exists .."
|
2020-04-26 22:05:47 +02:00
|
|
|
branchExists=$(curl -s https://api.github.com/repos/${activeGitHubUser}/raspiblitz/branches/${wantedBranch} | jq -r '.name' | grep -c ${wantedBranch})
|
2020-04-26 21:34:45 +02:00
|
|
|
if [ ${branchExists} -eq 0 ]; then
|
2020-04-26 21:21:23 +02:00
|
|
|
echo "error='branch not found'"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2020-04-26 22:49:59 +02:00
|
|
|
echo "# checking if branch is locally available"
|
|
|
|
localBranch=$(git branch | grep -c "${wantedBranch}")
|
|
|
|
if [ ${localBranch} -eq 0 ]; then
|
|
|
|
echo "# checkout/changing branch .."
|
|
|
|
git checkout -b ${wantedBranch} origin/${wantedBranch}
|
|
|
|
else
|
|
|
|
echo "# changing branch .."
|
2020-04-26 22:51:18 +02:00
|
|
|
git checkout ${wantedBranch}
|
2020-04-26 22:49:59 +02:00
|
|
|
fi
|
|
|
|
|
2018-12-07 23:51:30 +01:00
|
|
|
activeBranch=$(git branch | grep \* | cut -d ' ' -f2)
|
|
|
|
fi
|
2018-12-08 00:09:26 +01:00
|
|
|
else
|
2018-12-08 00:09:54 +01:00
|
|
|
echo ""
|
2019-01-14 16:13:37 +01:00
|
|
|
echo "USAGE-INFO: ./XXsyncScripts.sh '[BRANCHNAME]'"
|
2018-12-07 23:51:30 +01:00
|
|
|
fi
|
|
|
|
|
2018-12-23 04:01:20 +01:00
|
|
|
origin=$(git remote -v | grep 'origin' | tail -n1)
|
2020-01-22 11:53:20 +01:00
|
|
|
checkSumBlitzTUIBefore=$(find /home/admin/raspiblitz/home.admin/BlitzTUI -type f -exec md5sum {} \; | md5sum)
|
|
|
|
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# *** SYNCING SHELL SCRIPTS WITH GITHUB ***"
|
|
|
|
echo "# This is for developing on your RaspiBlitz."
|
|
|
|
echo "# THIS IS NOT THE REGULAR UPDATE MECHANISM"
|
|
|
|
echo "# and can lead to dirty state of your scripts."
|
|
|
|
echo "# REPO ----> ${origin}"
|
|
|
|
echo "# BRANCH --> ${activeBranch}"
|
|
|
|
echo "# ******************************************"
|
2020-04-26 15:22:31 +02:00
|
|
|
git pull 1>&2
|
2018-08-08 19:58:15 +02:00
|
|
|
cd ..
|
2019-01-14 23:55:25 +01:00
|
|
|
if [ ${clean} -eq 1 ]; then
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# Cleaning scripts & assets/config.scripts"
|
2019-01-14 23:55:25 +01:00
|
|
|
rm *.sh
|
|
|
|
rm -r assets
|
2019-01-15 00:19:07 +01:00
|
|
|
mkdir assets
|
2019-01-14 23:55:25 +01:00
|
|
|
rm -r config.scripts
|
2019-01-15 00:19:07 +01:00
|
|
|
mkdir config.scripts
|
2019-01-14 23:55:25 +01:00
|
|
|
else
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# ******************************************"
|
|
|
|
echo "# NOT cleaning/deleting old files"
|
|
|
|
echo "# use parameter '-clean' if you want that next time"
|
|
|
|
echo "# ******************************************"
|
2019-01-14 23:55:25 +01:00
|
|
|
fi
|
2020-01-21 20:56:18 +01:00
|
|
|
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# COPYING from GIT-Directory to /home/admin/"
|
2019-06-13 14:22:05 +02:00
|
|
|
sudo -u admin cp -r -f /home/admin/raspiblitz/home.admin/*.* /home/admin
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# .."
|
2019-06-13 14:22:05 +02:00
|
|
|
sudo -u admin cp -r -f /home/admin/raspiblitz/home.admin/assets/*.* /home/admin/assets
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# .."
|
2019-04-12 12:02:05 +01:00
|
|
|
sudo -u admin chmod +x /home/admin/*.sh
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# .."
|
2019-04-12 12:02:05 +01:00
|
|
|
sudo -u admin chmod +x /home/admin/*.py
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# .."
|
2018-12-02 20:55:45 +01:00
|
|
|
sudo -u admin chmod +x /home/admin/config.scripts/*.sh
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# .."
|
2019-04-12 11:59:09 +01:00
|
|
|
sudo -u admin chmod +x /home/admin/config.scripts/*.py
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# ******************************************"
|
2020-01-21 20:56:18 +01:00
|
|
|
if [ "${touchscreen}" = "1" ]; then
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# Checking if the content of BlitzTUI changed .."
|
2020-01-22 11:53:20 +01:00
|
|
|
checkSumBlitzTUIAfter=$(find /home/admin/raspiblitz/home.admin/BlitzTUI -type f -exec md5sum {} \; | md5sum)
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# checkSumBlitzTUIBefore = ${checkSumBlitzTUIBefore}"
|
|
|
|
echo "# checkSumBlitzTUIAfter = ${checkSumBlitzTUIAfter}"
|
2020-01-22 12:02:10 +01:00
|
|
|
if [ "${checkSumBlitzTUIBefore}" = "${checkSumBlitzTUIAfter}" ]; then
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# BlitzTUI did not changed."
|
2020-01-22 12:02:10 +01:00
|
|
|
else
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# BlitzTUI changed --> UPDATING TOUCHSCREEN INSTALL ..."
|
2020-01-22 12:02:10 +01:00
|
|
|
sudo ./config.scripts/blitz.touchscreen.sh update
|
|
|
|
fi
|
2020-01-21 20:56:18 +01:00
|
|
|
fi
|
2020-04-26 15:18:33 +02:00
|
|
|
echo "# ******************************************"
|
|
|
|
echo "# OK - shell scripts and assests are synced"
|
|
|
|
echo "# Reboot recommended"
|