Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F111636135
D12089.id32277.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
D12089.id32277.diff
View Options
Index: www/uwsgi/Makefile
===================================================================
--- www/uwsgi/Makefile
+++ www/uwsgi/Makefile
@@ -3,6 +3,7 @@
PORTNAME= uwsgi
PORTVERSION= 2.0.15
+PORTREVISION= 1
CATEGORIES= www python
MASTER_SITES= http://projects.unbit.it/downloads/
Index: www/uwsgi/files/uwsgi.in
===================================================================
--- www/uwsgi/files/uwsgi.in
+++ www/uwsgi/files/uwsgi.in
@@ -13,19 +13,25 @@
# uwsgi_socket (path/str): Set the path to the uwsgi unix socket
# Default is /tmp/uwsgi.sock.
# uwsgi_socket_mode (int): Set the mode of the socket.
-# Default is 600.
+# Default is 660.
# uwsgi_socket_owner (str): Set the owner of the socket.
-# Default is www:www.
+# Default is uwsgi:www.
+# uwsgi_emperor (bool): Set it to "YES" to run uwsgi in emperor mode
+# Default is "NO".
+# uwsgi_configfile (path): Set the path to the config file
+# Default is %%PREFIX%%/etc/uwsgi/uwsgi.ini.
+# uwsgi_vassals_dir (path): Set the path to the vassals directory
+# Default is %%PREFIX%%/etc/uwsgi/vassals.
# uwsgi_logfile (path): Set the path to the uwsgi log file
# Default is /var/log/uwsgi.log.
# uwsgi_pidfile (path): Set the path to the uwsgi pid file
# Default is /var/run/uwsgi.pid.
# uwsgi_uid (int): Set the UID of the process to run with
-# Default is 165 (uwsgi).
+# Default is uwsgi.
# uwsgi_gid (int): Set the GID of the process to run with
-# Default is 165 (uwsgi).
+# Default is uwsgi.
# uwsgi_flags (str): Set the uwsgi command line arguments
-# Default is "-M -L".
+# Default is "-L".
# uwsgi_procname (str): Define to "uWSGI" if you start uwsgi with
# --auto-procname option.
#
@@ -46,28 +52,31 @@
load_rc_config $name
command=%%PREFIX%%/bin/uwsgi
+
: ${uwsgi_enable="NO"}
-: ${uwsgi_profiles=""}
: ${uwsgi_socket="/tmp/${name}.sock"}
: ${uwsgi_socket_mode="660"}
-: ${uwsgi_socket_owner="www:www"}
+: ${uwsgi_socket_owner="uwsgi:www"}
+: ${uwsgi_configfile="%%PREFIX%%/etc/uwsgi/uwsgi.ini"}
+: ${uwsgi_profiles=""}
: ${uwsgi_logfile="/var/log/${name}.log"}
: ${uwsgi_pidfile="/var/run/${name}.pid"}
-: ${uwsgi_uid="165"}
-: ${uwsgi_gid="165"}
-: ${uwsgi_flags="-M -L"}
-: ${uwsgi_procname="${command}"}
+: ${uwsgi_uid="uwsgi"}
+: ${uwsgi_gid="uwsgi"}
+: ${uwsgi_flags="-L"}
+: ${uwsgi_emperor="NO"}
+: ${uwsgi_vassals_dir="%%PREFIX%%/etc/uwsgi/vassals"}
is_uwsgi_profile() {
- local profile
+ local profile
- for profile in $uwsgi_profiles; do
- if [ "$profile" = "$1" ]; then
- return 0
- fi
- done
+ for profile in $uwsgi_profiles; do
+ if [ "$profile" = "$1" ]; then
+ return 0
+ fi
+ done
- return 1
+ return 1
}
if [ -n "${uwsgi_profiles}" ]; then
@@ -78,32 +87,55 @@
exit 1
fi
eval uwsgi_socket=\${uwsgi_${profile}_socket:-"/tmp/${name}-${profile}.sock"}
- eval uwsgi_socket_mode=\${uwsgi_${profile}_socket_mode:-"660"}
- eval uwsgi_socket_owner=\${uwsgi_${profile}_socket_owner:-"www:www"}
+ eval uwsgi_socket_mode=\${uwsgi_${profile}_socket_mode:-${uwsgi_socket_mode}
+ eval uwsgi_socket_owner=\${uwsgi_${profile}_socket_owner:-${uwsgi_socket_owner}}
eval uwsgi_logfile=\${uwsgi_${profile}_logfile:-"/var/log/${name}-${profile}.log"}
eval uwsgi_pidfile=\${uwsgi_${profile}_pidfile:-"/var/run/${name}-${profile}.pid"}
eval uwsgi_uid=\${uwsgi_${profile}_uid:-"${uwsgi_uid}"}
eval uwsgi_gid=\${uwsgi_${profile}_gid:-"${uwsgi_uid}"}
eval uwsgi_flags=\${uwsgi_${profile}_flags:-"${uwsgi_flags}"}
eval uwsgi_procname=\${uwsgi_${profile}_procname:-"${uwsgi_procname}"}
+ eval uwsgi_emperor=\${uwsgi_${profile}_emperor:-"${uwsgi_emperor}"}
+ eval uwsgi_vassals_dir=\${uwsgi_${profile}_vassals_dir:-"${uwsgi_vassals_dir}"}
+ eval uwsgi_configfile=\${uwsgi_${profile}_configfile:-"${uwsgi_configfile}"}
elif [ -n "$1" ]; then
for profile in ${uwsgi_profiles}; do
- echo "Processing ${name} profile: ${profile}"
- %%PREFIX%%/etc/rc.d/uwsgi $1 ${profile}
- done
- exit 0
+ echo "Processing ${name} profile: ${profile}"
+ %%PREFIX%%/etc/rc.d/uwsgi $1 ${profile}
+ done
+ exit 0
fi
fi
-command=%%PREFIX%%/bin/uwsgi
-command_args="--pidfile ${uwsgi_pidfile} -s ${uwsgi_socket} --chmod-socket=${uwsgi_socket_mode} --chown-socket=${uwsgi_socket_owner} -d ${uwsgi_logfile} --uid ${uwsgi_uid} --gid ${uwsgi_gid}"
pidfile=${uwsgi_pidfile}
+start_precmd=start_precmd
stop_postcmd=stop_postcmd
reload_precmd=reload_precmd
brutalreload_cmd=brutalreload_cmd
sig_stop="INT"
extra_commands="reload brutalreload"
procname=${uwsgi_procname}
+
+start_precmd()
+{
+ rc_flags=""
+ if [ -e ${uwsgi_configfile} ]; then
+ rc_flags="--ini ${uwsgi_configfile} "
+ fi
+
+ if checkyesno uwsgi_emperor; then
+ echo "Running uWSGI as Emperor. Vassals loaded from "$uwsgi_vassals_dir
+ required_dirs=${uwsgi_vassals_dir}
+ rc_flags=${rc_flags}"--emperor-pidfile ${uwsgi_pidfile} -d ${uwsgi_logfile} --emperor ${uwsgi_vassals_dir}"
+ rc_flags=${rc_flags}" --vassals-set uid=${uwsgi_uid} --vassals-set gid=${uwsgi_gid}"
+ rc_flags=${rc_flags}" --vassals-set chmod-socket=${uwsgi_socket_mode} --vassals-set chown-socket=${uwsgi_socket_owner}"
+ else
+ rc_flags=${rc_flags}"--master --uid ${uwsgi_uid} --gid ${uwsgi_gid} --pidfile ${uwsgi_pidfile} -d ${uwsgi_logfile}"
+ rc_flags=${rc_flags}" -s ${uwsgi_socket} --chmod-socket=${uwsgi_socket_mode} --chown-socket=${uwsgi_socket_owner}"
+ fi
+
+ rc_flags=${rc_flags}" ${uwsgi_flags}"
+}
stop_postcmd()
{
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Mar 7, 8:15 AM (19 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17028175
Default Alt Text
D12089.id32277.diff (5 KB)
Attached To
Mode
D12089: www/uwsgi: Add Emperor mode support
Attached
Detach File
Event Timeline
Log In to Comment