Browse Source

Merge branch 'stretch' of https://github.com/bashrc/freedombone

Bob Mottram 7 years ago
parent
commit
ca34c422a9
2 changed files with 67 additions and 15 deletions
  1. 59
    11
      src/freedombone-app-pleroma
  2. 8
    4
      src/freedombone-utils-gnusocialtools

+ 59
- 11
src/freedombone-app-pleroma View File

47
 PLEROMA_PORT=4000
47
 PLEROMA_PORT=4000
48
 PLEROMA_ONION_PORT=8011
48
 PLEROMA_ONION_PORT=8011
49
 PLEROMA_REPO="https://git.pleroma.social/pleroma/pleroma.git"
49
 PLEROMA_REPO="https://git.pleroma.social/pleroma/pleroma.git"
50
-PLEROMA_COMMIT='c1fa1e8844c8eae1ad7638a2d7f9d00e8cd07ce8'
50
+PLEROMA_COMMIT='2f291576e4eef95e6867348e24bc526058518095'
51
 PLEROMA_ADMIN_PASSWORD=
51
 PLEROMA_ADMIN_PASSWORD=
52
 PLEROMA_DIR=/etc/pleroma
52
 PLEROMA_DIR=/etc/pleroma
53
 PLEROMA_SECRET_KEY=""
53
 PLEROMA_SECRET_KEY=""
85
     echo '    fi' >> $blocking_script_file
85
     echo '    fi' >> $blocking_script_file
86
     echo 'fi' >> $blocking_script_file
86
     echo 'fi' >> $blocking_script_file
87
     echo 'touch /tmp/pleroma-blocking.lock' >> $blocking_script_file
87
     echo 'touch /tmp/pleroma-blocking.lock' >> $blocking_script_file
88
-    echo 'cd /etc/postgresql' >> $blocking_script_file
88
+    echo 'objects_query="DELETE FROM objects WHERE"' >> $blocking_script_file
89
+    echo 'objects_updated=' >> $blocking_script_file
90
+    echo 'users_query="DELETE FROM users WHERE"' >> $blocking_script_file
91
+    echo 'websub_server_subscriptions_query="DELETE FROM websub_server_subscriptions WHERE"' >> $blocking_script_file
92
+    echo 'websub_server_subscriptions_updated=' >> $blocking_script_file
89
     echo 'while read blocked; do' >> $blocking_script_file
93
     echo 'while read blocked; do' >> $blocking_script_file
90
     echo '    if [[ "$blocked" == *"."* || "$blocked" == *"@"* ]]; then' >> $blocking_script_file
94
     echo '    if [[ "$blocked" == *"."* || "$blocked" == *"@"* ]]; then' >> $blocking_script_file
91
     echo '        if [ ${#blocked} -gt 4 ]; then' >> $blocking_script_file
95
     echo '        if [ ${#blocked} -gt 4 ]; then' >> $blocking_script_file
92
-    echo "            sudo -u postgres psql -d pleroma -c \"DELETE FROM objects WHERE data->>'content' ilike '%\${blocked}%' or data->>'actor' ilike '%\${blocked}%' or data->>'to' ilike '%\${blocked}%' or data->>'id' ilike '%\${blocked}%' or data->>'external_url' ilike '%\${blocked}%'\"" >> $blocking_script_file
93
-    echo "            sudo -u postgres psql -d pleroma -c \"DELETE FROM users WHERE nickname ilike '%\${blocked}%'\"" >> $blocking_script_file
96
+    echo '          if [ $objects_updated ]; then' >> $blocking_script_file
97
+    echo '              objects_query="${objects_query} or"' >> $blocking_script_file
98
+    echo '              users_query="${users_query} or"' >> $blocking_script_file
99
+    echo '          fi' >> $blocking_script_file
100
+    echo "          objects_query=\"\${objects_query} data->>'content' ilike '%\${blocked}%' or data->>'actor' ilike '%\${blocked}%' or data->>'to' ilike '%\${blocked}%' or data->>'id' ilike '%\${blocked}%' or data->>'external_url' ilike '%\${blocked}%'\"" >> $blocking_script_file
101
+    echo "          users_query=\"\${users_query} nickname ilike '%\${blocked}%'\"" >> $blocking_script_file
102
+    echo '          objects_updated=1' >> $blocking_script_file
94
     echo '            if [[ "$blocked" != *"@"* ]]; then' >> $blocking_script_file
