erlware / relx

Sane, simple release creation for Erlang
http://erlware.github.io/relx
Apache License 2.0
697 stars 232 forks source link

Making a release tar and release is different #857

Closed joaohf closed 3 years ago

joaohf commented 3 years ago

Hello,

Using rebar3 3.14.4 and making a release with:

The main problem is because the file bin/erl gets overwrite.

The output will be different. Not sure if this is a regression of this one https://github.com/erlware/relx/pull/70/

The figure below shows the same release. On the left hand side using release and on the right hand side tar:

relx

ferd commented 3 years ago

For completeness, can you provide the configuration you're calling both commands with?

joaohf commented 3 years ago

Hmm, I'll investigate it a bit more. The issue seems to be a side effect from my changes related to this one https://github.com/erlang/rebar3/pull/2503.

Anyway, the following shows the commands that I'm using:

rebar3 as prod release -o /tmp/pp --system_libs /home/joaohf/work/opensource/kas-meonrpi/dunfell/build/tmp/work/arm1176jzfshf-vfp-poky-linux-gnueabi/axon/0.1.0-git999-r0/recipe-sysroot/usr/lib/erlang/lib --include-erts /home/joaohf/work/opensource/kas-meonrpi/dunfell/build/tmp/work/arm1176jzfshf-vfp-poky-linux-gnueabi/axon/0.1.0-git999-r0/recipe-sysroot/usr/lib/erlang -n axon
===> Verifying dependencies...
===> Analyzing applications...
===> Compiling axon
===> Assembling release axon-0.1.0...
===> There are missing function calls in the release.
===> Make sure all applications needed at runtime are included in the release.
===> axon_sup:start_link/0 calls undefined function supervisor:start_link/3
===> Release successfully assembled: /tmp/pp/axo

 rebar3 as prod tar --system_libs /home/joaohf/work/opensource/kas-meonrpi/dunfell/build/tmp/work/arm1176jzfshf-vfp-poky-linux-gnueabi/axon/0.1.0-git999-r0/recipe-sysroot/usr/lib/erlang/lib --include-erts /home/joaohf/work/opensource/kas-meonrpi/dunfell/build/tmp/work/arm1176jzfshf-vfp-poky-linux-gnueabi/axon/0.1.0-git999-r0/recipe-sysroot/usr/lib/erlang -n axon
===> Verifying dependencies...
===> Analyzing applications...
===> Compiling axon
===> Assembling release axon-0.1.0...
===> There are missing function calls in the release.
===> Make sure all applications needed at runtime are included in the release.
===> axon_sup:start_link/0 calls undefined function supervisor:start_link/3
===> Release successfully assembled: _build/prod/rel/axon
===> Building release tarball axon-0.1.0.tar.gz...
===> Tarball successfully created: _build/prod/rel/axon/axon-0.1.0.tar.gz

tar zxf _build/prod/rel/axon/axon-0.1.0.tar.gz -C /tmp/p

root@porco:/home/joaohf/work/projetos/axon# diff /tmp/p/erts-11.1.8/bin/erl /tmp/pp/axon/erts-11.1.8/bin/erl
Binary files /tmp/p/erts-11.1.8/bin/erl and /tmp/pp/axon/erts-11.1.8/bin/erl differ

root@porco:/home/joaohf/work/projetos/axon# file /tmp/pp/axon/erts-11.1.8/bin/erl
/tmp/pp/axon/erts-11.1.8/bin/erl: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, BuildID[sha1]=bc0689f2a1ea5b9984975afbadb8dbb586f9a9e7, for GNU/Linux 3.2.0, stripped

root@porco:/home/joaohf/work/projetos/axon# file /tmp/p/erts-11.1.8/bin/erl
/tmp/p/erts-11.1.8/bin/erl: POSIX shell script, ASCII text executable

I'm closing this issue for now.

Thanks.