summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2021-07-30 09:43:17 +0200
committerAlexandre Flament <alex@al-f.net>2021-07-30 14:53:09 +0200
commit5b3eeb6e54d4b88adccdf847c32d8102ff6202a5 (patch)
treec39447c57c766eaed901f3f58743fcbe9f3b3d1a /utils
parent85e0908e4fa2f7b5dea6095b73eea51f0996f47b (diff)
downloadsearxng-5b3eeb6e54d4b88adccdf847c32d8102ff6202a5.tar.gz
searxng-5b3eeb6e54d4b88adccdf847c32d8102ff6202a5.zip
[mod] searx.sh - improve some messages prompted while installation
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'utils')
-rwxr-xr-xutils/searx.sh35
1 files changed, 27 insertions, 8 deletions
diff --git a/utils/searx.sh b/utils/searx.sh
index 1d08ed5f8..3ebe5df11 100755
--- a/utils/searx.sh
+++ b/utils/searx.sh
@@ -213,20 +213,26 @@ main() {
*) usage "$_usage"; exit 42;;
esac ;;
install)
- rst_title "SearXNG (install)" part
sudo_or_exit
case $2 in
- all) install_all ;;
+ all)
+ rst_title "SearXNG (install)" part
+ install_all
+ ;;
user)
+ rst_title "SearXNG (install user)"
verify_continue_install
assert_user
;;
pyenv)
+ rst_title "SearXNG (install pyenv)"
verify_continue_install
create_pyenv
;;
searx-src)
+ rst_title "SearXNG (install searx-src)"
verify_continue_install
+ assert_user
clone_searx
install_DOT_CONFIG
init_SEARX_SRC
@@ -241,6 +247,7 @@ main() {
install_settings
;;
uwsgi)
+ rst_title "SearXNG (install uwsgi)"
verify_continue_install
install_searx_uwsgi
if ! service_is_available "http://${SEARX_INTERNAL_HTTP}"; then
@@ -248,9 +255,11 @@ main() {
fi
;;
packages)
+ rst_title "SearXNG (install packages)"
pkg_install "$SEARX_PACKAGES"
;;
buildhost)
+ rst_title "SearXNG (install buildhost)"
pkg_install "$SEARX_PACKAGES"
pkg_install "$BUILD_PACKAGES"
;;
@@ -377,6 +386,11 @@ installations that were installed with this script."
assert_user() {
rst_title "user $SERVICE_USER" section
echo
+ if getent passwd "$SERVICE_USER" > /dev/null; then
+ echo "user exists"
+ return 0
+ fi
+
tee_stderr 1 <<EOF | bash | prefix_stdout
useradd --shell /bin/bash --system \
--home-dir "$SERVICE_HOME" \
@@ -437,26 +451,30 @@ prompt_installation_status(){
state="$(install_searx_get_state)"
case $state in
- missing-searx-clone)
+ missing-searx-clone|missing-searx-pyenv)
info_msg "${_BBlue}(status: $(install_searx_get_state))${_creset}"
return 0
;;
*)
- warn_msg "SearXNG instance already installed at: $SEARX_SRC"
- warn_msg "status: ${_BBlue}$(install_searx_get_state)${_creset} "
+ info_msg "SearXNG instance already installed at: $SEARX_SRC"
+ info_msg "status: ${_BBlue}$(install_searx_get_state)${_creset} "
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)"
+
+ ret_val=0
if ! [ "$GIT_URL" = "$remote_url" ]; then
warn_msg "instance's git URL: '${GIT_URL}'" \
"differs from local clone's remote URL: ${remote_url}"
+ ret_val=42
fi
if ! [ "$GIT_BRANCH" = "$branch" ]; then
warn_msg "instance git branch: ${GIT_BRANCH}" \
"differs from local clone's branch: ${branch}"
+ ret_val=42
fi
- return 42
+ return $ret_val
;;
esac
}
@@ -530,20 +548,21 @@ init_SEARX_SRC(){
fi
echo
- echo "Manipulating files like settings.yml can break existing installation!"
echo "Update instance with file(s) from: ${REPO_ROOT}"
echo
for i in "${SEARX_SRC_INIT_FILES[@]}"; do
echo "- $i"
done
+ echo
+ echo "Be careful when modifying an existing installation."
if ! ask_yn "Do you really want to update these files in the instance?" Yn; then
return 42
fi
for fname in "${SEARX_SRC_INIT_FILES[@]}"; do
while true; do
choose_one _reply "choose next step with file ${fname}" \
- "leave file unchanged" \
"replace file" \
+ "leave file unchanged" \
"diff files" \
"interactive shell"