浏览代码

Peg gogs to a particular commit

Bob Mottram 9 年前
父节点
当前提交
e8df1c07c9
共有 1 个文件被更改,包括 32 次插入18 次删除
  1. 32
    18
      src/freedombone

+ 32
- 18
src/freedombone 查看文件

@@ -167,6 +167,7 @@ GIT_DOMAIN_NAME=
167 167
 GIT_CODE=
168 168
 GIT_DOMAIN_REPO="https://github.com/gogits/gogs.git"
169 169
 GIT_ADMIN_PASSWORD=
170
+GOGS_COMMIT='2f28a0310b0f391dd74bb3a2ab0ae06379a4fb1a'
170 171
 
171 172
 # Domain name for Owncloud installation
172 173
 OWNCLOUD_DOMAIN_NAME=
@@ -805,6 +806,9 @@ function read_configuration {
805 806
       if grep -q "FULLBLOG_COMMIT" $CONFIGURATION_FILE; then
806 807
           FULLBLOG_COMMIT=$(grep "FULLBLOG_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
807 808
       fi
809
+      if grep -q "GOGS_COMMIT" $CONFIGURATION_FILE; then
810
+          GOGS_COMMIT=$(grep "GOGS_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
811
+      fi
808 812
       if grep -q "HUBZILLA_COMMIT" $CONFIGURATION_FILE; then
809 813
           HUBZILLA_COMMIT=$(grep "HUBZILLA_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
810 814
       fi
@@ -8774,12 +8778,31 @@ function install_gogs {
8774 8778
   if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
8775 8779
       return
8776 8780
   fi
8777
-  if grep -Fxq "install_gogs" $COMPLETION_FILE; then
8781
+  if [ ! $GIT_DOMAIN_NAME ]; then
8778 8782
       return
8779 8783
   fi
8780
-  if [ ! $GIT_DOMAIN_NAME ]; then
8784
+
8785
+  # update to the next commit
8786
+  if [ -d /var/www/$GIT_DOMAIN_NAME/htdocs ]; then
8787
+      if grep -q "Gogs commit" $COMPLETION_FILE; then
8788
+          CURRENT_GOGS_COMMIT=$(grep "Gogs commit" $COMPLETION_FILE | awk -F ':' '{print $2}')
8789
+          if [[ "$CURRENT_GOGS_COMMIT" != "$GOGS_COMMIT" ]]; then
8790
+              cd /var/www/$GIT_DOMAIN_NAME/htdocs
8791
+              git stash
8792
+              git checkout master
8793
+              git pull
8794
+              git checkout $GOGS_COMMIT
8795
+              git branch -b $GOGS_COMMIT
8796
+              sed -i "s/Gogs commit.*/Gogs commit:$GOGS_COMMIT/g" $COMPLETION_FILE
8797
+              chown -R www-data:www-data /var/www/$GIT_DOMAIN_NAME/htdocs
8798
+          fi
8799
+      fi
8800
+  fi
8801
+
8802
+  if grep -Fxq "install_gogs" $COMPLETION_FILE; then
8781 8803
       return
8782 8804
   fi
8805
+
8783 8806
   # http://gogs.io/docs/installation/install_from_source.md
8784 8807
 
8785 8808
   # add a gogs user account
@@ -8808,6 +8831,13 @@ function install_gogs {
8808 8831
   cd $GOPATH/src/github.com/gogits
8809 8832
   git clone $GIT_DOMAIN_REPO
8810 8833
   cd gogs
8834
+  git checkout $GOGS_COMMIT
8835
+  git branch -b $GOGS_COMMIT
8836
+  if ! grep -q "Gogs commit" $COMPLETION_FILE; then
8837
+      echo "Gogs commit:$GOGS_COMMIT" >> $COMPLETION_FILE
8838
+  else
8839
+      sed -i "s/Gogs commit.*/Gogs commit:$GOGS_COMMIT/g" $COMPLETION_FILE
8840
+  fi
8811 8841
 
8812 8842
   # install
8813 8843
   go get -u ./...
@@ -10856,22 +10886,6 @@ function create_upgrade_script {
10856 10886
   echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10857 10887
   echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10858 10888
   echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10859
-  echo "if grep -Fxq \"install_gogs\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10860
-  echo '  # gogs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10861
-  echo "  mv /home/git/gogs-repositories/*.git /home/git/gogs-repositories/$MY_USERNAME" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10862
-  echo '  cd /home/git/go/src/github.com/gogits/gogs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10863
-  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10864
-  echo '  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10865
-  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10866
-  echo '  chown -R git:git /home/git' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10867
-  echo '  chmod 600 /home/git/go/src/github.com/gogits/gogs/custom/conf/app.ini' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10868
-  echo '  export GOPATH=/home/git/go' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10869
-  echo '  go get -u ./...' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10870
-  echo '  go build' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10871
-  echo '  systemctl restart gogs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10872
-  echo '  systemctl daemon-reload' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10873
-  echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10874
-  echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10875 10889
   echo "if grep -Fxq \"install_ipfs\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10876 10890
   echo '  # ipfs' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10877 10891
   echo '  chown -R git:git /home/git' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME