瀏覽代碼

Only copy email archiving script if it has changed

Bob Mottram 7 年之前
父節點
當前提交
6122296b59
共有 1 個文件被更改,包括 22 次插入3 次删除
  1. 22
    3
      src/freedombone-base-email

+ 22
- 3
src/freedombone-base-email 查看文件

497
 
497
 
498
     # ensure that the mail archive script is up to date
498
     # ensure that the mail archive script is up to date
499
     if [ -f /usr/local/bin/${PROJECT_NAME}-archive-mail ]; then
499
     if [ -f /usr/local/bin/${PROJECT_NAME}-archive-mail ]; then
500
-        cp /usr/local/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail
500
+        if [ ! -f /etc/cron.daily/archivemail ]; then
501
+            cp /usr/local/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail
502
+            chmod +x /etc/cron.daily/archivemail
503
+        else
504
+            HASH1=$(sha256sum /usr/local/bin/${PROJECT_NAME}-archive-mail | awk -F ' ' '{print $1}')
505
+            HASH2=$(sha256sum /etc/cron.daily/archivemail | awk -F ' ' '{print $1}')
506
+            if [[ "$HASH1" != "$HASH2" ]]; then
507
+                cp /usr/local/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail
508
+                chmod +x /etc/cron.daily/archivemail
509
+            fi
510
+        fi
501
     else
511
     else
502
         if [ -f /usr/bin/${PROJECT_NAME}-archive-mail ]; then
512
         if [ -f /usr/bin/${PROJECT_NAME}-archive-mail ]; then
503
-            cp /usr/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail
513
+            if [ ! -f /etc/cron.daily/archivemail ]; then
514
+                cp /usr/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail
515
+                chmod +x /etc/cron.daily/archivemail
516
+            else
517
+                HASH1=$(sha256sum /usr/local/bin/${PROJECT_NAME}-archive-mail | awk -F ' ' '{print $1}')
518
+                HASH2=$(sha256sum /etc/cron.daily/archivemail | awk -F ' ' '{print $1}')
519
+                if [[ "$HASH1" != "$HASH2" ]]; then
520
+                    cp /usr/local/bin/${PROJECT_NAME}-archive-mail /etc/cron.daily/archivemail
521
+                    chmod +x /etc/cron.daily/archivemail
522
+                fi
523
+            fi
504
         else
524
         else
505
             echo "/usr/bin/${PROJECT_NAME}-archive-mail was not found. ${PROJECT_NAME} might not have fully installed."
525
             echo "/usr/bin/${PROJECT_NAME}-archive-mail was not found. ${PROJECT_NAME} might not have fully installed."
506
             exit 62379
526
             exit 62379
507
         fi
527
         fi
508
     fi
528
     fi
509
-    chmod +x /etc/cron.daily/archivemail
510
 
529
 
511
     # update to the next commit
530
     # update to the next commit
512
     function_check set_repo_commit
531
     function_check set_repo_commit