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