1 |
Hi everyone, |
2 |
|
3 |
the new versions of uwsgi (1.9+) support even more languages/platforms |
4 |
and plugins. |
5 |
|
6 |
Currently we do everything with common USE flags and build-in many |
7 |
plugins since we didn't want to expose them right from the start to the |
8 |
user (the selection is based on upstreams base configuration). |
9 |
|
10 |
For the new version, uWSGI will support the following |
11 |
languages/platforms which we would like to put in UWSGI_LANGUAGES: |
12 |
python (vanilla, gevent, ugreen, stackless), ruby (rack, RoR & fibers), |
13 |
perl, lua, erlang (+pyerl), php, go, java (jvm & clojure), mono, |
14 |
javascript (via v8). |
15 |
For some of them it is even possible to enable/disable the specific |
16 |
interface (for example ruby fibers or java clojure) but if they don't |
17 |
pull in additional dependencies we continue with the current approach |
18 |
and build all interfaces for a language. |
19 |
|
20 |
For the UWSGI_PLUGINS we would add the following flags: |
21 |
ping, cache, nagios, rrdtool, carbon, rpc, corerouter, fastrouter, http, |
22 |
ugreen, signal, syslog, rsyslog, logsocket, router_uwsgi, |
23 |
router_redirect, router_basicauth, zergpool, redislog, mongodblog, |
24 |
router_rewrite, router_http, logfile, router_cache, rawrouter, |
25 |
router_static, sslrouter, spooler, cheaper_busyness, symcall, |
26 |
transformation_tofile, transformation_gzip, gridfs, |
27 |
stats_pusher_mongodb, stats_pusher_statsd, spooler, xslt |
28 |
(plus some more) |
29 |
|
30 |
While the following will remain normal USE flags: |
31 |
xml, yaml, json, zeromq, ssl, pcre |
32 |
since they are not plugins but general capabilities of uWSGI. |
33 |
|
34 |
The drawback of putting for example "python" behind a UWSGI_LANGUAGES |
35 |
USE_EXPAND is that someone with USE=python in make.conf does not get |
36 |
python-support in uWSGI automatically but has to enable it explicitly. |
37 |
On the other hand, uWSGI gets installed explicitly and people most |
38 |
likely check things before installing them. |
39 |
|
40 |
Furthermore we may want to switch to an all-plugin-based installation as |
41 |
available for Debian, openSUSE, etc. as recommended by upstream [1] |
42 |
(currently we're only building the language plugins as real plugins). It |
43 |
doesn't really matter as much as it does for binary package distros but |
44 |
it also doesn't hurt (please correct me if wrong) and this way our users |
45 |
can share their configs between distros. |
46 |
|
47 |
Ok to add those two USE_EXPANDs? |
48 |
|
49 |
Any comments on the other plans? |
50 |
|
51 |
Best, |
52 |
Tiziano |
53 |
|
54 |
[1] http://projects.unbit.it/uwsgi/wiki/Guide4Packagers |