Browse Source

Merge pull request #2417 from return42/fix-seetings-template

[fix] use SEARX_SETTINGS_TEMPLATE from .config environment
Alexandre Flament 4 years ago
parent
commit
d129186212
2 changed files with 15 additions and 4 deletions
  1. 4 1
      .config.sh
  2. 11 3
      utils/searx.sh

+ 4 - 1
.config.sh

@@ -28,7 +28,10 @@ fi
 # SEARX_INTERNAL_URL="127.0.0.1:8888"
 # SEARX_SETTINGS_TEMPLATE="${REPO_ROOT}/utils/templates/etc/searx/use_default_settings.yml"
 
-# Only change, if you maintain a searx brand in your searx fork.
+# Only change, if you maintain a searx brand in your searx fork (GIT_URL) which
+# is not hold by branch 'master'.  The branch has to be a local branch, in the
+# repository from which you install (which is most often the case).  If you want
+# to install branch 'foo', don't forget to run 'git branch foo origin/foo' once.
 # GIT_BRANCH="${GIT_BRANCH:-master}"
 
 # filtron.sh

+ 11 - 3
utils/searx.sh

@@ -36,7 +36,7 @@ GIT_BRANCH="${GIT_BRANCH:-master}"
 SEARX_PYENV="${SERVICE_HOME}/searx-pyenv"
 SEARX_SRC="${SERVICE_HOME}/searx-src"
 SEARX_SETTINGS_PATH="/etc/searx/settings.yml"
-SEARX_SETTINGS_TEMPLATE="${REPO_ROOT}/utils/templates/etc/searx/use_default_settings.yml"
+SEARX_SETTINGS_TEMPLATE="${SEARX_SETTINGS_TEMPLATE:-${REPO_ROOT}/utils/templates/etc/searx/use_default_settings.yml}"
 SEARX_UWSGI_APP="searx.ini"
 # shellcheck disable=SC2034
 SEARX_UWSGI_SOCKET="/run/uwsgi/app/searx/socket"
@@ -157,7 +157,7 @@ install / remove
   :searx-src:  clone $GIT_URL
   :pyenv:      create/remove virtualenv (python) in $SEARX_PYENV
   :uwsgi:      install searx uWSGI application
-  :settings:   reinstall settings from ${REPO_ROOT}/searx/settings.yml
+  :settings:   reinstall settings from ${SEARX_SETTINGS_TEMPLATE}
   :packages:   install needed packages from OS package manager
   :buildhost:  install packages from OS package manager needed by buildhosts
 update searx
@@ -388,6 +388,14 @@ clone_searx() {
         err_msg "to clone searx sources, user $SERVICE_USER hast to be created first"
         return 42
     fi
+    if [[ ! $(git show-ref "refs/heads/${GIT_BRANCH}") ]]; then
+        warn_msg "missing local branch ${GIT_BRANCH}"
+        info_msg "create local branch ${GIT_BRANCH} from start point: origin/${GIT_BRANCH}"
+        git branch "${GIT_BRANCH}" "origin/${GIT_BRANCH}"
+    fi
+    if [[ ! $(git branch --show-current) == "${GIT_BRANCH}" ]]; then
+        warn_msg "take into account, installing branch $GIT_BRANCH while current branch is $(git branch --show-current)"
+    fi
     export SERVICE_HOME
     git_clone "$REPO_ROOT" "$SEARX_SRC" \
               "$GIT_BRANCH" "$SERVICE_USER"
@@ -412,7 +420,7 @@ install_settings() {
     mkdir -p "$(dirname ${SEARX_SETTINGS_PATH})"
 
     if [[ ! -f ${SEARX_SETTINGS_PATH} ]]; then
-        info_msg "install settings ${REPO_ROOT}/searx/settings.yml"
+        info_msg "install settings ${SEARX_SETTINGS_TEMPLATE}"
         info_msg "  --> ${SEARX_SETTINGS_PATH}"
         cp "${SEARX_SETTINGS_TEMPLATE}" "${SEARX_SETTINGS_PATH}"
         configure_searx