Pārlūkot izejas kodu

A new way of doing upgrades

This ensures that an upgrade occurs to a predictable set of commits
Bob Mottram 9 gadus atpakaļ
vecāks
revīzija
4e92dd8992
1 mainītis faili ar 54 papildinājumiem un 11 dzēšanām
  1. 54
    11
      src/freedombone

+ 54
- 11
src/freedombone Parādīt failu

@@ -33,6 +33,9 @@ NO_OF_ARGS=$#
33 33
 # Web site
34 34
 FREEDOMBONE_WEBSITE="http://freedombone.uk.to"
35 35
 
36
+# Repo
37
+FREEDOMBONE_REPO="https://github.com/bashrc/freedombone"
38
+
36 39
 # Contact details
37 40
 FREEDOMBONE_BITMESSAGE="BM-2cWuhmBvVdfrHhLoZTdspCkKeiTorUesSL"
38 41
 
@@ -173,6 +176,8 @@ GOGS_COMMIT='2f28a0310b0f391dd74bb3a2ab0ae06379a4fb1a'
173 176
 OWNCLOUD_DOMAIN_NAME=
174 177
 OWNCLOUD_CODE=
175 178
 OWNCLOUD_ADMIN_PASSWORD=
179
+OWNCLOUD_MUSIC_APP_REPO="https://github.com/owncloud/music"
180
+OWNCLOUD_MUSIC_APP_COMMIT='7f79afb4ae9a6ecd8f530d87106f960306c0a15a'
176 181
 
177 182
 # Domain name for your wiki
178 183
 WIKI_DOMAIN_NAME=
@@ -808,6 +813,9 @@ function read_configuration {
808 813
   fi
809 814
 
810 815
   if [ -f $CONFIGURATION_FILE ]; then
816
+      # Ensure that a copy of the config exists for upgrade purposes
817
+      cp $CONFIGURATION_FILE /root/freedombone.cfg
818
+
811 819
       if grep -q "LETSENCRYPT_SERVER" $CONFIGURATION_FILE; then
812 820
           LETSENCRYPT_SERVER=$(grep "LETSENCRYPT_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
813 821
       fi
@@ -832,6 +840,9 @@ function read_configuration {
832 840
       if grep -q "GPGIT_COMMIT" $CONFIGURATION_FILE; then
833 841
           GPGIT_COMMIT=$(grep "GPGIT_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
834 842
       fi
843
+      if grep -q "OWNCLOUD_MUSIC_APP_COMMIT" $CONFIGURATION_FILE; then
844
+          OWNCLOUD_MUSIC_APP_COMMIT=$(grep "OWNCLOUD_MUSIC_APP_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
845
+      fi
835 846
       if grep -q "HUBZILLA_COMMIT" $CONFIGURATION_FILE; then
836 847
           HUBZILLA_COMMIT=$(grep "HUBZILLA_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
837 848
       fi
@@ -8537,16 +8548,44 @@ function install_owncloud_music_app {
8537 8548
   if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
8538 8549
       return
8539 8550
   fi
8540
-  if grep -Fxq "install_owncloud_music_app" $COMPLETION_FILE; then
8541
-      return
8542
-  fi
8551
+
8543 8552
   if ! grep -Fxq "install_owncloud" $COMPLETION_FILE; then
8544 8553
       echo 'Tried to install the Owncloud music app, but Owncloud installation was not found'
8545 8554
       exit 9823
8546 8555
   fi
8547 8556
 
8557
+  # update to the next commit
8558
+  if [ -d /usr/share/owncloud/apps/music ]; then
8559
+      if grep -q "Owncloud music app commit" $COMPLETION_FILE; then
8560
+          CURRENT_OWNCLOUD_MUSIC_APP_COMMIT=$(grep "Owncloud music app commit" $COMPLETION_FILE | awk -F ':' '{print $2}')
8561
+          if [[ "$OWNCLOUD_MUSIC_APP_COMMIT" != "$OWNCLOUD_MUSIC_APP_COMMIT" ]]; then
8562
+              cd /usr/share/owncloud/apps/music
8563
+              git stash
8564
+              git checkout master
8565
+              git pull
8566
+              git checkout $OWNCLOUD_MUSIC_APP_COMMIT
8567
+              git branch -b $OWNCLOUD_MUSIC_APP_COMMIT
8568
+              sed -i "s/Owncloud music app commit.*/Owncloud music app commit:$OWNCLOUD_MUSIC_APP_COMMIT/g" $COMPLETION_FILE
8569
+          fi
8570
+      else
8571
+          echo "Owncloud music app commit:$OWNCLOUD_MUSIC_APP_COMMIT" >> $COMPLETION_FILE
8572
+      fi
8573
+  fi
8574
+
8575
+  if grep -Fxq "install_owncloud_music_app" $COMPLETION_FILE; then
8576
+      return
8577
+  fi
8578
+
8548 8579
   cd /usr/share/owncloud/apps
8549
-  git clone https://github.com/owncloud/music music
8580
+  git clone $OWNCLOUD_MUSIC_APP_REPO Music
8581
+  cd music
8582
+  git checkout $OWNCLOUD_MUSIC_APP_COMMIT
8583
+  git branch -b $OWNCLOUD_MUSIC_APP_COMMIT
8584
+  if ! grep -q "Owncloud music app commit" $COMPLETION_FILE; then
8585
+      echo "Owncloud music app commit:$OWNCLOUD_MUSIC_APP_COMMIT" >> $COMPLETION_FILE
8586
+  else
8587
+      sed -i "s/Owncloud music app commit.*/Owncloud music app commit:$OWNCLOUD_MUSIC_APP_COMMIT/g" $COMPLETION_FILE
8588
+  fi
8550 8589
 
8551 8590
   if grep -q "Music player in Owncloud" /home/$MY_USERNAME/README; then
8552 8591
       echo '' >> /home/$MY_USERNAME/README
@@ -11027,13 +11066,17 @@ function create_upgrade_script {
11027 11066
 
11028 11067
   echo '#!/bin/bash' > /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11029 11068
   echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11030
-  echo "if grep -Fxq \"install_owncloud_music_app\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11031
-  echo '  # Owncloud music app' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11032
-  echo "  cd /usr/share/owncloud/apps/music" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11033
-  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11034
-  echo '  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11035
-  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11036
-  echo "fi" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11069
+  echo 'if [ ! -d /root/freedombone]; then' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11070
+  echo "    git clone $FREEDOMBONE_REPO /root/freedombone" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11071
+  echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11072
+  echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11073
+  echo 'if [ -f /root/freedombone.cfg ]; then' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11074
+  echo '    cd /root/freedombone' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11075
+  echo '    git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11076
+  echo '    git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11077
+  echo '    make install' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11078
+  echo '    freedombone -c /root/freedombone.cfg' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11079
+  echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11037 11080
   echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11038 11081
   echo "echo '
11039 11082