2012/3/1 Roberto De Ioris <[email protected]>

> * Ruby RVM support
>
> The rack plugin can now use gemsets easily.
>
> You obviously need to compile the rack plugin for all of the ruby binaries
> installed (ONLY the binaries, not the gemsets !!!):
>
> rvm use 1.8.7
> python uwsgiconfig --plugins plusing/rack default rack187
> rvm use 1.8.6
> python uwsgiconfig --plugins plusing/rack default rack186
> rvm use 1.9.2
> python uwsgiconfig --plugins plusing/rack default rack192
>

This will work with namespace options only if rvm is available inside
chroot and have exact same version of ruby compiled, right? Are plugins
loaded before chrooting? If I compile plugin for given ruby version inside
chroot and them copy it outside of the chroot, into /usr/lib/uwsgi, and
then use namespace=<chroot with rvm> and plugins-dir=/usr/lib/uwsgi, will
it work? I won't have linked libruby to load outside of the chroot, so it
will work only if uwsgi is loading plugins after jailing, which I doubt:
1. I don't have uwsgi inside the chroot, so what would be loaded
2. chrooting probably means calling chroot on running process early when it
starts or something like this
So I guess that using namespace and rvm means that I need to have rvm
installed twice (or hardlinked but that cripples chroot security), and also
have proper ruby version compiled twice. That doesn't sound easy to me, so
if anyone is going to use namespace and multiple ruby versions* You better
make yourself a deb/rpm package so that You are sure that there
is exactly the same ruby in chroot and on the backend system outside of the
chroot.
I currently have 1.9.2 deb I made with checkinstall (not the best way but
it's easy and it works), I got request from dev team to setup 1.9.3 for new
apps they are going to make, until now I had single deb package for 1.9.2,
both versions can't easily coexist since they install the same version of
libruby.so, so I need to have --prefix-* magic in configure, or maybe use
rvm. But having to maintain rvm in sync for chroot/outside system on
several boxes is messy and harder to automate than debs.

[*] - and this is problem with ruby world since 1.9.2 and 1.9.3 should
be basically the same thing according to old open source versioning
policy (but with more bugs fixed in 1.9.3), but AFAIK they are not, some
gems/apps that runs properly with 1.9.2 might not run with 1.9.3, and this
story seems to continue for every minor version of ruby.


> * Minor fixes
>
> ConfigLogic has been improved for negative functions, check the doc on
> http://projects.unbit.it/uwsgi/wiki/ConfigLogic
>
> Any chance for having also "else" and "else-if" keywords?

-- 
--------------------------------
Łukasz Mierzwa
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to