rebar3_deb

A rebar plugin to package a release as debain package.

Build

$ rebar3 compile

Use

Add the plugin to your rebar config:

{project_plugins, [
    {rebar3_deb, "0.1.0"}
]}.

%% option for rebar3_deb plugin
{deb, [
       {control_files_dir, "package/debian"}, %% directory where debian control files are present
       {source_dirs, []}, %% other source directories to package
       {install_dir, "/opt"}, %% where the release is installed
       {systemd_unit_files, ["package/systemd/sample_app.service"]} %% optionally package a systemd unit file
]}.

The plugin provides templates for debain control files. To generate them use

$ rebar3 new debian-control-files

This would create control, postinst and prerm files in package/debian directory. These files are mustache template files. At plugin runtime, the plugin renders the template with the appropriate values for {{package}}, {{version}} and {{name}}.

Then call the pluging to create a debian package

$ rebar3 debian
<Plugin Output>

This command accetps the same command line arguments as rebar3 tar command.

Release

Use plugin from github

{project_plugins, [
    {rebar3_deb, {git, "https://github.com/drvspw/rebar3_deb.git", {tag, "<release tag>"}}}
]}.

The release tag can be found in releases page.