Gabriele Santomaggio 01848b6a36 Accepting request 710208 from home:matwey:branches:devel:languages:erlang:Factory
- Version 22.0:
  - Potential Incompatibilities:
  * gen_* behaviours: If logging of the last N messages through
    sys:log/2,3 is active for the server, this log is included in
    the terminate report.
  * reltool: A new element, Opts, can now be included in a rel
    tuple in the reltool release specific configuration format:
    {rel, Name, Vsn, RelApps, Opts}.
  * All external pids/ports/refs created by erlang:list_to_pid and
    similar functions now compare equal to any other pid/port/ref
    with same number from that node.
  * The old legacy erl_interface library is deprecated as of OTP
    22, and will be removed in OTP 23. This does not apply to the
    ei library.
  * VxWorks is deprecated as of OTP 22 and will be removed in OTP
    23.
  - New Features:
  * Support for Erlang Distribution protocol to split the payload
    of large messages into several fragments.
  * ETS option write_concurrency now also effects and improves
    scalability of ordered_set tables.
  * The length/1 BIF used to calculate the length of the list in
    one go without yielding, even if the list was very long. Now it
    yields when called with long lists.
  * A new (still experimental) module socket is introduced. It is
    implemented as a NIF and the idea is that it shall be as "close
    as possible" to the OS level socket interface.
  * Added the NIF function enif_term_type, which helps avoid long
    sequences of enif_is_xyz by returning the type of the given
    term. This is especially helpful for NIFs that serialize terms,
    such as JSON encoders, where it can improve both performance
    and readability.
  * The compiler has been rewritten to internally use an
    intermediate representation based on Static Single Assignment
    (SSA). The new intermediate representation makes more
    optimizations possible.
  * All compiler options that can be given in the source file can
    now be given in the option list on the command line for erlc.
  * In OTP 22, HiPE (the native code compiler) is not fully
    functional. The reasons for this are new BEAM instructions for
    binary matching that the HiPE native code compiler does not
    support. If erlc is invoked with the +native option, and if any
    of the new binary matching instructions are used, the compiler
    will issue a warning and produce a BEAM file without native
    code.
  * Cover now uses the counters module instead of ets for updating
    counters. The new function cover:local_only/0 allows running
    Cover in a restricted but faster local-only mode. The increase
    in speed will vary depending on the type of code being
    cover-compiled, as an example the compiler test suite runs more
    than twice as fast with the new Cover.
  * A simple socket API is provided through the socket module. This
    is a low level API that does *not* replace gen_[tcp|udp|sctp].
    It is intended to *eventually* replace the inet driver. It also
    provides a basic API that facilitates the implementation of
    other protocols than TCP, UDP and SCTP. Known issues are; No
    support for the Windows OS (currently), a small term leakage.
    This feature will be classed as experimental in OTP 22.
  * SSL: now uses the new logger API, including log levels and
    verbose debug logging.
  * SSL: Basic support for TLS 1.3 Server for experimental use.
  * crypto: The new hash_info/1 and cipher_info/1 functions returns
    maps with information about the hash or cipher in the argument.
  - The application otp_mibs has been removed from OTP.

OBS-URL: https://build.opensuse.org/request/show/710208
OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang:Factory/erlang?expand=0&rev=84
2019-06-17 08:56:13 +00:00
2012-12-03 23:33:33 +00:00

# Erlang in openSUSE
## Erlang Port-mapper Daemon and systemd

Erlang Port-mapper Daemon in openSUSE uses systemd socket-activation. In order to fulfill security considerations, EPMd listens on loop-back interface by default. This is enough to run rabbitmq-server, ejabberd and user-started beam processes.

For clustering, please, use ```/etc/systemd/system/epmd.socket.d/``` to configure interfaces to listen on. See man systemd.unit(5) for details.

### Upgrading from sysvinit
```/etc/sysconfig/erlang``` has no effect now, to configure EPMd use systemd capabilities instead.

### Example 1: change port
Create ```/etc/systemd/system/epmd.socket.d/port.conf``` with following content:
```
[Socket]
ListenStream=
ListenStream=127.0.0.1:4444
```
The first line is to discard vendor configuration. The second line will change the port number to listen on to 4444.

### Example 2: enable external interface
To enable accepting external connections to EPMd, create ```/etc/systemd/system/epmd.socket.d/port.conf``` with following content:
```
[Socket]
ListenStream=
ListenStream=0.0.0.0:4369
```
Description
No description provided
Readme 60 MiB
Languages
desktop 100%