Riak packaging for RPM-based distros
aleksey.morarash at gmail.com
Wed Jan 9 16:34:23 EST 2013
2013/1/9 Jared Morrow <jared at basho.com>
> In our case, making a distributed database that people depend on to be stable and
> performant also requires us to control the Erlang VM we use. In a particular case,
> we've been fighting Erlang scheduler issues in regards to our use of NIF's that has
> changed behavior between versions of Erlang. Because of this issue, we haven't
> moved forward on using new versions past R15B02 of erlang. Because we are
> responsible for any problems with Riak, I do not see anytime in the future we will
> give up control of the Erlang we use at the expense of a slightly larger rpm / deb / tgz
> size. That was just one example, another is the use of HiPE or no HiPE where
> we've found segfaults when using HiPE on SunOS or *BSD due to fixed memory buffer sizes.
Hm. I`m familiar with such problems too :)
> Regarding packaging components as separate RPM's. This is another thing that
> distributions have tried to get us to do, make a riak_core, riak_kv, erlang_js, etc.,
> etc. rpm. Again, I see no benefit at all to people who use riak. This is a benefit
> solely to fit into packaging guidelines made by distributions. When testing such a
> complicated system such as Riak, breaking it up into 30 pieces would simply make
> testing harder and the product less stable. Unless you are writing a riak_core app,
> who would just *just* want a riak_core RPM anyway?
Agree. Code, related only to Riak we can package in one package.
Creating package for each Erlang application is not strict dogma.
> Right now if someone has a problem, I can say, "tell me what ./riak version says"
> and know exactly what is running.
Mostly true, but... Most deps in 'rebar.config' files links to HEAD of
'master' branch. Seems output of './riak version' is not enough.
Anyway, when packaging is done right way (no packages was built with
new code but old version), 'rpm -q $pkgname' (for example) will give
good start point.
>> - honor filesystem hierarchy of underlying OS.
> This one I'd like to hear more about. I've made some changes along the way for systems
> I didn't know as much about at first pass (mainly SunOS flavors), but I know for a fact we
> haven't got everything right. If you have some examples of where we are doing it wrong
> in regards to our install, please let me know or file a bug at https://github.com/basho/riak
Ok, I will.
More information about the riak-users