Bladeren bron

Only copy email archiving script if it has changed

Bob Mottram 7 jaren geleden
bovenliggende
commit
6122296b59
1 gewijzigde bestanden met toevoegingen van 22 en 3 verwijderingen
  1. 22
    3
      src/freedombone-base-email

+ 22
- 3
src/freedombone-base-email Bestand weergeven

@@ -497,16 +497,35 @@ function email_archiving {
497 497
 
498 498
     # ensure that the mail archive script is up to date
499 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 511
     else
502 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 524
         else
505 525
             echo "/usr/bin/${PROJECT_NAME}-archive-mail was not found. ${PROJECT_NAME} might not have fully installed."
506 526
             exit 62379
507 527
         fi
508 528
     fi
509
-    chmod +x /etc/cron.daily/archivemail
510 529
 
511 530
     # update to the next commit
512 531
     function_check set_repo_commit