Riak packaging for RPM-based distros
tuxofil at gmail.com
Wed Jan 9 08:53:01 EST 2013
Someone can possibly perceive the states below as a heresy, so, first of
all, I want to declare: I have no intention to start new holywar here, I
just propose a solution.
I have noticed that packages available at
http://docs.basho.com/riak/latest/downloads/ includes a kind of so-called
Erlang "release". This release includes all Riak-related Erlang
applications and Erlang VM in one package.
Using such package produces several problems:
- Erlang VM upgrade. Erlang VM, used by Riak installed, can be upgraded
only with Riak code;
- integration with 3d party Erlang code. I mean filesystem hierarchy usage
- this "release" uses its own location for Erlang applications;
- and again: integration with 3d party Erlang code on Erlang VM level - to
include custom functionality I must patch existing "release".
I know that such a "release" is generated by rebar, which used to build
almost all Riak-related Erlang applications and libraries.
My proposal is to make Riak packaging more system-friendly:
- use Erlang OTP, provided by target distribution;
- package each Riak-related Erlang application in separate RPM/DEB etc;
- honor filesystem hierarchy of underlying OS.
This includes (for each distro):
- create a bundle of package specs;
- create a package repo, based on packages built.
I have already packaged most of Riak-related Erlang applications and
libraries for OpenSUSE 11.4. RPM package repository with packages generated
we already use in production. To package some applications I had replace
usual "rebar compile" recipes, because there is no way to disable recursive
dependency fetch from remote GIT repositories. All these packages was
successfully built in chrooted clean environment which ensures RPM
All these RPM specs are available at forked
P.S. Sorry, there is no possibility to public use of our RPM repo at all :(
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the riak-users