From e3c1fcd2c610bffcfa365b84e0dabfc57457c715 Mon Sep 17 00:00:00 2001 From: DL6ER Date: Thu, 5 Jan 2017 13:10:19 +0100 Subject: [PATCH 1/3] NEW LOGIC FOR THE UPDATER Compare local and remote hashes. Update is available if current remote hash is different from current local hash since we assume that local should never be newer than remote for user --- advanced/Scripts/update.sh | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/advanced/Scripts/update.sh b/advanced/Scripts/update.sh index a2a5e8dc..df71e9a9 100755 --- a/advanced/Scripts/update.sh +++ b/advanced/Scripts/update.sh @@ -91,12 +91,37 @@ GitCheckUpdateAvail() { # Fetch latest changes in this repo git fetch --quiet origin - status="$(git status -sb)" + + # @ alone is a shortcut for HEAD. Older versions of git + # need @{0} + LOCAL="$(git rev-parse @{0})" + + # The suffix @{upstream} to a branchname + # (short form @{u}) refers + # to the branch that the branch specified + # by branchname is set to build on top of# + # (configured with branch..remote and + # branch..merge). A missing branchname + # defaults to the current one. + REMOTE="$(git rev-parse @{upstream})" # Change back to original directory cd "${curdir}" - if [[ $status == *"behind"* ]]; then + if [[ ${#LOCAL} == 0 ]]; then + echo "::: Error: Local revision could not be optained, ask Pi-hole support." + echo "::: Additional debugging output:" + git status + exit + fi + if [[ ${#REMOTE} == 0 ]]; then + echo "::: Error: Remote revision could not be optained, ask Pi-hole support." + echo "::: Additional debugging output:" + git status + exit + fi + + if [[ "${LOCAL}" != "${REMOTE}" ]]; then # Local branch is behind remote branch -> Update return 0 else From 168397e90d0d1d8d196f9992792c64d0500ef330 Mon Sep 17 00:00:00 2001 From: DL6ER Date: Thu, 5 Jan 2017 21:45:06 +0100 Subject: [PATCH 2/3] Fixed typo in webpage.sh --- advanced/Scripts/webpage.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/advanced/Scripts/webpage.sh b/advanced/Scripts/webpage.sh index 18ed982f..acf8eca9 100755 --- a/advanced/Scripts/webpage.sh +++ b/advanced/Scripts/webpage.sh @@ -136,7 +136,7 @@ SetDNSServers(){ change_setting "DNS_BOGUS_PRIV" "false" fi - ProcessDnsmasqSettings + ProcessDNSSettings # Restart dnsmasq to load new configuration RestartDNS From 0e4d5e910362f160852398be708b99153a0c2d17 Mon Sep 17 00:00:00 2001 From: Dan Schaper Date: Sun, 8 Jan 2017 14:49:08 -0800 Subject: [PATCH 3/3] Bash splitting and globin Signed-off-by: Dan Schaper --- automated install/basic-install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh index e5142915..0307bd2e 100755 --- a/automated install/basic-install.sh +++ b/automated install/basic-install.sh @@ -235,8 +235,8 @@ chooseInterface() { # Loop sentinel variable local firstLoop=1 - if [[ $(echo ${availableInterfaces} | wc -l) -eq 1 ]]; then - PIHOLE_INTERFACE=${availableInterfaces} + if [[ $(echo "${availableInterfaces}" | wc -l) -eq 1 ]]; then + PIHOLE_INTERFACE="${availableInterfaces}" return fi