mirror of
https://github.com/searxng/searxng.git
synced 2025-12-22 19:50:00 +00:00
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...)
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
export GIT_URL='https://github.com/searxng/searxng'
|
||||
export GIT_BRANCH='master'
|
||||
export SEARX_URL=''
|
||||
export SEARX_PORT='8888'
|
||||
export SEARX_BIND_ADDRESS='127.0.0.1'
|
||||
export GIT_URL='https://github.com/searxng/searxng'
|
||||
export GIT_BRANCH='master'
|
||||
|
||||
@@ -7,6 +7,8 @@ import sys
|
||||
import os
|
||||
from os.path import realpath, dirname, join, sep, abspath
|
||||
|
||||
from searx.version import GIT_URL, GIT_BRANCH
|
||||
|
||||
repo_root = realpath(dirname(realpath(__file__)) + sep + '..')
|
||||
sys.path.insert(0, repo_root)
|
||||
|
||||
@@ -30,9 +32,6 @@ def _env(*arg, **kwargs):
|
||||
|
||||
name_val = [
|
||||
|
||||
('GIT_URL' , 'brand.git_url'),
|
||||
('GIT_BRANCH' , 'brand.git_branch'),
|
||||
|
||||
('SEARX_URL' , 'server.base_url'),
|
||||
('SEARX_PORT' , 'server.port'),
|
||||
('SEARX_BIND_ADDRESS' , 'server.bind_address'),
|
||||
@@ -57,8 +56,9 @@ from searx import get_setting
|
||||
|
||||
print('build %s (settings from: %s)' % (brand_env, os.environ['SEARX_SETTINGS_PATH']))
|
||||
sys.path.insert(0, repo_root)
|
||||
from searx import settings
|
||||
|
||||
with open(repo_root + sep + brand_env, 'w', encoding='utf-8') as f:
|
||||
for name, option in name_val:
|
||||
print("export %s='%s'" % (name, _env(option)), file=f)
|
||||
print(f"export GIT_URL='{GIT_URL}'", file=f)
|
||||
print(f"export GIT_BRANCH='{GIT_BRANCH}'", file=f)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user