= Proposed Self Contained Change: Erlang 19 =
https://fedoraproject.org/wiki/Changes/Erlang_19
Change owner(s):
* Peter Lemenkov <lemenkov(a)gmail.com>
* Fedora Erlang SIG <erlang(a)lists.fedoraproject.org>
* Randy Barlow <rbarlow(a)fedoraproject.org>
* Jeremy Cline <jcline(a)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