Installing the .boot file.

Danie Schutte <>
Sat Jan 21 17:30:53 CET 2006


Hi Pupeno,

just on the point where applications require applications, and I think this 
may have been mentioned by Uffe.

We handle it by just adding the correct application information in the .rel 
file and when compiling the boot file, add the additional path to the 
pathlist - it automatically takes care of it.

It is not "ultra" dynamic - but it is fairly flexible since it's a once off 
boot script build.




On Saturday 21 January 2006 17:55, Pupeno wrote:
> On Saturday 21 January 2006 11:43, Danie Schutte wrote:
> > Since you are going the OTP route :)
> >
> > I would suggest stick to known directory structures as suggested in the
> > documentation and some leading experts :)
> >
> > The basic structure we use looks as follows
> >
> > project
> > 	bin
> > 	lib
> > 		patch
> > 		app
> > 			ebin
> > 			src
> > 			include
> > 	releases
> > 		x.y
> > 	misc
> >
> > in misc we keep our startup scripts
> > and the app is started from within the project directory - using paths
> > relative to that.
> >
> > example:
> > troy.sh
> >
> > erl +A 255 -name  -boot releases/1.0/troy
> > -config releases/1.0/sys -mnesia dir '"/troy/db_data/troy"'
> >
> >
> > This way everything is "neatly" placed in the right spot - which is
> > easier and cleaner to maintain later on.
>
> Except for one thing, each application is in its own directory (instead of
> a system wide know directory, like /usr/lib/erlang/) so for applications to
> find other applications I should specify -pa or similar and I end up having
> system specific directories on start up scripts, again where I started. The
> other downside is that developing in that structure of directories is
> painfully, for every release I make (changing version numbers) I'd have to
> make a lot of moves (darcs move since I am using darcs) and that just makes
> no sense.
> Thankfully, istalling the .boot and .script files on /usr/lib/erlang/bin
> worked, I can now just drop a scrip with erl -boot myapp anywhere on the HD
> (like the well know path /usr/bin) and it'll just work.
> The directory where I work on has everything on one directory (src/) and
> scons takes care of installing everything where it should go.
> Furthermore, now that I think about your solution (which is the OTP
> standard solution, no doubt about that), it has another problem. The
> starting script is not on a well know path, and if I do another script to
> run that one, I am again where I started, having to generate a script... a
> symlink might work though.
> All this that I mention will be released short for those that care.
> Thank you.



More information about the erlang-questions mailing list