From 52e503c344c4714e4763153c98b5218a48b1bae5 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Sat, 13 Oct 2018 15:44:31 +0100
Subject: [PATCH] Use npm install

---
 src/freedombone-app-peertube | 103 +++++++++++++----------------------
 1 file changed, 38 insertions(+), 65 deletions(-)

diff --git a/src/freedombone-app-peertube b/src/freedombone-app-peertube
index 6ae4c856a..d937c7ff5 100755
--- a/src/freedombone-app-peertube
+++ b/src/freedombone-app-peertube
@@ -67,6 +67,41 @@ function peertube_tcp_tuning {
     fi
 }
 
+function install_peertube_base {
+    if [ ! -d $PEERTUBE_DIR/config ]; then
+        mkdir -p $PEERTUBE_DIR/config
+    fi
+    if [ ! -d $PEERTUBE_DIR/storage ]; then
+        mkdir -p $PEERTUBE_DIR/storage
+    fi
+    if [ ! -d $PEERTUBE_DIR/versions ]; then
+        mkdir -p $PEERTUBE_DIR/versions
+    fi
+
+    cd ${PEERTUBE_DIR}/versions || exit 3576835
+
+    wget -q "$PEERTUBE_DOWNLOAD" -O "${PEERTUBE_DOWNLOAD_FILENAME}.tar.xz"
+    if [ ! -f "${PEERTUBE_DOWNLOAD_FILENAME}.tar.xz" ]; then
+        exit 56874674
+    fi
+    unxz "${PEERTUBE_DOWNLOAD_FILENAME}.tar.xz"
+    if [ ! -f "${PEERTUBE_DOWNLOAD_FILENAME}.tar" ]; then
+        echo $"${PEERTUBE_DOWNLOAD_FILENAME}.tar not found"
+        exit 63843658
+    fi
+    tar -xvf "${PEERTUBE_DOWNLOAD_FILENAME}.tar"
+    rm "${PEERTUBE_DOWNLOAD_FILENAME}.tar"
+
+    cd ../ || exit 356385
+    ln -s "versions/${PEERTUBE_DOWNLOAD_FILENAME}" ./peertube-latest
+    cd ${PEERTUBE_DIR}/peertube-latest || exit 35685
+    chown -R peertube:peertube $PEERTUBE_DIR
+
+    sudo -H -u peertube npm install
+
+    peertube_tcp_tuning
+}
+
 function peertube_setting_registration {
     allow_registrations="$1"
 
@@ -467,41 +502,8 @@ function upgrade_peertube {
 
     read_config_param PEERTUBE_DOMAIN_NAME
     systemctl stop peertube
-    cd "$PEERTUBE_DIR" || exit 7824552627
-
-    if ! npm install -g yarn@1.10.1; then
-        echo $'Failed to install yarn'
-        exit 79353234
-    fi
-
-    mkdir -p $PEERTUBE_DIR
-    cd $PEERTUBE_DIR || exit 356835
-    cd versions || exit 3576835
-
-    wget -q "$PEERTUBE_DOWNLOAD" -O "${PEERTUBE_DOWNLOAD_FILENAME}.tar.xz"
-    if [ ! -f "${PEERTUBE_DOWNLOAD_FILENAME}.tar.xz" ]; then
-        exit 56874674
-    fi
-    unxz "${PEERTUBE_DOWNLOAD_FILENAME}.tar.xz"
-    if [ ! -f "${PEERTUBE_DOWNLOAD_FILENAME}.tar" ]; then
-        echo $"${PEERTUBE_DOWNLOAD_FILENAME}.tar not found"
-        exit 63843658
-    fi
-    tar -xvf "${PEERTUBE_DOWNLOAD_FILENAME}.tar"
-    rm "${PEERTUBE_DOWNLOAD_FILENAME}.tar"
 
-    cd ../ || exit 356385
-    ln -s "versions/${PEERTUBE_DOWNLOAD_FILENAME}" ./peertube-latest
-    cd ./peertube-latest || exit 35685
-    chown -R peertube:peertube $PEERTUBE_DIR
-
-    sudo -H -u peertube npm install yarn@1.10.1
-    sudo -H -u peertube yarn install --production --pure-lockfile
-
-    peertube_tcp_tuning
-
-    # This doesn't appear to work
-    #sudo -u peertube ./upgrade.sh $PEERTUBE_DIR
+    install_peertube_base
 
     chown -R peertube:peertube $PEERTUBE_DIR
 
@@ -1100,41 +1102,12 @@ function install_peertube {
     function_check install_nodejs
     install_nodejs peertube
 
-    if ! npm install -g yarn@1.10.1; then
-        echo $'Failed to install yarn'
-        exit 79353234
-    fi
-
-    mkdir -p $PEERTUBE_DIR
-    cd $PEERTUBE_DIR || exit 356835
-    mkdir config storage versions
-    cd versions || exit 3576835
-
-    wget -q "$PEERTUBE_DOWNLOAD" -O "${PEERTUBE_DOWNLOAD_FILENAME}.tar.xz"
-    if [ ! -f "${PEERTUBE_DOWNLOAD_FILENAME}.tar.xz" ]; then
-        exit 56874674
-    fi
-    unxz "${PEERTUBE_DOWNLOAD_FILENAME}.tar.xz"
-    if [ ! -f "${PEERTUBE_DOWNLOAD_FILENAME}.tar" ]; then
-        echo $"${PEERTUBE_DOWNLOAD_FILENAME}.tar not found"
-        exit 63843658
-    fi
-    tar -xvf "${PEERTUBE_DOWNLOAD_FILENAME}.tar"
-    rm "${PEERTUBE_DOWNLOAD_FILENAME}.tar"
-
-    cd ../ || exit 356385
-    ln -s "versions/${PEERTUBE_DOWNLOAD_FILENAME}" ./peertube-latest
-    cd ./peertube-latest || exit 35685
-    chown -R peertube:peertube $PEERTUBE_DIR
-
-    sudo -H -u peertube npm install yarn@1.10.1
-    sudo -H -u peertube yarn install --production --pure-lockfile
-
-    peertube_tcp_tuning
+    install_peertube_base
 
     PEERTUBE_ONION_HOSTNAME=$(add_onion_service peertube 80 ${PEERTUBE_ONION_PORT})
 
     cp "$PEERTUBE_DIR/peertube-latest/support/systemd/peertube.service" /etc/systemd/system/peertube.service
+    sed -i "s|/var/www/peertube|$PEERTUBE_DIR|g" /etc/systemd/system/peertube.service
 
     peertube_create_config
 
-- 
GitLab