[erlang-questions] Building, Packaging and Installing

Gleb Peregud <>
Mon May 7 11:59:28 CEST 2012


On Mon, May 7, 2012 at 10:29 AM, Vlad Dumitrescu <> wrote:
> Hi,
>
> On Mon, May 7, 2012 at 9:37 AM, Joe Armstrong <> wrote:
>>        How do we avoid version nightmares?
>>
>>        i.e. if A depends upon X.vsn1 and breaks with X.vsn2
>>             and B depends upon X.vsn2 and breaks with X.vsn1
>>        how can we run A and B in the same namespace?
> (...snip...)
>>         b) Declare A to be broken and fix it (assuming X.vsn2 is the
>> latest and best version of
>>              X)
>
> This might be an obvious thing to point out (or maybe not), but in
> real life (as an A developer) one might need to deliver both A.v4
> (using X.v1) and A.v5 (using X.v2) because maybe some user/customer
> can't upgrade to the latest and greatest right away or maybe there is
> a C app that doesn't work with X.v1 yet. This might be a bit heavy on
> an open-source project...
>
> A remark about the manifest file: for a while ago I proposed some
> extensions to the .app file:
> http://erlang.org/pipermail/erlang-questions/2010-September/053354.html.
> There was no reaction at all at the time, maybe it's not of general
> interest, but if there will be a process of standardisation of
> manifest data, I'd like to suggest to have a format open to extensions
> that will be ignored by tools that don't understand them.

The good question is - do we want to put all meta data into one file?
Some things are useful only at compile-time (e.g. location of
dependencies) and some things are useful only at run-time (e.g.
application env). I'm a bit vary of putting too many things into one
file. Although if most of those fields are optional and reasonable
defaults are assumed, this is not a problem.



More information about the erlang-questions mailing list