(Added R16A links) |
(I'm not aware of any issues so I'm going to mark it as 100% complete.) |
||
(37 intermediate revisions by 2 users not shown) | |||
Line 12: | Line 12: | ||
== Current status == | == Current status == | ||
* Targeted release: [[Releases/19 | Fedora 19 ]] | * Targeted release: [[Releases/19 | Fedora 19 ]] | ||
* Last updated: | * Last updated: 2013-05-13 | ||
* Percentage of completion: | * Percentage of completion: 100% | ||
== Timeline == | == Timeline == | ||
* [http://www.erlang.org/news/41 R16A version was released on 30 January 2013] | * [http://www.erlang.org/news/41 R16A version was released on 30 January 2013] | ||
* R16B version | * [http://www.erlang.org/news/43 R16B version has been released (27 February 2013)]. | ||
== Detailed Description == | == Detailed Description == | ||
Line 52: | Line 53: | ||
* [http://www.erlang.org/download/otp_src_R16A_RELEASE_CANDIDATE.readme R16A.changelog] | * [http://www.erlang.org/download/otp_src_R16A_RELEASE_CANDIDATE.readme R16A.changelog] | ||
* [http://www.erlang.org/download/otp_src_R16B.readme R16B.changelog] | |||
== Scope == | == Scope == | ||
Line 57: | Line 59: | ||
Required steps are: | Required steps are: | ||
* Rebuilding Erlang/OTP itself. | * <s>Rebuilding Erlang/OTP itself</s>. DONE! | ||
* Fix all broken packages. I expect DLL loader issues in all packages which contain so-objects ue to major API version mismatch. All of them must be rebuilt with new Erlang. | * Fix all broken packages. I expect DLL loader issues in all packages which contain so-objects ue to major API version mismatch. All of them must be rebuilt with new Erlang. | ||
** <s>erlang-basho_metrics</s> - REBUILT. | |||
** <s>erlang-bitcask</s> - REBUILT. | |||
** <s>erlang-ebloom</s> - REBUILT. | |||
** <s>erlang-eleveldb</s> - REBUILT. | |||
** <s>erlang-emmap</s> - REBUILT. | |||
** <s>erlang-esasl</s> - REBUILT. | |||
** <s>erlang-esdl</s> - REBUILT. | |||
** <s>erlang-gtknode</s> - rebuild isn't necessary. This neither a driver, nor a NIF library. | |||
** <s>erlang-js</s> - REBUILT. | |||
** <s>erlang-skerl</s> - REBUILT. | |||
** <s>erlang-snappy</s> - REBUILT. | |||
** <s>couchdb</s> - REBUILT. | |||
** <s>wings</s> - REBUILT. | |||
** <s>ejabberd</s> - REBUILT. | |||
* Fix all packages which requires parametrized modules (I already rebuild mochiweb with the patch which fixes it). | * Fix all packages which requires parametrized modules (I already rebuild mochiweb with the patch which fixes it). | ||
** <s>erlang-mochiweb</s> - FIXED. | |||
** <s>[https://bugzilla.redhat.com/913985 erlang-meck]</s> - FIXED. | |||
** <s>[https://bugzilla.redhat.com/913982 erlang-etap]</s> - FIXED. | |||
** <s>[https://bugzilla.redhat.com/913979 erlang-erlando]</s> - FIXED. | |||
** <s>[https://bugzilla.redhat.com/913986 erlang-riak_kv]</s> - FIXED. | |||
** <s>[https://bugzilla.redhat.com/913981 erlang-erlydtl]</s> - FIXED. | |||
== How To Test == | == How To Test == | ||
Line 68: | Line 90: | ||
| '''Name''' || '''Tested''' | | '''Name''' || '''Tested''' | ||
|- | |- | ||
| {{package|couchdb}} || {{ | | {{package|couchdb}} || {{yes}} | ||
|- | |- | ||
| {{package|ejabberd}} || {{ | | {{package|ejabberd}} || {{yes}} | ||
|- | |- | ||
| {{package|mochiweb}} || {{yes}} | | {{package|mochiweb}} || {{yes}} | ||
|- | |- | ||
| {{package|rabbitmq-server}} || {{ | | {{package|rabbitmq-server}} || {{yes}} | ||
|- | |- | ||
| {{package|riak}} || {{ | | {{package|riak}} || {{yes}} | ||
|- | |- | ||
| {{package|wings}} || {{ | | {{package|wings}} || {{yes}} | ||
|} | |} | ||
Line 99: | Line 121: | ||
* See [[Talk:Features/Erlang_R16]] | * See [[Talk:Features/Erlang_R16]] | ||
[[Category: | [[Category:FeatureAcceptedF19]] | ||
<!-- When your feature page is completed and ready for review --> | <!-- When your feature page is completed and ready for review --> | ||
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler --> | <!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler --> | ||
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete--> | <!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete--> | ||
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process --> | <!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process --> |
Latest revision as of 19:12, 13 May 2013
Erlang/OTP R16
Summary
Update Erlang to the upstream R16 release.
Owners
- Names: Peter Lemenkov
- email: lemenkov@gmail.com
Current status
- Targeted release: Fedora 19
- Last updated: 2013-05-13
- Percentage of completion: 100%
Timeline
Detailed Description
Erlang is a general-purpose concurrent programming language and runtime system. The sequential subset of Erlang is a functional language, with strict evaluation, single assignment, and dynamic typing. For concurrency it follows the Actor model. It was designed by Ericsson to support distributed, fault-tolerant, soft-real-time, non-stop applications. The first version was developed by Joe Armstrong in 1986. It supports hot swapping, thus code can be changed without stopping a system. Erlang was originally a proprietary language within Ericsson, but was released as open source in 1998.
While threads are considered a complicated and error-prone topic in most languages, Erlang provides language-level features for creating and managing processes with the aim of simplifying concurrent programming. Though all concurrency is explicit in Erlang, processes communicate using message passing instead of shared variables, which removes the need for locks.
The above text was taken from en:wikipedia:erlang
The status of Erlang and related packages in Fedora/EPEL is shown at Erlang SIG page.
Benefit to Fedora
Several notable improvements (and incompatible changes) were introduced in this version. Some highlights are:
- Optimized handling of processes in the VM
- New internal process table allowing for parallel reads and writes
- Dynamic allocation of port structures, allowing the default for maximum ports to be raised to 65536 (from 1024)
- Full support for UTF-8 in the sources. The default file encoding will be ISO-Latin-1 in R16, but will be changed to UTF-8 in R17.
- The Pman application has been superseded by the Observer application. Pman will be removed in R16.
- Column numbers in compiler error messages which breaks compatibility regarding the abstract format but simplifies bug hunting even more.
- The http client (from Inets application) now support HTTPS through a proxy
- Asn1 application: Major cleanup of back ends and optimizations of mainly decode for PER and UPER.
- Removal of the unsupported 'packages' from the R16.
- A beginning of the removal of the parametrized modules. This affects mochiweb.
- Several gen_tcp speedups.
- Dialyzer optimizations
- Multicore improvements, parallel code loading.
- All sources are fully covered by type specs. BIFs are visible in erlang sources (as NIFs).
- Fully supports the unstable development branch of wxWidgets-2.9.
See full changelog for the detailed description of changes:
Scope
Required steps are:
Rebuilding Erlang/OTP itself. DONE!- Fix all broken packages. I expect DLL loader issues in all packages which contain so-objects ue to major API version mismatch. All of them must be rebuilt with new Erlang.
erlang-basho_metrics- REBUILT.erlang-bitcask- REBUILT.erlang-ebloom- REBUILT.erlang-eleveldb- REBUILT.erlang-emmap- REBUILT.erlang-esasl- REBUILT.erlang-esdl- REBUILT.erlang-gtknode- rebuild isn't necessary. This neither a driver, nor a NIF library.erlang-js- REBUILT.erlang-skerl- REBUILT.erlang-snappy- REBUILT.couchdb- REBUILT.wings- REBUILT.ejabberd- REBUILT.
- Fix all packages which requires parametrized modules (I already rebuild mochiweb with the patch which fixes it).
erlang-mochiweb- FIXED.erlang-meck- FIXED.erlang-etap- FIXED.erlang-erlando- FIXED.erlang-riak_kv- FIXED.erlang-erlydtl- FIXED.
How To Test
- Ensure that high-grade Erlang applications are still working:
Name | Tested |
|
Yes |
|
Yes |
|
Yes |
|
Yes |
|
Yes |
|
Yes |
- Collect feedback from volunteers regarding their experience with this Erlang/OTP version
Contingency Plan
None necessary. Instead of falling back to the previous version we should fix existing packages in order to help the Community. We should also monitor upstream development process for potentially discovered issues and proactively apply patches (as we already did with Erlang R14 and Erlang R15).
Documentation
Release Notes
Erlang/OTP R16B is available in Fedora 19.