@@ -693,12 +693,46 @@ apache_dissable_site() {
694uWSGI_SETUP="${uWSGI_SETUP:=/etc/uwsgi}"
694uWSGI_SETUP="${uWSGI_SETUP:=/etc/uwsgi}"
696+case $DIST_ID-$DIST_VERS in
698+ # init.d --> /usr/share/doc/uwsgi/README.Debian.gz
699+ uWSGI_APPS_AVAILABLE="${uWSGI_SETUP}/apps-available"
700+ uWSGI_APPS_ENABLED="${uWSGI_SETUP}/apps-enabled"
703+ # systemd --> /usr/lib/systemd/system/uwsgi@.service
704+ uWSGI_APPS_AVAILABLE="${uWSGI_SETUP}"
705+ uWSGI_APPS_ENABLED="${uWSGI_SETUP}"
708+ info_msg "$DIST_ID-$DIST_VERS: uWSGI not yet implemented"
696uWSGI_restart() {
712uWSGI_restart() {
698− # usage: uWSGI_restart()
714+ # usage: uWSGI_restart() <myapp.ini>
717+ if [[ -z $CONF ]]; then
718+ err_msg "uWSGI_restart: missing arguments"
700 info_msg "restart uWSGI service"
722 info_msg "restart uWSGI service"
724+ case $DIST_ID-$DIST_VERS in
726+ service uwsgi restart "${CONF%.*}"
701− systemctl restart uwsgi
729+ systemctl restart "uwsgi@${CONF%.*}"
732+ err_msg "$DIST_ID-$DIST_VERS: uWSGI not yet implemented"
704uWSGI_app_available() {
738uWSGI_app_available() {
@@ -708,7 +742,7 @@ uWSGI_app_available() {
708 err_msg "uWSGI_app_available: missing arguments"
742 err_msg "uWSGI_app_available: missing arguments"
709 return 42
743 return 42
711− [[ -f "${uWSGI_SETUP}/apps-available/${CONF}" ]]
745+ [[ -f "${uWSGI_APPS_AVAILABLE}/${CONF}" ]]
714uWSGI_install_app() {
748uWSGI_install_app() {
@@ -725,13 +759,12 @@ uWSGI_install_app() {
725 *) pos_args+=("$i");;
759 *) pos_args+=("$i");;
728−
762+ mkdir -p "${uWSGI_APPS_AVAILABLE}"
729 install_template "${template_opts[@]}" \
763 install_template "${template_opts[@]}" \
730− "${uWSGI_SETUP}/apps-available/${pos_args[1]}" \
764+ "${uWSGI_APPS_AVAILABLE}/${pos_args[1]}" \
731 root root 644
765 root root 644
733 uWSGI_enable_app "${pos_args[1]}"
766 uWSGI_enable_app "${pos_args[1]}"
734− uWSGI_restart
767+ uWSGI_restart "${pos_args[1]}"
735 info_msg "installed uWSGI app: ${pos_args[1]}"
768 info_msg "installed uWSGI app: ${pos_args[1]}"
@@ -742,18 +775,35 @@ uWSGI_remove_app() {
742 local CONF="$1"
775 local CONF="$1"
743 info_msg "remove uWSGI app: ${CONF}"
776 info_msg "remove uWSGI app: ${CONF}"
744 uWSGI_disable_app "${CONF}"
777 uWSGI_disable_app "${CONF}"
745− uWSGI_restart
778+ uWSGI_restart "${CONF}"
746− rm -f "${uWSGI_SETUP}/apps-available/${CONF}"
779+ rm -f "${uWSGI_APPS_AVAILABLE}/${CONF}"
749uWSGI_app_enabled() {
782uWSGI_app_enabled() {
750 # usage: uWSGI_app_enabled <myapp.ini>
783 # usage: uWSGI_app_enabled <myapp.ini>
751 local CONF="$1"
785 local CONF="$1"
752 if [[ -z $CONF ]]; then
787 if [[ -z $CONF ]]; then
753 err_msg "uWSGI_app_enabled: missing arguments"
788 err_msg "uWSGI_app_enabled: missing arguments"
754 return 42
789 return 42
791+ case $DIST_ID-$DIST_VERS in
793+ [[ -f "${uWSGI_APPS_ENABLED}/${CONF}" ]]
756− [[ -f "${uWSGI_SETUP}/apps-enabled/${CONF}" ]]
797+ systemctl -q is-enabled "uwsgi@${CONF%.*}"
802+ err_msg "$DIST_ID-$DIST_VERS: uWSGI not yet implemented"
759# shellcheck disable=SC2164
809# shellcheck disable=SC2164
@@ -762,16 +812,29 @@ uWSGI_enable_app() {
762 # usage: uWSGI_enable_app <myapp.ini>
812 # usage: uWSGI_enable_app <myapp.ini>
764 local CONF="$1"
814 local CONF="$1"
765 if [[ -z $CONF ]]; then
816 if [[ -z $CONF ]]; then
766 err_msg "uWSGI_enable_app: missing arguments"
817 err_msg "uWSGI_enable_app: missing arguments"
767 return 42
818 return 42
769− pushd "${uWSGI_SETUP}/apps-enabled" >/dev/null
820+
821+ case $DIST_ID-$DIST_VERS in
823+ mkdir -p "${uWSGI_APPS_ENABLED}"
824+ pushd "${uWSGI_APPS_ENABLED}" >/dev/null
770− rm -f "$CONF"
825+ rm -f "$CONF"
771− # shellcheck disable=SC2226
826+ ln -s "${uWSGI_APPS_AVAILABLE}/${CONF}" .
772− ln -s "../apps-available/${CONF}"
827+ popd >/dev/null
773− info_msg "enabled uWSGI app: ${CONF} (restart uWSGI required)"
828+ info_msg "enabled uWSGI app: ${CONF} (restart required)"
774− popd >/dev/null
829+ ;;
831+ systemctl enable "uwsgi@${CONF%.*}"
835+ err_msg "$DIST_ID-$DIST_VERS: uWSGI not yet implemented"
777uWSGI_disable_app() {
840uWSGI_disable_app() {
@@ -783,11 +846,22 @@ uWSGI_disable_app() {
783 err_msg "uWSGI_enable_app: missing arguments"
846 err_msg "uWSGI_enable_app: missing arguments"
784 return 42
847 return 42
786− rm -f "${uWSGI_SETUP}/apps-enabled/${CONF}"
849+
787− # FIXME: restart uwsgi service won't stop wsgi forked processes of user searx.
850+ case $DIST_ID-$DIST_VERS in
788− # I had to kill them manually here ...
851+ ubuntu-*|debian-*)
789− pkill -f "${uWSGI_SETUP}/apps-enabled/${CONF}" -9
852+ service uwsgi stop "${CONF%.*}"
853+ rm -f "${uWSGI_APPS_ENABLED}/${CONF}"
790− info_msg "disabled uWSGI app: ${CONF} (restart uWSGI required)"
854+ info_msg "disabled uWSGI app: ${CONF} (restart uWSGI required)"
857+ systemctl stop "uwsgi@${CONF%.*}"
858+ systemctl disable "uwsgi@${CONF%.*}"
862+ err_msg "$DIST_ID-$DIST_VERS: uWSGI not yet implemented"
793# distro's package manager
867# distro's package manager