updated the readme
[otp-base.git] / README
blob880df2db1be25b86e74cb1d0bc8c7697015159f6
1 Much more information on these topics can be found at www.erlware.org
3 Downloading Dependencies
4 ========================
6 OTP Base requires a few erlang applications in order to run correctly. The easiest way to get these applications is first to install Erlang from source and then to download faxien, code.google.com/p/faxien and use it to install the additional apps that don't come bundled with Erlang.
8 1. Bootstrap faxien with the appropriate bootstrapper from the download site.
9 2. install the applications
10  - run 'sudo /usr/local/erlware/bin/faxien install_app fslib'
11  - run 'sudo /usr/local/erlware/bin/faxien install_app gas'
12  - run 'sudo /usr/local/erlware/bin/faxien install_app eunit'
14 at this point you should be ready to go. 
16 Building the tree
17 =================
19 To build, type make, it should all work from there. 
21 NOTE** if your system has erlang installed in a directory other than /usr/local/lib/erlang
22 then you must set the environment variable ERL_RUN_TOP to that directory. For example
23 if you have erlang installed in /home/jdoe/erlang then you should 
24 export ERL_RUN_TOP=/home/jdoe/erlang
27 Creating a new application
28 ==========================
30 A new application can be created by using the application_generation utility in tools/utilities.
31 This utility will create a basic OTP app framework under the lib directory 
33 usage: application_generation <app-name> <prefix> 
35 Appname is the name of the application that you would like to create.  The prefix is 
36 usually the first letter of each word in the appname.  This prefix is to avoid name
37 clashes between applications included in a release (Erlang does not have packages).
39 example usage: application_generation my_app ma
41 which results in 
43 lib/my_app 
45 Creating a new release
46 ======================
48 A release is the OTP packaging structure that binds together a number of applications, configuration, and startup scripts to create a standalone Erlang service.  To create a new release from which to run your application(s) you can use the tools/utilities/release_generation script. 
50 usage: release_generation <release-name>
51 example usage: release_generation test
53 The example above will create a release called test under release/test
55 Running a release
56 =================
58 Your release should contain all that you need to run your application. You have only to exit your .rel.src file to add to it the applications you have developed over in the lib side.  If your application depends on any applications that are supplied outside of your otp-base build tree you can always install them with faxien and then add them to your .rel.src file as well.  
60 To run a release there are two options: The first is local. A local version can be found in the otp/release/<release-name>/local directory which is added by the make process.  This should be used during development to run your release interactively via an Erlang shell.  To run a release in local mode cd into the "local" directory and run <release-name>.sh.
62 In the case where you want to create a production ready release on one machine and then deploy it on multiple identical machines you may create a production package with 'make pacakge'.  To do this run 'make package' from the release/<release-name> directory. This will create a directory '<release-name>-<release-vsn>.  This this directory can be tarred up and the tar can be shipped to its destination and installed with faxien.  This directory may also be published to a repo for remote installation on another box via faxien.  See the docs for faxien at erlware.org for more details on this.