[erlang-bugs] Bug in reltool App Discovery

Eric Merritt ericbmerritt@REDACTED
Thu Mar 29 16:05:22 CEST 2012


Siri,

I think the thing that disturbed me the most was that reltool, by
default creates a 'Start' release with a version of 0.1 or 1.0 (I
forget). There are two big problems with this. The first and worst is
that it removes all meaning from release names and versions. That is
we have some unknown number of 'start' releases out there at the same
version all with different functionality. When I see a start relesase
I expect it to be the erlang start release and would consider it safe
to run. That is very much not true now that reltool creates the start
release by default. Let me rephrase this, release names are important
as are versions, they give you a critical reference to what is in the
release. Reltool violates that precept and clouds the issues. I think
this is a pretty bad thing.

The second, less important though perhaps more painful thing in day to
day life is that by using the same name by default it makes it
impossible to have multiple releases in the target directory. (This is
actually a variation of the naming/versioning problem but bare with
me). In many situations this can cause problems.

I realize that reltool probably does this because it makes it very
easy to start a release. Erl uses the start release by default.
However, I think there are much much better ways to accomplish this
task then by defaulting all releases to 'start'.

Eric

On Tue, Mar 27, 2012 at 11:20 AM, Eric Merritt <ericbmerritt@REDACTED> wrote:
> On Tue, Mar 27, 2012 at 4:08 AM, Siri Hansen <erlangsiri@REDACTED> wrote:
>>
>> Den 15:11 23. mars 2012 skrev Eric Merritt <ericbmerritt@REDACTED>
>> følgende:
>>>
>>> If you have two versions of an application say foo-2.0 and
>>> foo-3.0, and foo 2.0 is in the root_dir, while foo 3.0 is in a
>>> lib_dir. In the spec you have specified an app entry with a vsn
>>> of 3.0, then reltool will fail to find 3.0 basically saying that
>>> 'foo' or 3.0 could not be found.
>>>
>>> If you then delete 2.0 from the root directory it happly resolves
>>> 3.0 with no further changes.
>>>
>>> both applications are in the normal OTP App format of <name>-<vsn>
>>> with a valid app file in ebin specifying the metadata.
>>>
>>> There have been *many* other things that I would consider bugs, but
>>> may not be depending on your interpretation, but this one seems to be
>>> pretty obvious.
>>> _______________________________________________
>>> erlang-bugs mailing list
>>> erlang-bugs@REDACTED
>>> http://erlang.org/mailman/listinfo/erlang-bugs
>>
>>
>> Hi Eric! Thanks for reporting this!
>>
>> When you say you have foo-2.0 in the root_dir, do you mean directly under
>> the $ROOT or in $ROOT/lib??
>
> Directly under root I am pretty sure (I need to redo it to make sure I
> have forgotten a bit). However, it was root_dir as specified in the
> config. I basically specified a root_dir and a lib_dir directly
>
>
>> Please feel free to list the other issues that you regard as bugs, and I
>> will have a look at it.
>
> I will pull a list together. I have the details spread around a bit.
>
>>
>> Also, there has been a rather big update of reltool including many bug fixes
>> in the upcoming R15B01, so maybe some of your issues are already taken care
>> of... :)
>
> Sir
>
>>
>> /siri



More information about the erlang-bugs mailing list