F21 Self Contained Change: Better Erlang Support

Jaroslav Reznik jreznik at redhat.com
Mon Mar 31 15:18:21 UTC 2014

= Proposed Self Contained Change: Better Erlang Support =

Change owner(s):  Peter Lemenkov <lemenkov at gmail.com>, Sam Kottler <skottler 
[at] redhat.com>, Fedora Erlang SIG <erlang at lists.fedoraproject.org>

Update Erlang/OTP to R17, and improve Erlang integration with the rest of 

== 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 

== 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] 
* 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
devel-announce mailing list
devel-announce at lists.fedoraproject.org

More information about the devel mailing list