Sfoglia il codice sorgente

A new way of doing upgrades

This ensures that an upgrade occurs to a predictable set of commits
Bob Mottram 9 anni fa
parent
commit
4e92dd8992
1 ha cambiato i file con 54 aggiunte e 11 eliminazioni
  1. 54
    11
      src/freedombone

+ 54
- 11
src/freedombone Vedi File

33
 # Web site
33
 # Web site
34
 FREEDOMBONE_WEBSITE="http://freedombone.uk.to"
34
 FREEDOMBONE_WEBSITE="http://freedombone.uk.to"
35
 
35
 
36
+# Repo
37
+FREEDOMBONE_REPO="https://github.com/bashrc/freedombone"
38
+
36
 # Contact details
39
 # Contact details
37
 FREEDOMBONE_BITMESSAGE="BM-2cWuhmBvVdfrHhLoZTdspCkKeiTorUesSL"
40
 FREEDOMBONE_BITMESSAGE="BM-2cWuhmBvVdfrHhLoZTdspCkKeiTorUesSL"
38
 
41
 
173
 OWNCLOUD_DOMAIN_NAME=
176
 OWNCLOUD_DOMAIN_NAME=
174
 OWNCLOUD_CODE=
177
 OWNCLOUD_CODE=
175
 OWNCLOUD_ADMIN_PASSWORD=
178
 OWNCLOUD_ADMIN_PASSWORD=
179
+OWNCLOUD_MUSIC_APP_REPO="https://github.com/owncloud/music"
180
+OWNCLOUD_MUSIC_APP_COMMIT='7f79afb4ae9a6ecd8f530d87106f960306c0a15a'
176
 
181
 
177
 # Domain name for your wiki
182
 # Domain name for your wiki
178
 WIKI_DOMAIN_NAME=
183
 WIKI_DOMAIN_NAME=
808
   fi
813
   fi
809
 
814
 
810
   if [ -f $CONFIGURATION_FILE ]; then
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
       if grep -q "LETSENCRYPT_SERVER" $CONFIGURATION_FILE; then
819
       if grep -q "LETSENCRYPT_SERVER" $CONFIGURATION_FILE; then
812
           LETSENCRYPT_SERVER=$(grep "LETSENCRYPT_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
820
           LETSENCRYPT_SERVER=$(grep "LETSENCRYPT_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
813
       fi
821
       fi
832
       if grep -q "GPGIT_COMMIT" $CONFIGURATION_FILE; then
840
       if grep -q "GPGIT_COMMIT" $CONFIGURATION_FILE; then
833
           GPGIT_COMMIT=$(grep "GPGIT_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
841
           GPGIT_COMMIT=$(grep "GPGIT_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
834
       fi
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
       if grep -q "HUBZILLA_COMMIT" $CONFIGURATION_FILE; then
846
       if grep -q "HUBZILLA_COMMIT" $CONFIGURATION_FILE; then
836
           HUBZILLA_COMMIT=$(grep "HUBZILLA_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
847
           HUBZILLA_COMMIT=$(grep "HUBZILLA_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
837
       fi
848
       fi
8537
   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
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
       return
8549
       return
8539
   fi
8550
   fi
8540
-  if grep -Fxq "install_owncloud_music_app" $COMPLETION_FILE; then
8541
-      return
8542
-  fi
8551
+
8543
   if ! grep -Fxq "install_owncloud" $COMPLETION_FILE; then
8552
   if ! grep -Fxq "install_owncloud" $COMPLETION_FILE; then
8544
       echo 'Tried to install the Owncloud music app, but Owncloud installation was not found'
8553
       echo 'Tried to install the Owncloud music app, but Owncloud installation was not found'
8545
       exit 9823
8554
       exit 9823
8546
   fi
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
   cd /usr/share/owncloud/apps
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
   if grep -q "Music player in Owncloud" /home/$MY_USERNAME/README; then
8590
   if grep -q "Music player in Owncloud" /home/$MY_USERNAME/README; then
8552
       echo '' >> /home/$MY_USERNAME/README
8591
       echo '' >> /home/$MY_USERNAME/README
11027
 
11066
 
11028
   echo '#!/bin/bash' > /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11067
   echo '#!/bin/bash' > /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11029
   echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
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
   echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11080
   echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
11038
   echo "echo '
11081
   echo "echo '
11039
 
11082