No edit summary |
m (Starting to update this.) |
||
Line 9: | Line 9: | ||
= File Locations = | = File Locations = | ||
Erlang packages should install theirselves to %{ | Erlang packages should install theirselves to %{_erllibdir}/%{realname}-%{version}. Big applications, such as {{package|ejabberd}}, {{package|rabbitmq-server}}, {{package|riak}} install their content somewhere else due to historical reasons. | ||
= Debug symbols / source installation / dialyzer = | = Debug symbols / source installation / dialyzer = | ||
Erlang package should not install its original sources. Instead packages should ensure that it's built with +debug_info flag. It does NOT impact the runtime performance of the application at all (beam loader disregards debug symbols before loading to VM). Dialyzer requires either debug info or original sources. | Erlang package should not install its original sources. Instead packages should ensure that it's built with +debug_info flag. It does NOT impact the runtime performance of the application at all (beam loader disregards debug symbols before loading to VM). Dialyzer requires either this debug info or original sources. | ||
= Header files = | = Header files = |
Revision as of 16:16, 3 March 2016
THIS DOCUMENT IS WIP
This document seeks to document the conventions and customs surrounding the proper packaging of Erlang modules and applications in Fedora and EPEL. It does not intend to cover all situations, but to codify those practices which have served the Fedora Erlang community well.
Naming
erlang-%{realname}
File Locations
Erlang packages should install theirselves to %{_erllibdir}/%{realname}-%{version}. Big applications, such as ejabberd
, rabbitmq-server
, riak
install their content somewhere else due to historical reasons.
Debug symbols / source installation / dialyzer
Erlang package should not install its original sources. Instead packages should ensure that it's built with +debug_info flag. It does NOT impact the runtime performance of the application at all (beam loader disregards debug symbols before loading to VM). Dialyzer requires either this debug info or original sources.
Header files
Header files for erlang modules must be bundled with main package (not in *-devel). They are very often used by system administrators right from the REPL console.