General-purpose programming language and runtime environment

Edit Package erlang
http://www.erlang.org

Erlang is a general-purpose programming language and runtime environment. Erlang has built-in support for concurrency, distribution and fault tolerance. Erlang is used in several large telecommunication systems from Ericsson.

Refresh
Refresh
Source Files
Filename Size Changed
OTP-20.3.2.tar.gz 0053492641 51 MB
README.SUSE 0000001081 1.06 KB
_constraints 0000000117 117 Bytes
_service 0000000231 231 Bytes
crypto.patch 0000000865 865 Bytes
epmd.init 0000009730 9.5 KB
epmd.service 0000000336 336 Bytes
epmd.socket 0000000150 150 Bytes
erlang-not-install-misc.patch 0000001538 1.5 KB
erlang-rpmlintrc 0000000170 170 Bytes
erlang.changes 0000060286 58.9 KB
erlang.spec 0000019196 18.7 KB
erlang.sysconfig 0000000373 373 Bytes
macros.erlang 0000000455 455 Bytes
otp-R16B-rpath.patch 0000001056 1.03 KB
Latest Revision
Ludwig Nussel's avatar Ludwig Nussel (lnussel_factory) accepted request 597389 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 5)
- Update to 20.3.2
 * ssl: Added new API functions to facilitate cipher suite handling
 * erts, observer: More crash dump info such as: process binary
   virtual heap stats, full info for process causing out-of-mem
   during GC, more port related info, and dirty scheduler info.
 * inets: Add support for unix domain sockets in the http client.
- Update to 20.2.2.
- Changes for 20.2.2:
 * mnesia: Removed a quadratic behavior in startup. This change
   implies that backend plugins (if used) must be set when the
   schema is created or via configuration parameters before mnesia
   is started.
 * mnesia: Bad timing could crash mnesia after a checkpoint was
   deactivated and reactivated with the same checkpoint name on
   different tables.
- Changes for 20.2.1:
 * ssh: Fix problem with OpenSSH 7.2 (and later) clients that has
   used sha1 instead of sha2 for rsa-sha-256/512 user's public
   keys.
- Highlighted changes for 20.2:
 * crypto, ssl: The crypto API is extended to use private/public
   keys stored in an Engine for sign/verify or encrypt/decrypt
   operations. The ssl application provides an API to use this new
   engine concept in TLS.
 * ssh: SSH can now fetch the host key from the private keys stored
   in an Engine. See the crypto application for details about
   Engines.
 * ssl: A new command line option -ssl_dist_optfile has been added
   to facilitate specifying the many options needed when using SSL
   as the distribution protocol.
 * stdlib: Improve performance of the new string functionality when
   handling ASCII characters.
- Update to 20.1.5:
  * erts: Fixed a regression in zlib:gunzip/1 that prevented it
    from working when the decompressed size was a perfect multiple
    of 16384. This regression was introduced in 20.1.1
  * erts: Fixed a memory corruption bug in enif_inspect_iovec;
    writable binaries stayed writable after entering the iovec.
  * erts: Fixed a crash in enif_inspect_iovec on encountering empty
    binaries.
  * erts: zlib:deflateParams/3 will no longer return buf_error when
    called after zlib:deflate/2 with zlib 1.2.11.
  * inets: Correct the handling of location headers so that the
    status code is not hard coded. This should have been fixed by
    commit 2cc5ba70cbbc6b3ace81a2a0324417c3b65265bb but
    unfortunately was broken during a code refactoring and
    unnoticed due to a faulty placed test case.
- Update to 20.1.4:
  * inets: Fix broken handling of POST requests
  * inets: Make sure ints:stop/2 of the service httpd is
    synchronous
  * inets: Honor status code returned by ESI script and modernize
    "location" header handling.
- Update to 20.1.3:
  * diameter: A fault introduced in diameter 2.1 could cause decode
    errors to be ignored in AVPs following the header of aGrouped
    AVP.
  * erts: Added zlib:set_controlling_process/2 to move a zstream()
    between processes.
  * erts: Fix so that schedulers are bound correctly when the first
    available cpu is not the first detected cpu. e.g. when using
    "taskset -c X..Y" when X is not equal to 0.
  * snmp: The recbuf configuration option was not propagated
    correctly to the socket for the SNMP Manager. 