103
     echo '            if [[ "$blocked" != *"@"* ]]; then' >> $blocking_script_file
95
-    echo "                sudo -u postgres psql -d pleroma -c \"DELETE FROM websub_server_subscriptions WHERE callback like '%\${blocked}%'\"" >> $blocking_script_file
104
+    echo '              if [ $websub_server_subscriptions_updated ]; then' >> $blocking_script_file
105
+    echo '                  websub_server_subscriptions_query="${websub_server_subscriptions_query} or"' >> $blocking_script_file
106
+    echo '              fi' >> $blocking_script_file
107
+    echo "              websub_server_subscriptions_query=\"\${websub_server_subscriptions_query} callback like '%\${blocked}%'\"" >> $blocking_script_file
108
+    echo '              websub_server_subscriptions_updated=1' >> $blocking_script_file
96
     echo '            fi' >> $blocking_script_file
109
     echo '            fi' >> $blocking_script_file
97
     echo '        fi' >> $blocking_script_file
110
     echo '        fi' >> $blocking_script_file
98
     echo '    fi' >> $blocking_script_file
111
     echo '    fi' >> $blocking_script_file
99
-    echo "done </root/${PROJECT_NAME}-firewall-domains.cfg" >> $blocking_script_file
112
+    echo 'done </root/freedombone-firewall-domains.cfg' >> $blocking_script_file
113
+    echo '' >> $blocking_script_file
114
+    echo 'cd /etc/postgresql' >> $blocking_script_file
115
+    echo 'if [ $objects_updated ]; then' >> $blocking_script_file
116
+    echo '    sudo -u postgres psql -d pleroma -c "$objects_query"' >> $blocking_script_file
117
+    echo '    sudo -u postgres psql -d pleroma -c "$users_query"' >> $blocking_script_file
118
+    echo 'fi' >> $blocking_script_file
119
+    echo 'if [ $websub_server_subscriptions_updated ]; then' >> $blocking_script_file
120
+    echo '    sudo -u postgres psql -d pleroma -c "$websub_server_subscriptions_query"' >> $blocking_script_file
121
+    echo 'fi' >> $blocking_script_file
100
     echo 'rm /tmp/pleroma-blocking.lock' >> $blocking_script_file
122
     echo 'rm /tmp/pleroma-blocking.lock' >> $blocking_script_file
123
+
101
     chmod +x $blocking_script_file
124
     chmod +x $blocking_script_file
102
 
125
 
103
     if ! grep -q "$blocking_script_file" /etc/crontab; then
126
     if ! grep -q "$blocking_script_file" /etc/crontab; then
441
                 write_config_param "PLEROMA_BACKGROUND_IMAGE_URL" "$PLEROMA_BACKGROUND_IMAGE_URL"
464
                 write_config_param "PLEROMA_BACKGROUND_IMAGE_URL" "$PLEROMA_BACKGROUND_IMAGE_URL"
442
                 if [[ $(pleroma_set_background_image_from_url $PLEROMA_DIR "$PLEROMA_DOMAIN_NAME" "$PLEROMA_BACKGROUND_IMAGE_URL" "$PLEROMA_TITLE" | tail -n 1) == "0" ]]; then
465
                 if [[ $(pleroma_set_background_image_from_url $PLEROMA_DIR "$PLEROMA_DOMAIN_NAME" "$PLEROMA_BACKGROUND_IMAGE_URL" "$PLEROMA_TITLE" | tail -n 1) == "0" ]]; then
443
                     pleroma_recompile
466
                     pleroma_recompile
467
+
444
                     dialog --title $"Set Pleroma login background" \
