summaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2013-03-07 20:54:51 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2013-03-07 20:54:51 +0000
commit2f5fa4664c4f4e25181a71ff032fe9fdb0bb5e35 (patch)
tree5ef2a216d30e16b6418f04126ef667cbd79e8740 /testing
parent171ac82c086daabeed1718ed036291caa3bf8954 (diff)
downloadaports-fcolista-2f5fa4664c4f4e25181a71ff032fe9fdb0bb5e35.tar.bz2
aports-fcolista-2f5fa4664c4f4e25181a71ff032fe9fdb0bb5e35.tar.xz
testing/uwsgi: add init.d script
Diffstat (limited to 'testing')
-rw-r--r--testing/uwsgi/APKBUILD26
-rw-r--r--testing/uwsgi/uwsgi.confd63
-rw-r--r--testing/uwsgi/uwsgi.initd144
3 files changed, 227 insertions, 6 deletions
diff --git a/testing/uwsgi/APKBUILD b/testing/uwsgi/APKBUILD
index 7bcc28613b..c724f1b38a 100644
--- a/testing/uwsgi/APKBUILD
+++ b/testing/uwsgi/APKBUILD
@@ -1,15 +1,18 @@
# Contributor: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
-# Maintainer:
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=uwsgi
pkgver=1.4.8
-pkgrel=1
+pkgrel=2
pkgdesc="uWSGI application container server"
url=http://projects.unbit.it/uwsgi/
arch=all
license=GPL-2
makedepends="linux-headers lua-dev python python-dev zeromq-dev"
subpackages="uwsgi-lua uwsgi-python:py"
-source="http://projects.unbit.it/downloads/uwsgi-${pkgver}.tar.gz futimes.patch include-sched.patch lua-cache-update.patch"
+source="http://projects.unbit.it/downloads/uwsgi-${pkgver}.tar.gz
+ futimes.patch include-sched.patch lua-cache-update.patch
+ uwsgi.initd uwsgi.confd
+ "
_builddir=$srcdir/$pkgname-$pkgver
prepare() {
@@ -47,6 +50,11 @@ package() {
local libdir=$pkgdir/usr/lib/uwsgi
install -d "$libdir"
install *_plugin.so "$libdir"
+
+ install -Dm755 "$srcdir"/uwsgi.initd \
+ "$pkgdir"/etc/init.d/uwsgi || return 1
+ install -Dm644 "$srcdir"/uwsgi.confd \
+ "$pkgdir"/etc/conf.d/uwsgi || return 1
}
lua() {
@@ -66,12 +74,18 @@ py() {
md5sums="10af354eccaae9c447bd5bdc69bcce12 uwsgi-1.4.8.tar.gz
2c9aeb5b2adf1fa45ef4ed6bda47236a futimes.patch
02c43e001d5f44eb421079e17f9db003 include-sched.patch
-3bba1063b54043561f520d6986e35057 lua-cache-update.patch"
+3bba1063b54043561f520d6986e35057 lua-cache-update.patch
+8a8be061d7b5f3108a0f16813da68389 uwsgi.initd
+3d6afe6a8c52556d1d6c52384fc38d9a uwsgi.confd"
sha256sums="3c35893927a065ed89775cf5a8f66f66d71b060618f4611efbcca76e520aac37 uwsgi-1.4.8.tar.gz
9ad8375325195e577e6b91a1cf7539817b58fbb4efef248d01a4b704a0e8749f futimes.patch
25cb58a02a9f1f62be227592a31152e960f51d44a9e9d14751375a9468152e90 include-sched.patch
-fe79c823399c750618572531e8c9ccfa2394da329ce16516af79887f493c1a2d lua-cache-update.patch"
+fe79c823399c750618572531e8c9ccfa2394da329ce16516af79887f493c1a2d lua-cache-update.patch
+58b998b025e4a9df20ca917bc93e287f9a8cf02d278d513fa461f70e1d08f799 uwsgi.initd
+4cb047e311aecd0f498da1d6a4c0947dd6dc7cc98575d54cb2ef150cacf8425c uwsgi.confd"
sha512sums="7ead90c0740db0ebc28256b312a98e8de610b62cc82504c738cc2f3d2b0819ae673eb1875ea31abc3e511dc76db9af9fb15f4d1ae2a62f6b67b2a5966cfe2bab uwsgi-1.4.8.tar.gz
9e867a3483197adb5ab99334d0e9f092dab44201ddbead99a4649309fd0584e6793531a147e096459984d26d0a73754688426df1fb4686c041d3889f3d29fdef futimes.patch
d454dcc5ee0a121ff44584e0da98055e6596e8a750315fe4ce6a5fbc615697b2a19b9b32c51ac9878587a855ec3f072e87a3e4e097a8b743699f58ed0d84ec0f include-sched.patch
-baf97b56448c8a38334036b11c4fb36805ccfb3b867443afe3b1ee5b91bf10981d61f690184e51fa9e492b6318b657530e2f3f11d803dce17cef1a16c56719ab lua-cache-update.patch"
+baf97b56448c8a38334036b11c4fb36805ccfb3b867443afe3b1ee5b91bf10981d61f690184e51fa9e492b6318b657530e2f3f11d803dce17cef1a16c56719ab lua-cache-update.patch
+ab9dc6277bd05821287f6f8beb3ac2504f0e41db38e11b4d2884ac026f14ac7bfaaca138f045afa712d4f2843f94de105bf0d43fad35d18679ac33b507cd187e uwsgi.initd
+9f00afb2aa574bbc59040f945475712b8c40da0c06eeb5699de5510aa116148e35ab0429fa891084cf0cd7868876d5a80e1601b7c85d0e2e9ea2a1f54cdde619 uwsgi.confd"
diff --git a/testing/uwsgi/uwsgi.confd b/testing/uwsgi/uwsgi.confd
new file mode 100644
index 0000000000..7759361981
--- /dev/null
+++ b/testing/uwsgi/uwsgi.confd
@@ -0,0 +1,63 @@
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/files/uwsgi.confd-r3,v 1.1 2013/03/01 09:50:06 ultrabug Exp $
+
+# YOU SHOULD ONLY MODIFY THIS FILE IF YOU USE THE UWSGI EMPEROR MODE!
+# IF YOU WANT TO RUN A SINGLE APP INSTANCE, CREATE A COPY AND MODIFY THAT INSTEAD!
+
+# Path (or name) of UNIX/TCP socket to bind to
+# Example : UWSGI_SOCKET=127.0.0.1:1234
+UWSGI_SOCKET=
+
+# Enable threads? (1 = yes, 0 = no). The default is 0
+#
+UWSGI_THREADS=0
+
+# The path to your uWSGI application.
+#
+UWSGI_PROGRAM=
+
+# The path to your uWSGI xml config file.
+#
+UWSGI_XML_CONFIG=
+
+# The number of child processes to spawn. The default is 1.
+#
+UWSGI_PROCESSES=1
+
+# The log file path. If empty, log only errors
+#
+UWSGI_LOG_FILE=
+
+# If you want to run your application inside a chroot then specify the
+# directory here. Leave this blank otherwise.
+#
+UWSGI_CHROOT=
+
+# If you want to run your application from a specific directiory specify
+# it here. Leave this blank otherwise.
+#
+UWSGI_DIR=
+
+# The user to run your application as. If you do not specify these,
+# the application will be run as user root.
+#
+UWSGI_USER=
+
+# The group to run your application as. If you do not specify these,
+# the application will be run as group root.
+#
+UWSGI_GROUP=
+
+# Run the uwsgi emperor which loads vassals dynamically from this PATH
+# see http://projects.unbit.it/uwsgi/wiki/Emperor
+# The advised Gentoo folder is /etc/uwsgi.d/
+UWSGI_EMPEROR_PATH=
+
+# The group the emperor should run as. This is different from the UWSGI_GROUP
+# as you could want your apps share some sockets with other processes such as
+# www servers while preserving your emperor logs from being accessible by them.
+UWSGI_EMPEROR_GROUP=
+
+# Additional options you might want to pass to uWSGI
+#
+UWSGI_EXTRA_OPTIONS=
diff --git a/testing/uwsgi/uwsgi.initd b/testing/uwsgi/uwsgi.initd
new file mode 100644
index 0000000000..15ae1a8a90
--- /dev/null
+++ b/testing/uwsgi/uwsgi.initd
@@ -0,0 +1,144 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/uwsgi/files/uwsgi.initd-r3,v 1.1 2013/03/01 09:50:06 ultrabug Exp $
+
+PROGNAME=${SVCNAME#*.}
+
+UWSGI_EXEC=/usr/bin/uwsgi
+if [ "${SVCNAME}" == "uwsgi" ]; then
+ PIDPATH=/var/run/uwsgi
+else
+ PIDPATH="/var/run/uwsgi_${PROGNAME}"
+fi
+PIDFILE="${PIDPATH}/${PROGNAME}.pid"
+
+extra_started_commands="${opts} reload stats"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath -d -m 0750 -o "${UWSGI_USER}":"${UWSGI_GROUP}" "${PIDPATH}"
+}
+
+start_emperor() {
+ local OPTIONS
+ OPTIONS="--daemonize"
+
+ if [ -n "${UWSGI_LOG_FILE}" ]; then
+ OPTIONS="${OPTIONS} ${UWSGI_LOG_FILE}"
+ else
+ OPTIONS="${OPTIONS} /dev/null --disable-logging"
+ fi
+
+ [ -z "${UWSGI_DIR}" ] && UWSGI_DIR="/"
+ [ -z "${UWSGI_USER}" ] && UWSGI_USER="root"
+ [ -z "${UWSGI_GROUP}" ] && UWSGI_GROUP="root"
+
+ if [ -n "${UWSGI_EXTRA_OPTIONS}" ]; then
+ OPTIONS="${OPTIONS} ${UWSGI_EXTRA_OPTIONS}"
+ fi
+
+ ebegin "Starting uWSGI emperor"
+ cd "${UWSGI_DIR}" && \
+ start-stop-daemon --start --user "${UWSGI_USER}" --exec "${UWSGI_EXEC}" \
+ --group ${UWSGI_EMPEROR_GROUP:-${UWSGI_GROUP}} \
+ -- --emperor "${UWSGI_EMPEROR_PATH}" ${OPTIONS} --pidfile "${PIDFILE}"
+ return $?
+}
+
+start_app() {
+ local OPTIONS
+ OPTIONS="--master --daemonize"
+
+ if [ -n "${UWSGI_LOG_FILE}" ]; then
+ OPTIONS="${OPTIONS} ${UWSGI_LOG_FILE}"
+ else
+ OPTIONS="${OPTIONS} /dev/null --disable-logging"
+ fi
+
+ [ -z "${UWSGI_DIR}" ] && UWSGI_DIR="/"
+ [ -z "${UWSGI_USER}" ] && UWSGI_USER="root"
+ [ -z "${UWSGI_GROUP}" ] && UWSGI_GROUP="root"
+
+ if [ -n "${UWSGI_EXTRA_OPTIONS}" ]; then
+ OPTIONS="${OPTIONS} ${UWSGI_EXTRA_OPTIONS}"
+ fi
+
+ if [ "${UWSGI_THREADS}" = "1" ]; then
+ OPTIONS="${OPTIONS} --enable-threads"
+ fi
+
+ if [ -n "${UWSGI_SOCKET}" ]; then
+ OPTIONS="${OPTIONS} --socket ${UWSGI_SOCKET}"
+ fi
+
+ if [ -n "${UWSGI_PROCESSES}" ]; then
+ OPTIONS="${OPTIONS} --processes ${UWSGI_PROCESSES}"
+ fi
+
+ if [ -n "${UWSGI_CHROOT}" ]; then
+ OPTIONS="${OPTIONS} --chroot ${UWSGI_CHROOT}"
+ fi
+
+ if [ -n "${UWSGI_PROGRAM}" ]; then
+ OPTIONS="${OPTIONS} --fileserve-mode ${UWSGI_PROGRAM}"
+ fi
+
+ if [ -n "${UWSGI_XML_CONFIG}" ]; then
+ OPTIONS="${OPTIONS} --xmlconfig ${UWSGI_XML_CONFIG}"
+ fi
+
+ ebegin "Starting uWSGI application ${PROGNAME}"
+ cd "${UWSGI_DIR}" && \
+ start-stop-daemon --start --user "${UWSGI_USER}" --group "${UWSGI_GROUP}" \
+ --exec "${UWSGI_EXEC}" -- ${OPTIONS} --pidfile "${PIDFILE}"
+ return $?
+}
+
+start() {
+ if [ "${SVCNAME}" == "uwsgi" ]; then
+ if [ -n "${UWSGI_EMPEROR_PATH}" ]; then
+ start_emperor
+ eend $?
+ else
+ eerror "You are not supposed to run this script directly unless you"
+ eerror "want to run in Emperor mode. In that case please set the UWSGI_EMPEROR_PATH."
+ eerror "Otherwise create a symlink for the uwsgi application you want to run as well as"
+ eerror "a copy of the configuration file and modify it appropriately like so..."
+ eerror
+ eerror " ln -s uwsgi /etc/init.d/uwsgi.trac"
+ eerror " cp /etc/conf.d/uwsgi /etc/conf.d/uwsgi.trac"
+ eerror " nano /etc/conf.d/uwsgi.trac"
+ eerror
+ return 1
+ fi
+ else
+ start_app
+ eend $?
+ fi
+}
+
+stop() {
+ if [ -n "${UWSGI_EMPEROR_PATH}" ]; then
+ ebegin "Stopping uWSGI emperor"
+ else
+ ebegin "Stopping uWSGI application ${PROGNAME}"
+ fi
+ start-stop-daemon --stop --signal QUIT --pidfile "${PIDFILE}"
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading uWSGI"
+ start-stop-daemon --signal HUP --pidfile "${PIDFILE}"
+ eend $?
+}
+
+stats() {
+ ebegin "Logging uWSGI statistics"
+ start-stop-daemon --signal USR1 --pidfile "${PIDFILE}"
+ eend $?
+}