- Replace references to /var/adm/fillup-templates with new 
  %_fillupdir macro (boo#1069468)
- Update to 21.1.2:
  * diameter: An inadvertently removed monitor in diameter 2.1
    caused the ets table diameter_reg to leak entries, and caused
    service restart and more to fail.
  * erts: Fixed bug that could cause a VM crash when a corrupt
    message is received on distribution channel from other node.
- Update to 20.1.1:
  * compiler: The compiler could issue an incorrect internal
    consistency failure diagnostic for some complicated bit syntax
    maches.
  * erts: The new zlib module returned a data_error when inflating
    concatenated streams, which was incompatible with the old
    module's behavior of returning the uncompressed data up to the
    end of the first stream.
  * erts: zlib:gunzip/1 will no longer stop at the end of the first
    stream when decompressing concatenated gzip files.
  * ssh: Fixed broken printout
  * ssh: Disable aes_gcm ciphers if peer is OpenSSH 6.2 which is
    known to have trouble with them in some cases.
- Update to 20.1:
  * crypto, public_key: Extend crypto and public_key functions
    sign and verify with: support for RSASSA-PS padding for
    signatures and for saltlength setting X9.31 RSA padding. sha,
    sha224, sha256, sha384, and sha512 for dss signatures as
    mentioned in NIST SP 800-57 Part 1. ripemd160 to be used for
    rsa signatures. A new tuple in crypto:supports/0 reports
    supported MAC algorithms.
  * diameter: Add service option decode_format to allow incoming
    messages to be decoded into maps instead of records. Decode
    performance has been improved. Add service/transport option
    avp_dictionaries to give better support for dictionaries only
    defining AVPs.
  * erts: Upgraded the ERTS internal PCRE library from version
    8.40 to version 8.41.
  * erts, kernel, tools: Profiling with lock counting can now be
    fully toggled at runtime in the lock counting emulator
    (-emu_type lcnt). Everything is enabled by default to match
    the old behavior, but specific categories can be toggled at
    will with minimal runtime overhead when disabled. Refer to the
    documentation on lcnt:rt_mask/1 for details.
  * lcnt:collect and lcnt:clear will no longer block all other
    threads in the runtime system. This makes it possible to run
    the lock counting under heavier load.
  * erts: The zlib module has been refactored and all its
    operations will now yield appropriately, allowing them to be
    used freely in concurrent applications.
  * erts, tools: Add erlang:iolist_to_iovec/1, which converts an
    iolist() to an erlang:iovec(), which is suitable for use with
    enif_inspect_iovec().
  * erts: Add new nif API functions for managing an I/O Queue. The
    added functions are: enif_ioq_create(), enif_ioq_destroy(),
    enif_ioq_enq_binary(), enif_ioq_enqv(), enif_ioq_deq(),
    enif_ioq_peek(), enif_inspect_iovec(), enif_free_iovec()
  * observer/crashdump_viewer: Reading of crash dumps with many
    binaries is optimized. A progress bar is shown when the detail
    view for a process is opened. The cdv script now sets
    ERL_CRASH_DUMP_SECONDS=0 to avoid generating a new crash dump
    from the node running the Crashdump Viewer.
  * observer: Add system statistics and limits to frontpage in
    observer.
  * public_key, ssl**: Improved error propagation and reports
  * ssh: A new option modify_algorithms is implemented. It enables
    specifying changes on the default algorithms list. See the
    reference manual and the SSH User's Guide chapter "Configuring
    algorithms in SSH".
  * tools/xref: The predefined Xref analysis locals_not_used now
    understands the -on_load() attribute and does not report
    unused functions.
  * tools/fprof: When sampling multiple processes and analyzing
    with totals set to true, the output now sums together all
    caller and callee entries which concerns the same function.
    Previous behaviour was to report each contributing entry
    separately.
- Only Java 1.6 is supported by Erlang since 18.0 release
- Update to 20.0.5:
  * erts: Fixed bug in binary_to_term and binary_to_atom that could
    cause VM crash. Typically happens when the last character of an
    UTF8 string is in the range 128 to 255, but truncated to only
    one byte. Bug exists in binary_to_term since ERTS version
    5.10.2 (OTP_R16B01) and binary_to_atom since ERTS version 9.0
    (OTP-20.0).
  * inets: http_uri aligned to follow RFC 3986 and not convert "+"
    to space when decoding URIs.
  * inets: Added new option max_client_body_chunk to httpd server
    to allow chunked delivery of PUT and POST data to mod_esi
    callback. Note, new mod_esi callback implementation is
    required. Also correct value provided by server_name
    environment variable.
- Update to 20.0.4:
  * dializer: Fix a bug where merging PLT:s could lose info. The
    bug was introduced in Erlang/OTP 20.0.
  * erts: A timer internal bit-field used for storing scheduler id
    was too small. As a result, VM internal timer data structures
    could become inconsistent when using 1024 schedulers on the
    system. Note that systems with less than 1024 schedulers are
    not effected by this bug. This bug was introduced in ERTS
    version 7.0 (OTP 18.0).
  * erts: Automatic cleanup of a BIF timer, when the owner process
    terminated, could race with the timeout of the timer. This
    could cause the VM internal data structures to become
    inconsistent which very likely caused a VM crash. This bug was
    introduced in ERTS version 9.0 (OTP 20.0).
- Update to 20.0.3:
  * asn1: Default values now work in extension for PER, so if you
    give the atom asn1_DEFAULT instead of a value it will become
    the default value.
  * compiler: Fail labels on guard BIFs weren't taken into account
    during an optimization pass, and a bug in the validation pass
    sometimes prevented this from being noticed when a fault
    occurred.
  * erts: Binary append operations did not check for overflow,
    resulting in nonsensical results when huge binaries were
    appended.
  * ssh: All unknown options are sent to the transport handler
    regardless of type.
- Update to 20.0.2:
 * asn: Fixed compilation error of generated code caused by a
   missing quotation of function names as part of an external call for
   encoding.
 * erts: Added missing release notes for OTP-14491 ("performance
   bug in pre-allocators") which was included in erts-9.0.1 (OTP-20.0.1).
 * erts: Fixed a bug that prevented TCP sockets from being
   closed properly on send timeouts.
 * erts: Fixed bug in operator bxor causing erroneuos result
   when one operand is a big *negative* integer with the lowest N*W bits as
   zero and the other operand not larger than N*W bits. N is an integer of 1
   or larger and W is 32 or 64 depending on word size.
 * kernel: The documentation for the 'quiet' option in
   disk_log:open/1 had an incorrect default value.
- erlang-gs application has been depricated
- Update to 20.0.1:
 * erts: Fixed a bug in gen_tcp:send where it never returned when
   repeatedly called on a remotely closed TCP socket.
 * erts: Fixed segfault that could happen during cleanup of aborted
   erlang:port_command/3 calls. A port_command is aborted if the
   port is closed at the same time as the port_command was issued.
   This bug was introduced in erts-8.0.
 * erts: Fixed implementation of statistics(wall_clock) and
   statistics(runtime) so that values do not unnecessarily wrap due
   to the emulator. Note that the values returned by
   statistics(runtime) may still wrap due to limitations in the
   underlying functionality provided by the operating system.
 * erts: Fix performance bug in pre-allocators that could cause
   them to permanently fall back on normal more expensive memory
   allocation. Pre-allocators are used for quick allocation of
   short lived meta data used by messages and other scheduled
   tasks. Bug exists since OTP_R15B02.
 * runtime_tools: A faulty encoding comment was added when saving
   trace patterns to file. This is now corrected.
 * stdlib: A bug in proc_lib:format() introduced in Erlang/OTP 20.0
   is corrected.
 * stdlib: Fix string:len/1 to be compatible with previous
   versions.
 * stdlib: In OTP-20.0, the behavior of c, make, and ct_make was
   changed so that in some cases the beam files by default would be
   written to the directory where the source files were found. This
   is now changed back to the old behavior so beam files are by
   default written to current directory.
- Update to 20.0.0:
 * Potential Incompatibilities
   * ERTS:
     * The non SMP Erlang VM is deprecated and not built by default
     * Remove deprecated erlang:hash/2
     * erlang:statistics/1 with scheduler_wall_time now also
       includes info about dirty CPU schedulers.
     * The new purge strategy introduced in OTP 19.1 is mandatory
       and slightly incompatible for processes holding funs
     * see erlang:check_process_code/3.
     * The NIF library reload is not supported anymore.
     * Atoms can now contain arbitrary unicode characters which
       means that the DFLAG_UTF8_ATOMS capability in the
       distribution protocol must be supported if an OTP 20 node
       should accept the connection with another node or library.
       Third party libraries which uses the distribution protocol
       need to be updated with this.
   * Asn1: Deprecated module and functions removed (asn1rt,
     asn1ct:encode/3 and decode/3)
   * Ssh: client only option in a call to start a daemon will now fail
 * Highlights
   * Erts:
     * Dirty schedulers enabled and supported on VM with SMP support.
     * support for “dirty” BIFs and “dirty” GC.
     * erlang:garbage_collect/2 for control of minor or major GC
     * Erlang literals are no longer copied when sending messages.
     * Improved performance for large ETS tables, >256 entries
       (except ordered_set)
     * erlang:system_info/1 atom_count and atom_limit
     * Reduced memory pressure by converting sub-binaries to
       heap-binaries during GC
     * enif_select, map an external event to message
     * Improvements of timers internally in the VM resulting in
       reduced memory consumption and more efficient administration
       for timers
   * Compiler:
     * Code generation for complicated guards is improved.
     * Warnings for repeated identical map keys. #{'a'=>1, 'b'=>2,
       'a'=>3} will warn for the repeated key a.
     * By default there is now a warning when export_all is used.
       Can be disabled
     * Pattern matching for maps is optimized
     * New option deterministic to omit path to source + options
       info the BEAM file.
     * Atoms may now contain arbitrary unicode characters.
     * compile:file/2 has an option to include extra chunks in the
       BEAM file.
   * Misc other applications:
     * Significantly updated string module with unicode support and
       many new functions
     * crypto now supports OpenSSL 1.1
     * Unnamed ets tables optimized
     * gen_fsm is deprecated and replaced by gen_statem
     * A new event manager to handle a subset of OS signals in
       Erlang
     * Optimized sets add_element, del_element and union
     * Added rand:jump/0-1
     * When a gen_server crashes, the stacktrace for the client
       will be printed to facilitate debugging.
     * take/2 has been added to dict, orddict, and gb_trees.
     * take_any/2 has been added to gb_trees
     * erl_tar support for long path names and new file formats
     * asn1: the new maps option changes the representation of
       SEQUENCE to be maps instead of records
     * A TLS client will by default call
      public_key:pkix_verify_hostname/2 to verify the hostname
     * ssl: DTLS documented in the API, experimental
     * ssh: improving security, removing and adding algorithms
     * New math:fmod/2
- Disable global PIE for erlang, code is currently not fully
  ready.
- Update to 19.3.2:
 * erts: The +Bi command line argument of erl erroneously caused
   SIGTERM to be ignored by the VM as well as of all its child
   processes. This bug was introduced in erts version 8.3.
- Update to 19.3.1:
 * crypto: Fix a bug with AES CFB 128 for 192 and 256 bit keys.
   Thanks to kellymclaughlin !
 * erts: Trying to open a directory with file:read_file/1 on Unix
   leaked a file descriptor. This bug has now been fixed.
 * erts: Invoking init:stop/0 via the SIGTERM signal, in a non-SMP
   BEAM, could cause BEAM to terminate with fatal error. This has
   now been fixed and the BEAM will terminate normally when SIGTERM
   is received.
 * inets: Fixed a bug in ftp that made further operations after a
   recv_chunk operation impossible.
 * ssh: ssh:daemon_info/1 crashed if the listening IP was not 'any'
 * ssl: Correct active once emulation, for TLS. Now all data
   received by the connection process will be delivered through
   active once, even when the active once arrives after that the
   gen_tcp socket is closed by the peer.
- Changes since 19.2:
 * crypto, ssh: The implementation of the key exchange algorithms
   diffie-hellman-group-exchange-sha* are optimized, up to a factor
   of 11 for the slowest ( = biggest and safest) group size.
 * dialyzer: The peak memory consumption is reduced. Analyzing
   modules with binary construction with huge strings is now much
   faster.
 * erts: A received SIGTERM signal to beam will generate a 'stop'
   message to the init process and terminate the Erlang VM nicely.
   This is equivalent to calling init:stop/0.
 * kernel: The functions in the file module that take a list of
   paths (e.g. file:path_consult/2) will now continue to search in
   the path if the path contains something that is not a directory.
 * kernel: Two OTP processes that are known to receive many
   messages are rex (used by rpc) and error_logger. Those processes
   will now store unprocessed messages outside the process heap,
   which will potentially decrease the cost of garbage collections.
 * public_key: New function pkix_verify_hostname/2,3 implements
   certificate hostname checking. See the manual and RFC 6125.-
 * public_key, ssh: The ssh host key fingerprint generation now
   also takes a list of algorithms and returns a list of
   corresponding fingerprints. See
   public_key:ssh_hostkey_fingerprint/2 and the option
   silently_accept_hosts in ssh:connect.
 * ssl: Move PEM cache to a dedicated process, to avoid making the
   SSL manager process a bottleneck. This improves scalability of
   TLS connections.
 * stdlib: filename:safe_relative_path/1 to sanitize a relative
   path has been added.
- Add missed scripts requires for erlang-epmd package
- Update to 19.2.2:
  * mnesia: Fixed crash in checkpoint handling when table was
    deleted during backup.
- Update to 19.2:
  * stdlib: The new behaviour gen_statem has been improved with 3
    new features: the possibility to use old style non-proxy
    timeouts for gen_statem:call/2,3, state entry code, and state
    timeouts. These are backwards compatible. Minor code and
    documentation improvements has been performed including a
    borderline semantics correction of timeout zero handling.
  * ssl: Experimental version of DTLS. It is runnable but not
    complete and cannot be considered reliable for production usage.
    To use DTLS add the option {protocol, dtls} to ssl:connect and
    ssl:listen.
  * ssh: Extended the option silently_accept_hosts for ssh:connect
    to make it possible for the client to check the SSH host key
    fingerprint string. Se the reference manual for SSH.
  * ~40 contributions since the previous service release OTP 19.1
- Update to 19.1:
  * erts: Improved dirty scheduler support. A purge of a module
    will not have to wait for completion of all ongoing dirty
    NIF calls
  * erts: Improved accuracy of timeouts on MacOS X
  * kernel: Add net_kernel:setopts/2 and net_kernel:getopts/2 to
    control options for distribution sockets in runtime
  * asn1: Compiling multiple ASN.1 modules in the same directory
    with parallel make (make -j) should now be safe
  * httpd: support for PUT and DELETE in mod_esi
  * ~30 contributions since 19.0
- Update to 19.0.4:
  * erts: Fixed a race that could cause a lost wakeup of a process
    that timed out in a receive ... after. This bug was introduced
    in ERTS version 7.0.
  * erts: Fixed segfault after writing an erl crash dump. 
- Update to 19.0:
  * compiler, stdlib: New preprocessor macros *?FUNCTION_NAME,
    ?FUNCTION_ARITY*. New preprocessor directives -error(Term) and
    -warning(Term) to cause a compilation error or warning,
    respectively.
  * gen_statem: a new state machine behavior
  * mnesia_ext: plugin of external storage solutions to mnesia
  * crypto: uses EVP interface in OpenSSL resulting in generally
    better performance and support for HW acceleration
  * ssh: performance improvements, uses the new gen_statem behavior
  * ssl: enhanced error log messages
  * dialyzer: the support for maps is very much extended both
    the type  specification syntax and the type analysis.
  * erts: erlang:open_port(spawn, ...) 3-5 times faster
  * erts/kernel: Experimental support for Unix Domain Sockets
  * ose: Deprecated application has been removed
  * webtool: Deprecated application has been removed
  * test_server: Deprecated application has been removed, use
    common_test instead
- Do not suppress errors from useradd/groupadd
- Orthographic/typographical fixes
- Update to 18.3.4:
  * inets: Handle multiple \t in mime types file
  * ssl: Correct ssl:prf/5 to use the negotiated cipher suite's prf
    function in ssl:prf/5 instead of the default prf.
  * ssl: Timeouts may have the value 0, guards have been corrected
    to allow this
  * ssl: Change of internal handling of hash sign pairs as the used
    one enforced to much restrictions making some valid
    combinations unavailable.
  * ssl: Create a little randomness in sending of session
    invalidation messages, to mitigate load when whole table is
    invalidated.
- Return diameter application: as for 18.3.3 it is distributed
  under APL license
- Update to 18.3.3:
  * common_test: The nodelay option used to be enabled (true) by
		 default for sockets opened by the Common Test
                 telnet client. 
  * common_test: Fix bug in cth_surefire
  * common_test: The ct:get_timetrap_info/0 function has been
		 updated to return more information about timetrap
                 scaling. 
  * common_test: A problem with stylesheet HTML tags getting
		 incorrectly escaped by Common Test has been
                 corrected.
  * common_test: The ct_run start flag -no_esc_chars and
		 ct:run_test/1 start option {esc_chars,Bool} have
                 been introduced.
  * inets: Put back unused module inets_regexp
  * ssl: Correct cipher suites conversion and gaurd expression.
- Update to 18.3.2:
  * inets: Add environment information item peer_cert to mod_esi
  * ssl: Corrections to cipher suite handling using
         the 3 and 4 tuple format
  * ssl: Make values for the TLS-1.2 signature_algorithms
         extension configurable
- Update to 18.3:
  * New statistics info about runnable and active processes &
    ports. Call erlang:statistics with:
    total_run_queue_lengths | run_queue_lengths | total_active_tasks
    | active_tasks.
  * Time warp improvements: dbg:p/2 and erlang:trace/3 with
    monotonic_timestamp |strict_monotonic_timestamp.
  * Introduced a validation callback for heart.
  * The module overload in sasl has been deprecated.
  * several bug fixes
- Update to 18.2.3:
    * inets: mod_alias now traverses all aliases picking
      the longest match and not the first match.
- Update to 18.2.2:
    * ssh: The authentication method 'keyboard-interactive' failed
      in the Erlang client when the server after successful
      authentication continued by asking for zero more
      passwords. 
- Update to 18.2.1:
    * Due to a bug in the handling of paths on windows
      none of the following would work with paths
      containing a space: ct_run dialyzer erlc escript typer
      This also contains a fix for HiPE enabled emulator for
      FreeBSD.
- Update to 18.2:
    * ssl: Add configurable upper limit for session
      cache.  erts: Add function enif_getenv to read OS
      environment variables in a portable way from NIFs.
    * kernel: Add {line_delim, byte()} option to
      inet:setopts/2 and  decode_packet/3
    * ssh: The 'ecdsa-sha2-nistp256',
      'ecdsa-sha2-nistp384' and 'ecdsa-sha2-nistp521'
      signature algorithms for ssh are implemented. See RFC5656.
    * ssh: The ssh:daemon option dh_gex_groups is
      extended to read a user provided ssh moduli file
      with generator-modulus pairs. The file is in openssh
      format.
- disable hipe on s390/s390x to fix build 
- Update to 18.1.3:
    * ssl: Add possibility to downgrade an SSL/TLS connection to a
      tcp connection, and give back the socket control to a user
      process.
    * ssh: The following new key exchange algorithms are
      implemented:'ecdh-sha2-nistp256', 'ecdh-sha2-nistp384',
      'ecdh-sha2-nistp521','diffie-hellman-group14-sha1',
      'diffie-hellman-group-exchange-sha1' and
      'diffie-hellman-group-exchange-sha256'. This raises the
      security level considerably.
    * kernel,stdlib,sasl: A mechanism for limiting the amount of
      text that the built-in error logger events will produce has
      been introduced. It is useful for limiting both the size of
      log files and the CPU time used to produce them. This
      mechanism is experimental in the sense that it may be changed
      based on feedback. See config parameter
      error_logger_format_depth in the Kernel application.
- Removed erts_fix_unlock_status_lock.patch: fixed in upstream
- Rework wxWidgets BuildRequire: fix build for Leap 42.1
- update to 18.0.3:
  * erts: Fixed a binary memory leak when printing to shell using
          the tty driver (i.e. not -oldshell).
  * erts: Fix a bug where the standard error port sometimes
          crashes with eagain as the reason.
- add erts_fix_unlock_status_lock.patch to fix a rare deadlock in erts
- fix RHEL/CentOS 7 build
- update to 18.0.2:
  * Fix processes ending up in an inconsistent half exited state
    in the runtime system without SMP support
  * Remove unnecessary copying of data when retrieving corrected
    Erlang monotonic time.
  * POTENTIAL INCOMPATIBILITY:
    Change default OS monotonic clock source chosen at build time.
    This in order to improve performance. The behavior will now on
    most systems be that (both OS and Erlang) monotonic time stops
    when the system is suspended. (changeable via the
    --enable-prefer-elapsed-monotonic-time-during-suspend
    configure parameter)
  * Fix erlang:system_info(end_time) returning a faulty value on
    32-bit architectures.
  * Fix the trace_file_drv not handling EINTR correctly which
    caused it to fail when the runtime system received a signal.
- update to 18.0.1:
  * Fix a rare hanging of the VM seen to happen just after
    emulator start. Bug exists since R14.
- update to 18.0:
  * new license: APL 2.0 (Apache Public License)
  * erts: The time functionality has been extended. This includes
          a new API for time, as well as "time warp" modes which
          alters the behavior when system time changes. You are
          strongly encouraged to use the new API instead of the
          old API based on erlang:now/0. erlang:now/0 has been
          deprecated since it is a scalability bottleneck. See
          http://www.erlang.org/doc/apps/erts/time_correction.html
  * erts: Beside the API changes and time warp modes a lot of
          scalability and performance improvements regarding time
          management has been made. Examples are:
          + scheduler specific timer wheels,
          + scheduler specific BIF timer management,
          + parallel retrieval of monotonic time and system time
            on OS:es that support it.
  * erts: The previously introduced "eager check I/O" feature is
          now enabled by default.
  * erts/compiler: enhanced support for maps. Big maps new uses a
          HAMT (Hash Array Mapped Trie) representation internally
          which makes them more efficient. There is now also
          support for variables as map keys.
  * dialyzer: The -dialyzer() attribute can be used for suppressing
          warnings in a module by specifying functions or warning
          options. It can also be used for requesting warnings in
          a module.
  * ssl:  Remove default support for SSL-3.0 and added padding check
          for TLS-1.0 due to the Poodle vulnerability.
  * ssl:  Remove default support for RC4 cipher suites, as they are
          consider too weak.
  * stdlib: Allow maps for supervisor flags and child specs
  * stdlib: New functions in ets:
          + take/2: Works the same as ets:delete/2 but also returns
            the deleted object(s).
          + update_counter/4 with a default object as argument
- update to 17.5.6:
  * Fix broken relay counters
  * Fix diameter_sctp listener race
- fix build for SLE_12
- Update to 17.5.4
- fix systemd service files for epmd:
  * fix stop of epmd (epmd -kill is deprecated and ignored, so stop hangs)
- Update to 17.5:
  * ERTS: Added command line argument option for setting the
          initial size of process dictionaries.
  * Diameter: configurable incoming_max len and string_decode for
              diameter messages
  * Bugfixes and minor small features in applications such as
    compiler, common_test, crypto, debugger, eldap, erts, hipe,
    inets, ssh, ssl, ...
- remoce ct-fix_incl-dirs.patch (included upstream)
- add ct-fix_incl-dirs.patch (upstream patch for common test)
- Version 17.4:
  * eldap: Nearly all TCP options are possible to give in the eldap:open/2 call.
  * ssh: Added API functions ptty_alloc/3 and ptty_alloc/4, to allocate a pseudo tty.
  * ssl: Handle servers that may send an empty SNI extension to the client.
- use wxWidgets 3.0
- fix bashisms in pre script
- Update to 17.3:
  * erts: Introduced enif_schedule_nif() which allows a long
          running NIF to be broken into separate NIF invocations
          without the help of a wrapper function written in Erlang
  * common_test: Experimental support for running Quickcheck and
                 PropEr tests from common_test suites is added.
                 Examples of usage in the suites for the ssh and
                 inets applications
  * Bugfixes and minor new features in applications such as asn1,
    erts, kernel, stdlib, diameter, ssh, mnesia, ssl, jinterface
- Enable Erlang-specific parts of rpmlint for openSUSE 13.2
- Starting from 17.1 explicit --enable-systemd required
- To remake configure is not required anymore (patches had been dropped)
- Update to 17.0:
  * crypto: Add aes_cfb8 cypher to crypto:block_encrypt and
            block_decrypt.
  * diameter: Add result code counters for CEA, DWA, and DPA.
  * erts: The following built in functions in the erlang and
          binary modules now bump an appropriate amount
          of reductions and yield when out of reductions:
          binary_to_list/1, binary_to_list/3, bitstring_to_list/1,
          list_to_binary/1, iolist_to_binary/1,
          list_to_bitstring/1, binary:list_to_bin/1
  * hipe: Handle Maps instructions get_map_elements, put_map_assoc,
          put_map_exact in the HiPE native code compiler.
  * mnesia: The time for inserting locks for a transaction with
            large number of locks is reduced significantly.
  * ssh: Option max_sessions added to ssh:daemon/{2,3}.
  * stdlib: Add maps:get/3 to maps module. The function will
            return the supplied default value if the key does not
            exist in the map.
- Drop erlang-ppc.patch: has been upstreamed
- Drop fix-armv7hl.patch: has been upstreamed
- Update to 17.0:
  * Maps, a new dictionary data type (experimental)
  * ASN.1 improvements and optimizations
  * The {active, N} socket option for TCP, UDP, and SCTP
  * A new (optional) scheduler utilization balancing mechanism
  * Migration of memory carriers has been enabled by default on
    all ERTS internal memory allocators
  * Increased garbage collection tenure rate
  * Experimental "dirty schedulers" functionality
  * Funs can now be given names
  * Miscellaneous unicode support enhancements
  * A new version scheme for OTP its applications has been introduced
- Drop 0001-Add-systemd-option-to-empd.-Check-for-include-system.patch: has been upstreamed
- Drop 0002-Add-systemd-support-to-epmd.patch: has been upstreamed
- Invoking ./Install is not required.
- Split EPMd to separate package in order to make it possible to
  use alternative implementations of EPMd.
- Add README.SUSE, modify epmd.socket: fix bnc#869112
- Add erlang-observer package (observer depends on wx)
- Use %service_add_pre macro
- Fix names of epmd.service and epmd.socket files
- Add User and Group to epmd.service
- Add crypto.patch: fix compilation with openssl having EC disabled
- Fixing systemd.
- Warning: variables in /etc/sysconfig/erlang must be set and filled.
- update to R16B03 release:
  + A new memory allocation feature called "super carrier" has
    been introduced. It can for example be used for pre-allocation
    of all memory that the runtime system should be able to use.
    It is enabled by passing the +MMscs (size in MB) command line
    argument. For more information see the documentation of the
    +MMsco, +MMscrfsd, +MMscrpm, +MMscs, +MMusac, and, +Mlpm
    command line arguments in the erts_alloc(3) documentation.
  + The ldap client eldap now supports the start_tls operation.
    This upgrades an existing tcp connection to encryption using
    tls, see eldap:start_tls/2 and /3.
  + The ftp client (inets application) now supports ftp over tls
    (ftps).
- adapt patch erlang-not-install-misc.patch
- Add systemd support for openSUSE >= 12.3
- update to R16B02 release:
  + Lots of bug-fixes
  + A new test scope
  + Added application:ensure_all_started/1-2
  + New erl option +SP to set schedulers by percentages.
- update to R16B01 release:
  + Migration of memory carriers between allocator instances, when
    enabled it will result in reduced memory footprint when the
    memory load is unevenly distributed between scheduler specific
    allocator instances.
  + Interruptible term_to_binary, (thanks to Erik Stenman)
  + Added the +sfwi <interval> Scheduler Forced Wakeup Interval
  + All crypto functions except the block chipers will now chunk
    large input into several calls to avoid blocking the scheduler
    for too long.
  + Elliptic curve support in crypto, ssl and ssh
    (thanks to Andreas Schultz)  
  + Lift static limitation (FD_SETSIZE) for file descriptors on
    Mac OS X. (thanks to Anthony Ramine)
  + Removed a lock around GC statistics counter
  + Many small improvements and in Diameter
  + 60 user contributions
- adapted fix-armv7hl.patch
- dialyzer requires graphviz (see dialyzer_callgraph:to_ps/3)
- move dialyzer binaries into separate package
- added rcepmd symlinks for the init script
- Drop rebar-specific RPM macros, these belong into erlang-rebar
  (seperate package)
- Fix ppc and arm patches so that they don't conflict
- Fix erlang-src orphaned directories.
  erlang-src has been split according to erlang package.
- Add erlang-no-install-misc.patch:
  initial Fedora name was too long for us:
otp-0001-Do-not-format-man-pages-and-do-not-install-miscellan.patch
  this patch is
  * to remove generating of erlang/man/cat? directories (which were not even market as %ghost) at %post.
    The man-files is gz-pped (by SUSE) and because of that, script misc/format_man_pages has been failing its job for a long time;
  * to remove unused scripts from misc.
- update to R16B release:
  + Optimized handling of processes in the VM
    * New internal process table allowing for parallel reads and
      writes
    * optimized run queue management
    * optimized process state changes
  + "Non-blocking" code loading
  + New internal port table, and rewrite of scheduling of port
    tasks.
  + Dynamic allocation of port structures, allowing the default
    for maximum ports to be raised to 65536 (from 1024)
  + Support for UTF-8 encoded Unicode characters in source files.
  + Inets application: The http client now support HTTPS through a
    proxy
  + Asn1 application: Major cleanup of back ends and optimizations
    of mainly decode for PER and UPER.
  + The experimental features parameterized modules and packages
    are removed. An alternative compatible solution for
    parameterized modules is provided here
    https://github.com/erlang/pmod_transform.
  + All built in functions BIF's (even if they are implemented in
    C as part of the VM) are now visible in the source code of the
    module they belong to, including their type specs.
  + The Wx application now compiles and is usable with the
    unstable development branch of wxWidgets-2.9.
    This means that wx can now be built on 64 bit MacOsX as well.
