Create an install-able RPM from rebar3 release

67 views
Skip to first unread message

Ben Adams

unread,
Dec 14, 2021, 2:05:50 PM12/14/21
to erlang-q...@erlang.org
 
Hello everyone,

I'm working on creating an installable version of my app in RPM and DEB format. 

When starting the app after rpm install:

===============================
/usr/app/rel/app1/bin/app1 foreground
Exact ERTS version (12.1.5) match not found, instead using 12.1.5. The release may fail to run.
init terminating in do_boot ({load_failed,[logger_simple_h,logger_config,logger_backend,logger_server,logger_filters,logger,kernel,heart,file_io_server,file_server,file,error_logger,code_server,code,a

Crash dump is being written to: erl_crash.dump...done

===============================

This is my build script:

===============================
# Build Code
./rebar3 release

# Start RPM BUILD PROCESS
mkdir -p rel/usr/app1

rsync -avz _build/default/ rel/usr/app1/
fpm -s dir \
    -t rpm \
    --depends erlang \
    -n app1 \
    -C "$(pwd)/rel" \
    -v 0.0.1 \
    --iteration 1
===============================
When installing the app all files look to be there, build and target are using erlang 24
Both servers have the same versions installed:

===============================
[root@development ~]# rpm -aq erlang-erts erlang
erlang-erts-24.1.7-1.fc35.x86_64
erlang-24.1.7-1.fc35.x86_64

===============================

Not sure what the process is for fixing the problem.

Happy Holidays!!

Thank you,

Ben Adams

Mikael Pettersson

unread,
Dec 14, 2021, 2:51:44 PM12/14/21
to Ben Adams, erlang-q...@erlang.org
On Tue, Dec 14, 2021 at 8:05 PM Ben Adams <b...@messagemap.io> wrote:
>
>
> Hello everyone,
>
> I'm working on creating an installable version of my app in RPM and DEB format.
>
> When starting the app after rpm install:
>
> ===============================
> /usr/app/rel/app1/bin/app1 foreground
> Exact ERTS version (12.1.5) match not found, instead using 12.1.5. The release may fail to run.
> init terminating in do_boot ({load_failed,[logger_simple_h,logger_config,logger_backend,logger_server,logger_filters,logger,kernel,heart,file_io_server,file_server,file,error_logger,code_server,code,a
>
> Crash dump is being written to: erl_crash.dump...done
>
> ===============================
>
> This is my build script:
>
> ===============================
> # Build Code
> ./rebar3 release
>
> # Start RPM BUILD PROCESS
> mkdir -p rel/usr/app1
>
> rsync -avz _build/default/ rel/usr/app1/
> fpm -s dir \
> -t rpm \
> --depends erlang \
> -n app1 \
> -C "$(pwd)/rel" \
> -v 0.0.1 \
> --iteration 1

What's "fpm"?

We use plain old rpm-build and a .spec file to package our main
service as an RPM, and it has worked fine for many years now. We don't
use "releases" in that one however (other smaller services do, but not
that one).

Roger Lipscombe

unread,
Dec 15, 2021, 7:04:27 AM12/15/21
to Mikael Pettersson, erlang-q...@erlang.org
On Tue, 14 Dec 2021 at 19:51, Mikael Pettersson <mikpe...@gmail.com> wrote:
> What's "fpm"?

fpm is https://github.com/jordansissel/fpm

We use it for building deb files, but we use 'include_erts' for our
release process.

Ben Adams

unread,
Dec 16, 2021, 2:13:33 AM12/16/21
to Roger Lipscombe, Mikael Pettersson, erlang-q...@erlang.org
Thank you, I was missing that in my rebar.config:

{include_erts, true},

Had it set to false 🙂 .

All set now.

Happy Holidays!

----
Ben Adams

From: Roger Lipscombe <ro...@differentpla.net>
Sent: Wednesday, December 15, 2021 7:01 AM
To: Mikael Pettersson <mikpe...@gmail.com>
Cc: Ben Adams <b...@messagemap.io>; erlang-q...@erlang.org <erlang-q...@erlang.org>
Subject: Re: Create an install-able RPM from rebar3 release
 

Max Lapshin

unread,
Dec 16, 2021, 2:31:51 AM12/16/21
to Ben Adams, erlang-q...@erlang.org
We have completely refused from fpm.rb and from my fpm.erl (I wrote
myself an implementation of rpm packing and I can tell you, that rpm
format was created by daemons from deepest Chaos).

Now everything is deleted, we use dpkg-deb: it is the tool that
should have happened ages ago and alien for converting deb to rpm.
Reply all
Reply to author
Forward
0 new messages