Browse Source

Add ferment to mesh desktop

Bob Mottram 7 years ago
parent
commit
bd3d91566e
2 changed files with 60 additions and 0 deletions
  1. BIN
      img/icon_ferment.png
  2. 60
    0
      src/freedombone-image-customise

BIN
img/icon_ferment.png View File


+ 60
- 0
src/freedombone-image-customise View File

564
 PATCHWORK_REPO="https://github.com/ssbc/patchwork"
564
 PATCHWORK_REPO="https://github.com/ssbc/patchwork"
565
 PATCHWORK_COMMIT='60111a9e3385d65be0d17aa0d15fd20e5fb311ce'
565
 PATCHWORK_COMMIT='60111a9e3385d65be0d17aa0d15fd20e5fb311ce'
566
 
566
 
567
+FERMENT_REPO="https://github.com/LolaShare/ferment"
568
+FERMENT_COMMIT='6e0e434114cd4cc652a03f6dcc6ddcec007b0058'
569
+
567
 install_patchwork() {
570
 install_patchwork() {
568
     if [[ $VARIANT != "meshclient" ]]; then
571
     if [[ $VARIANT != "meshclient" ]]; then
569
         return
572
         return
599
     cp $rootdir/root/$PROJECT_NAME/img/icon_patchwork.png $rootdir/etc/patchwork/icon_patchwork.png
602
     cp $rootdir/root/$PROJECT_NAME/img/icon_patchwork.png $rootdir/etc/patchwork/icon_patchwork.png
600
 }
603
 }
601
 
604
 
605
+install_ferment() {
606
+    if [[ $VARIANT != "meshclient" ]]; then
607
+        return
608
+    fi
609
+
610
+    get_npm_arch
611
+
612
+    git clone $FERMENT_REPO $rootdir/etc/ferment
613
+    if [ ! -d $rootdir/etc/ferment ]; then
614
+        exit 5239465
615
+    fi
616
+    cd $rootdir/etc/ferment
617
+    git checkout $FERMENT_COMMIT -b $FERMENT_COMMIT
618
+
619
+    cat <<EOF > $rootdir/usr/bin/install_ferment
620
+#!/bin/bash
621
+cd /etc/ferment
622
+npm install --arch=$NPM_ARCH --build-from-source
623
+npm install --arch=$NPM_ARCH --save-dev electron-rebuild
624
+./node_modules/.bin/electron-rebuild
625
+npm install --arch=$NPM_ARCH git-ssb
626
+EOF
627
+    chroot "$rootdir" /bin/chmod +x /usr/bin/install_ferment
628
+    chroot "$rootdir" /usr/bin/install_ferment
629
+    rm $rootdir/usr/bin/install_ferment
630
+
631
+    echo '#!/bin/bash' > $rootdir/usr/bin/start_ferment
632
+    echo 'cd /etc/ferment' >> $rootdir/usr/bin/start_ferment
633
+    echo 'npm start' >> $rootdir/usr/bin/start_ferment
634
+    chmod +x $rootdir/usr/bin/start_ferment
635
+
636
+    # Copy icon to an accesible location
637
+    cp $rootdir/root/$PROJECT_NAME/img/icon_ferment.png $rootdir/etc/patchwork/icon_ferment.png
638
+}
639
+
602
 initialise_mesh() {
640
 initialise_mesh() {
603
     if [[ $VARIANT != "mesh"* ]]; then
641
     if [[ $VARIANT != "mesh"* ]]; then
604
         return
642
         return
637
     #install_tahoelafs
675
     #install_tahoelafs
638
     #install_librevault
676
     #install_librevault
639
     install_patchwork
677
     install_patchwork
678
+    install_ferment
640
     install_ipfs
679
     install_ipfs
641
     install_tox
680
     install_tox
642
     install_web_server
681
     install_web_server
880
         fi
919
         fi
881
     fi
920
     fi
882
 
921
 
922
+    if [ ! -f /home/$MY_USERNAME/Desktop/audio.desktop ]; then
923
+        echo '[Desktop Entry]' > /home/$MY_USERNAME/Desktop/audio.desktop
924
+        echo 'Name=Audio/Music' >> /home/$MY_USERNAME/Desktop/audio.desktop
925
+        echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/audio.desktop
926
+        echo 'Comment=Audio publishing and streaming' >> /home/$MY_USERNAME/Desktop/audio.desktop
927
+        echo 'Exec=bash /usr/bin/start_ferment' >> /home/$MY_USERNAME/Desktop/audio.desktop
928
+        echo "Icon=/etc/patchwork/icon_ferment.png" >> /home/$MY_USERNAME/Desktop/audio.desktop
929
+        echo 'StartupNotify=true' >> /home/$MY_USERNAME/Desktop/audio.desktop
930
+        chmod +x /home/$MY_USERNAME/Desktop/audio.desktop
931
+        chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Desktop/audio.desktop
932
+    else
933
+        if grep -q "Offline" /home/$MY_USERNAME/Desktop/audio.desktop; then
934
+            sed -i 's|Name=.*|Name=Audio/Music|g' /home/$MY_USERNAME/Desktop/audio.desktop
935
+        fi
936
+    fi
937
+
883
     if [ -f /tmp/.ipfs-users ]; then
938
     if [ -f /tmp/.ipfs-users ]; then
884
         echo '[Desktop Entry]' > /home/$MY_USERNAME/Desktop/sites.desktop
939
         echo '[Desktop Entry]' > /home/$MY_USERNAME/Desktop/sites.desktop
885
         echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/sites.desktop
940
         echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/sites.desktop
944
                 sed -i 's|Name=.*|Name=Social (Offline)|g' /home/$MY_USERNAME/Desktop/social.desktop
999
                 sed -i 's|Name=.*|Name=Social (Offline)|g' /home/$MY_USERNAME/Desktop/social.desktop
945
             fi
1000
             fi
946
         fi
1001
         fi
1002
+        if [ -f /home/$MY_USERNAME/Desktop/audio.desktop ]; then
1003
+            if ! grep -q "Offline" /home/$MY_USERNAME/Desktop/audio.desktop; then
1004
+                sed -i 's|Name=.*|Name=Audio/Music (Offline)|g' /home/$MY_USERNAME/Desktop/audio.desktop
1005
+            fi
1006
+        fi
947
         pkill qtox
1007
         pkill qtox
948
     fi
1008
     fi
949
 fi
1009
 fi