- update otp-R15B02-rpath.patch to otp-R16B-rpath.patch
- Add macros.erlang with some RPM macros for erlang packaging
- update to R15B03-1 release:
  + integrated fix for a bug in ssl that affected accept calls
    with timeouts
  + ERL_CRASH_DUMP_SECONDS only needs to be set when using heart,
    all other invocations of the Erlang VM will crashdump on fatal
    errors as they did in R15B02
  + systems using heart still have to define a maximum time for
    crashdumps using the ERL_CRASH_DUMP_SECONDS environment
    variable
- dropped otp-R15B03-fix_ssl_accept_timeout.patch
  (fixed in release)
- Add fix-armv7hl.patch - temporary fix build at armv7hl 
- add make clean before build. it clears .beam files bundled with
  sources. our aim is to build everything from sources.
- fixed typo in epmd init script:
  echo -e needed to get the "\n" printed properly.
- update to R15B03 release:
  + mainly bug fixes
  + ERL_CRASH_DUMP_SECONDS must be set in order to get any Erlang
    crash dump (potential incompatibility introduced to fix the
    use of "-heart" in combination with the Erlang crash dump
  + details: http://www.erlang.org/download/otp_src_R15B03.readme
- Fix useradd invocation: -o is useless without -u and newer
  versions of pwdutils/shadowutils fail on this now.
- fixed 'executable-docs' lint error
- directory /usr/share/man/man1 is handled by filesystem package,
  we don't have to package it twice
- Symlink man-pages for binaries (1) into %_mandir (bnc#788027)
- Use SPDX-style license (ErlPL-1.1)
- Merge changes from devel:languages:misc/erlang, which is still the 
  devel project for Factory.
- Set same permissions for the following files (bnc#784670):
  /usr/lib64/erlang/bin/start_erl
  /usr/lib64/erlang/erts-5.8.5/bin/start_erl.src
- Avoid shipping libraries with licensing issues (see bnc#728667)
  + Neither ship 'diameter' source or binary and remove the corresponding
    but useless man pages
  + The xmerl binary (library) is safe to ship, but not it's sources
    (fixes bnc#776060)
- epmd should not run under the service that needs it first:
  - add init script to launch epmd under the newly added epmd
    user/group.
  - added /etc/sysconfig/erlang to configure the port and the
    listening IP
- require generic java-devel package for all distros (>= 1.5.0)
- fixed javac define for openjdk7
- enabled parallel build again
- update to R15B02 release:
 + Highlights:
  * Dialyzer: The type analysis tool Dialyzer is optimized to be
    generally faster. - It can now also run in parallel (default)
    on SMP systems and by this perform the analysis significantly
    faster (Thanks to Stavros Aronis and Kostis Sagonas)
  * The SSL application now has experimental support for the
    TLS 1.1 and 1.2 standards as well (Thanks to Andreas Schultz).
  * CommonTest: It is now possible to sort the generated html
    tables. A Netconf client (ct_netconf) which support basic
    netconf over ssh is added
  * Diameter: Statistics counters related to Diameter messages can
    now be retrieved by calling the diameter:service_info/2 function.
  * Various smaller optimizations in the Erlang VM
  * This release also contains 66 contributions from users outside
    the Ericsson team
- Add erlang-ppc.patch: Fix PPC architecture detection 
- Simply use java-devel >= 1.6.0 as it expands to correct jdk on every
  distribution
- updated to R15B01 release:
 + Highlights from R15B01:
  * Added erlang:statistics(scheduler_wall_time) to ensure correct
    determination of scheduler utilization. Measuring scheduler
    utilization is strongly preferred over CPU utilization, since
    CPU utilization gives very poor indications of actual
    scheduler/vm usage.
  * Changed ssh implementation to use the public_key application
    for all public key handling. This is also a first step for
    enabling a callback API for supplying public keys and handling
    keys protected with password phrases. Additionally the test
    suites where improved so that they do not copy the users keys
    to test server directories as this is a security liability.
    Also ipv6 and file access issues found in the process has been
    fixed.
  * When an escript ends now all printout to standard output and
    standard error gets out on the terminal. This bug has been
    corrected by changing the behaviour of erlang:halt/0,1, which
    should fix the same problem for other escript-like applications,
    i.e. that data stored in the output port driver buffers got
    lost when printing on a TTY and exiting through erlang:halt/0,1.
    The BIF:s erlang:halt/0,1 has gotten improved semantics and
    there is a new BIF erlang:halt/2 to accomplish something like
    the old semantics. See the documentation.
  * The DTrace source patch from Scott Lystig Fritchie is
    integrated in the source tree. Using an emulator with dtrace
    probe is still not supported for production use, but may be a
    valuable debugging tool. Configure with
    --with-dynamic-trace=dtrace (or --with-dynamic-trace=systemtap)
    to create a build with dtrace probes enabled. See runtime_tools
    for documentation and examples
  * Added Torbjörn Törnkvists LDAP client as a new application
    called eldap.
  * Added options for the ssh client to support user keys files
    that are password protected.
- updated to R15B release
- Drop files with propriatery license (diameter and xmerl) (bnc#728667)
- updated to R14B04 release
  + mainly a stabilization of the R14B03 release
    (but as usual there is some new functionality as well)
- BuildRequire java-1_6_0-openjdk-devel on 12.1 or newer,
  java-1_6_0-sun was dropped
- Added a spec file license header (needed for Factory)
- No need to require %{version}-%{release}, %{version} is enough
- Remove outdated sections (%clean), use %make_install macro
- Don't package INSTALL file
- updated to R14B03 release
 + Highlights from R14B03:
  * Diameter is a brand new application in this release.
    The application support the diameter protocol specified in
    RFC 3588 and is intended to provide an Authentication,
    Authorization and Accounting (AAA) framework for applications.
  * The documentation for stdlib and kernel now uses type
    specifications from the source modules which should guarantee
    that the documentation and code are consistent with regard to
    the type information.
 + Higlights from R14B02:
  * OTP-8525 It is now possible to use Erlang specifications and
             types in EDoc documentation.
  * OTP-8768 All tests in Erlang/OTP have been converted to be run
             with Common Test as the backend instead of Test Server
  * OTP-8941 The previously experimental halfword emulator is now
             official (it is not supported by HiPE though).
  * OTP-9065 Dependency generation for Makefiles has been added
             to the erts compiler and erlc
 + Higlights from R14B01:
  * OTP-8922 new ETS option compressed
  * OTP-8926 new function inet:getifaddrs/0 modeled after C library
             function getifaddrs() on BSD and Linux
             (replaces inet:getiflist/0 and inet:ifget/2)
- fix operator in some recommends
- updated to R14B release
 + Higlights:
  * OTP-8544: re-writted large parts of the ethread library
  * OTP-8763: auto-imported the following BIFs:
    monitor/2, monitor/3, demonitor/2, demonitor/3, error/1,
    error/2, integer_to_list/2, list_to_integer/2
- fixed parsing of the TOOLS_VERSION (fixes wrong erlang.el file
  for emacs)
- also made sure that this could not happen with the other version
  extractions
- instead of removing all sources, create a sub-package with them
- include java_src and c_src as well
- fixed tv being packaged twice
- added a fix from Arch Linux for their bug 17001 (wx not working)
- install common_test helper script per default
- Split up packages so that tcl/tk and wxGTK requirements are in sub
  packages.
- Do not package erlang sources.
- Link against shared zlib.
- fixed emacs support
- update to R13B04, highlights:
 * documentation can now be built from the source
 * enhanced Native Implemented Functions (NIFs) (but still beta)
 * enhanced garbage collection of binaries
 * support for user defined prompt in the shell
 * enhanced cross compilation support
- clean repo from old versions
- added emacs erlang support
- reduced package size (hardlink duplicates)
- update to R13B03, highlights:
 * Native Implemented Functions (NIFs) still experimental but very useful.
 * The documentation is built in a new way using xsltproc and Apache FOP.
   The layout is changed both in HTML and PDF versions. This is the first step,
   more changes and improvements will come in the following releases. 
- update to R13B02, highlights:
 * Dialyzer can now refer to types defined in another module, using the syntax
   Module:Type().
 * There is a new function file:read_line/1 to facilitate reading entire lines
   in raw mode.
 * There is new section in the Efficiency Guide about drivers.
* 
- use RPM_OPT_FLAGS for distributions other than openSUSE 11.0 or Fedora 9
 (adding this for those was not possible due to a bug in GCC)
* 
- update to R13B01
- clean repo from old versions
- integrated compiler patch that fixes an "Internal consistency check failed" error
  see http://www.erlang.org/cgi-bin/ezmlm-cgi?2:mss:1335:200906:hbcibacodggnfnj
- version of java must be equal or great then 1.5.0
- add OTP-7738 patch  
A process being garbage collected via the garbage_collect/1
BIF or the check_process_code/2 BIF didn't handle message
receive and resume correctly during the garbage collect.
When this occurred, the process returned to the state it had
before the garbage collect instead of entering the new state.
* 
- fix build on SLE-10
* 
- fix build jinterface, set javac target to 1.5
- remove depend on gcc 4.3.3
- add smp support
- add hipe support
- add kernel poll support
- add rpmlint file
- split java interface into separate package
- update to R12B-5
- use GCC >= 4.3.3 for openSUSE 11
- fix ssl build
- update to R11B-5
Comments 0
openSUSE Build Service is sponsored by