From de840f6ad236853c94baedd01e1d84a65c097c4b Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Wed, 26 Sep 2018 09:22:13 +0100
Subject: [PATCH] Remove patchwork and ferment from mesh installs

---
 src/freedombone-image-customise | 181 --------------------------------
 src/freedombone-image-mesh      |  43 --------
 src/freedombone-mesh-invite     |   2 +-
 src/freedombone-mesh-reset      |   1 -
 src/freedombone-utils-mesh      |  10 +-
 5 files changed, 5 insertions(+), 232 deletions(-)

diff --git a/src/freedombone-image-customise b/src/freedombone-image-customise
index 50c7b2b07..08ce727da 100755
--- a/src/freedombone-image-customise
+++ b/src/freedombone-image-customise
@@ -610,98 +610,6 @@ INSTALL_DIR=$HOME/build
 
 INSTALLING_MESH=
 
-PATCHWORK_REPO="https://github.com/ssbc/patchwork"
-PATCHWORK_COMMIT='fe852942124b6ee3f9f5e4fc3442b2ce369a98f3'
-
-FERMENT_REPO="https://github.com/LolaShare/ferment"
-FERMENT_COMMIT='6e0e434114cd4cc652a03f6dcc6ddcec007b0058'
-
-install_patchwork() {
-    if [[ $VARIANT != "meshclient" ]]; then
-        return
-    fi
-
-    # shellcheck disable=SC2086
-    chroot "$rootdir" $INSTALL_PACKAGES libsodium23
-
-    get_npm_arch
-    mesh_setup_npm
-
-    git clone "$PATCHWORK_REPO" "$rootdir/etc/patchwork"
-    if [ ! -d "$rootdir/etc/patchwork" ]; then
-        exit 7823520
-    fi
-    cd "$rootdir/etc/patchwork" || exit 68724685427
-    git checkout "$PATCHWORK_COMMIT" -b "$PATCHWORK_COMMIT"
-
-    cat <<EOF > "$rootdir/usr/bin/install_patchwork"
-#!/bin/bash
-
-export PATH=/root/.npm-global/bin:$PATH
-export NPM_CONFIG_PREFIX=/root/.npm-global
-
-npm install --arch=$NPM_ARCH -g npm@4
-
-cd /etc/patchwork || exit 642
-npm install --arch=$NPM_ARCH --build-from-source
-npm install --arch=$NPM_ARCH --save-dev electron-rebuild
-if ! ./node_modules/.bin/electron-rebuild; then
-    exit 1
-fi
-npm install --arch=$NPM_ARCH git-ssb
-npm install --arch=$NPM_ARCH git-ssb-web
-npm install --arch=$NPM_ARCH -g npm@5.8.0 --save
-npm rebuild
-npm install --arch=$NPM_ARCH -g npm@${NPM_VERSION} --save
-EOF
-    chroot "$rootdir" /bin/chmod +x /usr/bin/install_patchwork
-    chroot "$rootdir" /usr/bin/install_patchwork
-    rm "$rootdir/usr/bin/install_patchwork"
-
-    { echo '#!/bin/bash';
-      echo 'cd /etc/patchwork';
-      echo 'npm start'; } > "$rootdir/usr/bin/start_patchwork"
-    chmod +x "$rootdir/usr/bin/start_patchwork"
-
-    # Copy icon to an accesible location
-    cp "$rootdir/root/$PROJECT_NAME/img/icon_patchwork.png" "$rootdir/etc/patchwork/icon_patchwork.png"
-}
-
-install_ferment() {
-    if [[ "$VARIANT" != "meshclient" ]]; then
-        return
-    fi
-
-    get_npm_arch
-
-    git clone "$FERMENT_REPO" "$rootdir/etc/ferment"
-    if [ ! -d "$rootdir/etc/ferment" ]; then
-        exit 5239465
-    fi
-    cd "$rootdir/etc/ferment" || exit 2482684
-    git checkout "$FERMENT_COMMIT" -b "$FERMENT_COMMIT"
-
-    cat <<EOF > "$rootdir/usr/bin/install_ferment"
-#!/bin/bash
-cd /etc/ferment
-npm install --arch=$NPM_ARCH --build-from-source
-npm install --arch=$NPM_ARCH --save-dev electron-rebuild
-./node_modules/.bin/electron-rebuild
-npm install --arch=$NPM_ARCH git-ssb
-EOF
-    chroot "$rootdir" /bin/chmod +x /usr/bin/install_ferment
-    chroot "$rootdir" /usr/bin/install_ferment
-    rm "$rootdir/usr/bin/install_ferment"
-
-    { echo '#!/bin/bash';
-      echo 'cd /etc/ferment';
-      echo 'npm start'; } > "$rootdir/usr/bin/start_ferment"
-    chmod +x "$rootdir/usr/bin/start_ferment"
-
-    # Copy icon to an accesible location
-    cp "$rootdir/root/$PROJECT_NAME/img/icon_ferment.png" "$rootdir/etc/patchwork/icon_ferment.png"
-}
-
 mesh_shutdown_script() {
     mesh_shutdown_script="$rootdir/usr/bin/meshshutdown"
     { echo '#!/bin/bash';
@@ -1035,10 +943,8 @@ initialise_mesh() {
     install_vpn
     install_tomb
     #install_tahoelafs
-    #install_patchwork
     image_install_web_server
     mesh_install_scuttlebot
-    #install_ferment
 
     # shellcheck disable=SC2086
     chroot "$rootdir" $CLEAN_PACKAGES
@@ -1407,52 +1313,6 @@ if [ \$no_of_users -gt 0 ]; then
         fi
     fi
 
-    #if [ ! -f /home/$MY_USERNAME/Desktop/social.desktop ]; then
-    #    echo '[Desktop Entry]' > /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Name=Social' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Name[el]=' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Name[ar]=' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Name[ca]=Social' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Name[hi]=' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Name[fr]=Social' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Name[de]=Soziale' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Name[es]=Social' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Name[it]=Sociale' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Name[ru]=' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Name[zh]=' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo "Comment=A decentralized messaging and sharing app built on top of Secure Scuttlebutt" >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo "Comment[el]=              Secure Scuttlebutt" >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo "Comment[ar]=         ()" >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo "Comment[ca]=Una aplicaci de missatgeria i distribuci descentralitzada integrada a Secure Scuttlebutt" >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo "Comment[hi]=  ()          " >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo "Comment[fr]=Une application de messagerie et de partage dcentralise base sur Secure Scuttlebutt" >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo "Comment[de]=Eine dezentralisierte Messaging- und Sharing-App, die auf Secure Scuttlebutt basiert" >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo "Comment[es]=Una aplicacin de mensajera y uso compartido descentralizada construida sobre Secure Scuttlebutt" >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo "Comment[it]=Un'applicazione decentralizzata di messaggistica e condivisione costruita sulla base di Secure Shuttlebutt" >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo "Comment[ru]=       ,    Secure Scuttlebutt" >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo "Comment[zh]=Scuttlebutt" >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Exec=bash /usr/bin/start_patchwork' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo "Icon=/usr/share/$PROJECT_NAME/avatars/icon_social.png" >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Terminal=false' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    echo 'Categories=Application;' >> /home/$MY_USERNAME/Desktop/social.desktop
-    #    chmod +x /home/$MY_USERNAME/Desktop/social.desktop
-    #    chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Desktop/social.desktop
-    #fi
-
-    #if [ ! -f /home/$MY_USERNAME/Desktop/audio.desktop ]; then
-    #    echo '[Desktop Entry]' > /home/$MY_USERNAME/Desktop/audio.desktop
-    #    echo 'Name=Audio/Music' >> /home/$MY_USERNAME/Desktop/audio.desktop
-    #    echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/audio.desktop
-    #    echo 'Comment=Audio publishing and streaming' >> /home/$MY_USERNAME/Desktop/audio.desktop
-    #    echo 'Exec=bash /usr/bin/start_ferment' >> /home/$MY_USERNAME/Desktop/audio.desktop
-    #    echo "Icon=/etc/patchwork/icon_ferment.png" >> /home/$MY_USERNAME/Desktop/audio.desktop
-    #    echo 'Terminal=false' >> /home/$MY_USERNAME/Desktop/audio.desktop
-    #    echo 'Categories=Application;' >> /home/$MY_USERNAME/Desktop/audio.desktop
-    #    chmod +x /home/$MY_USERNAME/Desktop/audio.desktop
-    #    chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Desktop/audio.desktop
-    #fi
-
     if [ ! -f /home/$MY_USERNAME/Desktop/vpn.desktop ]; then
         echo '[Desktop Entry]' > /home/$MY_USERNAME/Desktop/vpn.desktop
         echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/vpn.desktop
@@ -1621,47 +1481,6 @@ if [ \$no_of_users -gt 0 ]; then
         chmod +x /home/$MY_USERNAME/Desktop/tox.desktop
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Desktop/tox.desktop
     fi
-
-    # If ethernet is connected then add the invite icon to help enable
-    # SSB nat traversal
-    if [[ "\$ethernet_connected" != "0" ]]; then
-        if [ ! -f /home/$MY_USERNAME/Desktop/invite.desktop ]; then
-            echo '[Desktop Entry]' > /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Version=1.0' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Name=Create Invite' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Name[el]= ' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Name[ar]= ' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Name[ca]=Crea una invitaci' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Name[hi]= ' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Name[fr]=Crer une invitation' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Name[de]=Einladung erstellen' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Name[es]=Crear invitacin' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Name[it]=Crea Invita' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Name[ru]= ' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Name[zh]=' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Comment=Create an invite for Patchwork' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Comment[el]=     Patchwork' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Comment[ar]=   ' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Comment[ca]=Crea una invitaci per Patchwork' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Comment[hi]=     ' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Comment[fr]=Crer une invitation pour Patchwork' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Comment[de]=Erstellen Sie eine Einladung fr Patchwork' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Comment[es]=Crear una invitacin para Patchwork' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Comment[it]=Crea un invito per patchwork' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Comment[ru]=    ' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Comment[zh]=' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Exec=mate-terminal -e ${PROJECT_NAME}-mesh-invite' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Icon=/usr/share/$PROJECT_NAME/avatars/icon_invite.png' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Terminal=false' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            echo 'Categories=Application;' >> /home/$MY_USERNAME/Desktop/invite.desktop
-            chmod +x /home/$MY_USERNAME/Desktop/invite.desktop
-        fi
-    else
-        if [ -f /home/$MY_USERNAME/Desktop/invite.desktop ]; then
-            rm /home/$MY_USERNAME/Desktop/invite.desktop
-        fi
-    fi
 else
     if [ -f /tmp/Users.txt ]; then
         rm /tmp/Users.txt
diff --git a/src/freedombone-image-mesh b/src/freedombone-image-mesh
index c57f5c548..5096a1ecc 100755
--- a/src/freedombone-image-mesh
+++ b/src/freedombone-image-mesh
@@ -452,35 +452,6 @@ function show_desktop_icons {
       echo 'Terminal=false';
       echo 'Categories=Application;'; } > "/home/$MY_USERNAME/Desktop/new_identity.desktop"
 
-    #{ echo '[Desktop Entry]';
-    #  echo 'Name=Social';
-    #  echo 'Name[el]=';
-    #  echo 'Name[ar]=';
-    #  echo 'Name[ca]=Social';
-    #  echo 'Name[hi]=';
-    #  echo 'Name[fr]=Social';
-    #  echo 'Name[de]=Soziale';
-    #  echo 'Name[es]=Social';
-    #  echo 'Name[it]=Sociale';
-    #  echo 'Name[ru]=';
-    #  echo 'Name[zh]=';
-    #  echo 'Type=Application';
-    #  echo "Comment=A decentralized messaging and sharing app built on top of Secure Scuttlebutt";
-    #  echo "Comment[el]=              Secure Scuttlebutt";
-    #  echo "Comment[ar]=         ()";
-    #  echo "Comment[ca]=Una aplicaci de missatgeria i distribuci descentralitzada integrada a Secure Scuttlebutt";
-    #  echo "Comment[hi]=  ()          ";
-    #  echo "Comment[fr]=Une application de messagerie et de partage dcentralise base sur Secure Scuttlebutt";
-    #  echo "Comment[de]=Eine dezentralisierte Messaging- und Sharing-App, die auf Secure Scuttlebutt basiert";
-    #  echo "Comment[es]=Una aplicacin de mensajera y uso compartido descentralizada construida sobre Secure Scuttlebutt";
-    #  echo "Comment[it]=Un'applicazione decentralizzata di messaggistica e condivisione costruita sulla base di Secure Shuttlebutt";
-    #  echo "Comment[ru]=       ,    Secure Scuttlebutt";
-    #  echo "Comment[zh]=Scuttlebutt";
-    #  echo 'Exec=bash /usr/bin/start_patchwork';
-    #  echo "Icon=/usr/share/$PROJECT_NAME/avatars/icon_social.png";
-    #  echo 'Terminal=false';
-    #  echo 'Categories=Application;'; } > "/home/$MY_USERNAME/Desktop/social.desktop"
-
     cp "/root/${PROJECT_NAME}/img/icon_kdenlive.png" "/usr/share/${PROJECT_NAME}/avatars/icon_kdenlive.png"
 
     { echo '#!/usr/bin/env xdg-open';
@@ -801,15 +772,6 @@ function show_desktop_icons {
       echo 'X-GNOME-Gettext-Domain=shotwell';
       echo 'X-GNOME-FullName=Shotwell Photo Manager'; } > "/home/$MY_USERNAME/Desktop/photos.desktop"
 
-    #{ echo '[Desktop Entry]';
-    #echo 'Name=Audio/Music';
-    #echo 'Type=Application';
-    #echo 'Comment=Audio publishing and streaming';
-    #echo 'Exec=bash /usr/bin/start_ferment';
-    #echo "Icon=/etc/patchwork/icon_ferment.png";
-    #echo 'Terminal=false';
-    #echo 'Categories=Application;'; } > "/home/$MY_USERNAME/Desktop/audio.desktop"
-
     { echo '[Desktop Entry]';
       echo 'Type=Application';
       echo 'Name=Routing Protocol';
@@ -1403,11 +1365,6 @@ if [ -f $MESH_INSTALL_SETUP ]; then
         rm $INSTALL_LOG
     fi
 
-    # Remove SSB/Patchwork files
-    if [ -d "/home/$MY_USERNAME/.ssb" ]; then
-        rm -rf "/home/$MY_USERNAME/.ssb"
-    fi
-
     # Remove vpn host keys
     if [ -d /etc/openvpn/easy-rsa/keys ]; then
         rm -rf /etc/openvpn/easy-rsa/keys/*
diff --git a/src/freedombone-mesh-invite b/src/freedombone-mesh-invite
index c6477f8ef..baba22b69 100755
--- a/src/freedombone-mesh-invite
+++ b/src/freedombone-mesh-invite
@@ -6,7 +6,7 @@
 #
 #                              Freedom in the Cloud
 #
-# Creates a scuttlebot invite for use with Ferment or Patchwork
+# Creates an SSB/scuttlebot invite
 #
 # License
 # =======
diff --git a/src/freedombone-mesh-reset b/src/freedombone-mesh-reset
index 74f8634d3..711a0cff6 100755
--- a/src/freedombone-mesh-reset
+++ b/src/freedombone-mesh-reset
@@ -39,7 +39,6 @@ if ! zenity --question --title=$'New Identity' --text=$"Do you want to reset you
     sudo pkill firefox
     sudo pkill iceweasel
     sudo pkill midori
-    sudo pkill patchwork
     sudo rm -f $MESH_INSTALL_COMPLETED
     sudo "${PROJECT_NAME}-image-mesh" "$USER" new
 
diff --git a/src/freedombone-utils-mesh b/src/freedombone-utils-mesh
index 9c9c84493..6b8bb1317 100755
--- a/src/freedombone-utils-mesh
+++ b/src/freedombone-utils-mesh
@@ -213,7 +213,7 @@ function enable_mesh_firewall {
     iptables -A INPUT -p tcp --dport "$LIBREVAULT_PORT" -j ACCEPT
     iptables -A INPUT -p udp --dport "$LIBREVAULT_PORT" -j ACCEPT
     iptables -A INPUT -p tcp --dport "$TAHOELAFS_PORT" -j ACCEPT
-    # SSB/Scuttlebot/Patchwork
+    # SSB/Scuttlebot
     iptables -A INPUT -p tcp --dport "$GIT_SSB_PORT" -j ACCEPT
     iptables -A INPUT -p udp --dport 8008 -j ACCEPT
     iptables -A INPUT -p tcp --dport 8008 -j ACCEPT
@@ -249,7 +249,7 @@ function enable_mesh_firewall {
     ip6tables -A INPUT -p tcp --dport "$LIBREVAULT_PORT" -j ACCEPT
     ip6tables -A INPUT -p udp --dport "$LIBREVAULT_PORT" -j ACCEPT
     ip6tables -A INPUT -p tcp --dport "$TAHOELAFS_PORT" -j ACCEPT
-    # SSB/Scuttlebot/Patchwork
+    # SSB/Scuttlebot
     ip6tables -A INPUT -p tcp --dport "$GIT_SSB_PORT" -j ACCEPT
     ip6tables -A INPUT -p udp --dport 8008 -j ACCEPT
     ip6tables -A INPUT -p tcp --dport 8008 -j ACCEPT
@@ -264,8 +264,6 @@ function enable_mesh_firewall {
 
 
     # vpn over the internet
-    # Note: the vpn firewall settings are needed in order for Patchwork
-    # to discover local peers
     iptables -A INPUT -p tcp --dport 653 -j ACCEPT
     iptables -A INPUT -p udp --dport 653 -j ACCEPT
     iptables -A INPUT -i "${EIFACE}" -m state --state NEW -p tcp --dport 1194 -j ACCEPT
@@ -303,7 +301,7 @@ function disable_mesh_firewall {
     iptables -D INPUT -p tcp --dport "$LIBREVAULT_PORT" -j ACCEPT
     iptables -D INPUT -p udp --dport "$LIBREVAULT_PORT" -j ACCEPT
     iptables -D INPUT -p tcp --dport "$TAHOELAFS_PORT" -j ACCEPT
-    # SSB/Scuttlebot/Patchwork
+    # SSB/Scuttlebot
     iptables -D INPUT -p tcp --dport "$GIT_SSB_PORT" -j ACCEPT
     iptables -D INPUT -p udp --dport 8008 -j ACCEPT
     iptables -D INPUT -p tcp --dport 8008 -j ACCEPT
@@ -338,7 +336,7 @@ function disable_mesh_firewall {
     ip6tables -D INPUT -p tcp --dport "$LIBREVAULT_PORT" -j ACCEPT
     ip6tables -D INPUT -p udp --dport "$LIBREVAULT_PORT" -j ACCEPT
     ip6tables -D INPUT -p tcp --dport "$TAHOELAFS_PORT" -j ACCEPT
-    # SSB/Scuttlebot/Patchwork
+    # SSB/Scuttlebot
     ip6tables -D INPUT -p tcp --dport "$GIT_SSB_PORT" -j ACCEPT
     ip6tables -D INPUT -p udp --dport 8008 -j ACCEPT
     ip6tables -D INPUT -p tcp --dport 8008 -j ACCEPT
-- 
GitLab