[erlang-bugs] release_handler error in upgrading slim release

Tristan Sloughter <>
Tue Nov 5 16:55:18 CET 2013


I don't think there is any bug here but just how systools works, and how
picky it is.

I'd suggest looking at relx and these 2 examples of making upgrades with
it:

https://github.com/extend/elevators
https://github.com/blt/beat/

And http://learnyousomeerlang.com/relups

On Tue, Nov 5, 2013, at 06:45 AM, Shunichi Shinohara wrote:
> I try to make rebar work with slim release at
> https://github.com/rebar/rebar/pull/52 .
> Almost all goes well, but in upgrading in slim release environment
> an error occurs and fails. (R16B02, Linux)
> 
> To simplify step to reproduce, I created repository which has
> rebar binary and some configuration files.
> https://github.com/shino/slim-upgrade-sample
> 
> Steps to reproduce:
> 0. Clone the repository and cd to it.
>    git clone https://github.com/shino/slim-upgrade-sample.git
> 1. Generate version 1 and 2 of releases and upgrade package between
>    them. The script generate.sh in the repo does this work.
> 2. Boot the node with release version 1 and try to unpack the upgrade
>    package.
> 3. The following error occurs.
>   > release_handler:unpack_release("sample_2").
>   {error,{enoent,
>    "/opt/shino/scm/slim-upgrade-sample/sample/rel/sample_1/releases/sample_2.rel"}}
> 
> "/opt/shino/scm/slim-upgrade-sample/sample/rel/sample_1/" is root
> directory
> of slim release generated by reltool.
> The file "sample_2.rel" which release_handler complains not-found goes
> under the "releases" directory of Erlang/OTP which execute the node.
> Quick look of source code, release_handler seems to assume "releases"
> directory
> exists just under root directory (it's appropriate for normal,
> non-slim release).
> 
> - extract_rel_file/2: Extract rel file in tar ball under root directory.
>   https://github.com/erlang/otp/blob/OTP_R16B02/lib/sasl/src/release_handler.erl#L835
> - check_rel/3,4: Try rel file under releases directory of slim release.
>   https://github.com/erlang/otp/blob/OTP_R16B02/lib/sasl/src/release_handler.erl#L836
> 
> P.S.
> Sorry that steps to reproduce contain non-OTP, rebar related things.
> I hope rebar is not related the error because of release_handler's code
> above.
> 
> Best Regards,
> Shino
> _______________________________________________
> erlang-bugs mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-bugs


More information about the erlang-bugs mailing list