summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2021-04-27 13:02:55 +0200
committerMarkus Heiser <markus.heiser@darmarit.de>2021-04-27 13:02:55 +0200
commit3bd2f3dc81469a6a7f31a7096677fc11ed06ed30 (patch)
tree691eee3feedb713a59fb9f6fdf10baf317d24f7d
parent9b482e8fccfc5e5504e4c8abdb60ce5c11678018 (diff)
downloadsearxng-3bd2f3dc81469a6a7f31a7096677fc11ed06ed30.tar.gz
searxng-3bd2f3dc81469a6a7f31a7096677fc11ed06ed30.zip
[fix] manage - fix miss usage of 'set -e'
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>
-rwxr-xr-xmanage17
1 files changed, 10 insertions, 7 deletions
diff --git a/manage b/manage
index f42075b28..3ff1a6f88 100755
--- a/manage
+++ b/manage
@@ -343,14 +343,17 @@ pyenv.install() {
if pyenv.install.OK > /dev/null; then
return 0
fi
- pyenv
- pyenv.OK || die 42 "error while build pyenv (${PY_ENV_BIN})"
( set -e
- build_msg PYENV "[install] pip install -e 'searx${PY_SETUP_EXTRAS}'"
- "${PY_ENV_BIN}/python" -m pip install -e ".${PY_SETUP_EXTRAS}"
- buildenv
- ) || die 42 "error while pip install (${PY_ENV_BIN})"
+ pyenv
+ build_msg PYENV "[install] pip install -e 'searx${PY_SETUP_EXTRAS}'"
+ "${PY_ENV_BIN}/python" -m pip install -e ".${PY_SETUP_EXTRAS}"
+ buildenv
+ )
+ local exit_val=$?
+ if [ ! $exit_val -eq 0 ]; then
+ die 42 "error while pip install (${PY_ENV_BIN})"
+ fi
}
pyenv.uninstall() {
@@ -462,7 +465,7 @@ themes.simple() {
PYLINT_FILES=()
while IFS= read -r line; do
PYLINT_FILES+=("$line")
-done <<< $(pylint.FILES)
+done <<< "$(pylint.FILES)"
# shellcheck disable=SC2119
main() {