Browse Source

Only copy files which have changed

Bob Mottram 7 years ago
parent
commit
bbcc17f2d1
3 changed files with 44 additions and 7 deletions
  1. 18
    2
      src/freedombone-base-email
  2. 5
    2
      src/freedombone-utils-firewall
  3. 21
    3
      src/freedombone-utils-git

+ 18
- 2
src/freedombone-base-email View File

@@ -326,9 +326,25 @@ function encrypt_all_email {
326 326
     fi
327 327
 
328 328
     if [ -f /usr/local/bin/${PROJECT_NAME}-encrypt-mail ]; then
329
-        cp -u /usr/local/bin/${PROJECT_NAME}-encrypt-mail /usr/bin/encmaildir
329
+        if [ ! -f /usr/bin/encmaildir ]; then
330
+            cp /usr/local/bin/${PROJECT_NAME}-encrypt-mail /usr/bin/encmaildir
331
+        else
332
+            HASH1=$(sha256sum /usr/local/bin/${PROJECT_NAME}-encrypt-mail | awk -F ' ' '{print $1}')
333
+            HASH2=$(sha256sum /usr/bin/encmaildir | awk -F ' ' '{print $1}')
334
+            if [[ "$HASH1" != "$HASH2" ]]; then
335
+                cp /usr/local/bin/${PROJECT_NAME}-encrypt-mail /usr/bin/encmaildir
336
+            fi
337
+        fi
330 338
     else
331
-        cp -u /usr/bin/${PROJECT_NAME}-encrypt-mail /usr/bin/encmaildir
339
+        if [ ! -f /usr/bin/encmaildir ]; then
340
+            cp /usr/bin/${PROJECT_NAME}-encrypt-mail /usr/bin/encmaildir
341
+        else
342
+            HASH1=$(sha256sum /usr/bin/${PROJECT_NAME}-encrypt-mail | awk -F ' ' '{print $1}')
343
+            HASH2=$(sha256sum /usr/bin/encmaildir | awk -F ' ' '{print $1}')
344
+            if [[ "$HASH1" != "$HASH2" ]]; then
345
+                cp /usr/bin/${PROJECT_NAME}-encrypt-mail /usr/bin/encmaildir
346
+            fi
347
+        fi
332 348
     fi
333 349
 
334 350
     if [[ $(is_completed $FUNCNAME) == "1" ]]; then

+ 5
- 2
src/freedombone-utils-firewall View File

@@ -90,10 +90,13 @@ function firewall_block_bad_ip_ranges {
90 90
 function global_rate_limit {
91 91
     if ! grep -q "tcp_challenge_ack_limit" /etc/sysctl.conf; then
92 92
         echo 'net.ipv4.tcp_challenge_ack_limit = 999999999' >> /etc/sysctl.conf
93
+        sysctl -p -q
93 94
     else
94
-        sed -i 's|net.ipv4.tcp_challenge_ack_limit.*|net.ipv4.tcp_challenge_ack_limit = 999999999|g' /etc/sysctl.conf
95
+        if ! grep -q "net.ipv4.tcp_challenge_ack_limit = 999999999" /etc/sysctl.conf; then
96
+            sed -i 's|net.ipv4.tcp_challenge_ack_limit.*|net.ipv4.tcp_challenge_ack_limit = 999999999|g' /etc/sysctl.conf
97
+            sysctl -p -q
98
+        fi
95 99
     fi
96
-    sysctl -p -q
97 100
 }
98 101
 
99 102
 function enable_ipv6 {

+ 21
- 3
src/freedombone-utils-git View File

@@ -95,13 +95,31 @@ function set_repo_commit {
95 95
             chown -R www-data:www-data $repo_dir
96 96
         fi
97 97
         if [[ $repo_dir == *"gpgit" ]]; then
98
-            cp -u gpgit.pl /usr/bin/gpgit.pl
98
+            if [ ! -f /usr/bin/gpgit.pl ]; then
99
+                cp gpgit.pl /usr/bin/gpgit.pl
100
+            else
101
+                HASH1=$(sha256sum gpgit.pl | awk -F ' ' '{print $1}')
102
+                HASH2=$(sha256sum /usr/bin/gpgit.pl | awk -F ' ' '{print $1}')
103
+                if [[ "$HASH1" != "$HASH2" ]]; then
104
+                    cp gpgit.pl /usr/bin/gpgit.pl
105
+                fi
106
+            fi
99 107
         fi
100 108
         if [[ $repo_dir == *"cleanup-maildir" ]]; then
101
-            cp -u $INSTALL_DIR/cleanup-maildir/cleanup-maildir /usr/bin
109
+            if [ ! -f /usr/bin/cleanup-maildir ]; then
110
+                cp $INSTALL_DIR/cleanup-maildir/cleanup-maildir /usr/bin
111
+            else
112
+                HASH1=$(sha256sum $INSTALL_DIR/cleanup-maildir/cleanup-maildir | awk -F ' ' '{print $1}')
113
+                HASH2=$(sha256sum /usr/bin/cleanup-maildir | awk -F ' ' '{print $1}')
114
+                if [[ "$HASH1" != "$HASH2" ]]; then
115
+                    cp $INSTALL_DIR/cleanup-maildir/cleanup-maildir /usr/bin
116
+                fi
117
+            fi
102 118
         fi
103 119
         if [[ $repo_dir == *"nginx_ensite" ]]; then
104
-            make install
120
+            if [ ! -f /usr/local/bin/nginx_ensite ]; then
121
+                make install
122
+            fi
105 123
         fi
106 124
         if [[ $repo_dir == *"inadyn" ]]; then
107 125
             ./configure