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:
Alexandre Flament 2021-07-27 18:37:46 +02:00
parent 24fcd7475a
commit 4b43775c91
16 changed files with 199 additions and 98 deletions

View file

@ -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)