jungerl/builder example?

Ulf Wiger (AL/EAB) <>
Fri May 7 14:08:06 CEST 2004


I don't have a pre-packaged example, but thought I'd show
the contents of some files in an experimental build I 
did a while back:

========================= First, some directory listings
$> pwd
/home/etxuwig/work/temp/cathroot
$> ls
BUILD_OPTIONS              patches
cath_start.sh              README
install.beam               scripts
install.erl                server-patch-src-0434.tgz
install.sh                 testf
lib                        ubf_log.txt
mnesia
$> ls scripts
cath.boot         cath.rel          cath.start        cath_load.script
cath.load         cath.script       cath_load.boot    sys.config

That is, builder will create a cath.start shell script, as well
as a cath_load script (same as cath_start, except that only basic
applications are started - good for e.g. database install, etc.)


========================= The BUILD_OPTIONS script configuring
========================= builder's environment.
$> cat BUILD_OPTIONS 
CATHROOT = case os:getenv("CATHROOT") of
               undefined -> exit({undefined, "CATHROOT"});
               Value -> Value
           end.
[{app_dir, {find_latest, cath}},
 {apps, [rdbms, ubf_server, cath]},
 {path, [CATHROOT ++ "/lib/*/ebin" | code:get_path()]},
 {out_dir, CATHROOT ++ "/scripts"},
 {{config,ubf_server}, [{ubf_server,
                         [
                          %{port, 8800},
                          {services, 
                           [{8800,
                             [{"file_server",file_plugin,[]},
                              {"irc_server",irc_plugin,[]},
                              {"test_server",test_plugin,[]},
                              {"cath_server",'cath.server.ubf_plugin', 
                               administrator}
                             ]},
                            {8888,
                             [{"cath_server",'cath.server.ubf_plugin',
                               viewer}]}
                           ]}
                         ]}
                       ]},
 {erl_opts, "-sname cath -pa " ++ filename:join(CATHROOT, "patches")}
].


========================= The shell script triggering the install.
$> cat install.sh

#!/bin/sh -fvx

CATHROOT=$1

if [ "${CATHROOT}" = "" ]; then
    echo "useage: install <cathroot>"
    exit
fi

export CATHROOT

\rm -f $CATHROOT/scripts/*
\rm -rf $CATHROOT/mnesia/*

erl -nostick -pa $CATHROOT/patches -pa $CATHROOT -s install start $CATHROOT
chmod 755 cath_start.sh

echo "Initializing database..."

erl -sname cath -boot $CATHROOT/scripts/cath_load -config $CATHROOT/scripts/sys -boot_var CATH $CATHROOT -s install mnesia $CATHROOT

echo "Done."

========================= The shell script triggering the install.
$> cat lib/cath-0.8/src/cath.app.src
[
 {description, "Track&Field Admin Prototype"},
 {id,          "anon"},
 {registered,  []},
 {applications, [kernel, stdlib, sasl, mnesia, rdbms, ubf_server]},
 {env, []},
 {mod, {'cath.server.application', []}},
 {start_phases, [{go, []}]}
].


Hope this wasn't too confusing.

/Uffe


> -----Original Message-----
> From: 
> [mailto:]On Behalf Of Gerd Flaig
> Sent: den 6 maj 2004 21:45
> To: erlang-questions
> Subject: jungerl/builder example?
> 
> 
> Hi,
> 
> following Mikael Karlsson's suggestion, I took a look at builder (in
> jungerl). Do people still use it or do you use your own release
> creation tools?
> 
> If somebody could show a small but complete example demonstrating
> automatic release creation (using builder or other tools), this would
> be really nice.
> 
>      Goodbyte, Gerd.
> -- 
> Gerd Flaig                     Technik                
> Bei Schlund + Partner AG       Brauerstraße 48      D-76135 Karlsruhe
>  Physics is like sex: sure, it may give some practical results,
>  but that's not why we do it. -- Richard Feynman
> 



More information about the erlang-questions mailing list