Преглед на файлове

Allow hubzilla to be pegged to a particular commit

Bob Mottram преди 9 години
родител
ревизия
b30d4219fe
променени са 1 файла, в които са добавени 45 реда и са изтрити 16 реда
  1. 45
    16
      src/freedombone

+ 45
- 16
src/freedombone Целия файл

@@ -154,6 +154,7 @@ HUBZILLA_REPO="https://github.com/redmatrix/hubzilla.git"
154 154
 HUBZILLA_ADDONS_REPO="https://github.com/redmatrix/hubzilla-addons.git"
155 155
 HUBZILLA_ADMIN_PASSWORD=
156 156
 RESTORE_HUBZILLA_SCRIPT_NAME="restorehubzilla"
157
+HUBZILLA_COMMIT='1874346c460c29a087bb81833c0b760a91e35970'
157 158
 
158 159
 # Domain name for git hosting installation
159 160
 GIT_DOMAIN_NAME=
@@ -787,6 +788,9 @@ function read_configuration {
787 788
   fi
788 789
 
789 790
   if [ -f $CONFIGURATION_FILE ]; then
791
+      if grep -q "HUBZILLA_COMMIT" $CONFIGURATION_FILE; then
792
+          HUBZILLA_COMMIT=$(grep "HUBZILLA_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
793
+      fi
790 794
       if grep -q "GPG_KEYSERVER" $CONFIGURATION_FILE; then
791 795
           GPG_KEYSERVER=$(grep "GPG_KEYSERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
792 796
       fi
@@ -10047,9 +10051,6 @@ quit" > $INSTALL_DIR/batch.sql
10047 10051
 }
10048 10052
 
10049 10053
 function install_hubzilla {
10050
-  if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
10051
-      return
10052
-  fi
10053 10054
   if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
10054 10055
       return
10055 10056
   fi
@@ -10057,6 +10058,27 @@ function install_hubzilla {
10057 10058
       return
10058 10059
   fi
10059 10060
 
10061
+  # update to the next commit
10062
+  if [ -d /var/www/$HUBZILLA_DOMAIN_NAME/htdocs ]; then
10063
+      if grep -q "Hubzilla commit" $COMPLETION_FILE; then
10064
+          CURRENT_HUBZILLA_COMMIT=$(grep "Hubzilla commit" $COMPLETION_FILE | awk -F ':' '{print $2}')
10065
+          if [[ "$CURRENT_HUBZILLA_COMMIT" != "$HUBZILLA_COMMIT" ]]; then
10066
+              cd /var/www/$HUBZILLA_DOMAIN_NAME/htdocs
10067
+              git stash
10068
+              git checkout master             
10069
+              git pull
10070
+              git checkout $HUBZILLA_COMMIT
10071
+              git branch -b $HUBZILLA_COMMIT
10072
+              sed -i "s/Hubzilla commit.*/Hubzilla commit:$HUBZILLA_COMMIT/g" $COMPLETION_FILE
10073
+              chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs
10074
+          fi
10075
+      fi
10076
+  fi
10077
+  
10078
+  if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
10079
+      return
10080
+  fi
10081
+
10060 10082
   install_mariadb
10061 10083
   get_mariadb_password
10062 10084
   repair_databases_script
@@ -10074,7 +10096,14 @@ function install_hubzilla {
10074 10096
   if [ ! -f /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/index.php ]; then
10075 10097
       cd $INSTALL_DIR
10076 10098
       git clone $HUBZILLA_REPO hubzilla
10077
-
10099
+      git checkout $HUBZILLA_COMMIT
10100
+      git branch -b $HUBZILLA_COMMIT
10101
+      if ! grep -q "Hubzilla commit" $COMPLETION_FILE; then
10102
+          echo "Hubzilla commit:$HUBZILLA_COMMIT" >> $COMPLETION_FILE
10103
+      else
10104
+          sed -i "s/Hubzilla commit.*/Hubzilla commit:$HUBZILLA_COMMIT/g" $COMPLETION_FILE
10105
+      fi
10106
+      
10078 10107
       rm -rf /var/www/$HUBZILLA_DOMAIN_NAME/htdocs
10079 10108
       mv hubzilla /var/www/$HUBZILLA_DOMAIN_NAME/htdocs
10080 10109
       chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs
@@ -10585,18 +10614,18 @@ function create_upgrade_script {
10585 10614
   echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10586 10615
   echo 'apt-get -y update' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10587 10616
   echo 'apt-get -y upgrade' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10588
-  echo "if grep -Fxq \"install_hubzilla\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10589
-  echo '  # Hubzilla' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10590
-  echo "  cd /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10591
-  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10592
-  echo '  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10593
-  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10594
-  echo "  cd /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/addon" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10595
-  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10596
-  echo '  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10597
-  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10598
-  echo "  chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10599
-  echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10617
+  echo "#if grep -Fxq \"install_hubzilla\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10618
+  echo '#  # Hubzilla' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10619
+  echo "#  cd /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10620
+  echo '#  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10621
+  echo '#  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10622
+  echo '#  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10623
+  echo "#  cd /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/addon" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10624
+  echo '#  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10625
+  echo '#  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10626
+  echo '#  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10627
+  echo "#  chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10628
+  echo '#fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10600 10629
   echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10601 10630
   echo "if grep -Fxq \"install_gnu_social\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10602 10631
   echo '  # GNU Social' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME