= Proposed Self Contained Change: Erlang 19 =
https://fedoraproject.org/wiki/Changes/Erlang_19

Change owner(s):
* Peter Lemenkov <lemen...@gmail.com>
* Fedora Erlang SIG <erl...@lists.fedoraproject.org>
* Randy Barlow <rbar...@fedoraproject.org>
* Jeremy Cline <jcl...@fedoraproject.org>

== Detailed Description ==
Upgrade Erlang to version 19 which brings a lot of good stuff. Just a few 
highlights:

* A new state machine behavior - gen_statem.
* An experimental plugin to mnesia which allows using expernal storage 
solutions (leveldb, for example) - mnesia_ext.
* Cryptographic functions speedups.
* Even better dirty NIF schedulers [1].
* Experimental support for Unix Domain Sockets which opens a door for native 
Journald, systemd-notify, D-Bus implementations.

Aside from this, we plan to improve quality of Erlang and related packages. 
These are shortcomings we want to address:

* We should enable so-called dirty NIF scheduler [1] which is still disabled 
currently.
* Every daemon written in Erlang has its own logging solution which doesn't 
use neither syslog nor Journald. We should start switching them to Journald.
* We should add ability to use D-Bus via erlang-dbus library.
* Further improve Erlang Packaging Guidelines [2].

== Scope ==
* Proposal owners:
** Upgrade Erlang to the latest version (19.0.1) [3].
** We must rebuild every package which requires NIF or Driver version (listed 
below in the [[#Dependencies|Dependencies]] section) against Erlang 19.x.y.
** Every Erlang daemon's systemd unit must require epmd.socket.
** Consider allowing EPMD implementation switching. Erlang is about choice!
** We need to fill new review request for erlang-ejournald [4]
*** We have to fill new review request for erlang-lager_journald_backend [5]
** We need to fill new review request for erlang-dbus [6]
** Add another default directory to look for Erlang *.beam files.
** Upgrade outdated packages:
*** Riak [7]
**** Riak has has been retired. We have to re-add it back.
* Other developers: N/A
* Release engineering: N/A
* Policies and guidelines:
** We should promote officially Erlang Packaging Guidelines [2].

[1] https://medium.com/@jlouis666/erlang-dirty-scheduler-overhead-6e1219dcc7
[2] User:Peter/Erlang_Packaging_Guidelines
[3] https://bugzilla.redhat.com/1348957
[4] https://github.com/travelping/ejournald
[5] https://github.com/travelping/lager_journald_backend
[6] https://github.com/lizenn/erlang-dbus
[7] https://apps.fedoraproject.org/packages/riak
--
devel mailing list
devel@lists.fedoraproject.org
https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Reply via email to