Longstanding issues: structs & standalone Erlang

Fredrik Thulin ft@REDACTED
Wed Feb 15 09:12:30 CET 2006

On Wednesday 15 February 2006 08:19, Douglas Philips wrote:

I was very close to jump into this thread responding to the part about 
Perl and CPAN, but at the last moment managed to fight that urge ;). 
This is not really a response directed just at you Douglas, but rather 
at the whole idea that the Erlang community should handle packaging of 
all Erlang software.

I would just like to share my point of view, which is the one of a 
person involved in packaging software in Stockholm universitys variant 
of a packaging system like the BSD's ports-trees (buildit [1]).

Packaging modules/whatever that usually gets installed via some other 
packaging system like for example CPAN is _incredibly_ difficult and 
frustrating. It makes it easy to install something if you have the time 
to log into each server where you want that something installed, and 
run a command or two, but it makes it waay more complicated to manage 
things on a larger scale.

Larger scale in my case is several hundred servers and workstations at 
Stockholm university, but it could also be the user base of a 
distribution of some kind.

Sure, for small installations (me and my Linux server, or me and my ten 
Linux servers), it is convenient to get all Erlang stuff packaged by 
the very same people that writes this Erlang stuff, and it is 
acceptable to trust them and issue a command like "install 
this-or-that", but this just doesn't cut it for larger installations.

As a colleague of mine pointed out, it is important to keep build 
requirements and run-time requirements separate. I, as the developer of 
the Erlang application YXA, am really in the position to declare what 
dependencys my application has (essentially writing .rel files with 
verison numbers really), but firmly beleive that I should leave it to 
the people making a distribution to ensure that these dependencys are 
met at run-time!

Yaws, ejabberd and YXA all install with "./configure; make; make 
install". That is extremely important in my opinion.


[1] Open source, but apparently not advertised. In our subversion 
repository if anyone is interested.

More information about the erlang-questions mailing list