468
                     dialog --title $"Set Pleroma login background" \
445
                            --msgbox $"The background image has been set" 6 60
469
                            --msgbox $"The background image has been set" 6 60
446
                 fi
470
                 fi
521
            --yesno $"\nDo you wish to disable new registrations?" 10 60
545
            --yesno $"\nDo you wish to disable new registrations?" 10 60
522
     sel=$?
546
     sel=$?
523
     case $sel in
547
     case $sel in
524
-        0) sed -i 's|registrations_open:.*|registrations_open: false|g' $PLEROMA_DIR/config/config.exs
525
-           sed -i 's|"registrationOpen":.*|"registrationOpen": false|g' $PLEROMA_DIR/priv/static/static/config.json
548
+        0) sed -i 's|registrations_open:.*|registrations_open: false,|g' $PLEROMA_DIR/config/config.exs
549
+           sed -i 's|"registrationOpen":.*|"registrationOpen": false,|g' $PLEROMA_DIR/priv/static/static/config.json
526
            ;;
550
            ;;
527
-        1) sed -i 's|registrations_open:.*|registrations_open: true|g' $PLEROMA_DIR/config/config.exs
528
-           sed -i 's|"registrationOpen":.*|"registrationOpen": true|g' $PLEROMA_DIR/priv/static/static/config.json
551
+        1) sed -i 's|registrations_open:.*|registrations_open: true,|g' $PLEROMA_DIR/config/config.exs
552
+           sed -i 's|"registrationOpen":.*|"registrationOpen": true,|g' $PLEROMA_DIR/priv/static/static/config.json
529
            ;;
553
            ;;
530
         255) return;;
554
         255) return;;
531
     esac
555
     esac
677
         return
701
         return
678
     fi
702
     fi
679
 
703
 
704
+    # make a copy of the configuration
705
+    cp $PLEROMA_DIR/priv/static/static/config.json $PLEROMA_DIR/priv/static/static/config_prev.json
706
+
707
+    if [ -f $PLEROMA_DIR/config/emoji.txt ]; then
708
+        cp $PLEROMA_DIR/config/emoji.txt $PLEROMA_DIR/config/emoji_prev.txt
709
+    fi
710
+
711
+    apt-get -yq update
712
+    apt-get -yq install --only-upgrade esl-erlang
713
+    apt-get -yq install --only-upgrade elixir erlang-xmerl erlang-dev erlang-parsetools
714
+
680
     function_check set_repo_commit
715
     function_check set_repo_commit
681
     set_repo_commit $PLEROMA_DIR "pleroma commit" "$PLEROMA_COMMIT" $PLEROMA_REPO
716
     set_repo_commit $PLEROMA_DIR "pleroma commit" "$PLEROMA_COMMIT" $PLEROMA_REPO
682
     chown -R pleroma:pleroma $PLEROMA_DIR
717
     chown -R pleroma:pleroma $PLEROMA_DIR
683
 
718
 
719
+    # restore the configuration
720
+    cp $PLEROMA_DIR/priv/static/static/config_prev.json $PLEROMA_DIR/priv/static/static/config.json
721
+    chown pleroma:pleroma $PLEROMA_DIR/priv/static/static/config.json
722
+
723
+    if [ -f $PLEROMA_DIR/config/emoji_prev.txt ]; then
724
+        cp $PLEROMA_DIR/config/emoji_prev.txt $PLEROMA_DIR/config/emoji.txt
725
+        chown pleroma:pleroma $PLEROMA_DIR/config/emoji.txt
726
+        rm cp $PLEROMA_DIR/config/emoji_prev.txt
727
+    fi
728
+
684
     sudo -u pleroma mix deps.get
729
     sudo -u pleroma mix deps.get
685
     pleroma_recompile
730
     pleroma_recompile
686
 
731
 
687
     expire_pleroma_posts $PLEROMA_DOMAIN_NAME $PLEROMA_EXPIRE_MONTHS
732
     expire_pleroma_posts $PLEROMA_DOMAIN_NAME $PLEROMA_EXPIRE_MONTHS
