summaryrefslogtreecommitdiff
path: root/manage
AgeCommit message (Collapse)Author
2021-07-21[fix] utils/build_env.py and add documentationMarkus Heiser
modified docs/admin/engines/settings.rst - Fix documentation and add section 'brand'. - Add remarks about **buildenv** variables. - Add remarks about settings from environment variables $SEARX_DEBUG, $SEARX_PORT, $SEARX_BIND_ADDRESS and $SEARX_SECRET modified docs/admin/installation-searx.rst & docs/build-templates/searx.rst Fix template location /templates/etc/searx/settings.yml modified docs/dev/makefile.rst Add description of the 'make buildenv' target and describe - we have all SearXNG setups are centralized in the settings.yml file - why some tasks need a utils/brand.env (aka instance's buildenv) modified manage Settings file from repository's working tree are used by default and ask user if a /etc/searx/settings.yml file exists. modified searx/settings.yml Add comments about when it is needed to run 'make buildenv' modified searx/settings_defaults.py Default for server:port is taken from enviroment variable SEARX_PORT. modified utils/build_env.py - Some defaults in the settings.yml are taken from the environment, e.g. SEARX_BIND_ADDRESS (searx.settings_defaults.SHEMA). When the 'brand.env' file is created these enviroment variables should be unset first. - The CONTACT_URL enviroment is not needed in the utils/brand.env Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-21[mod] ./manage docker.buildx make variables localMarkus Heiser
The environment variables .. - SEARX_GIT_VERSION - VERSION_GITCOMMIT - SEARX_PYTHON_VERSION - GITHUB_USER - SEARX_IMAGE_NAME - BUILD are local to the docker.buildx() function, other variables like GIT_URL are comming from the utils/brand.env file (rebuild by: make buildenv). Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-17[fix] ./manage script, prompt the unknown commandMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-26[mod] move functions from utils/manage_static.sh to ./manage scriptMarkus Heiser
The functions: - static.build.commit - static.build.commit.drop - static.build.restore are imported into the ./manage script. To avoid name collisions some variables and fucntions has been renamed by adding the prefix *static_*. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-22Merge pull request #157 from searxng/mod_static_buildAlexandre Flament
static build: move generated files to searx/static/themes/*/src/generated
2021-06-22[fix] pygments.less - remove pyenv_OK conditionMarkus Heiser
BTW: add pygments.less to the help message Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-22[mod] simple theme: include fontsAlexandre Flament
"npm run webfont" to build the fonts directory. It requires fontforge and ttfautohint distro packages. partial revert of commit 7137d2893f33e9158e8563a21d9586119d175269
2021-06-22[mod] make themes.all update pygments*.lessAlexandre Flament
Add a searx/static/themes/*/src/generated empty folder
2021-06-21[fix] py.build - fix small typo in the build messageMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-19[fix] node.clean - ignore npm dependencies when npm is not installedMarkus Heiser
error pattern:: $ make clean CLEAN pyenv PYENV [virtualenv] drop local/py3 CLEAN docs -- build/docs dist/docs CLEAN locally installed npm dependencies ./manage: line 318: npm: command not found ERROR: node.clean exit with error (127) make: *** [Makefile:90: node.clean] Error 127 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-17[enh] ./manage node.env - check build tools firstMarkus Heiser
The node.env build environment require npm, ttfautohint and fontforge installed in the OS. These tools can be installed by:: sudo -H ./utils/searx.sh install buildhost If one of the tools is not installed, the script node.env stops with a appropriate message. BTW: We ignore CentOS-7 as developer & build platform Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-16[mod] make node.clean: call the "clean" script from the packages.jsonAlexandre Flament
The dependencies and build process are described in the gruntfiles.js and packages.json files. It makes sense to move the clean up to these files too.
2021-06-16[mod] remove common grunt installAlexandre Flament
Before this commit, there are 3 node_modules directory: * one in . * two others in ./searx/statics/themes/* This is no desirable: * it declares the npm depdenencies in the shell script. * dependabot can't updates theses dependencies. * this is a not standard way to build a package (two different locations for the dependencies). With this commit and the PR #150 there is one unique node_modules directory per theme.
2021-06-16[mod] simple theme: remove src/less/ion.lessAlexandre Flament
This file is generated by webfont. * It is now generated as searx/static/themes/simple/ion.less * It is generated before the .less compilation. * .gitignore includes this file Add two new package depedencies: fontforge ttfautohint See utils/searx.sh
2021-06-15[fix] test.yamllint - fixed typoMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-12[yamllint] ./utils/templates/etc/searx/*.ymlMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-09[data.all] add searx_extra/update/update_osm_keys_tags.pyMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-06-05[enh] add test.yamllint - lint yaml filesMarkus Heiser
Usage:: make test.yamllint ./manage test.yamllint test.yamllint is also added to the `test` makefile target. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-28[docker] multiarch support: linux/amd64,linux/arm64,linux/arm/v7Alexandre Flament
make docker.buildx : build and push multiarch build. (it can't be only build) use buildx with the --cache-from and --cache-to options to cache the layers (only the last built is cached)
2021-04-27[fix] manage - fix miss usage of 'set -e'Markus Heiser
The philosophy of set -e is typically that it only exits upon uncaught errors. Here, the presence of || outside the subshell seems to tell the shell that the error inside the subshell is 'caught' and therefore set -e does not cause an exit after false [1]. The shell does not exit if the command that fails is ... part of any command executed in a && or || list except the command following the final && or ||, any command in a pipeline but the last, or if the command’s return status is being inverted with ! [2] [1] https://unix.stackexchange.com/questions/296526/set-e-in-a-subshell [2] https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html#The-Set-Builtin BTW: fix error reported by 'make test.shell' Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-26[pylint] get PYLINT_FILES from tag '# lint: pylint'Markus Heiser
These py files are linted by test.pylint(), all other files are linted by test.pep8() close: https://github.com/searxng/searxng/issues/21 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-24[mod] core.ac.uk engineMarkus Heiser
- add to list of pylint scripts - add debug log messages - move API key int `settings.yml` - improved readability - add some metadata to results Signed-off-by: Markus Heiser <markus@darmarit.de>
2021-04-24Rerevert c54bf42Alexandre Flament
2021-04-23[fix] ./manage pyenv.install - die when pyenv build failsMarkus Heiser
ERROR: When pyenv build fails, the pyenv command runs into a recursion [1]: .... BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV ERROR: Cannot install idna==3.1 and requests[socks]==2.25.1 because these package versions have conflicting dependencies. BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV BUILDENV The conflict is caused by: [1] https://github.com/return42/searx-next/pull/4#issuecomment-821999497 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-23[mod] replace makefile boilerplate by 'manage' scriptMarkus Heiser
Replaces the make targets with the bash scripts Signed-off-by: Markus Heiser <markus@darmarit.de>
2021-04-23[enh] implement all build task in a bash script (manage)Markus Heiser
note: in further patches script 'manage' will replace 'manage.sh' pyenv.* : assert : build virtualenv if not exists intsall : developer install of searx into virtualenv unintsall : uninstall developer installation cmd ... : run command ... in virtualenv OK : test if virtualenv is OK pypi.upload: Upload python packages to PyPi (to test use pypi.upload.test) pybuild : Build python packages at ./${PYDIST} pyclean : delete virtualenv and intermediate py files test.* : pylint : lint PYLINT_FILES, searx/engines, searx & tests pep8 : pycodestyle (pep8) for all files except PYLINT_FILES unit : run unit tests coverage : run unit tests with coverage robot : run robot test clean : clean intermediate test stuff node.* : env : download & install npm dependencies locally clean : drop npm installations buildenv : rebuild ./utils/brand.env data.* : all : update searx/languages.py and ./data/* languages : update searx/data/engines_languages.json & searx/languages.py useragents: update searx/data/useragents.json with the most recent versions of Firefox. themes.* : all : build all themes oscar : build oscar theme simple : build simple theme bootstrap : less compile bootstrap.min.css CSS babel.compile : pybabel compile ./searx/translations docs.* : html : build HTML documentation gh-pages : deploy on gh-pages branch autobuild : autobuild HTML documentation while editing prebuild : build reST include files (./${DOCS_BUILD}/includes) clean : clean documentation build docker.build [push] : build (and push) docker image gecko.driver : download & install geckodriver if not already installed (required for robot_tests) Signed-off-by: Markus Heiser <markus@darmarit.de>