From bdf392093af92da7d8fc4e32b68ff0716700522d Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Wed, 8 Jan 2020 18:09:36 +0100 Subject: build requirements: add a shell script static analysis tool ShellCheck: https://github.com/koalaman/shellcheck Signed-off-by: Markus Heiser --- Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index f35b86c41..6adba1037 100644 --- a/Makefile +++ b/Makefile @@ -70,12 +70,14 @@ $(GH_PAGES):: # test # ---- -PHONY += test test.pylint test.pep8 test.unit test.robot +PHONY += test test.sh test.pylint test.pep8 test.unit test.robot # TODO: balance linting with pylint -test: test.pep8 test.unit test.robot +test: test.pep8 test.unit test.sh test.robot - make pylint +test.sh: + test.pep8: pyenvinstall $(PY_ENV_ACT); ./manage.sh pep8_check -- cgit v1.2.3 From 28dacee28819ea2d24fd8ff6547fd3a175677084 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Wed, 8 Jan 2020 18:13:22 +0100 Subject: utils: add lib.sh containing common shell script Signed-off-by: Markus Heiser --- Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 6adba1037..a5265ff86 100644 --- a/Makefile +++ b/Makefile @@ -77,6 +77,7 @@ test: test.pep8 test.unit test.sh test.robot - make pylint test.sh: + shellcheck -x utils/lib.sh test.pep8: pyenvinstall $(PY_ENV_ACT); ./manage.sh pep8_check -- cgit v1.2.3 From 4139c63d23a1f4cc427eb428bcff0594c395c1c5 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Wed, 8 Jan 2020 19:21:07 +0100 Subject: utils/filtron.sh: add script to install filtron middleware Signed-off-by: Markus Heiser --- Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index a5265ff86..fec004a5e 100644 --- a/Makefile +++ b/Makefile @@ -78,6 +78,7 @@ test: test.pep8 test.unit test.sh test.robot test.sh: shellcheck -x utils/lib.sh + shellcheck -x utils/filtron.sh test.pep8: pyenvinstall $(PY_ENV_ACT); ./manage.sh pep8_check -- cgit v1.2.3 From 3cf31528f33c2a600cad21952b46a6ebe1e31420 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Tue, 14 Jan 2020 19:26:54 +0100 Subject: utils/searx.sh: add script to install isolated searx service (WIP) WIP: written from scratch / linted but untested Signed-off-by: Markus Heiser --- Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index fec004a5e..6577b374e 100644 --- a/Makefile +++ b/Makefile @@ -79,6 +79,7 @@ test: test.pep8 test.unit test.sh test.robot test.sh: shellcheck -x utils/lib.sh shellcheck -x utils/filtron.sh + shellcheck -x utils/searx.sh test.pep8: pyenvinstall $(PY_ENV_ACT); ./manage.sh pep8_check -- cgit v1.2.3 From 79e1f837ef7e7c402fd6e9dbb167aac695f2aee7 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Tue, 4 Feb 2020 10:39:42 +0100 Subject: utils & Makefile: add .config.mk & .config.sh for searx brands By isolating the environment of makefiles and bash scripts into .config.mk and .config.sh it is simple to maintain searx brands by setting some central environments. Signed-off-by: Markus Heiser --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 6577b374e..500910d8e 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,6 @@ # -*- coding: utf-8; mode: makefile-gmake -*- -export GIT_URL=https://github.com/asciimoo/searx -export SEARX_URL=https://searx.me -export DOCS_URL=https://asciimoo.github.io/searx +include ./.config.mk PYOBJECTS = searx DOC = docs @@ -80,6 +78,8 @@ test.sh: shellcheck -x utils/lib.sh shellcheck -x utils/filtron.sh shellcheck -x utils/searx.sh + shellcheck -x utils/morty.sh + shellcheck -x .config.sh test.pep8: pyenvinstall $(PY_ENV_ACT); ./manage.sh pep8_check -- cgit v1.2.3 From 7751b2955948664076409abaff4d4e4161a31c6f Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sat, 8 Feb 2020 19:12:28 +0100 Subject: LXC: add LXC tooling box (initial, WIP) Signed-off-by: Markus Heiser --- Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 500910d8e..0e1816eb5 100644 --- a/Makefile +++ b/Makefile @@ -75,6 +75,7 @@ test: test.pep8 test.unit test.sh test.robot - make pylint test.sh: + shellcheck -x utils/lxc.sh shellcheck -x utils/lib.sh shellcheck -x utils/filtron.sh shellcheck -x utils/searx.sh -- cgit v1.2.3 From 59e4026762a809fe2a5b5a5a949d7d671f4d989b Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Mon, 17 Feb 2020 18:58:59 +0100 Subject: searx.sh: install settings at /etc/searx/settings.yml Signed-off-by: Markus Heiser --- Makefile | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 0e1816eb5..6cc799f2e 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,11 @@ help: @echo ' gh-pages - build docs & deploy on gh-pages branch' @echo ' clean - drop builds and environments' @echo '' + @echo 'environment' + @echo ' SEARX_URL = $(SEARX_URL)' + @echo ' GIT_URL = $(GIT_URL)' + @echo ' DOCS_URL = $(DOCS_URL)' + @echo '' @$(MAKE) -s -f utils/makefile.include make-help @echo '' @$(MAKE) -s -f utils/makefile.python python-help -- cgit v1.2.3 From d5917cc029e2736b11412a570470c666af093ec9 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Tue, 25 Feb 2020 20:20:17 +0100 Subject: utils/lib.sh: make uWSGI installation available for all distros support: ubuntu, debin, fedora, archlinux Signed-off-by: Markus Heiser --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 1504072a5..f62db2f03 100644 --- a/Makefile +++ b/Makefile @@ -84,11 +84,11 @@ test.pylint: pyenvinstall $(call cmd,pylint,searx/testing.py) test.sh: - shellcheck -x utils/lxc.sh shellcheck -x utils/lib.sh shellcheck -x utils/filtron.sh shellcheck -x utils/searx.sh shellcheck -x utils/morty.sh + shellcheck -x utils/lxc.sh shellcheck -x .config.sh test.pep8: pyenvinstall -- cgit v1.2.3 From 491cb95a1f910e17ac022ddfa73b68aae2fbc6e2 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sun, 1 Mar 2020 18:28:10 +0100 Subject: utils/lxc.env: separate environment that is used in containers Signed-off-by: Markus Heiser --- Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index f62db2f03..1d26ef187 100644 --- a/Makefile +++ b/Makefile @@ -89,6 +89,7 @@ test.sh: shellcheck -x utils/searx.sh shellcheck -x utils/morty.sh shellcheck -x utils/lxc.sh + shellcheck -x utils/lxc.env shellcheck -x .config.sh test.pep8: pyenvinstall -- cgit v1.2.3 From c3e4753ce951f759844db13d98f9ad5b226f84b6 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Mon, 2 Mar 2020 19:00:19 +0100 Subject: docs: generic documentation from the installation scripts Signed-off-by: Markus Heiser --- Makefile | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 1d26ef187..fadf80cdc 100644 --- a/Makefile +++ b/Makefile @@ -60,13 +60,21 @@ run: pyenvinstall # ---- PHONY += docs -docs: pyenvinstall sphinx-doc + +docs: pyenvinstall sphinx-doc prebuild-includes $(call cmd,sphinx,html,docs,docs) PHONY += docs-live -docs-live: pyenvinstall sphinx-live +docs-live: pyenvinstall sphinx-live prebuild-includes $(call cmd,sphinx_autobuild,html,docs,docs) +prebuild-includes: + @mkdir -p $(DOCS_BUILD)/includes + @./utils/searx.sh doc | cat > $(DOCS_BUILD)/includes/searx.rst + @./utils/filtron.sh doc | cat > $(DOCS_BUILD)/includes/filtron.rst + @./utils/morty.sh doc | cat > $(DOCS_BUILD)/includes/morty.rst + + $(GH_PAGES):: @echo "doc available at --> $(DOCS_URL)" -- cgit v1.2.3 From b1e90cff23eae2181d2b430e77471f488947d1a9 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sat, 7 Mar 2020 20:24:08 +0100 Subject: LXC: separate lxc-suite from lxc & improved command line. Signed-off-by: Markus Heiser --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 63e7e97f0..822adb1ae 100644 --- a/Makefile +++ b/Makefile @@ -110,7 +110,7 @@ test.sh: shellcheck -x utils/searx.sh shellcheck -x utils/morty.sh shellcheck -x utils/lxc.sh - shellcheck -x utils/lxc.env + shellcheck -x utils/lxc-searx.env shellcheck -x .config.sh test.pep8: pyenvinstall -- cgit v1.2.3 From f5f83b8a99a45198822f4e382575d3147e652e56 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sun, 8 Mar 2020 18:37:16 +0100 Subject: shellcheck: minor fixes to support all dsitros checked with:: sudo ./utils/lxc.sh cmd -- make test.sh on ubu1804, ubu1910, fedora31 and archlinux. All checks OK except: ubu1604: uses shellcheck v0.3.7 (from 04/2015) which is no longer supported! Signed-off-by: Markus Heiser --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 822adb1ae..ac63842e1 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -*- coding: utf-8; mode: makefile-gmake -*- - +.DEFAULT_GOAL=help include ./.config.mk PYOBJECTS = searx @@ -104,6 +104,7 @@ test.pylint: pyenvinstall $(call cmd,pylint,searx/preferences.py) $(call cmd,pylint,searx/testing.py) +# ubu1604: uses shellcheck v0.3.7 (from 04/2015), no longer supported! test.sh: shellcheck -x utils/lib.sh shellcheck -x utils/filtron.sh -- cgit v1.2.3 From 86e79488aab3ff434c6682a9464ba2eee49158e9 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sun, 15 Mar 2020 17:01:36 +0100 Subject: LXC: utils/makefile.lxc (inital) add /.lxcenv.mk to contaiiners Get LXC environment when building make targets. Signed-off-by: Markus Heiser --- Makefile | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index ac63842e1..d46c96a49 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,12 @@ # -*- coding: utf-8; mode: makefile-gmake -*- .DEFAULT_GOAL=help include ./.config.mk +include utils/makefile.include PYOBJECTS = searx DOC = docs PY_SETUP_EXTRAS ?= \[test\] -PYDIST=./dist/py -PYBUILD=./build/py - -include utils/makefile.include include utils/makefile.python include utils/makefile.sphinx @@ -32,9 +29,9 @@ help: @echo ' GIT_URL = $(GIT_URL)' @echo ' DOCS_URL = $(DOCS_URL)' @echo '' - @$(MAKE) -s -f utils/makefile.include make-help + @$(MAKE) -e -s -f utils/makefile.include make-help @echo '' - @$(MAKE) -s -f utils/makefile.python python-help + @$(MAKE) -e -s -f utils/makefile.python python-help PHONY += install install: pyenvinstall @@ -43,7 +40,7 @@ PHONY += uninstall uninstall: pyenvuninstall PHONY += clean -clean: pyclean +clean: pyclean docs-clean $(call cmd,common_clean) PHONY += run -- cgit v1.2.3 From 2d956696e94e5639db6e12648442989919c48c22 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sat, 21 Mar 2020 18:45:38 +0100 Subject: docs: building (PDF) books / build user book BTW: cleaned up Makefile target help Signed-off-by: Markus Heiser --- Makefile | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index d46c96a49..84f0ac24b 100644 --- a/Makefile +++ b/Makefile @@ -12,8 +12,13 @@ include utils/makefile.sphinx all: clean install -PHONY += help -help: +PHONY += help-min help-all help + +help: help-min + @echo '' + @echo 'to get more help: make help-all' + +help-min: @echo ' test - run developer tests' @echo ' docs - build documentation' @echo ' docs-live - autobuild HTML documentation while editing' @@ -29,9 +34,13 @@ help: @echo ' GIT_URL = $(GIT_URL)' @echo ' DOCS_URL = $(DOCS_URL)' @echo '' - @$(MAKE) -e -s -f utils/makefile.include make-help + @$(MAKE) -e -s make-help + +help-all: help-min + @echo '' + @$(MAKE) -e -s python-help @echo '' - @$(MAKE) -e -s -f utils/makefile.python python-help + @$(MAKE) -e -s docs-help PHONY += install install: pyenvinstall -- cgit v1.2.3 From 7b4cf2eb489d8f6c95ccac5af180254b78e7c460 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sun, 29 Mar 2020 15:09:34 +0200 Subject: tooling box: simplify build enviroments - no more need for a .config.mk - docs: use searx.brands environment - searx.sh, filtron.sh & morty.sh are sourcing utils/brand.env Signed-off-by: Markus Heiser --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index acff120f3..335fa8efd 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,10 @@ # -*- coding: utf-8; mode: makefile-gmake -*- .DEFAULT_GOAL=help -include ./.config.mk + +export GIT_URL=https://github.com/asciimoo/searx +export SEARX_URL=https://searx.me +export DOCS_URL=https://asciimoo.github.io/searx + include utils/makefile.include PYOBJECTS = searx -- cgit v1.2.3 From 0742c2504dae04ac054d263de8a2b8ab6161312c Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sun, 29 Mar 2020 16:28:17 +0200 Subject: build environment: add GIT_BRANCH variable Signed-off-by: Markus Heiser --- Makefile | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 335fa8efd..3c1bbdc66 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,7 @@ .DEFAULT_GOAL=help export GIT_URL=https://github.com/asciimoo/searx +export GIT_BRANCH=master export SEARX_URL=https://searx.me export DOCS_URL=https://asciimoo.github.io/searx @@ -114,12 +115,14 @@ useragents.update: pyenvinstall searx.brand: $(Q)echo "build searx/brand.py" $(Q)echo "GIT_URL = '$(GIT_URL)'" > searx/brand.py + $(Q)echo "GIT_BRANCH = '$(GIT_BRANCH)'" >> searx/brand.py $(Q)echo "ISSUE_URL = 'https://github.com/asciimoo/searx/issues'" >> searx/brand.py $(Q)echo "SEARX_URL = '$(SEARX_URL)'" >> searx/brand.py $(Q)echo "DOCS_URL = '$(DOCS_URL)'" >> searx/brand.py $(Q)echo "PUBLIC_INSTANCES = 'https://searx.space'" >> searx/brand.py $(Q)echo "build utils/brand.env" $(Q)echo "export GIT_URL='$(GIT_URL)'" > utils/brand.env + $(Q)echo "export GIT_BRANCH='$(GIT_BRANCH)'" >> utils/brand.env $(Q)echo "export ISSUE_URL='https://github.com/asciimoo/searx/issues'" >> utils/brand.env $(Q)echo "export SEARX_URL='$(SEARX_URL)'" >> utils/brand.env $(Q)echo "export DOCS_URL='$(DOCS_URL)'" >> utils/brand.env -- cgit v1.2.3 From 5e2b161379420acd39e0474bb7f59545df7e1f3a Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sun, 29 Mar 2020 16:46:07 +0200 Subject: Makefile: marginal fix Signed-off-by: Markus Heiser --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 3c1bbdc66..60d31690c 100644 --- a/Makefile +++ b/Makefile @@ -79,7 +79,7 @@ PHONY += docs docs: pyenvinstall sphinx-doc prebuild-includes $(call cmd,sphinx,html,docs,docs) -PHONY += docs-live +PHONY += docs-live prebuild-includes docs-live: pyenvinstall sphinx-live prebuild-includes $(call cmd,sphinx_autobuild,html,docs,docs) -- cgit v1.2.3 From 3e4d022d0425e4f7647573c97f105aa5208e5537 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Mon, 30 Mar 2020 11:03:46 +0200 Subject: [fix] make test.sh: fix various shellcheck error messages Signed-off-by: Markus Heiser --- Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 60d31690c..8fa8e4f85 100644 --- a/Makefile +++ b/Makefile @@ -219,6 +219,7 @@ test.pylint: pyenvinstall # ubu1604: uses shellcheck v0.3.7 (from 04/2015), no longer supported! test.sh: + shellcheck -x -s bash utils/brand.env shellcheck -x utils/lib.sh shellcheck -x utils/filtron.sh shellcheck -x utils/searx.sh -- cgit v1.2.3 From 4e307edb2d3e5a726d78d73dea1ebe4b9d831615 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Mon, 30 Mar 2020 13:31:13 +0200 Subject: docs: document Makefile setup and 'buildenv' (aka brand) Add documentation of the Makefile environment (aka brand, buildenv), introduced in PR #1900. Signed-off-by: Markus Heiser --- Makefile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index d2c7438b7..73279ad25 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,12 @@ # -*- coding: utf-8; mode: makefile-gmake -*- .DEFAULT_GOAL=help +# START Makefile setup export GIT_URL=https://github.com/asciimoo/searx export GIT_BRANCH=master export SEARX_URL=https://searx.me export DOCS_URL=https://asciimoo.github.io/searx +# END Makefile setup include utils/makefile.include -- cgit v1.2.3 From 15924bcb67680933f6ef71ddc3cd910fed62fbbd Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Thu, 18 Jun 2020 18:44:22 +0200 Subject: [fix] buildprocess of the docs by adding sphinx-doc-prebuilds target The sphinx-doc-prebuilds is the single point of definition for prerequisites each doc build needs BTW: remove $(LXC_ENV_FOLDER) offset from BOOKS_FOLDER and DOCS_FOLDER path. Signed-off-by: Markus Heiser --- Makefile | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index aefd005f4..d10bd9dbf 100644 --- a/Makefile +++ b/Makefile @@ -77,19 +77,22 @@ run: buildenv pyenvinstall # docs # ---- +sphinx-doc-prebuilds:: buildenv pyenvinstall prebuild-includes + PHONY += docs -docs: buildenv pyenvinstall sphinx-doc prebuild-includes +docs: sphinx-doc-prebuilds sphinx-doc $(call cmd,sphinx,html,docs,docs) -PHONY += docs-live prebuild-includes -docs-live: buildenv pyenvinstall sphinx-live prebuild-includes +PHONY += docs-live +docs-live: sphinx-doc-prebuilds sphinx-live $(call cmd,sphinx_autobuild,html,docs,docs) +PHONY += prebuild-includes prebuild-includes: - @mkdir -p $(DOCS_BUILD)/includes - @./utils/searx.sh doc | cat > $(DOCS_BUILD)/includes/searx.rst - @./utils/filtron.sh doc | cat > $(DOCS_BUILD)/includes/filtron.rst - @./utils/morty.sh doc | cat > $(DOCS_BUILD)/includes/morty.rst + $(Q)mkdir -p $(DOCS_BUILD)/includes + $(Q)./utils/searx.sh doc | cat > $(DOCS_BUILD)/includes/searx.rst + $(Q)./utils/filtron.sh doc | cat > $(DOCS_BUILD)/includes/filtron.rst + $(Q)./utils/morty.sh doc | cat > $(DOCS_BUILD)/includes/morty.rst $(GH_PAGES):: -- cgit v1.2.3