688
     create_pleroma_blocklist
733
     create_pleroma_blocklist
734
+
735
+    systemctl restart pleroma
689
 }
736
 }
690
 
737
 
691
 function backup_local_pleroma {
738
 function backup_local_pleroma {
735
             chown -R pleroma:pleroma $pleroma_dir
782
             chown -R pleroma:pleroma $pleroma_dir
736
             rm -rf $temp_restore_dir
783
             rm -rf $temp_restore_dir
737
         fi
784
         fi
785
+        systemctl restart pleroma
738
 
786
 
739
         echo $"Restore of pleroma complete"
787
         echo $"Restore of pleroma complete"
740
     fi
788
     fi
789
             rm -rf $temp_restore_dir
837
             rm -rf $temp_restore_dir
790
         fi
838
         fi
791
 
839
 
792
-        pleroma_update_after_restore pleroma ${PLEROMA_DOMAIN_NAME}
840
+        systemctl restart pleroma
793
 
841
 
794
         echo $"Restore of pleroma complete"
842
         echo $"Restore of pleroma complete"
795
     fi
843
     fi

+ 8
- 4
src/freedombone-utils-gnusocialtools View File

276
     # customise the logo
276
     # customise the logo
277
     if [ -f $basedir/static/logo.png ]; then
277
     if [ -f $basedir/static/logo.png ]; then
278
         if [ -f ~/freedombone/img/logo_fbone3.png ]; then
278
         if [ -f ~/freedombone/img/logo_fbone3.png ]; then
279
-            cp ~/freedombone/img/logo_fbone3.png $basedir/static/logo.png
279
+            cp ~/freedombone/img/logo_fbone3.png $basedir/static/logo_custom.png
280
+            sed -i "s|\"logo\":.*|\"logo\": \"/static/logo_custom.png\",|g" $basedir/static/config.json
280
         else
281
         else
281
             if [ -f /home/$MY_USERNAME/freedombone/img/logo_fbone3.png ]; then
282
             if [ -f /home/$MY_USERNAME/freedombone/img/logo_fbone3.png ]; then
282
-                cp /home/$MY_USERNAME/freedombone/img/logo_fbone3.png $basedir/static/logo.png
283
+                cp /home/$MY_USERNAME/freedombone/img/logo_fbone3.png $basedir/static/logo_custom.png
284
+                sed -i "s|\"logo\":.*|\"logo\": \"/static/logo_custom.png\",|g" $basedir/static/config.json
283
             fi
285
             fi
284
         fi
286
         fi
285
     fi
287
     fi
289
     fi
291
     fi
290
 
292
 
291
     if [ -f ~/freedombone/img/backgrounds/${gnusocial_type}.jpg ]; then
293
     if [ -f ~/freedombone/img/backgrounds/${gnusocial_type}.jpg ]; then
292
-        cp ~/freedombone/img/backgrounds/${gnusocial_type}.jpg $basedir/static/bg.jpg
294
+        cp ~/freedombone/img/backgrounds/${gnusocial_type}.jpg $basedir/static/bg_custom.jpg
295
+        sed -i "s|\"background\":.*|\"background\": \"/static/bg_custom.jpg\",|g" $basedir/static/config.json
293
     else
296
     else
294
         if [ -f /home/$MY_USERNAME/freedombone/img/backgrounds/${gnusocial_type}.jpg ]; then
297
         if [ -f /home/$MY_USERNAME/freedombone/img/backgrounds/${gnusocial_type}.jpg ]; then
295
-            cp /home/$MY_USERNAME/freedombone/img/backgrounds/${gnusocial_type}.jpg $basedir/static/bg.jpg
298
+            cp /home/$MY_USERNAME/freedombone/img/backgrounds/${gnusocial_type}.jpg $basedir/static/bg_custom.jpg
299
+            sed -i "s|\"background\":.*|\"background\": \"/static/bg_custom.jpg\",|g" $basedir/static/config.json
296
         fi
300
         fi
297
     fi
301
     fi
298
 }
302
 }