From 6122296b591260d6f63ffcea9d5839a936feb54f Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sat, 5 Aug 2017 17:55:02 +0100 Subject: [PATCH] Only copy email archiving script if it has changed --- src/freedombone-base-email | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/freedombone-base-email b/src/freedombone-base-email index 08a4df75..842bb73c 100755 --- a/src/freedombone-base-email +++ b/src/freedombone-base-email @@ -497,16 +497,35 @@ function email_archiving { # ensure that the mail archive script is up to date if [ -f /usr/local/bin/${PROJECT_NAME}-archive-mail ]; then - cp /usr/local/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail + if [ ! -f /etc/cron.daily/archivemail ]; then + cp /usr/local/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail + chmod +x /etc/cron.daily/archivemail + else + HASH1=$(sha256sum /usr/local/bin/${PROJECT_NAME}-archive-mail | awk -F ' ' '{print $1}') + HASH2=$(sha256sum /etc/cron.daily/archivemail | awk -F ' ' '{print $1}') + if [[ "$HASH1" != "$HASH2" ]]; then + cp /usr/local/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail + chmod +x /etc/cron.daily/archivemail + fi + fi else if [ -f /usr/bin/${PROJECT_NAME}-archive-mail ]; then - cp /usr/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail + if [ ! -f /etc/cron.daily/archivemail ]; then + cp /usr/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail + chmod +x /etc/cron.daily/archivemail + else + HASH1=$(sha256sum /usr/local/bin/${PROJECT_NAME}-archive-mail | awk -F ' ' '{print $1}') + HASH2=$(sha256sum /etc/cron.daily/archivemail | awk -F ' ' '{print $1}') + if [[ "$HASH1" != "$HASH2" ]]; then + cp /usr/local/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail + chmod +x /etc/cron.daily/archivemail + fi + fi else echo "/usr/bin/${PROJECT_NAME}-archive-mail was not found. ${PROJECT_NAME} might not have fully installed." exit 62379 fi fi - chmod +x /etc/cron.daily/archivemail # update to the next commit function_check set_repo_commit