From 41c6732eff84beba27c09b61df9e089a9992bb16 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 9 Oct 2014 13:49:15 -0500 Subject: Update lazyserver to use paste or gunicorn conditionally Also get rid of env.in, we're not using that for now. --- .gitignore | 1 + configure.ac | 6 ++-- env.in | 4 --- lazystarter.sh | 81 ------------------------------------------------- lazystarter.sh.in | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 95 insertions(+), 88 deletions(-) delete mode 100644 env.in delete mode 100755 lazystarter.sh create mode 100644 lazystarter.sh.in diff --git a/.gitignore b/.gitignore index 851805a0..bec063de 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,7 @@ /env /paste.ini /mediagoblin.ini +/lazystarter.sh # pyconfigure/automake generated files /Makefile diff --git a/configure.ac b/configure.ac index b998fabd..3784fd42 100644 --- a/configure.ac +++ b/configure.ac @@ -80,12 +80,12 @@ AC_ARG_WITH([python3], [with_python3=no]) AS_IF([test "x$with_python3" != xno], AC_CHECK_PROGS([PYTHON], [python3.3], [none]) - AC_SUBST([USE_PYTHON3], [yes]) + AC_SUBST([USE_PYTHON3], [true]) AS_IF([test "x$PYTHON" = xnone], [AC_MSG_FAILURE( [--with-python3 given but no acceptable python3 (3.3) could be found])]), AC_CHECK_PROGS([PYTHON], [python2.7 python2.6], [none]) - AC_SUBST([USE_PYTHON3], [no]) + AC_SUBST([USE_PYTHON3], [false]) AS_IF([test "x$PYTHON" = xnone], [AC_MSG_FAILURE( [No acceptable python (2.7, 2.6) could be found])])) @@ -435,7 +435,7 @@ dnl######### dnl Define the files to be configured AC_CONFIG_FILES([Makefile]) -AC_CONFIG_FILES([env], [chmod +x env]) +AC_CONFIG_FILES([lazystarter.sh], [chmod +x lazystarter.sh]) dnl Generate config.status AC_OUTPUT diff --git a/env.in b/env.in deleted file mode 100644 index 9dc12088..00000000 --- a/env.in +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -our_python=@PYTHON@ - diff --git a/lazystarter.sh b/lazystarter.sh deleted file mode 100755 index 3a4efd25..00000000 --- a/lazystarter.sh +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/sh - -# GNU MediaGoblin -- federated, autonomous media hosting -# Copyright (C) 2011 Free Software Foundation, Inc -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - -selfname=$(basename "$0") -local_bin="./bin" -case "$selfname" in - lazyserver.sh) - starter_cmd=gunicorn - ini_prefix=paste - ;; - lazycelery.sh) - starter_cmd=celeryd - ini_prefix=mediagoblin - ;; - *) - echo "Start this script with the name lazyserver.sh or lazycelery.sh">&2 - exit 1 - ;; -esac - -if [ "$1" = "-h" ]; then - echo "$0 [-h] [-c filename.ini] [ARGS_to_${starter_cmd} ...]" - echo "" - echo " For Gunicorn settings, see at:" - echo " http://docs.gunicorn.org/en/19.0/settings.html" - echo "" - echo " The configfile defaults to ${ini_prefix}_local.ini," - echo " if that is readable, otherwise ${ini_prefix}.ini." - exit 1 -fi - -if [ "$1" = "-c" ]; then - ini_file=$2 - shift; shift -elif [ -r "${ini_prefix}_local.ini" ]; then - ini_file="${ini_prefix}_local.ini" -else - ini_file="${ini_prefix}.ini" -fi - -echo "Using ${starter_cmd} config: ${ini_file}" - -if [ -f "${local_bin}/${starter_cmd}" ]; then - echo "Using ${local_bin}/${starter_cmd}" - starter="${local_bin}/${starter_cmd}" -elif which "${starter_cmd}" > /dev/null; then - echo "Using ${starter_cmd} from \$PATH" - starter=$starter_cmd -else - echo "No ${starter_cmd} found, exiting! X_X" - exit 1 -fi - -set -x -export CELERY_ALWAYS_EAGER=true -case "$selfname" in - lazyserver.sh) - $starter --paste "$ini_file" --log-file=- $@ - ;; - lazycelery.sh) - MEDIAGOBLIN_CONFIG="${ini_file}" \ - CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery \ - $starter -B "$@" - ;; - *) exit 1 ;; -esac diff --git a/lazystarter.sh.in b/lazystarter.sh.in new file mode 100644 index 00000000..218f738f --- /dev/null +++ b/lazystarter.sh.in @@ -0,0 +1,91 @@ +#!/bin/sh + +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011 Free Software Foundation, Inc +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +use_python3=@USE_PYTHON3@ + +selfname=$(basename "$0") +local_bin="./bin" +case "$selfname" in + lazyserver.sh) + if $use_python3; then + starter_cmd=gunicorn; + else + starter_cmd=paster; + fi + ini_prefix=paste + ;; + lazycelery.sh) + starter_cmd=celeryd + ini_prefix=mediagoblin + ;; + *) + echo "Start this script with the name lazyserver.sh or lazycelery.sh">&2 + exit 1 + ;; +esac + +if [ "$1" = "-h" ]; then + echo "$0 [-h] [-c filename.ini] [ARGS_to_${starter_cmd} ...]" + echo "" + echo " For Gunicorn settings, see at:" + echo " http://docs.gunicorn.org/en/19.0/settings.html" + echo "" + echo " The configfile defaults to ${ini_prefix}_local.ini," + echo " if that is readable, otherwise ${ini_prefix}.ini." + exit 1 +fi + +if [ "$1" = "-c" ]; then + ini_file=$2 + shift; shift +elif [ -r "${ini_prefix}_local.ini" ]; then + ini_file="${ini_prefix}_local.ini" +else + ini_file="${ini_prefix}.ini" +fi + +echo "Using ${starter_cmd} config: ${ini_file}" + +if [ -f "${local_bin}/${starter_cmd}" ]; then + echo "Using ${local_bin}/${starter_cmd}" + starter="${local_bin}/${starter_cmd}" +elif which "${starter_cmd}" > /dev/null; then + echo "Using ${starter_cmd} from \$PATH" + starter=$starter_cmd +else + echo "No ${starter_cmd} found, exiting! X_X" + exit 1 +fi + +set -x +export CELERY_ALWAYS_EAGER=true +case "$selfname" in + lazyserver.sh) + if $use_python3; then + $starter --paste "$ini_file" --log-file=- $@; + else + $starter serve "$ini_file" "$@" --reload; + fi + ;; + lazycelery.sh) + MEDIAGOBLIN_CONFIG="${ini_file}" \ + CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery \ + $starter -B "$@" + ;; + *) exit 1 ;; +esac -- cgit v1.2.3