= Proposed Self Contained Change: Better Erlang Support =
https://fedoraproject.org/wiki/Changes/BetterErlangSupport
Change owner(s): Peter Lemenkov <lemenkov(a)gmail.com>, Sam Kottler <skottler
[at] redhat.com>, Fedora Erlang SIG <erlang(a)lists.fedoraproject.org>
Update Erlang/OTP to R17, and improve Erlang integration with the rest of
Fedora.
== Detailed Description ==
Erlang in Fedora is already in a good shape. However we can do better since
there are a number of annoying shortcomings and issues. Just a few of them:
* Fedora partially enabled Ellyptic Curve Crypto recently but we still provide
Erlang with EC disabled completely because there is no way to enable just a
few EC in the current Erlang version.
* Erlang<->systemd interaction is in a quite poor state currently.
* There is no way to install "headless" Erlang. Every Fedora Erlang user have
to install graphical libraries even if (s)he doesn't want to use GUI on the
target machine.
* Every daemon written in Erlang has its own logging solution which doesn't
use neither syslog nor Journald.
* Erlang packaging is quite complex and undocumented mostly.
In order to address all these issues we should do the following:
* Enable fine grained EC crypto support [1] by upgrading Erlang to the latest
R17 (not yet released, and scheduled to April, 2014).
* Start working on a better systemd support in Erlang by enabling EPMD systemd
support. This could be done by merging patches from Matwey V. Kornilov [2]
and systemd unit-files from openSUSE [3].
* Add erlang-ejournald [4], erlang-lager_journald_backend [5], and make
Journald as a default logging backend.
* Split-off infrequently used modules [6] which requires X11, Pulseaudio and
ensure that it won't break anything.
* Fix the long-standing noarch issue by providing additional default location
for Erlang bytecode data.
* Update Erlang RPM-related macros to improve packaging by reducing spec-file
sizes.
== Scope ==
Proposal owners:
* We must rebuild Erlang R17 and submit it to build-overrides.
** We have to rebuild all the packages listed below in the Dependencies [7]
section.
* WiP: A necessary *.socket unit must be added to erlang-erts to enable EPMD
socket activation.
** Every Erlang daemon's systemd unit must require epmd.socket.
* We need to fill new review request for erlang-ejournald
** We have to fill new review request for erlang-lager_journald_backend
* We have to patch out GUI parts and provide a way to tell user what to do in
order to enable this functionality.
* Add another default directory to look for Erlang *.beam files.
* Every Erlang package must require erlang-rpm-macros.
* Riak has growing Bugzilla backlog. We have to address all of these issues.
Other developers: N/A
Release engineering: N/A
Policies and guidelines: We should create Erlang Packaging Guidelines which
doesn't exist yet.
[1]
https://bugzilla.redhat.com/1023017
[2]
https://github.com/matwey/otp/tree/systemd
[3]
https://build.opensuse.org/package/show/openSUSE:Factory/erlang
[4]
https://github.com/travelping/ejournald
[5]
https://github.com/travelping/lager_journald_backend
[6]
https://bugzilla.redhat.com/784693
[7]
https://fedoraproject.org/wiki/Changes/BetterErlangSupport#Dependencies