From a158a2d0426f69941575178887ae07d22fd4ec19 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Sat, 11 Jul 2020 18:34:22 -0500 Subject: [PATCH 1/9] betamode --- gravity-sync.sh | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gravity-sync.sh b/gravity-sync.sh index e4fb55d..04d6ad9 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -1634,6 +1634,17 @@ function task_devmode { echo_stat rm -f $HOME/${LOCAL_FOLDR}/dev error_validate + elif [ -f $HOME/${LOCAL_FOLDR}/beta ] + then + MESSAGE="Disabling BETA" + echo_stat + rm -f $HOME/${LOCAL_FOLDR}/beta + error_validate + + MESSAGE="Enabling ${TASKTYPE}" + echo_stat + touch $HOME/${LOCAL_FOLDR}/dev + error_validate else MESSAGE="Enabling ${TASKTYPE}" echo_stat @@ -1647,6 +1658,42 @@ function task_devmode { exit_withchange } +## Devmode Task +function task_betamode { + TASKTYPE='BETA' + MESSAGE="${MESSAGE}: ${TASKTYPE} Requested" + echo_good + + if [ -f $HOME/${LOCAL_FOLDR}/beta ] + then + MESSAGE="Disabling ${TASKTYPE}" + echo_stat + rm -f $HOME/${LOCAL_FOLDR}/beta + error_validate + elif [ -f $HOME/${LOCAL_FOLDR}/dev ] + then + MESSAGE="Disabling DEV" + echo_stat + rm -f $HOME/${LOCAL_FOLDR}/dev + error_validate + + MESSAGE="Enabling ${TASKTYPE}" + echo_stat + touch $HOME/${LOCAL_FOLDR}/beta + error_validate + else + MESSAGE="Enabling ${TASKTYPE}" + echo_stat + touch $HOME/${LOCAL_FOLDR}/beta + error_validate + fi + + MESSAGE="Run UPDATE to apply changes" + echo_info + + exit_withchange +} + ## Update Task function task_update { TASKTYPE='UPDATE' @@ -1936,6 +1983,9 @@ case $# in task_devmode ;; + beta) + task_betamode + devmode) task_devmode ;; From 668475c103bf5854ac1722690543fbc0bfea280e Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Sat, 11 Jul 2020 18:42:22 -0500 Subject: [PATCH 2/9] beta mode in changelog --- CHANGELOG.md | 3 +++ gravity-sync.sh | 1 + 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a813c6..7a505a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,9 @@ The `./gravity-sync.sh update` and `version` functions will look for the `dbclie #### 2.1.5 Skipping a few digits because what does it really matter? +- Implements a new beta branch, and with it a new `./gravity-sync.sh beta` function to enable it. This will hopefully allow new features and such to be added for test users who can adopt them and provide feedback before rolling out to the main update branch. +- Uses new SQLITE3 backup methodology introduced in 2.1, for all push/pull sync operations. + ## 2.0 ### The Smart Release diff --git a/gravity-sync.sh b/gravity-sync.sh index 04d6ad9..b4e3737 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -1985,6 +1985,7 @@ case $# in beta) task_betamode + ;; devmode) task_devmode From 0617525e64ad7e07b77c0f2c441c646643f60007 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Sat, 11 Jul 2020 18:46:29 -0500 Subject: [PATCH 3/9] extra quotes --- gravity-sync.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index b4e3737..bbc57ed 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -1810,7 +1810,7 @@ function backup_remote_custom { echo_stat CMD_TIMEOUT='15' - CMD_REQUESTED="sudo cp ${PIHOLE_DIR}/${CUSTOM_DNS} ${PIHOLE_DIR}/${CUSTOM_DNS}.backup'\"" + CMD_REQUESTED="sudo cp ${PIHOLE_DIR}/${CUSTOM_DNS} ${PIHOLE_DIR}/${CUSTOM_DNS}.backup" create_sshcmd fi fi From ac8e6389983aec64643b5051efb085eb4c7489f3 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Sat, 11 Jul 2020 20:48:51 -0500 Subject: [PATCH 4/9] adjust md5 hash checking --- gravity-sync.sh | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index bbc57ed..2a76be5 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -299,12 +299,14 @@ function pull_gs_reload { ## Pull Function function pull_gs { + previous_md5 md5_compare backup_settime pull_gs_grav pull_gs_cust pull_gs_reload + md5_recheck logs_export exit_withchange @@ -401,6 +403,7 @@ function push_gs_reload { ## Push Function function push_gs { + previous_md5 md5_compare intent_validate @@ -413,11 +416,7 @@ function push_gs { exit_withchange } -## Smart Sync Function -function smart_gs { - md5_compare - backup_settime - +function previous_md5 { if [ -f "${LOG_PATH}/${HISTORY_MD5}" ] then last_primaryDBMD5=$(sed "1q;d" ${LOG_PATH}/${HISTORY_MD5}) @@ -430,6 +429,13 @@ function smart_gs { last_primaryCLMD5="0" last_secondCLMD5="0" fi +} + +## Smart Sync Function +function smart_gs { + previous_md5 + md5_compare + backup_settime PRIDBCHANGE="0" SECDBCHANGE="0" @@ -1115,6 +1121,11 @@ function error_validate { ## Validate Sync Required function md5_compare { + # last_primaryDBMD5="0" + # last_secondDBMD5="0" + # last_primaryCLMD5="0" + # last_secondCLMD5="0" + HASHMARK='0' MESSAGE="Analyzing ${GRAVITY_FI} on ${REMOTE_HOST}" @@ -1127,7 +1138,7 @@ function md5_compare { secondDBMD5=$(md5sum ${PIHOLE_DIR}/${GRAVITY_FI} | sed 's/\s.*$//') error_validate - if [ "$primaryDBMD5" == "$secondDBMD5" ] + if [ "$primaryDBMD5" == "$last_primaryDBMD5" ] && [ "$secondDBMD5" == "$last_secondDBMD5" ] then HASHMARK=$((HASHMARK+0)) else @@ -1154,7 +1165,7 @@ function md5_compare { secondCLMD5=$(md5sum ${PIHOLE_DIR}/${CUSTOM_DNS} | sed 's/\s.*$//') error_validate - if [ "$primaryCLMD5" == "$secondCLMD5" ] + if [ "$primaryCLMD5" == "$last_primaryCLMD5" ] && [ "$secondCLMD5" == "$last_secondCLMD5" ] then # MESSAGE="${CUSTOM_DNS} Identical" # echo_info From 985ce623557bfcd76eaeb80fdbaeb3eb0cb70270 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Sat, 11 Jul 2020 20:50:59 -0500 Subject: [PATCH 5/9] settime --- gravity-sync.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gravity-sync.sh b/gravity-sync.sh index 2a76be5..0279805 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -405,6 +405,7 @@ function push_gs_reload { function push_gs { previous_md5 md5_compare + backup_settime intent_validate @@ -412,6 +413,7 @@ function push_gs { push_gs_cust push_gs_reload + md5_recheck logs_export exit_withchange } From 90ea491d9ec0f7d221632818ec0af5ef5af5bfed Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Sat, 11 Jul 2020 21:01:21 -0500 Subject: [PATCH 6/9] comment out warning on recheck --- gravity-sync.sh | 50 ++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index 0279805..59e4dab 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -1222,14 +1222,14 @@ function md5_recheck { secondDBMD5=$(md5sum ${PIHOLE_DIR}/${GRAVITY_FI} | sed 's/\s.*$//') error_validate - if [ "$primaryDBMD5" == "$secondDBMD5" ] - then - HASHMARK=$((HASHMARK+0)) - else - MESSAGE="Differenced ${GRAVITY_FI} Detected" - echo_warn - HASHMARK=$((HASHMARK+1)) - fi + # if [ "$primaryDBMD5" == "$secondDBMD5" ] + # then + # HASHMARK=$((HASHMARK+0)) + # else + # MESSAGE="Differenced ${GRAVITY_FI} Detected" + # echo_warn + # HASHMARK=$((HASHMARK+1)) + # fi if [ "$SKIP_CUSTOM" != '1' ] then @@ -1249,16 +1249,16 @@ function md5_recheck { secondCLMD5=$(md5sum ${PIHOLE_DIR}/${CUSTOM_DNS} | sed 's/\s.*$//') error_validate - if [ "$primaryCLMD5" == "$secondCLMD5" ] - then + # if [ "$primaryCLMD5" == "$secondCLMD5" ] + # then # MESSAGE="${CUSTOM_DNS} Identical" # echo_info - HASHMARK=$((HASHMARK+0)) - else - MESSAGE="Differenced ${CUSTOM_DNS} Detected" - echo_warn - HASHMARK=$((HASHMARK+1)) - fi + # HASHMARK=$((HASHMARK+0)) + # else + # MESSAGE="Differenced ${CUSTOM_DNS} Detected" + # echo_warn + # HASHMARK=$((HASHMARK+1)) + # fi else MESSAGE="No ${CUSTOM_DNS} Detected on ${REMOTE_HOST}" echo_info @@ -1268,7 +1268,7 @@ function md5_recheck { then REMOTE_CUSTOM_DNS="1" MESSAGE="${REMOTE_HOST} has ${CUSTOM_DNS}" - HASHMARK=$((HASHMARK+1)) + # HASHMARK=$((HASHMARK+1)) echo_info fi MESSAGE="No ${CUSTOM_DNS} Detected on $HOSTNAME" @@ -1276,14 +1276,14 @@ function md5_recheck { fi fi - if [ "$HASHMARK" != "0" ] - then - MESSAGE="Replication Checks Failed" - echo_warn - else - MESSAGE="Replication Was Successful" - echo_info - fi + # if [ "$HASHMARK" != "0" ] + # then + # MESSAGE="Replication Checks Failed" + # echo_warn + # else + # MESSAGE="Replication Was Successful" + # echo_info + # fi } ## Validate Intent From bc756641295f54a145423dcb876de8c64c6fabb0 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Sat, 11 Jul 2020 21:06:06 -0500 Subject: [PATCH 7/9] load previous md5 for compare --- gravity-sync.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index 59e4dab..be52d0b 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -1747,7 +1747,8 @@ function task_compare { validate_gs_folders validate_ph_folders validate_os_sshpass - + + previous_md5 md5_compare } From 8e78bca575299674791b64419ac80a69868ab01d Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Sat, 11 Jul 2020 21:12:21 -0500 Subject: [PATCH 8/9] beta updater --- gravity-sync.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index be52d0b..7e702f7 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -108,6 +108,9 @@ function update_gs { if [ -f "$HOME/${LOCAL_FOLDR}/dev" ] then BRANCH='development' + elif if [ -f "$HOME/${LOCAL_FOLDR}/beta" ] + then + BRANCH='beta' else BRANCH='master' fi @@ -1492,6 +1495,9 @@ function show_version { if [ -f $HOME/${LOCAL_FOLDR}/dev ] then DEVVERSION="dev" + elif [ -f $HOME/${LOCAL_FOLDR}/beta ] + then + DEVVERSION="beta" else DEVVERSION="" fi @@ -1513,8 +1519,6 @@ function show_version { fi echo_info echo -e "========================================================" - - dbclient_warning } function dbclient_warning { From ad1f758384af59e4c48bc42e8b27856c4afccb41 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Sat, 11 Jul 2020 21:15:01 -0500 Subject: [PATCH 9/9] if --- gravity-sync.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gravity-sync.sh b/gravity-sync.sh index 7e702f7..fd22e34 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -108,7 +108,7 @@ function update_gs { if [ -f "$HOME/${LOCAL_FOLDR}/dev" ] then BRANCH='development' - elif if [ -f "$HOME/${LOCAL_FOLDR}/beta" ] + elif [ -f "$HOME/${LOCAL_FOLDR}/beta" ] then BRANCH='beta' else