Accepting request 178039 from server:http
Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/178039 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/uwsgi?expand=0&rev=4
This commit is contained in:
commit
1c4b41109d
@ -2,17 +2,25 @@
|
|||||||
openSUSE uWSGI Notes
|
openSUSE uWSGI Notes
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
Upgrading from 1.2.6
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
The init script and the sysconfig file /etc/sysconfig/uwsgi are now deprecated
|
||||||
|
in favor of a systemd service and a default configuration file
|
||||||
|
/etc/uwsgi/uwsgi.ini.
|
||||||
|
|
||||||
Emperor Mode
|
Emperor Mode
|
||||||
------------
|
------------
|
||||||
|
|
||||||
The included init script runs uWSGI in Emperor mode. It will monitor the
|
The included uwsgi service runs uWSGI in Emperor mode by defgault. It will
|
||||||
/etc/uwsgi/vassals directory for configurations and will automatically load
|
monitor the /etc/uwsgi/vassals directory for configurations and will
|
||||||
and restart uWSGI processes when configuration files are placed there or
|
automatically load and restart uWSGI processes when configuration files are
|
||||||
modified. Some example configurations are provided in the directory. To enable
|
placed there or modified. Some example configurations are provided in the
|
||||||
one, rename it without the .example at the end and edit for your application.
|
directory. To enable one, rename it without the .example at the end and edit
|
||||||
|
for your application.
|
||||||
|
|
||||||
For more information on Emperor mode, see
|
For more information on Emperor mode, see
|
||||||
http://projects.unbit.it/uwsgi/wiki/Emperor
|
https://uwsgi-docs.readthedocs.org/en/latest/Emperor.html
|
||||||
|
|
||||||
|
|
||||||
Plugins
|
Plugins
|
||||||
@ -32,4 +40,3 @@ encounters options for those plugins in the configuration. To enable that, use
|
|||||||
the following in the configuration:
|
the following in the configuration:
|
||||||
|
|
||||||
autoload = 1
|
autoload = 1
|
||||||
|
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
--- a/uwsgiconfig.py
|
|
||||||
+++ b/uwsgiconfig.py
|
|
||||||
@@ -902,7 +902,7 @@ def build_plugin(path, uc, cflags, ldfla
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
- plugin_dest = uc.get('plugin_dir') + '/' + name + '_plugin'
|
|
||||||
+ plugin_dest = name + '_plugin'
|
|
||||||
|
|
||||||
shared_flag = '-shared'
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:49d2fbedbd42b3c95a684f7ddf43302f881297f3614c7edd0af4a4c44e2032a5
|
|
||||||
size 515869
|
|
12
uwsgi-1.9.11-emperor_amqp-fix-comparison.patch
Normal file
12
uwsgi-1.9.11-emperor_amqp-fix-comparison.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
--- a/plugins/emperor_amqp/amqp.c
|
||||||
|
+++ b/plugins/emperor_amqp/amqp.c
|
||||||
|
@@ -453,7 +453,8 @@ static int amqp_wait_connection_tune(int
|
||||||
|
static char *amqp_simple_get_frame(int fd, struct amqp_frame_header *fh) {
|
||||||
|
|
||||||
|
char *ptr = (char *) fh;
|
||||||
|
- ssize_t len = 0, rlen;
|
||||||
|
+ size_t len = 0;
|
||||||
|
+ ssize_t rlen;
|
||||||
|
|
||||||
|
while(len < 7) {
|
||||||
|
rlen = recv(fd, ptr, 7-len, 0);
|
56
uwsgi-1.9.11-no-LD_RUN_PATH.patch
Normal file
56
uwsgi-1.9.11-no-LD_RUN_PATH.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
--- a/plugins/jvm/uwsgiplugin.py
|
||||||
|
+++ b/plugins/jvm/uwsgiplugin.py
|
||||||
|
@@ -59,11 +59,6 @@ if "-framework JavaVM" in JVM_LIBPATH:
|
||||||
|
|
||||||
|
GCC_LIST = ['jvm_plugin']
|
||||||
|
|
||||||
|
-if 'LD_RUN_PATH' in os.environ:
|
||||||
|
- os.environ['LD_RUN_PATH'] += ':' + JVM_LIBPATH[0][2:]
|
||||||
|
-else:
|
||||||
|
- os.environ['LD_RUN_PATH'] = JVM_LIBPATH[0][2:]
|
||||||
|
-
|
||||||
|
def post_build(config):
|
||||||
|
if os.system("javac %s/plugins/jvm/uwsgi.java" % os.getcwd()) != 0:
|
||||||
|
os._exit(1)
|
||||||
|
--- a/plugins/php/uwsgiplugin.py
|
||||||
|
+++ b/plugins/php/uwsgiplugin.py
|
||||||
|
@@ -22,7 +22,6 @@ CFLAGS = [os.popen(PHPPATH + ' --include
|
||||||
|
LDFLAGS = os.popen(PHPPATH + ' --ldflags').read().rstrip().split()
|
||||||
|
if ld_run_path:
|
||||||
|
LDFLAGS.append('-L%s' % ld_run_path)
|
||||||
|
- os.environ['LD_RUN_PATH'] = ld_run_path
|
||||||
|
|
||||||
|
LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp5']
|
||||||
|
|
||||||
|
--- a/plugins/python/uwsgiplugin.py
|
||||||
|
+++ b/plugins/python/uwsgiplugin.py
|
||||||
|
@@ -44,10 +44,8 @@ if not 'UWSGI_PYTHON_NOLIB' in os.enviro
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
LDFLAGS.append("-L%s" % sysconfig.get_config_var('LIBDIR'))
|
||||||
|
- os.environ['LD_RUN_PATH'] = "%s" % (sysconfig.get_config_var('LIBDIR'))
|
||||||
|
except:
|
||||||
|
LDFLAGS.append("-L%s/lib" % sysconfig.PREFIX)
|
||||||
|
- os.environ['LD_RUN_PATH'] = "%s/lib" % sysconfig.PREFIX
|
||||||
|
|
||||||
|
LIBS.append('-lpython%s' % get_python_version())
|
||||||
|
else:
|
||||||
|
--- a/plugins/rack/uwsgiplugin.py
|
||||||
|
+++ b/plugins/rack/uwsgiplugin.py
|
||||||
|
@@ -44,7 +44,6 @@ LIBS = os.popen(RUBYPATH + " -e \"requir
|
||||||
|
|
||||||
|
if has_shared == 'yes':
|
||||||
|
LDFLAGS.append('-L' + libpath )
|
||||||
|
- os.environ['LD_RUN_PATH'] = libpath
|
||||||
|
LIBS.append(os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip())
|
||||||
|
else:
|
||||||
|
GCC_LIST.append("%s/%s" % (libpath, os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['LIBRUBY_A']\"" % rbconfig).read().rstrip()))
|
||||||
|
--- a/plugins/ruby19/uwsgiplugin.py
|
||||||
|
+++ b/plugins/ruby19/uwsgiplugin.py
|
||||||
|
@@ -40,6 +40,5 @@ LDFLAGS = os.popen(RUBYPATH + " -e \"req
|
||||||
|
|
||||||
|
libpath = os.popen(RUBYPATH + " -e \"require 'rbconfig';print %s::CONFIG['libdir']\"" % rbconfig).read().rstrip()
|
||||||
|
LDFLAGS.append('-L' + libpath )
|
||||||
|
-os.environ['LD_RUN_PATH'] = libpath
|
||||||
|
LIBS = os.popen(RUBYPATH + " -e \"require 'rbconfig';print '-l' + %s::CONFIG['RUBY_SO_NAME']\"" % rbconfig).read().rstrip().split()
|
||||||
|
|
14
uwsgi-1.9.11-plugin_build_path.patch
Normal file
14
uwsgi-1.9.11-plugin_build_path.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
--- a/uwsgiconfig.py
|
||||||
|
+++ b/uwsgiconfig.py
|
||||||
|
@@ -1128,10 +1128,7 @@ def build_plugin(path, uc, cflags, ldfla
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
- if uc:
|
||||||
|
- plugin_dest = uc.get('plugin_dir') + '/' + name + '_plugin'
|
||||||
|
- else:
|
||||||
|
- plugin_dest = name + '_plugin'
|
||||||
|
+ plugin_dest = name + '_plugin'
|
||||||
|
|
||||||
|
shared_flag = '-shared'
|
||||||
|
|
9
uwsgi-1.9.11-systemd_logger-old_systemd.patch
Normal file
9
uwsgi-1.9.11-systemd_logger-old_systemd.patch
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
--- a/plugins/systemd_logger/systemd_logger.c
|
||||||
|
+++ b/plugins/systemd_logger/systemd_logger.c
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
#include "../../uwsgi.h"
|
||||||
|
|
||||||
|
+#include <syslog.h>
|
||||||
|
#include <systemd/sd-journal.h>
|
||||||
|
|
||||||
|
ssize_t uwsgi_systemd_logger(struct uwsgi_logger *ul, char *message, size_t len) {
|
3
uwsgi-1.9.11.tar.gz
Normal file
3
uwsgi-1.9.11.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e566163a7ffd18f341a0de8462d22410ee58b1f5f54c468e3019f47b7e5c4aa4
|
||||||
|
size 634255
|
318
uwsgi.changes
318
uwsgi.changes
@ -1,3 +1,321 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 31 18:52:08 UTC 2013 - jfunk@funktronics.ca
|
||||||
|
|
||||||
|
- Fix path to uwsgi binary in service file
|
||||||
|
- Install uwsgi.ini
|
||||||
|
- Fix signed/unsigned comparison in emperor_amqp
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 29 17:26:24 UTC 2013 - jfunk@funktronics.ca
|
||||||
|
|
||||||
|
- Deprecated init script and sysconfig file in favor of systemd service and a
|
||||||
|
default configuration file /etc/uwsgi/uwsgi.ini
|
||||||
|
- Update README to describe important changes
|
||||||
|
- Removed separate packages for plugins that have no uncommon requirements
|
||||||
|
- Update to 1.9.11
|
||||||
|
* Fixed Python 3 stdout/stderr buffering
|
||||||
|
* Fixed mule messages (@mulefunc is now reliable)
|
||||||
|
* Fixed SCRIPT_NAME handling in dynamic mode
|
||||||
|
* Fixed X-Sendfile with gzip static mode
|
||||||
|
* Fixed cache item maximum size with custom block size
|
||||||
|
* Fixed cache path handling
|
||||||
|
* Added the new high-performance PyPy plugin
|
||||||
|
* You can now avoid overlapping crons using --unique-cron. The uWSGI master
|
||||||
|
will track death of a single task, and until its death the same cron will
|
||||||
|
not be triggered
|
||||||
|
* A key/value variant of the --cron option is now available
|
||||||
|
* When using the cron2 option you are allowed to set a harakiri timeout for a
|
||||||
|
cron task. Just add harakiri=n to the options
|
||||||
|
* Added support for GNU Hurd
|
||||||
|
* A new offload engine named "memory" allows to offload memory transfers. The
|
||||||
|
cache router automatically supports it. To enable it just add
|
||||||
|
--offload-threads <n>
|
||||||
|
* An example websocket chat using Redis has been added to the repository
|
||||||
|
* You can now define a routing table to be executed as soon as you set the
|
||||||
|
HTTP status code in your plugin
|
||||||
|
* Generally the wsgi.file_wrapper callable expects a file-like object. PEP
|
||||||
|
333/3333 reports a special pattern when the object is not a file (call
|
||||||
|
read() until the object is consumed). uWSGI now supports this pattern (even
|
||||||
|
if in a hacky way)
|
||||||
|
* When using --http-keepalive you can now hold the connection open even if
|
||||||
|
the request has a body
|
||||||
|
* You can now set a harakiri timer for each request using internal routing
|
||||||
|
* The RPC plugin has been extended to allows interoperation with other
|
||||||
|
standards. Currently a simple HTTP wrapper and an XML-RPC one are exposed
|
||||||
|
- 1.9.10
|
||||||
|
* fixed alarm threads during reloads
|
||||||
|
* fixed uninitialized memory in --touch-* options
|
||||||
|
* fixed a regression in --attach-daemon
|
||||||
|
* Added gccgo plugin. As Go 1.1 will be no no more compatible with uWSGI,
|
||||||
|
gccgo will became the official way for running go apps
|
||||||
|
* You can now run routing rules after a request. Obviously not all of the
|
||||||
|
exposed actions make sense after the request but you should be able to
|
||||||
|
write even more complex setup
|
||||||
|
- 1.9.9
|
||||||
|
* Special warning: The router_basicauth plugin has changed its default
|
||||||
|
behaviour to return "break" if authorization fails. The "basicauth-next"
|
||||||
|
action, uses the old behaviour (returning "next"). This new approach should
|
||||||
|
reduce security problems caused by wrong configurations
|
||||||
|
* do not increment "tx" statistics counter for "unaccountable" plugins
|
||||||
|
* fixed --backtrace-depth
|
||||||
|
* fixed cache-sync parsing
|
||||||
|
* fixed mule farms initialization
|
||||||
|
* fixed multithreading bug when regexp conditional route is used
|
||||||
|
* fixed default-app usage in the psgi plugin
|
||||||
|
* fixed python dynamic mode + threads
|
||||||
|
* fixed error reporting in corerouter when retry is in place
|
||||||
|
* correctly report harakiri condition for gateways
|
||||||
|
* Added the WebDav plugin
|
||||||
|
* Added support for Go 1.1. Albeit you can successfully embed go 1.1 apps in
|
||||||
|
uWSGI, go 1.1 will be completely fork() unsafe. That means you are not able
|
||||||
|
to use multiprocessing, the master, mules and so on
|
||||||
|
* Stackless, Greenlet and Fiber support have been updated to support new
|
||||||
|
async features
|
||||||
|
* You can now authenticate over radius servers using the router_radius plugin
|
||||||
|
* Added another authentication backend, using SPNEGO (kerberos)
|
||||||
|
* Added the ldap authenticator
|
||||||
|
* Removed the GOON action, as it was messy and basically useless with the new
|
||||||
|
authentication approach
|
||||||
|
* The "setscriptname" action has been added to override the internally
|
||||||
|
computed SCRIPT_NAME (not only the var)
|
||||||
|
* The "donotlog" action forces uWSGI to not log the current request
|
||||||
|
* The "regexp" routing conditions has been improved to allows grouping. Now
|
||||||
|
you can easily manipulate strings and adding them as new request VARS
|
||||||
|
* uwsgi.atexit hook is now honoured by the gevent plugin (Author: André Cruz)
|
||||||
|
* Transformations can be applied on the fly (no buffering involved)
|
||||||
|
* The xattr plugin allows you to reference files extended attributes in the
|
||||||
|
internal routing subsystem
|
||||||
|
* Added airbrake plugin. Currently at early stage of development, it allows
|
||||||
|
sending uWSGI exceptions and alarms to airbrake servers
|
||||||
|
* Added legion daemons, allowing you to run external processes only when an
|
||||||
|
instance is a lord
|
||||||
|
* A new "touch" option (like --touch-reload) is available, triggering the
|
||||||
|
execution of a command
|
||||||
|
* You can now use the caching subsystem to store 64bit signed numbers and
|
||||||
|
apply atomic operations on them
|
||||||
|
- 1.9.8
|
||||||
|
* fixed a crash when reloading the master
|
||||||
|
* fixed a crash in async mode + uGreen
|
||||||
|
* the 'mime' routing var requires a request var (not a raw string)
|
||||||
|
- 1.9.7
|
||||||
|
* fixed teajs engine build
|
||||||
|
* fixed offloading status code (set to 202 when a request is offloaded)
|
||||||
|
* execute cron tasks within 60 second resolution, instead of 61 seconds
|
||||||
|
* fixed websocket proxy
|
||||||
|
* check for python3 unicode encoding (instead of crashing...)
|
||||||
|
* fixed ipcsem removal on reload
|
||||||
|
* fixed kqueue timer on OpenBSD, NetBSD and DragonFlyBSD
|
||||||
|
* fixed/reimplemented perl uwsgi::register_rpc
|
||||||
|
* fixed fd leak on sendfile() error
|
||||||
|
* fixed Content-Length when gzip file variant is used
|
||||||
|
* allows non-request plugins to register rpc functions
|
||||||
|
* more robust error checking for cgroups
|
||||||
|
* honour SCRIPT_NAME the in the PSGI plugin when multiple perl apps are
|
||||||
|
mounted
|
||||||
|
* Added legion cron to force only one instance of an application in legion
|
||||||
|
mode to execute cron tasks
|
||||||
|
* The curl_cron plugin has been added allowing the cron subsystem to call
|
||||||
|
urls (via libcurl) instead of unix commands
|
||||||
|
* The cachestore routing function can now directly store items in gzip format
|
||||||
|
* Added --skip-atexit to avoid calling atexit() hooks to workaround a bug in the
|
||||||
|
mongodb client library
|
||||||
|
* The http and uwsgi routing instructions are now more smart. You can cache
|
||||||
|
their output and get the right status code in the logs
|
||||||
|
* Added a generic api for manipulating the response has been added
|
||||||
|
(cachestore uses it)
|
||||||
|
* You can now trigger alarms when an fd is ready for read with --alarm-fd
|
||||||
|
* The spooler server plugin and the cheaper busyness algorithm are now
|
||||||
|
compiled in by default
|
||||||
|
- 1.9.6
|
||||||
|
* workaround for building the python plugin with gcc 4.8
|
||||||
|
* Sqlite and LDAP configuration moved to plugins
|
||||||
|
* New instructions added to allow for dynamic apps using internal routing
|
||||||
|
* You can now configure how the carbon plugin send the response average when
|
||||||
|
no requests have been managed
|
||||||
|
* Added numeric checks for the internal routing
|
||||||
|
* Added math and time support in the internal routing
|
||||||
|
* Added non-standard seek() and tell() to wsgi.input (post-buffering
|
||||||
|
required)
|
||||||
|
* You can invoke the ipython shell instead of the default one when using
|
||||||
|
--pyshell
|
||||||
|
* Added the 'rpcraw' routing instruction (dangerous)
|
||||||
|
* Added preliminary support for the HTTP Range header
|
||||||
|
* Added the 'lord' routing condition for Legion
|
||||||
|
* Added GridFS authentication
|
||||||
|
* Added the 'uwsgi' routing var for accessing internal uWSGI parameters
|
||||||
|
* Added the 'alarm' routing action for triggering alarms from the routing
|
||||||
|
subsystem
|
||||||
|
* Added --rbshell for accessing a Ruby shell
|
||||||
|
* Added --lua-shell for accessing a Lua shell
|
||||||
|
* Removed the old (and useless) probe subsystem
|
||||||
|
* Two new hooks have been added to the Legion subsystem: --legion-node-joined
|
||||||
|
and --legion-node-left
|
||||||
|
* --socket-sndbuf and --socket-rcvbuf have been added to allow tuning of the
|
||||||
|
send and receive buffers of the uWSGI sockets (use with caution)
|
||||||
|
* V8 plugin improvements
|
||||||
|
- 1.9.5
|
||||||
|
* fixed a memory leak with cachestore routing instruction (Riccardo
|
||||||
|
Magliocchetti)
|
||||||
|
* fixed a memory leak in carbon plugin (Riccardo Magliocchetti)
|
||||||
|
* fixed a memory leak in the cgi plugin (Riccardo Magliocchetti)
|
||||||
|
* fixed old-style python dynamic apps
|
||||||
|
* force the emperor to honour --max-fd for vassals
|
||||||
|
* improved PSGI seek with post-buffering
|
||||||
|
* fixed kvlist escaping
|
||||||
|
* Added the GridFS plugin
|
||||||
|
* Improved V8 plugin
|
||||||
|
* Added the 'cgi' routing instruction to call CGI scripts directly
|
||||||
|
- 1.9.4
|
||||||
|
* fixed cache statistics exported by the stats subsystem (Łukasz Mierzwa)
|
||||||
|
* fixed CoroEV bug in after_request (Tom Molesworth and John Berthels)
|
||||||
|
* update cache items after a restore from persistent storage (Łukasz Mierzwa)
|
||||||
|
* fixed signal handling in non-worker processes
|
||||||
|
* fixed thundering herd in multiple mules setup
|
||||||
|
* ported the cplusplus skeletal plugin to the new api
|
||||||
|
* fixed uWSGI reloading when build as a shared library
|
||||||
|
* From now on, SmartOS is included in the officially supported operating
|
||||||
|
systems
|
||||||
|
* Support for JavaScript routing rules and configurations using V8
|
||||||
|
* Added the rpcnext routing action
|
||||||
|
* Legion improvements
|
||||||
|
- 1.9.3
|
||||||
|
* fixed imports in the JVM build system when virtualenvs are used (Ryan
|
||||||
|
Kaskel)
|
||||||
|
* fixed mod_proxy_uwsgi with apache 2.4
|
||||||
|
* fixed php headers generation when Status is created from the php app itself
|
||||||
|
* Pluggable configuration system (with Lua support)
|
||||||
|
* Immediate setuid and setgid with new options --immediate-uid and
|
||||||
|
--immediate-gid
|
||||||
|
* The option --emperor-tyrant-nofollow has been added forcing the emperor to
|
||||||
|
now follow symlinks when searching for uid/gid in tyrant mode
|
||||||
|
* Added the "rpcret" routing action to usa Lua to write advanced rules
|
||||||
|
- 1.9.2
|
||||||
|
* Fixed python3 response headers managament (wrong refcnt)
|
||||||
|
* Fixed readline() on request body when postbuffering is in place
|
||||||
|
* Fixed ruby fiber plugin
|
||||||
|
* You can now store responses automatically in the uWSGI cache using
|
||||||
|
route-run and the cachestore routing action
|
||||||
|
* routing access to cookie and query string
|
||||||
|
* Added empty internal routing condition
|
||||||
|
* Added the Geoip plugin
|
||||||
|
* Added the SSI plugin (beta)
|
||||||
|
- 1.9.1
|
||||||
|
* Fixed --req-logger after a graceful reload
|
||||||
|
* Fixed a crash with the carbon plugin
|
||||||
|
* Fixed signal handling when multiple workers + copy on write is in place
|
||||||
|
* Fixed exception handling in the Rack plugin
|
||||||
|
* The XSLT plugin has been added. It allows to apply XML transformation via
|
||||||
|
request plugin or uWSGI internal routing
|
||||||
|
* Legion scrolls api
|
||||||
|
* On demand vassals in Emperor mode
|
||||||
|
* The --exec-post-app hook has been added allowing you to run commands after
|
||||||
|
the load of an application
|
||||||
|
* The cache router plugin has been improved
|
||||||
|
* Added a crypto logger allowing for encryption in logging to remote hosts
|
||||||
|
via UDP
|
||||||
|
* The "rpc" routing instruction has been added, allowing you to call rpc
|
||||||
|
functions directly from the routing subsystem and forward they output to
|
||||||
|
the client
|
||||||
|
* Preliminary support for name resolving in the carbon plugin
|
||||||
|
* New routing conditions have been added (equal,startswith,endswith,regexp)
|
||||||
|
* You can reference the uWSGI version string using the %V magic var in your
|
||||||
|
configurations
|
||||||
|
* Added the 'mongodb' generic plugin
|
||||||
|
- 1.9
|
||||||
|
* From now on, all of the request plugins need to be non-blocking
|
||||||
|
* Added Coro::AnyEvent plugin for Perl. Requires Coro::Anyevent package
|
||||||
|
* We have finally a truly working JVM infrastructure
|
||||||
|
* The first Mono plugin attempt (in 2010) was a total failure. Now we have a
|
||||||
|
new shining implementation
|
||||||
|
* Language independent HTTP body manage
|
||||||
|
* Faster uwsgi/HTTP/FastCGI/SCGI native sockets
|
||||||
|
* Can split request/error logging
|
||||||
|
* Chain reloading of workers
|
||||||
|
* Offloading improvements
|
||||||
|
* Better static files management/serving
|
||||||
|
* New Generation Cache subsystem (cache2)
|
||||||
|
* The Legion subsystem is a new whole addition to the uWSGI project. It has
|
||||||
|
superseeded the old Clustering subsystem
|
||||||
|
* Cygwin (windows) support
|
||||||
|
* Advanced Exceptions subsystem
|
||||||
|
* SPDY, SSL and SNI support
|
||||||
|
* HTTP router keepalive, auto-chunking, auto-gzip and transparent websockets
|
||||||
|
* The SSL router (sslrouter) for SSL virtual hosting
|
||||||
|
* New Websockets API
|
||||||
|
* New Programmable Internal Routing (turing complete ?)
|
||||||
|
* A new imperial monitor has been added allowing vassals to be governed over
|
||||||
|
zeromq messages
|
||||||
|
* Total introspection via the stats server
|
||||||
|
* Ping requests sent using nagios plugin will no longer be counted in apps
|
||||||
|
request stats
|
||||||
|
* The --app option has been removed. To load applications on specific
|
||||||
|
mountpoints use the --mount option
|
||||||
|
* The --static-offload-to-thread option has been removed. Use the more
|
||||||
|
versatile --offload-threads
|
||||||
|
* The grunt mode has been removed. To accomplish the same behaviour just use
|
||||||
|
threads or directly call fork() and uwsgi.disconnect()
|
||||||
|
* The send_message/recv_message api has been removed (use language-supplied
|
||||||
|
functions)
|
||||||
|
- 1.5
|
||||||
|
* added --not-alarm-log
|
||||||
|
* support for TCP_FASTOPEN (Linux-only)
|
||||||
|
* improved emperor reloading
|
||||||
|
* added --get
|
||||||
|
* Legion subsystem
|
||||||
|
* emperor_zeromq plugin
|
||||||
|
* SNI support
|
||||||
|
* distributed SSL session cache
|
||||||
|
- 1.4.1
|
||||||
|
* fixed typos in corerouter plugins
|
||||||
|
* fixed offloading when the number of threads is higher than 1
|
||||||
|
* fixed static_maps for non-existent paths
|
||||||
|
* fixed uwsgi_connect() on modern Linux systems to reset the socket to blocking mode
|
||||||
|
- 1.4
|
||||||
|
* gevent improvements
|
||||||
|
* improved http/https router and fastrouter
|
||||||
|
* Go official support
|
||||||
|
* a new set of infos are exported to the stats system
|
||||||
|
* improved systemd support
|
||||||
|
* log filtering and routing
|
||||||
|
* improved tracebacker
|
||||||
|
* offload transfer for static files, and network transfers
|
||||||
|
* matheval support
|
||||||
|
* plugins can be written in Obj-C
|
||||||
|
* smart attach daemon
|
||||||
|
* added support for PEP 405 virtualenvs
|
||||||
|
* rawrouter with xclient support
|
||||||
|
* internal routing plugin for cache
|
||||||
|
- 1.3
|
||||||
|
* python tracebacker
|
||||||
|
* user-governed harakiri
|
||||||
|
* simplified external plugin development
|
||||||
|
* Linux namespace mountpoint improvements
|
||||||
|
* secured subscription system
|
||||||
|
* merged routers codebase (fastrouter, http, rawrouter)
|
||||||
|
* https support in the http router
|
||||||
|
* config report at the end of uWSGI build process
|
||||||
|
* improved subscription system (multicast and unix socket)
|
||||||
|
* custom options
|
||||||
|
* graceful reloads on shared sockets
|
||||||
|
* configurable log-master buffer size
|
||||||
|
* extreme-optimizations for the stats subsystem
|
||||||
|
* redislog and mongodblog plugins
|
||||||
|
* added python logger
|
||||||
|
* mongodb and postgres imperial monitors
|
||||||
|
* implemented psgix.logger and psgix.cleanup
|
||||||
|
* full rack spec compliance
|
||||||
|
* preliminary ipv6 support
|
||||||
|
* gevent graceful reloads
|
||||||
|
* support for multiple loggers and logformat
|
||||||
|
* lazy-apps to load apps after fork() but without changing reloading subsystem
|
||||||
|
* emperor heartbeat subsystem
|
||||||
|
* cheaper busyness plugin
|
||||||
|
* pluggable clock sources
|
||||||
|
* added router_rewrite and router_http plugins
|
||||||
|
* external spoolers
|
||||||
|
* support for section:// and fd:// loaders
|
||||||
|
* alarm subsystem (with curl and xmpp plugins)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Sep 11 22:13:54 UTC 2012 - jfunk@funktronics.ca
|
Tue Sep 11 22:13:54 UTC 2012 - jfunk@funktronics.ca
|
||||||
|
|
||||||
|
3
uwsgi.ini
Normal file
3
uwsgi.ini
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[uwsgi]
|
||||||
|
# Directory containing application configs
|
||||||
|
emperor = /etc/uwsgi/vassals
|
99
uwsgi.init
99
uwsgi.init
@ -1,99 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
||||||
#
|
|
||||||
# Author: James Oakley
|
|
||||||
#
|
|
||||||
# /etc/init.d/uwsgi
|
|
||||||
# and its symbolic link
|
|
||||||
# /(usr/)sbin/rcuwsgi
|
|
||||||
#
|
|
||||||
# LSB compatible service control script; see http://www.linuxbase.org/spec/
|
|
||||||
#
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: uwsgi
|
|
||||||
# Required-Start: $syslog $remote_fs
|
|
||||||
# Should-Start: $time ypbind smtp
|
|
||||||
# Required-Stop: $syslog $remote_fs
|
|
||||||
# Should-Stop: ypbind smtp
|
|
||||||
# Default-Start: 3 5
|
|
||||||
# Default-Stop: 0 1 2 6
|
|
||||||
# Short-Description: Application Container Server for Networked/Clustered Web Applications
|
|
||||||
# Description: Application Container Server for Networked/Clustered Web Applications
|
|
||||||
### END INIT INFO
|
|
||||||
|
|
||||||
# Check for missing binaries (stale symlinks should not happen)
|
|
||||||
UWSGI_BIN=/usr/sbin/uwsgi
|
|
||||||
test -x $UWSGI_BIN || { echo "$UWSGI_BIN not installed";
|
|
||||||
if [ "$1" = "stop" ]; then exit 0;
|
|
||||||
else exit 5; fi; }
|
|
||||||
|
|
||||||
UWSGI_CONFIG=/etc/sysconfig/uwsgi
|
|
||||||
test -r $UWSGI_CONFIG || { echo "$UWSGI_CONFIG not existing";
|
|
||||||
if [ "$1" = "stop" ]; then exit 0;
|
|
||||||
else exit 6; fi; }
|
|
||||||
. $UWSGI_CONFIG
|
|
||||||
|
|
||||||
UWSGI_OPTIONS="$UWSGI_OPTIONS --autoload"
|
|
||||||
|
|
||||||
if [ "$UWSGI_EMPEROR_MODE" = "true" ] ; then
|
|
||||||
UWSGI_OPTIONS="$UWSGI_OPTIONS --emperor $UWSGI_VASSALS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
. /etc/rc.status
|
|
||||||
|
|
||||||
rc_reset
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
echo -n "Starting uWSGI "
|
|
||||||
/sbin/startproc $UWSGI_BIN $UWSGI_OPTIONS
|
|
||||||
rc_status -v
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
echo -n "Shutting down uWSGI "
|
|
||||||
/sbin/killproc $UWSGI_BIN
|
|
||||||
rc_status -v
|
|
||||||
;;
|
|
||||||
try-restart|condrestart)
|
|
||||||
if test "$1" = "condrestart"; then
|
|
||||||
echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
|
|
||||||
fi
|
|
||||||
$0 status
|
|
||||||
if test $? = 0; then
|
|
||||||
$0 restart
|
|
||||||
else
|
|
||||||
rc_reset
|
|
||||||
fi
|
|
||||||
rc_status
|
|
||||||
;;
|
|
||||||
restart)
|
|
||||||
$0 stop
|
|
||||||
$0 start
|
|
||||||
rc_status
|
|
||||||
;;
|
|
||||||
force-reload)
|
|
||||||
echo -n "Reload service uWSGI "
|
|
||||||
/sbin/killproc -HUP $UWSGI_BIN
|
|
||||||
rc_status -v
|
|
||||||
;;
|
|
||||||
reload)
|
|
||||||
echo -n "Reload service uWSGI "
|
|
||||||
/sbin/killproc -HUP $UWSGI_BIN
|
|
||||||
rc_status -v
|
|
||||||
;;
|
|
||||||
status)
|
|
||||||
echo -n "Checking for service uWSGI "
|
|
||||||
/sbin/checkproc $UWSGI_BIN
|
|
||||||
rc_status -v
|
|
||||||
;;
|
|
||||||
probe)
|
|
||||||
echo -n "uWSGI does not support probe "
|
|
||||||
rc_failed 3
|
|
||||||
rc_status -v
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
rc_exit
|
|
11
uwsgi.service
Normal file
11
uwsgi.service
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Application Container Server for Networked/Clustered Web Applications
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/sbin/uwsgi --autoload --ini /etc/uwsgi/uwsgi.ini
|
||||||
|
Restart=always
|
||||||
|
Type=notify
|
||||||
|
NotifyAccess=all
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
678
uwsgi.spec
678
uwsgi.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package uwsgi
|
# spec file for package uwsgi
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: uwsgi
|
Name: uwsgi
|
||||||
Version: 1.2.6
|
Version: 1.9.11
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Application Container Server for Networked/Clustered Web Applications
|
Summary: Application Container Server for Networked/Clustered Web Applications
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
@ -25,36 +25,98 @@ Group: Productivity/Networking/Web/Servers
|
|||||||
Url: http://projects.unbit.it/uwsgi/wiki
|
Url: http://projects.unbit.it/uwsgi/wiki
|
||||||
Source: http://projects.unbit.it/downloads/uwsgi-%{version}.tar.gz
|
Source: http://projects.unbit.it/downloads/uwsgi-%{version}.tar.gz
|
||||||
Source1: opensuse.ini.in
|
Source1: opensuse.ini.in
|
||||||
Source2: uwsgi.init
|
Source2: uwsgi.service
|
||||||
Source3: django.ini.example
|
Source3: django.ini.example
|
||||||
Source4: rails.yml.example
|
Source4: rails.yml.example
|
||||||
Source5: trac.ini.example
|
Source5: trac.ini.example
|
||||||
Source6: werkzeug.xml.example
|
Source6: werkzeug.xml.example
|
||||||
Source7: README.openSUSE
|
Source7: README.openSUSE
|
||||||
Source8: uwsgi.sysconfig
|
Source8: uwsgi.ini
|
||||||
# PATCH-FIX-OPENSUSE uwsgi-1.2.6-plugin_build_path.patch - Don't attempt to install plugins to target dest during build
|
# PATCH-FIX-OPENSUSE uwsgi-1.9.11-plugin_build_path.patch - Don't attempt to install plugins to target dest during build
|
||||||
Patch0: uwsgi-1.2.6-plugin_build_path.patch
|
Patch0: uwsgi-1.9.11-plugin_build_path.patch
|
||||||
BuildRequires: gcc-c++
|
# PATCH-FIX-OPENSUSE uwsgi-1.9.11-no-LD_RUN_PATH.patch - Disable invalid rpath in plugins
|
||||||
BuildRequires: java-devel
|
Patch1: uwsgi-1.9.11-no-LD_RUN_PATH.patch
|
||||||
BuildRequires: libxml2-devel
|
# PATCH-FIX-UPSTREAM uwsgi-1.9.11-emperor_amqp-fix-comparison.patch - Fix signed/unsigned comparison
|
||||||
BuildRequires: pam-devel
|
Patch2: uwsgi-1.9.11-emperor_amqp-fix-comparison.patch
|
||||||
BuildRequires: postgresql-devel
|
# PATCH-FIX-OPENSUSE uwsgi-1.9.11-systemd_logger-old_systemd.patch - Older systemd in 12.2 does not implicity include syslog.h
|
||||||
BuildRequires: python-devel
|
Patch3: uwsgi-1.9.11-systemd_logger-old_systemd.patch
|
||||||
BuildRequires: ruby-devel
|
%if 0%{?suse_version} > 1210
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} > 1210
|
|
||||||
BuildRequires: erlang
|
BuildRequires: erlang
|
||||||
|
%endif
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
#BuildRequires: go
|
||||||
|
BuildRequires: java-devel
|
||||||
|
#BuildRequires: krb5-devel
|
||||||
|
BuildRequires: libGeoIP-devel
|
||||||
|
BuildRequires: libattr-devel
|
||||||
|
BuildRequires: libcap-devel
|
||||||
|
BuildRequires: libcurl-devel
|
||||||
|
%if 0%{?suse_version} > 1210
|
||||||
|
BuildRequires: libjansson-devel
|
||||||
|
%endif
|
||||||
|
#BuildRequires: libmono-2_0-devel
|
||||||
|
BuildRequires: libuuid-devel
|
||||||
|
BuildRequires: libxml2-devel
|
||||||
|
BuildRequires: libxslt-devel
|
||||||
|
BuildRequires: libyaml-devel
|
||||||
|
%if 0%{?suse_version} > 1210
|
||||||
BuildRequires: lua51-devel
|
BuildRequires: lua51-devel
|
||||||
%else
|
%else
|
||||||
BuildRequires: lua-devel
|
BuildRequires: lua-devel
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} > 1140
|
#BuildRequires: mono-web
|
||||||
|
BuildRequires: openldap2-devel
|
||||||
|
BuildRequires: openssl-devel
|
||||||
|
BuildRequires: pam-devel
|
||||||
|
BuildRequires: pcre-devel
|
||||||
|
#BuildRequires: php5-devel
|
||||||
|
BuildRequires: pkg-config
|
||||||
|
BuildRequires: postgresql-devel
|
||||||
|
BuildRequires: python-devel
|
||||||
BuildRequires: python-greenlet-devel
|
BuildRequires: python-greenlet-devel
|
||||||
|
%if 0%{?suse_version} > 1210
|
||||||
|
BuildRequires: ruby19-devel
|
||||||
%endif
|
%endif
|
||||||
|
BuildRequires: sqlite3-devel
|
||||||
|
%if 0%{?suse_version} > 1210
|
||||||
|
BuildRequires: systemd-devel
|
||||||
|
%else
|
||||||
|
BuildRequires: systemd
|
||||||
|
%endif
|
||||||
|
BuildRequires: tcpd-devel
|
||||||
|
BuildRequires: v8-devel
|
||||||
|
BuildRequires: zeromq-devel
|
||||||
|
BuildRequires: zlib-devel
|
||||||
|
%{?systemd_requires}
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
|
Provides: uwsgi-carbon = %{version}
|
||||||
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
|
Obsoletes: uwsgi-carbon < 1.9.11
|
||||||
%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
|
Provides: uwsgi-cgi = %{version}
|
||||||
%endif
|
Obsoletes: uwsgi-cgi < 1.9.11
|
||||||
|
Provides: uwsgi-fastrouter = %{version}
|
||||||
|
Obsoletes: uwsgi-fastrouter < 1.9.11
|
||||||
|
Provides: uwsgi-graylog2 = %{version}
|
||||||
|
Obsoletes: uwsgi-graylog2 < 1.9.11
|
||||||
|
Provides: uwsgi-http = %{version}
|
||||||
|
Obsoletes: uwsgi-http < 1.9.11
|
||||||
|
Provides: uwsgi-logsocket = %{version}
|
||||||
|
Obsoletes: uwsgi-logsocket < 1.9.11
|
||||||
|
Provides: uwsgi-nagios = %{version}
|
||||||
|
Obsoletes: uwsgi-nagios < 1.9.11
|
||||||
|
Provides: uwsgi-probepg = %{version}
|
||||||
|
Obsoletes: uwsgi-probepg < 1.9.11
|
||||||
|
Provides: uwsgi-redislog = %{version}
|
||||||
|
Obsoletes: uwsgi-redislog < 1.9.11
|
||||||
|
Provides: uwsgi-rrdtool = %{version}
|
||||||
|
Obsoletes: uwsgi-rrdtool < 1.9.11
|
||||||
|
Provides: uwsgi-rsyslog = %{version}
|
||||||
|
Obsoletes: uwsgi-rsyslog < 1.9.11
|
||||||
|
Provides: uwsgi-syslog = %{version}
|
||||||
|
Obsoletes: uwsgi-syslog < 1.9.11
|
||||||
|
Provides: uwsgi-ugreen = %{version}
|
||||||
|
Obsoletes: uwsgi-ugreen < 1.9.11
|
||||||
|
Provides: uwsgi-zergpool = %{version}
|
||||||
|
Obsoletes: uwsgi-zergpool < 1.9.11
|
||||||
|
|
||||||
%description
|
%description
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
@ -81,48 +143,57 @@ different plugins can be used in order to add compatibility with tons of
|
|||||||
different technology on top of the same core.
|
different technology on top of the same core.
|
||||||
|
|
||||||
|
|
||||||
%package carbon
|
%package emperor_pg
|
||||||
Summary: Carbon Plugin for Graphite Integration for uWSGI
|
Summary: PostgreSQL Emperor Plugin for uWSGI
|
||||||
Group: Productivity/Networking/Web/Servers
|
Group: Productivity/Networking/Web/Servers
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
|
|
||||||
%description carbon
|
%description emperor_pg
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
container server coded in pure C.
|
container server coded in pure C.
|
||||||
|
|
||||||
This package contains the carbon plugin for integration with the Graphite
|
This package contains an emperor plugin allowing for configuration of
|
||||||
realtime graphing server.
|
applications (vassals) in a PostgreSQL database.
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/Carbon for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%package cgi
|
%package emperor_zeromq
|
||||||
Summary: CGI Plugin for uWSGI
|
Summary: ZeroMQ Emperor Plugin for uWSGI
|
||||||
Group: Productivity/Networking/Web/Servers
|
Group: Productivity/Networking/Web/Servers
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
|
|
||||||
%description cgi
|
%description emperor_zeromq
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
container server coded in pure C.
|
container server coded in pure C.
|
||||||
|
|
||||||
This package contains the CGI plugin to support legacy CGI scripts.
|
This package contains an emperor plugin allowing for configuration of
|
||||||
|
applications (vassals) via ZeroMQ.
|
||||||
See http://projects.unbit.it/uwsgi/wiki/CGI for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%package fastrouter
|
%if 0%{?suse_version} > 1210
|
||||||
Summary: Fastrouter Plugin for uWSGI
|
%package erlang
|
||||||
|
Summary: Erlang Plugin for uWSGI
|
||||||
Group: Productivity/Networking/Web/Servers
|
Group: Productivity/Networking/Web/Servers
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
|
|
||||||
%description fastrouter
|
%description erlang
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
container server coded in pure C.
|
container server coded in pure C.
|
||||||
|
|
||||||
This package contains the fastrouter plugin for using uWSGI as a
|
This package contains support for uWSGI to act as an Erlang C-Node and exchange
|
||||||
proxy/load-balancer/router speaking the uwsgi protocol.
|
messages and rpc with Erlang nodes.
|
||||||
|
%endif
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/FastRouter for more info.
|
%package geoip
|
||||||
|
Summary: GeoIP Plugin for uWSGI
|
||||||
|
Group: Productivity/Networking/Web/Servers
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
Requires: %{name}-python = %{version}
|
||||||
|
|
||||||
|
%description geoip
|
||||||
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
|
container server coded in pure C.
|
||||||
|
|
||||||
|
This package contains support for GeoIP routing.
|
||||||
|
|
||||||
|
|
||||||
%package gevent
|
%package gevent
|
||||||
@ -138,39 +209,27 @@ container server coded in pure C.
|
|||||||
This package contains support for Python Gevent, which is a non-blocking
|
This package contains support for Python Gevent, which is a non-blocking
|
||||||
networking framework.
|
networking framework.
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/Gevent for more info.
|
|
||||||
|
|
||||||
|
%package greenlet
|
||||||
%package graylog2
|
Summary: Greenlet Plugin for uWSGI
|
||||||
Summary: Graylog2 Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
Group: Productivity/Networking/Web/Servers
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
|
Requires: %{name}-python = %{version}
|
||||||
|
|
||||||
%description graylog2
|
%description greenlet
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
container server coded in pure C.
|
container server coded in pure C.
|
||||||
|
|
||||||
This package contains support for logging to Graylog2 log servers.
|
This package contains support for the Python Greenlet non-blocking network
|
||||||
|
framework.
|
||||||
|
|
||||||
%package http
|
|
||||||
Summary: HTTP Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
|
|
||||||
%description http
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for using uWSGI as a HTTP server.
|
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/HTTPserver for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%package jvm
|
%package jvm
|
||||||
Summary: JVM Plugin for uWSGI
|
Summary: JVM Plugin for uWSGI
|
||||||
Group: Productivity/Networking/Web/Servers
|
Group: Productivity/Networking/Web/Servers
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
|
Provides: uwsgi-jwsgi = %{version}
|
||||||
|
Obsoletes: uwsgi-jwsgi < 1.9.11
|
||||||
|
|
||||||
%description jvm
|
%description jvm
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
@ -178,36 +237,17 @@ container server coded in pure C.
|
|||||||
|
|
||||||
This package contains support for embedding a Java virtual machine in uWSGI.
|
This package contains support for embedding a Java virtual machine in uWSGI.
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/JVM for more info.
|
|
||||||
|
|
||||||
|
%package ldap
|
||||||
%package jwsgi
|
Summary: LDAP Plugin for uWSGI
|
||||||
Summary: Java WSGI Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
Requires: %{name}-jvm = %{version}
|
|
||||||
|
|
||||||
%description jwsgi
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for WSGI-style Java applications.
|
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/jwsgi for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%package logsocket
|
|
||||||
Summary: Socket Logging Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
Group: Productivity/Networking/Web/Servers
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
|
|
||||||
%description logsocket
|
%description ldap
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
container server coded in pure C.
|
container server coded in pure C.
|
||||||
|
|
||||||
This package contains the logsocket plugin for logging to UNIX and UDP sockets.
|
This package contains support for configuring uWSGI via LDAP.
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/SocketLogging for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%package lua
|
%package lua
|
||||||
@ -221,22 +261,6 @@ container server coded in pure C.
|
|||||||
|
|
||||||
This package contains support for Lua applications via the wsapi interface.
|
This package contains support for Lua applications via the wsapi interface.
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/Lua for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%package nagios
|
|
||||||
Summary: Nagios Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
|
|
||||||
%description nagios
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for Nagios monitoring of the uWSGI server.
|
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/Nagios for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%package pam
|
%package pam
|
||||||
Summary: PAM Plugin for uWSGI
|
Summary: PAM Plugin for uWSGI
|
||||||
@ -250,18 +274,6 @@ container server coded in pure C.
|
|||||||
This package contains support for PAM authentication.
|
This package contains support for PAM authentication.
|
||||||
|
|
||||||
|
|
||||||
%package probepg
|
|
||||||
Summary: PostgreSQL Probe Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
|
|
||||||
%description probepg
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for probing PostgreSQL servers.
|
|
||||||
|
|
||||||
|
|
||||||
%package psgi
|
%package psgi
|
||||||
Summary: PSGI Plugin for uWSGI
|
Summary: PSGI Plugin for uWSGI
|
||||||
Group: Productivity/Networking/Web/Servers
|
Group: Productivity/Networking/Web/Servers
|
||||||
@ -274,147 +286,8 @@ container server coded in pure C.
|
|||||||
This package contains the PSGI plugin for running Perl applications that
|
This package contains the PSGI plugin for running Perl applications that
|
||||||
support the PSGI protocol.
|
support the PSGI protocol.
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/PSGI for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%package python
|
|
||||||
Summary: Python Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
|
|
||||||
%description python
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for Python applications via the WSGI protocol.
|
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/Quickstart for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%package ruby
|
|
||||||
Summary: Ruby Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
|
|
||||||
%description ruby
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for Ruby applications.
|
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/Rack for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%package redislog
|
|
||||||
Summary: Redis Logging Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
|
|
||||||
%description redislog
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for logging to a Redis server.
|
|
||||||
|
|
||||||
|
|
||||||
%package rrdtool
|
|
||||||
Summary: RRDTool Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
|
|
||||||
%description rrdtool
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for saving statistics in RRD bastabase files.
|
|
||||||
|
|
||||||
|
|
||||||
%package rsyslog
|
|
||||||
Summary: Rsyslog Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
|
|
||||||
%description rsyslog
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for logging to Rsyslog servers.
|
|
||||||
|
|
||||||
|
|
||||||
%package syslog
|
|
||||||
Summary: Syslog Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
|
|
||||||
%description syslog
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for logging to syslog servers.
|
|
||||||
|
|
||||||
|
|
||||||
%package ugreen
|
|
||||||
Summary: Green Threads Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
Requires: %{name}-python = %{version}
|
|
||||||
|
|
||||||
%description ugreen
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for green threads in Python applications.
|
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/uGreen for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%package zergpool
|
|
||||||
Summary: Zerg Mode Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
|
|
||||||
%description zergpool
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for Zerg mode, which allows for dynamically added
|
|
||||||
workers under load.
|
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/ZergMode for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} > 1210
|
|
||||||
%package fiber
|
|
||||||
Summary: Ruby Fibers Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
Requires: %{name}-ruby = %{version}
|
|
||||||
|
|
||||||
%description fiber
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for Ruby fibers. Fibers are a form of coroutine,
|
|
||||||
useful for implementing cooperative multitasking in your apps.
|
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/FiberLoop for more info.
|
|
||||||
|
|
||||||
|
|
||||||
%package erlang
|
|
||||||
Summary: Erlang Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
|
|
||||||
%description erlang
|
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
|
||||||
container server coded in pure C.
|
|
||||||
|
|
||||||
This package contains support for uWSGI to act as an Erlang C-Node and exchange
|
|
||||||
messages and rpc with Erlang nodes.
|
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/ErlangIntegration for more info.
|
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?suse_version} > 1210
|
||||||
%package pyerl
|
%package pyerl
|
||||||
Summary: Python-Erlang Plugin for uWSGI
|
Summary: Python-Erlang Plugin for uWSGI
|
||||||
Group: Productivity/Networking/Web/Servers
|
Group: Productivity/Networking/Web/Servers
|
||||||
@ -428,210 +301,329 @@ container server coded in pure C.
|
|||||||
|
|
||||||
This package contains the pyerl module for accessing Erlang functionality to
|
This package contains the pyerl module for accessing Erlang functionality to
|
||||||
Python applications.
|
Python applications.
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/ErlangIntegration for more info.
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} > 1140
|
%package pypy
|
||||||
%package greenlet
|
Summary: PyPy Plugin for uWSGI
|
||||||
Summary: Greenlet Plugin for uWSGI
|
|
||||||
Group: Productivity/Networking/Web/Servers
|
Group: Productivity/Networking/Web/Servers
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
Requires: %{name}-python = %{version}
|
|
||||||
|
|
||||||
%description greenlet
|
%description pypy
|
||||||
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
container server coded in pure C.
|
container server coded in pure C.
|
||||||
|
|
||||||
This package contains support for the Python Greenlet non-blocking network
|
This package contains support for Python applications using PyPy.
|
||||||
framework.
|
|
||||||
|
|
||||||
See http://projects.unbit.it/uwsgi/wiki/AsyncSupport for more info.
|
|
||||||
|
%package python
|
||||||
|
Summary: Python Plugin for uWSGI
|
||||||
|
Group: Productivity/Networking/Web/Servers
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
|
||||||
|
%description python
|
||||||
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
|
container server coded in pure C.
|
||||||
|
|
||||||
|
This package contains support for Python applications via the WSGI protocol.
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?suse_version} > 1210
|
||||||
|
%package ruby
|
||||||
|
Summary: Ruby Plugin for uWSGI
|
||||||
|
Group: Productivity/Networking/Web/Servers
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
Requires: ruby19
|
||||||
|
Provides: uwsgi-fiber = %{version}
|
||||||
|
Obsoletes: uwsgi-fiber < 1.9.11
|
||||||
|
|
||||||
|
%description ruby
|
||||||
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
|
container server coded in pure C.
|
||||||
|
|
||||||
|
This package contains support for Ruby applications.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%package sqlite3
|
||||||
|
Summary: SQLite3 Plugin for uWSGI
|
||||||
|
Group: Productivity/Networking/Web/Servers
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
|
||||||
|
%description sqlite3
|
||||||
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
|
container server coded in pure C.
|
||||||
|
|
||||||
|
This package contains support for storing application configuration in SQLite3
|
||||||
|
databases.
|
||||||
|
|
||||||
|
|
||||||
|
%package v8
|
||||||
|
Summary: V8 JavaScript Plugin for uWSGI
|
||||||
|
Group: Productivity/Networking/Web/Servers
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
|
||||||
|
%description v8
|
||||||
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
|
container server coded in pure C.
|
||||||
|
|
||||||
|
This package contains support for JavaScript using V8.
|
||||||
|
|
||||||
|
|
||||||
|
%package xslt
|
||||||
|
Summary: XSLT Plugin for uWSGI
|
||||||
|
Group: Productivity/Networking/Web/Servers
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
|
||||||
|
%description xslt
|
||||||
|
uWSGI is a fast, self-healing and developer/sysadmin-friendly application
|
||||||
|
container server coded in pure C.
|
||||||
|
|
||||||
|
This package contains support for rendering XML content using XSLT.
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n uwsgi-%{version}
|
%setup -q -n uwsgi-%{version}
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
# Generate a config that builds all plugins except for examples and stuff we
|
# Generate a config that builds all plugins except for examples and stuff we
|
||||||
# can't satisfy the requirements for
|
# can't satisfy the requirements for or are just broken
|
||||||
excluded_plugins="cheaper_backlog2 cplusplus dummy example mono pyuwsgi stackless pypy php"
|
excluded_plugins=""
|
||||||
|
|
||||||
|
# Still no mongodb in Factory
|
||||||
|
excluded_plugins="$excluded_plugins stats_pusher_mongodb emperor_mongodb mongodb mongodblog gridfs"
|
||||||
|
|
||||||
|
# Mono plugin builds private key during build. It would not be a good idea to
|
||||||
|
# distribute the same key to multiple systems
|
||||||
|
excluded_plugins="$excluded_plugins mono"
|
||||||
|
|
||||||
|
# Only for OSX
|
||||||
|
excluded_plugins="$excluded_plugins alarm_speech"
|
||||||
|
|
||||||
|
# No libphp on openSUSE for some reason
|
||||||
|
excluded_plugins="$excluded_plugins php"
|
||||||
|
|
||||||
|
# No stackless in openSUSE
|
||||||
|
excluded_plugins="$excluded_plugins stackless"
|
||||||
|
|
||||||
|
# No perl-Coro in Factory (there is a broken unmaintained one under d:l:perl:CPAN-C)
|
||||||
|
excluded_plugins="$excluded_plugins coroae"
|
||||||
|
|
||||||
|
# Requires libgloox, which is not in Factory
|
||||||
|
excluded_plugins="$excluded_plugins alarm_xmpp"
|
||||||
|
|
||||||
|
# No build config for gccgo ATM
|
||||||
|
excluded_plugins="$excluded_plugins gccgo"
|
||||||
|
|
||||||
|
# These plugins require a libuwsgi, which appears to conflict with core...
|
||||||
|
excluded_plugins="$excluded_plugins go pyuwsgi"
|
||||||
|
|
||||||
|
# The SPNEGO router is not complete
|
||||||
|
excluded_plugins="$excluded_plugins router_spnego"
|
||||||
|
|
||||||
|
# These are example plugins and shouldn't be distributed
|
||||||
|
excluded_plugins="$excluded_plugins cplusplus dummy example"
|
||||||
|
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1210
|
%if 0%{?suse_version} && 0%{?suse_version} <= 1210
|
||||||
excluded_plugins="$excluded_plugins fiber ruby19 erlang pyerl"
|
# Requirements missing on openSUSE <= 12.1
|
||||||
%endif
|
excluded_plugins="$excluded_plugins erlang fiber pyerl rack ruby19 systemd_logger"
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1140
|
|
||||||
excluded_plugins="$excluded_plugins greenlet"
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
plugins=$(python -c "import sys, os; print ', '.join([p for p in os.listdir('plugins') if p not in sys.argv[1:]])" $excluded_plugins)
|
plugins=$(python -c "import sys, os; print ', '.join([p for p in os.listdir('plugins') if p not in sys.argv[1:]])" $excluded_plugins)
|
||||||
sed -e "s#@@LIBDIR@@#%{_libdir}#" -e "s#@@PLUGINS@@#$plugins#" %{SOURCE1} > buildconf/opensuse.ini
|
sed -e "s#@@LIBDIR@@#%{_libdir}#" -e "s#@@PLUGINS@@#$plugins#" %{SOURCE1} > buildconf/opensuse.ini
|
||||||
|
|
||||||
# README.openSUSE
|
# README.openSUSE
|
||||||
cp %{SOURCE7} .
|
cp %{SOURCE7} .
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Find correct location for libjvm
|
# Find correct location for libjvm
|
||||||
jvmlib=$(dirname $(find %{_jvmdir}/java/jre/lib -name "libjvm.so" | grep server))
|
export UWSGICONFIG_JVM_LIBPATH=$(dirname $(find %{_jvmdir}/java/jre/lib -name "libjvm.so" | grep server))
|
||||||
export CFLAGS="%{optflags} -I$(echo %{_libdir}/erlang/lib/erl_interface-*/include) -I%{_jvmdir}/java/include/ -I%{_jvmdir}/java/include/linux -L$jvmlib"
|
export UWSGICONFIG_JVM_INCPATH="%{_jvmdir}/java/include"
|
||||||
|
export UWSGICONFIG_LUALIB="lua"
|
||||||
|
export UWSGICONFIG_RUBYPATH="ruby1.9"
|
||||||
|
export CFLAGS="%{optflags} -I$(echo %{_libdir}/erlang/lib/erl_interface-*/include) -I%{_jvmdir}/java/include/linux -L$UWSGICONFIG_JVM_LIBPATH/jli"
|
||||||
|
%{?jobs:export CPUCOUNT=%jobs}
|
||||||
python uwsgiconfig.py --build opensuse
|
python uwsgiconfig.py --build opensuse
|
||||||
|
|
||||||
%install
|
%install
|
||||||
install -D -m 0755 uwsgi %{buildroot}%{_sbindir}/uwsgi
|
install -D -m 0755 uwsgi %{buildroot}%{_sbindir}/uwsgi
|
||||||
install -d -m 0755 %{buildroot}%{_libdir}/uwsgi
|
install -d -m 0755 %{buildroot}%{_libdir}/uwsgi
|
||||||
install -m 0755 *_plugin.so %{buildroot}%{_libdir}/uwsgi
|
install -m 0755 *_plugin.so %{buildroot}%{_libdir}/uwsgi
|
||||||
install -D -m 0755 %{SOURCE2} %{buildroot}%{_sysconfdir}/init.d/uwsgi
|
install -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/uwsgi.service
|
||||||
ln -sf %{_sysconfdir}/init.d/uwsgi %{buildroot}%{_sbindir}/rcuwsgi
|
|
||||||
install -d -m 0755 %{buildroot}%{_sysconfdir}/uwsgi/vassals
|
install -d -m 0755 %{buildroot}%{_sysconfdir}/uwsgi/vassals
|
||||||
|
install -D -m 0644 %{SOURCE8} %{buildroot}%{_sysconfdir}/uwsgi/uwsgi.ini
|
||||||
install -m 0644 %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{buildroot}%{_sysconfdir}/uwsgi/vassals
|
install -m 0644 %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{buildroot}%{_sysconfdir}/uwsgi/vassals
|
||||||
install -m 0644 vassals/broodlord.ini %{buildroot}%{_sysconfdir}/uwsgi/vassals/broodlord.ini.example
|
install -m 0644 vassals/broodlord.ini %{buildroot}%{_sysconfdir}/uwsgi/vassals/broodlord.ini.example
|
||||||
install -m 0644 vassals/cc.ini %{buildroot}%{_sysconfdir}/uwsgi/vassals/cc.ini.example
|
install -m 0644 vassals/cc.ini %{buildroot}%{_sysconfdir}/uwsgi/vassals/cc.ini.example
|
||||||
install -m 0644 vassals/multi.xml %{buildroot}%{_sysconfdir}/uwsgi/vassals/multi.xml.example
|
install -m 0644 vassals/multi.xml %{buildroot}%{_sysconfdir}/uwsgi/vassals/multi.xml.example
|
||||||
install -D -m 0644 uwsgidecorators.py %{buildroot}%{python_sitelib}/uwsgidecorators.py
|
install -D -m 0644 uwsgidecorators.py %{buildroot}%{python_sitelib}/uwsgidecorators.py
|
||||||
%py_compile %{buildroot}%{python_sitelib}
|
%py_compile %{buildroot}%{python_sitelib}
|
||||||
install -D -m 0644 %{SOURCE8} %{buildroot}/%{_var}/adm/fillup-templates/sysconfig.uwsgi
|
install -D plugins/jvm/uwsgi.jar %{buildroot}%{_javadir}/uwsgi.jar
|
||||||
|
|
||||||
|
%pre
|
||||||
|
%service_add_pre uwsgi.service
|
||||||
|
|
||||||
%post
|
%post
|
||||||
%fillup_and_insserv uwsgi
|
%service_add_post uwsgi.service
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%stop_on_removal uwsgi
|
%service_del_preun uwsgi.service
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
%restart_on_update uwsgi
|
%service_del_postun uwsgi.service
|
||||||
%insserv_cleanup
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%doc CONTRIBUTORS ChangeLog LICENSE README uwsgi_API.txt README.openSUSE
|
%doc CONTRIBUTORS LICENSE README uwsgi_API.txt contrib examples README.openSUSE
|
||||||
%{_sbindir}/uwsgi
|
%{_sbindir}/uwsgi
|
||||||
%dir %{_sysconfdir}/uwsgi/
|
%dir %{_sysconfdir}/uwsgi/
|
||||||
|
%config(noreplace) %{_sysconfdir}/uwsgi/uwsgi.ini
|
||||||
%dir %{_sysconfdir}/uwsgi/vassals
|
%dir %{_sysconfdir}/uwsgi/vassals
|
||||||
%{_sysconfdir}/uwsgi/vassals/*
|
%{_sysconfdir}/uwsgi/vassals/*
|
||||||
%dir %{_libdir}/uwsgi
|
%dir %{_libdir}/uwsgi
|
||||||
%config %{_sysconfdir}/init.d/uwsgi
|
%{_unitdir}/uwsgi.service
|
||||||
%{_sbindir}/rcuwsgi
|
|
||||||
%{_libdir}/uwsgi/admin_plugin.so
|
%{_libdir}/uwsgi/admin_plugin.so
|
||||||
|
%{_libdir}/uwsgi/airbrake_plugin.so
|
||||||
|
%{_libdir}/uwsgi/alarm_curl_plugin.so
|
||||||
%{_libdir}/uwsgi/cache_plugin.so
|
%{_libdir}/uwsgi/cache_plugin.so
|
||||||
|
%{_libdir}/uwsgi/carbon_plugin.so
|
||||||
|
%{_libdir}/uwsgi/cgi_plugin.so
|
||||||
|
%{_libdir}/uwsgi/cheaper_backlog2_plugin.so
|
||||||
|
%{_libdir}/uwsgi/cheaper_busyness_plugin.so
|
||||||
|
%{_libdir}/uwsgi/clock_monotonic_plugin.so
|
||||||
|
%{_libdir}/uwsgi/clock_realtime_plugin.so
|
||||||
|
%{_libdir}/uwsgi/corerouter_plugin.so
|
||||||
|
%{_libdir}/uwsgi/curl_cron_plugin.so
|
||||||
|
%{_libdir}/uwsgi/dumbloop_plugin.so
|
||||||
|
%{_libdir}/uwsgi/emperor_amqp_plugin.so
|
||||||
|
%{_libdir}/uwsgi/exception_log_plugin.so
|
||||||
|
%{_libdir}/uwsgi/fastrouter_plugin.so
|
||||||
%{_libdir}/uwsgi/echo_plugin.so
|
%{_libdir}/uwsgi/echo_plugin.so
|
||||||
|
%{_libdir}/uwsgi/graylog2_plugin.so
|
||||||
|
%{_libdir}/uwsgi/http_plugin.so
|
||||||
|
%{_libdir}/uwsgi/legion_cache_fetch_plugin.so
|
||||||
|
%{_libdir}/uwsgi/logcrypto_plugin.so
|
||||||
|
%{_libdir}/uwsgi/logfile_plugin.so
|
||||||
|
%{_libdir}/uwsgi/logsocket_plugin.so
|
||||||
|
%{_libdir}/uwsgi/nagios_plugin.so
|
||||||
%{_libdir}/uwsgi/notfound_plugin.so
|
%{_libdir}/uwsgi/notfound_plugin.so
|
||||||
%{_libdir}/uwsgi/ping_plugin.so
|
%{_libdir}/uwsgi/ping_plugin.so
|
||||||
%{_libdir}/uwsgi/probeconnect_plugin.so
|
%{_libdir}/uwsgi/rawrouter_plugin.so
|
||||||
|
%{_libdir}/uwsgi/redislog_plugin.so
|
||||||
|
%{_libdir}/uwsgi/router_access_plugin.so
|
||||||
%{_libdir}/uwsgi/router_basicauth_plugin.so
|
%{_libdir}/uwsgi/router_basicauth_plugin.so
|
||||||
|
%{_libdir}/uwsgi/router_cache_plugin.so
|
||||||
|
%{_libdir}/uwsgi/router_http_plugin.so
|
||||||
|
%{_libdir}/uwsgi/router_memcached_plugin.so
|
||||||
|
%{_libdir}/uwsgi/router_radius_plugin.so
|
||||||
%{_libdir}/uwsgi/router_redirect_plugin.so
|
%{_libdir}/uwsgi/router_redirect_plugin.so
|
||||||
|
%{_libdir}/uwsgi/router_rewrite_plugin.so
|
||||||
|
%{_libdir}/uwsgi/router_static_plugin.so
|
||||||
%{_libdir}/uwsgi/router_uwsgi_plugin.so
|
%{_libdir}/uwsgi/router_uwsgi_plugin.so
|
||||||
%{_libdir}/uwsgi/rpc_plugin.so
|
%{_libdir}/uwsgi/rpc_plugin.so
|
||||||
|
%{_libdir}/uwsgi/rrdtool_plugin.so
|
||||||
|
%{_libdir}/uwsgi/rsyslog_plugin.so
|
||||||
%{_libdir}/uwsgi/signal_plugin.so
|
%{_libdir}/uwsgi/signal_plugin.so
|
||||||
%{_libdir}/uwsgi/spooler_plugin.so
|
%{_libdir}/uwsgi/spooler_plugin.so
|
||||||
|
%{_libdir}/uwsgi/ssi_plugin.so
|
||||||
|
%{_libdir}/uwsgi/sslrouter_plugin.so
|
||||||
|
%{_libdir}/uwsgi/stats_pusher_statsd_plugin.so
|
||||||
%{_libdir}/uwsgi/symcall_plugin.so
|
%{_libdir}/uwsgi/symcall_plugin.so
|
||||||
%{_var}/adm/fillup-templates/sysconfig.uwsgi
|
%{_libdir}/uwsgi/syslog_plugin.so
|
||||||
|
%if 0%{?suse_version} > 1210
|
||||||
|
%{_libdir}/uwsgi/systemd_logger_plugin.so
|
||||||
|
%endif
|
||||||
|
%{_libdir}/uwsgi/transformation_chunked_plugin.so
|
||||||
|
%{_libdir}/uwsgi/transformation_gzip_plugin.so
|
||||||
|
%{_libdir}/uwsgi/transformation_tofile_plugin.so
|
||||||
|
%{_libdir}/uwsgi/transformation_toupper_plugin.so
|
||||||
|
%{_libdir}/uwsgi/ugreen_plugin.so
|
||||||
|
%{_libdir}/uwsgi/webdav_plugin.so
|
||||||
|
%{_libdir}/uwsgi/xattr_plugin.so
|
||||||
|
%{_libdir}/uwsgi/zergpool_plugin.so
|
||||||
|
|
||||||
%files carbon
|
%files emperor_pg
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/carbon_plugin.so
|
%{_libdir}/uwsgi/emperor_pg_plugin.so
|
||||||
|
|
||||||
%files cgi
|
%files emperor_zeromq
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/cgi_plugin.so
|
%{_libdir}/uwsgi/emperor_zeromq_plugin.so
|
||||||
|
|
||||||
%files fastrouter
|
%if 0%{?suse_version} > 1210
|
||||||
|
%files erlang
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/fastrouter_plugin.so
|
%{_libdir}/uwsgi/erlang_plugin.so
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files geoip
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_libdir}/uwsgi/geoip_plugin.so
|
||||||
|
|
||||||
%files gevent
|
%files gevent
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/gevent_plugin.so
|
%{_libdir}/uwsgi/gevent_plugin.so
|
||||||
|
|
||||||
%files graylog2
|
%files greenlet
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/graylog2_plugin.so
|
%{_libdir}/uwsgi/greenlet_plugin.so
|
||||||
|
|
||||||
%files http
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/uwsgi/http_plugin.so
|
|
||||||
|
|
||||||
%files jvm
|
%files jvm
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/jvm_plugin.so
|
%{_libdir}/uwsgi/jvm_plugin.so
|
||||||
|
|
||||||
%files jwsgi
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/uwsgi/jwsgi_plugin.so
|
%{_libdir}/uwsgi/jwsgi_plugin.so
|
||||||
|
%{_libdir}/uwsgi/ring_plugin.so
|
||||||
|
%{_javadir}/uwsgi.jar
|
||||||
|
|
||||||
%files logsocket
|
%files ldap
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/logsocket_plugin.so
|
%{_libdir}/uwsgi/ldap_plugin.so
|
||||||
|
|
||||||
%files lua
|
%files lua
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/lua_plugin.so
|
%{_libdir}/uwsgi/lua_plugin.so
|
||||||
|
|
||||||
%files nagios
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/uwsgi/nagios_plugin.so
|
|
||||||
|
|
||||||
%files pam
|
%files pam
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/pam_plugin.so
|
%{_libdir}/uwsgi/pam_plugin.so
|
||||||
|
|
||||||
%files probepg
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/uwsgi/probepg_plugin.so
|
|
||||||
|
|
||||||
%files psgi
|
%files psgi
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/psgi_plugin.so
|
%{_libdir}/uwsgi/psgi_plugin.so
|
||||||
|
|
||||||
|
%if 0%{?suse_version} > 1210
|
||||||
|
%files pyerl
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_libdir}/uwsgi/pyerl_plugin.so
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files pypy
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_libdir}/uwsgi/pypy_plugin.so
|
||||||
|
|
||||||
%files python
|
%files python
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/python_plugin.so
|
%{_libdir}/uwsgi/python_plugin.so
|
||||||
%{python_sitelib}/uwsgidecorators.py*
|
%{python_sitelib}/uwsgidecorators.py*
|
||||||
|
|
||||||
|
%if 0%{?suse_version} > 1210
|
||||||
%files ruby
|
%files ruby
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
|
%{_libdir}/uwsgi/fiber_plugin.so
|
||||||
%{_libdir}/uwsgi/rack_plugin.so
|
%{_libdir}/uwsgi/rack_plugin.so
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} > 1210
|
|
||||||
%{_libdir}/uwsgi/ruby19_plugin.so
|
%{_libdir}/uwsgi/ruby19_plugin.so
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files redislog
|
%files sqlite3
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/redislog_plugin.so
|
%{_libdir}/uwsgi/sqlite3_plugin.so
|
||||||
|
|
||||||
%files rrdtool
|
%files v8
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/rrdtool_plugin.so
|
%{_libdir}/uwsgi/v8_plugin.so
|
||||||
|
|
||||||
%files rsyslog
|
%files xslt
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/uwsgi/rsyslog_plugin.so
|
%{_libdir}/uwsgi/xslt_plugin.so
|
||||||
|
|
||||||
%files syslog
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/uwsgi/syslog_plugin.so
|
|
||||||
|
|
||||||
%files ugreen
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/uwsgi/ugreen_plugin.so
|
|
||||||
|
|
||||||
%files zergpool
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/uwsgi/zergpool_plugin.so
|
|
||||||
|
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} > 1210
|
|
||||||
%files fiber
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/uwsgi/fiber_plugin.so
|
|
||||||
|
|
||||||
%files erlang
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/uwsgi/erlang_plugin.so
|
|
||||||
|
|
||||||
%files pyerl
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/uwsgi/pyerl_plugin.so
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} > 1140
|
|
||||||
%files greenlet
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/uwsgi/greenlet_plugin.so
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
## Path: Network/WWW/uWSGI
|
|
||||||
## Description: Run uWSGI in Emperor Mode
|
|
||||||
## Type: boolean
|
|
||||||
## Default: true
|
|
||||||
#
|
|
||||||
# uWSGI emperor mode is a method of running many different applications
|
|
||||||
# (vassals) in individual uWSGI processes, managed by a single master (emperor)
|
|
||||||
# process. It is recommended in most cases.
|
|
||||||
#
|
|
||||||
UWSGI_EMPEROR_MODE=true
|
|
||||||
|
|
||||||
## Path: Network/WWW/uWSGI
|
|
||||||
## Description: uWSGI Vassals Directory
|
|
||||||
## Type: string
|
|
||||||
## Default: /etc/uwsgi/vassals
|
|
||||||
#
|
|
||||||
# When uWSGI is running in emperor mode, this is the directory where individual
|
|
||||||
# application configurations (vassals) are found. Configuration files can be in
|
|
||||||
# xml, ini, yaml, and json format. Vassals are started automatically when a
|
|
||||||
# file is placed in this directory and restarted if a file is changed.
|
|
||||||
#
|
|
||||||
UWSGI_VASSALS="/etc/uwsgi/vassals/"
|
|
||||||
|
|
||||||
## Path: Network/WWW/uWSGI
|
|
||||||
## Description: Additional uWSGI Options
|
|
||||||
## Type: string
|
|
||||||
## Default: ""
|
|
||||||
#
|
|
||||||
# Specify additional uWSGI options here. This is normally unnecessary since
|
|
||||||
# options can be specified in per-application configuration files when running
|
|
||||||
# in emperor mode. However, if emperor mode is disabled, this option will be
|
|
||||||
# necessary. If emperor mode is enabled, these options are specified in
|
|
||||||
# addition to the emperor mode settings.
|
|
||||||
#
|
|
||||||
UWSGI_OPTIONS=""
|
|
Loading…
Reference in New Issue
Block a user