From 4b43775c91a3c2ef415527edb4b3c041859453b4 Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Tue, 27 Jul 2021 18:37:46 +0200 Subject: version based on the git repository This commit remove the need to update the brand for GIT_URL and GIT_BRANCH: there are read from the git repository. It is possible to call python -m searx.version freeze to freeze the current version. Useful when the code is installed outside git (distro package, docker, etc...) --- utils/searx.sh | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) (limited to 'utils/searx.sh') diff --git a/utils/searx.sh b/utils/searx.sh index f02611059..a9bd41288 100755 --- a/utils/searx.sh +++ b/utils/searx.sh @@ -429,13 +429,11 @@ EOF popd > /dev/null } +# shellcheck disable=SC2034 prompt_installation_status(){ - local state branch remote remote_url instance_setting + local state branch remote remote_url GIT_URL GIT_BRANCH VERSION_STRING VERSION_TAG state="$(install_searx_get_state)" - branch="$(git name-rev --name-only HEAD)" - remote="$(git config branch."${branch}".remote)" - remote_url="$(git config remote."${remote}".url)" case $state in missing-searx-clone) @@ -445,14 +443,16 @@ prompt_installation_status(){ *) warn_msg "SearXNG instance already installed at: $SEARX_SRC" warn_msg "status: ${_BBlue}$(install_searx_get_state)${_creset} " - instance_setting="$(prompt_installation_setting brand.git_url)" - if ! [ "$instance_setting" = "$remote_url" ]; then - warn_msg "instance's brand.git_url: '${instance_setting}'" \ + branch="$(git name-rev --name-only HEAD)" + remote="$(git config branch."${branch}".remote)" + remote_url="$(git config remote."${remote}".url)" + eval "$(get_installed_version_variables)" + if ! [ "$GIT_URL" = "$remote_url" ]; then + warn_msg "instance's git URL: '${GIT_URL}'" \ "differs from local clone's remote URL: ${remote_url}" fi - instance_setting="$(prompt_installation_setting brand.git_branch)" - if ! [ "$instance_setting" = "$branch" ]; then - warn_msg "instance brand.git_branch: ${instance_setting}" \ + if ! [ "$GIT_BRANCH" = "$branch" ]; then + warn_msg "instance git branch: ${GIT_BRANCH}" \ "differs from local clone's branch: ${branch}" fi return 42 @@ -469,7 +469,7 @@ verify_continue_install(){ prompt_installation_setting(){ - # usage: prompt_installation_setting brand.git_url + # usage: prompt_installation_setting brand.docs_url # # Prompts the value of the (YAML) setting in the SearXNG instance. @@ -496,6 +496,23 @@ EOF esac } +get_installed_version_variables() { + + # usage: eval "$(get_installed_version_variables)" + # + # Set variables VERSION_STRING, VERSION_TAG, GIT_URL, GIT_BRANCH + + local _state + _state="$(install_searx_get_state)" + case $_state in + python-installed|installer-modified) + sudo -H -u "${SERVICE_USER}" "${SEARX_PYENV}/bin/python -m searx.version";; + *) + return 42 + ;; + esac +} + init_SEARX_SRC(){ rst_title "Update instance: ${SEARX_SRC}/" section -- cgit v1.2.3 From 85e0908e4fa2f7b5dea6095b73eea51f0996f47b Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Fri, 30 Jul 2021 09:40:36 +0200 Subject: [fix] searx.sh - get_installed_version_variables() Fix the quotation marks in the command line to run python -m searx.version Signed-off-by: Markus Heiser --- utils/searx.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'utils/searx.sh') diff --git a/utils/searx.sh b/utils/searx.sh index a9bd41288..1d08ed5f8 100755 --- a/utils/searx.sh +++ b/utils/searx.sh @@ -429,10 +429,11 @@ EOF popd > /dev/null } -# shellcheck disable=SC2034 prompt_installation_status(){ - local state branch remote remote_url GIT_URL GIT_BRANCH VERSION_STRING VERSION_TAG + # shellcheck disable=SC2034 + local GIT_URL GIT_BRANCH VERSION_STRING VERSION_TAG + local ret_val state branch remote remote_url state="$(install_searx_get_state)" case $state in @@ -506,7 +507,7 @@ get_installed_version_variables() { _state="$(install_searx_get_state)" case $_state in python-installed|installer-modified) - sudo -H -u "${SERVICE_USER}" "${SEARX_PYENV}/bin/python -m searx.version";; + sudo -H -u "${SERVICE_USER}" "${SEARX_PYENV}/bin/python" -m searx.version;; *) return 42 ;; -- cgit v1.2.3 From 5b3eeb6e54d4b88adccdf847c32d8102ff6202a5 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Fri, 30 Jul 2021 09:43:17 +0200 Subject: [mod] searx.sh - improve some messages prompted while installation Signed-off-by: Markus Heiser --- utils/searx.sh | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) (limited to 'utils/searx.sh') diff --git a/utils/searx.sh b/utils/searx.sh index 1d08ed5f8..3ebe5df11 100755 --- a/utils/searx.sh +++ b/utils/searx.sh @@ -213,20 +213,26 @@ main() { *) usage "$_usage"; exit 42;; esac ;; install) - rst_title "SearXNG (install)" part sudo_or_exit case $2 in - all) install_all ;; + all) + rst_title "SearXNG (install)" part + install_all + ;; user) + rst_title "SearXNG (install user)" verify_continue_install assert_user ;; pyenv) + rst_title "SearXNG (install pyenv)" verify_continue_install create_pyenv ;; searx-src) + rst_title "SearXNG (install searx-src)" verify_continue_install + assert_user clone_searx install_DOT_CONFIG init_SEARX_SRC @@ -241,6 +247,7 @@ main() { install_settings ;; uwsgi) + rst_title "SearXNG (install uwsgi)" verify_continue_install install_searx_uwsgi if ! service_is_available "http://${SEARX_INTERNAL_HTTP}"; then @@ -248,9 +255,11 @@ main() { fi ;; packages) + rst_title "SearXNG (install packages)" pkg_install "$SEARX_PACKAGES" ;; buildhost) + rst_title "SearXNG (install buildhost)" pkg_install "$SEARX_PACKAGES" pkg_install "$BUILD_PACKAGES" ;; @@ -377,6 +386,11 @@ installations that were installed with this script." assert_user() { rst_title "user $SERVICE_USER" section echo + if getent passwd "$SERVICE_USER" > /dev/null; then + echo "user exists" + return 0 + fi + tee_stderr 1 <