[erlang-questions] deb package from erlang app release

Pablo Platt pablo.platt@REDACTED
Tue Jan 18 13:30:13 CET 2011

I've looked at the errors and I think it's because of putting files in the wrong 
place, like you said.
I thought of two ways to package an erlang release as deb:
1. Break the release to several folders as recommended by debian.
Practically copy the official erlang package structure.
2. Make my deb depend on the erlang deb.
In my deb copy only the required erlang apps to /usr/lib/erlang/lib
Copy the app boot file.

In both cases the folders in app start script should be updated.
I'm not sure if 1. will work and I can naively break the release to several 

Anyone has a sane way to create a deb that follows the debian policy?

From: Mikael Magnusson <mikma264@REDACTED>
To: erlang-questions@REDACTED
Sent: Mon, January 17, 2011 11:08:36 PM
Subject: Re: [erlang-questions] deb package from erlang app release

On 01/17/2011 11:50 AM, Pablo Platt wrote:
>> On Sun, 2011-01-16 at 17:19 -0800, Pablo Platt wrote:
>>> Do I need to break the release and spread it on several places on the file
>>> system or should I put everything under a specific folder?
>>> In the latter, which folder? var/lib/myapp, usr/share/myapp ?
I use /usr/lib/myapp for static beam files etc, and /var/lib/myapp for variable 
state information like mnesia databases etc.
>> When I created a deb package for my application I simply copied the
>> release to /opt and then created symlinks from the appropriate locations
>> to the release (e.g. /etc/init.d/foo ->  /opt/foo/bin/foo).
>> HTH,
>> Andre
> When I'm copying the release to /opt (in the dh-make install script) I'm 
> many errors and warnings:

Run lintian manually and use "--info" as command line parameter. Then each error 
will be explained.

> W: myapp: executable-not-elf-or-script
> ./opt/myapp/lib/observer-

I suppose it's for Microsoft's operating systems. There is no need to install 
them I guess.
> E: myapp: embedded-zlib ./opt/myapp/erts-5.8.2/bin/beam
> E: myapp: embedded-library ./opt/myapp/erts-5.8.2/bin/beam: pcre3

If you need to install your own copy of beam it needs to be linked against the 
system libraries, otherwise you will face problems if for example security 
vulnerabilities are found in the embedded libraries.

> E: myapp: binary-or-shlib-defines-rpath
> ./opt/myapp/lib/crypto-2.0.2/priv/lib/crypto.so /usr/ssl/lib

Refer to "lintian --info"E: myapp: dir-or-file-in-opt opt/myapp/
> E: myapp: dir-or-file-in-opt opt/myapp/bin/

Consider using /usr/lib/myapp instead.


erlang-questions (at) erlang.org mailing list.
See http://www.erlang.org/faq.html
To unsubscribe; mailto:erlang-questions-unsubscribe@REDACTED


More information about the erlang-questions mailing list