rebar3_deb
A rebar plugin to package a release as debain package.
Build
$ rebar3 compileUse
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
- Make appropriate code changes
-
Update version in
src/rebar3_deb.app.src -
Update plugin version in
examples/sample_app/rebar.config - Commit changes and cut a new release.
- Publish to hex.pm
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.