Packaging Erlang libs and apps for a GNU/Linux distribution

Michael Truog mjtruog@REDACTED
Sun Jul 12 02:02:57 CEST 2020


On 7/11/20 2:00 PM, Tristan Sloughter wrote:
> I'm sorry to say but I can guarantee you are going to have a bad time.
>
> Your questions mainly boil down to using rebar3 with pre-built global 
> OTP Applications (packages). This isn't really possible. Rebar3 is 
> meant as a development tool and not to be used as part of distributing 
> software.
>
> You might find installing packages to the $OTP_ROOT/lib directory or 
> setting $ERL_LIBS while dropping deps from the rebar.config starts 
> moving you forward (similar to how using _checkouts moved you forward) 
> but you'll soon hit problems I'm sure. One off the top of my head 
> would be plugins not working, so any package that depends on a plugin 
> to compile would fail.

Do not install packages into the $OTP_ROOT/lib directory because you get 
conflicting dependencies when you go down that path.  You should keep 
your Erlang applications separate, whether they are in a release or 
separate from a release.  Then using rebar3 with ERL_LIBS or rebar2 with 
the lib_dirs configuration set will pull in the dependencies.  If you 
want a release to have dependencies that may be reused from the local 
filesystem, then use {excl_archive_filters, [".*"]} when building the 
release (if you are using reltool) to avoid stuff getting zipped up 
together.

Best Regards,
Michael

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20200711/c060939d/attachment.htm>


More information about the erlang-questions mailing list