diff options
Diffstat (limited to 'lib/reltool/doc/src/reltool_examples.xml')
-rw-r--r-- | lib/reltool/doc/src/reltool_examples.xml | 466 |
1 files changed, 466 insertions, 0 deletions
diff --git a/lib/reltool/doc/src/reltool_examples.xml b/lib/reltool/doc/src/reltool_examples.xml new file mode 100644 index 0000000000..3d087862e6 --- /dev/null +++ b/lib/reltool/doc/src/reltool_examples.xml @@ -0,0 +1,466 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE chapter SYSTEM "chapter.dtd"> + +<chapter> + <header> + <copyright> + <year>2009</year> + <year>2009</year> + <holder>Ericsson AB, All Rights Reserved</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may noot use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + The Initial Developer of the Original Code is Ericsson AB. + </legalnotice> + + <title>Examples</title> + <prepared>Håkan Mattsson</prepared> + <responsible>Håkan Mattsson</responsible> + <docno></docno> + <approved>Håkan Mattsson</approved> + <checked></checked> + <date></date> + <rev>%VSN%</rev> + <file>reltool_examples.xml</file> + </header> + + <section> + <title>Start and stop windows and servers</title> + + <p>The main process in Reltool is the server. It can be used as it + is or be used via the GUI frontend process. When the GUI is + started, a server process will automatically be started. The GUI + process is started with <c>reltool:start/0</c>, + <c>reltool:start/1</c> or <c>reltool:start_link/1</c>. The pid of + its server can be obtained with <c>reltool:get_server/1</c></p> + + <pre> +Erlang R13B02 (erts-5.7.3) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:0] [kernel-poll:false] + +Eshell V5.7.3 (abort with ^G) +1> {ok, Win} = reltool:start([]). +{ok,<0.36.01>} +2> {ok, Server} = reltool:get_server([]). +{ok,<0.37.01>} +3> reltool:get_config(Server). +{ok,{sys,[]}} +4> reltool:stop(Win). +ok + + +5> {ok, Server2} = reltool:start_server([]). +{ok,<0.6535.01>} +6> reltool:get_config(Server2). +{ok,{sys,[]}} +7> reltool:stop(Server2). +ok + </pre> + + </section> + + <section> + <title>Inspecting the configuration</title> + + <pre> +Erlang R13B02 (erts-5.7.3) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:0] [kernel-poll:false] + +Eshell V5.7.3 (abort with ^G) +1> Config = {sys, [{escript, "examples/display_args", [{incl_cond, include}]}, + {app, inets, [{incl_cond, include}]}, + {app, mnesia, [{incl_cond, exclude}]}, + {app, ssl, [{incl_cond, exclude}]}, + {app, runtime_tools, [{incl_cond, exclude}]}, + {app, syntax_tools, [{incl_cond, exclude}]}]}. +{sys,[{escript,"examples/display_args",[{incl_cond,include}]}, + {app,inets,[{incl_cond,include}]}, + {app,mnesia,[{incl_cond,exclude}]}, + {app,ssl,[{incl_cond,exclude}]}, + {app,runtime_tools,[{incl_cond,exclude}]}, + {app,syntax_tools,[{incl_cond,exclude}]}]} + + + +2> {ok, Server} = reltool:start_server([Config]). +{ok,<0.35.0>} +3> reltool:get_config(Server). +{ok,{sys,[{escript,"/clearcase/otp/tools/reltool/examples/display_args", + [{incl_cond,include}]}]}} +4> reltool:get_config(Server, false, false). +{ok,{sys,[{escript,"/clearcase/otp/tools/reltool/examples/display_args", + [{incl_cond,include}]}]}} + + + +5> reltool:get_config(Server, true, false). +{ok,{sys,[{root_dir,"/ldisk/hakan/otp_test"}, + {lib_dirs,[]}, + {escript,"/clearcase/otp/tools/reltool/examples/display_args", + [{incl_cond,include}]}, + {mod_cond,all}, + {incl_cond,derived}, + {boot_rel,"start_clean"}, + {emu_name,"beam"}, + {relocatable,true}, + {profile,development}, + {incl_sys_files,[".*"]}, + {excl_sys_files,[]}, + {incl_app_files,[".*"]}, + {excl_app_files,[]}, + {incl_archive_dirs,[".*"]}, + {excl_archive_dirs,["^include$","^priv$"]}, + {archive_opts,[]}, + {app_type,permanent}, + {app_file,keep}, + {debug_info,keep}]}} + + + +6> reltool:get_config(Server, true, true). +{ok,{sys,[{root_dir,"/ldisk/hakan/otp_test"}, + {lib_dirs,[]}, + {escript,"/clearcase/otp/tools/reltool/examples/display_args", + [{incl_cond,include}]}, + {mod_cond,all}, + {incl_cond,derived}, + {erts,[{vsn,"5.7.3"}, + {mod,erl_prim_loader,[]}, + {mod,erlang,[]}, + {mod,init,[]}, + {mod,otp_ring0,[]}, + {mod,prim_file,[]}, + {mod,prim_inet,[]}, + {mod,prim_zip,[]}, + {mod,zlib,[]}]}, + {app,compiler, + [{vsn,"4.6.3"}, + {mod,beam_asm,[]}, + {mod,beam_block,[]}, + {mod,beam_bool,[]}, + {mod,beam_bsm,[]}, + {mod,beam_clean,[]}, + {mod,beam_dead,[]}, + {mod,beam_dict,[]}, + {mod,beam_disasm,[]}, + {mod,beam_flatten,[]}, + {mod,beam_jump,[]}, + {mod,beam_listing,[]}, + {mod,beam_opcodes,...}, + {mod,...}, + {...}|...]}, + {app,crypto, + [{vsn,"1.6.1"}, + {mod,crypto,[]}, + {mod,crypto_app,[]}, + {mod,crypto_server,[]}, + {mod,crypto_sup,[]}]}, + {app,hipe, + [{vsn,"3.7.3"}, + {mod,cerl_cconv,[]}, + {mod,cerl_closurean,[]}, + {mod,cerl_hipeify,[]}, + {mod,cerl_hybrid_transform,[]}, + {mod,cerl_lib,[]}, + {mod,cerl_messagean,[]}, + {mod,cerl_pmatch,[]}, + {mod,cerl_prettypr,[]}, + {mod,cerl_to_icode,[]}, + {mod,cerl_typean,...}, + {mod,...}, + {...}|...]}, + {app,kernel, + [{vsn,"2.13.3"}, + {mod,application,[]}, + {mod,application_controller,[]}, + {mod,application_master,[]}, + {mod,application_starter,[]}, + {mod,auth,[]}, + {mod,code,[]}, + {mod,code_server,[]}, + {mod,disk_log,[]}, + {mod,disk_log_1,...}, + {mod,...}, + {...}|...]}, + {app,stdlib, + [{vsn,"1.16.3"}, + {mod,array,[]}, + {mod,base64,[]}, + {mod,beam_lib,[]}, + {mod,c,[]}, + {mod,calendar,[]}, + {mod,dets,[]}, + {mod,dets_server,[]}, + {mod,dets_sup,...}, + {mod,...}, + {...}|...]}, + {boot_rel,"start_clean"}, + {emu_name,"beam"}, + {relocatable,true}, + {profile,development}, + {incl_sys_files,[".*"]}, + {excl_sys_files,[]}, + {incl_app_files,[".*"]}, + {excl_app_files,[]}, + {incl_archive_dirs,[".*"]}, + {excl_archive_dirs,["^include$",[...]]}, + {archive_opts,[]}, + {app_type,permanent}, + {app_file,...}, + {...}]}} + + + +7> reltool:get_config([{sys,[{profile, embedded}]}]). +{ok,{sys,[{profile,embedded}, + {incl_sys_filters,["^bin","^erts","^lib","^releases"]}, + {excl_sys_filters,["^bin/(erlc|dialyzer|typer)(|\\.exe)$", + "^erts.*/bin/(erlc|dialyzer|typer)(|\\.exe)$", + "^erts.*/bin/.*(debug|pdb)"]}, + {incl_app_filters,["^ebin","^include","^priv"]}]}} +8> reltool:get_config([{sys,[{profile, standalone}]}]). +{ok,{sys,[{profile,standalone}, + {incl_sys_filters,["^bin/(erl|epmd)(|\\.exe|\\.ini)$", + "^bin/start(|_clean).boot$","^erts.*/bin","^lib$"]}, + {excl_sys_filters,["^erts.*/bin/(erlc|dialyzer|typer)(|\\.exe)$", + "^erts.*/bin/(start|escript|to_erl|run_erl)(|\\.exe)$", + "^erts.*/bin/.*(debug|pdb)"]}, + {incl_app_filters,["^ebin","^priv"]}, + {excl_app_filters,["^ebin/.*\\.appup$"]}]}} + + </pre> + + </section> + + <section> + <title>Generate release and script files</title> + <pre> +5> {ok, Server} = reltool:start_server([{config, {sys, [{boot_rel, "NAME"}, + {rel, "NAME", "VSN", [kernel, stdlib, sasl]}]}}]). +{ok,<0.1288.0>} +6> reltool:get_config(Server). +{ok,{sys,[{boot_rel,"NAME"}, + {rel,"NAME","VSN",[kernel,stdlib,sasl]}]}} +7> reltool:get_rel(Server, "NAME"). +{ok,{release,{"NAME","VSN"}, + {erts,"5.7"}, + [{kernel,"2.13"},{stdlib,"1.16"},{sasl,"2.1.6"}]}} +8> reltool:get_script(Server, "NAME"). +{ok,{script,{"NAME","VSN"}, + [{preLoaded,[erl_prim_loader,erlang,init,otp_ring0, + prim_file,prim_inet,prim_zip,zlib]}, + {progress,preloaded}, + {path,["$ROOT/lib/kernel-2.13/ebin", + "$ROOT/lib/stdlib-1.16/ebin"]}, + {primLoad,[error_handler]}, + {kernel_load_completed}, + {progress,kernel_load_completed}, + {path,["$ROOT/lib/kernel-2.13/ebin"]}, + {primLoad,[application,application_controller, + application_master,application_starter,auth,code, + code_server,disk_log,disk_log_1,disk_log_server, + disk_log_sup,dist_ac,dist_util,erl_boot_server|...]}, + {path,["$ROOT/lib/stdlib-1.16/ebin"]}, + {primLoad,[array,base64,beam_lib,c,calendar,dets, + dets_server,dets_sup,dets_utils,dets_v8,dets_v9,dict|...]}, + {path,["$ROOT/lib/sasl-2.1.6/ebin"]}, + {primLoad,[alarm_handler,erlsrv,format_lib_supp,misc_supp, + overload,rb,rb_format_supp,release_handler, + release_handler_1,sasl|...]}, + {progress,modules_loaded}, + {path,["$ROOT/lib/kernel-2.13/ebin", + "$ROOT/lib/stdlib-1.16/ebin","$ROOT/lib/sasl-2.1.6/ebin"]}, + {kernelProcess,heart,{heart,start,[]}}, + {kernelProcess,error_logger,{error_logger,start_link,[]}}, + {kernelProcess,application_controller, + {application_controller,start,[{...}]}}, + {progress,init_kernel_started}, + {apply,{application,load,[...]}}, + {apply,{application,load,...}}, + {progress,applications_loaded}, + {apply,{...}}, + {apply,...}, + {...}|...]}} +9> reltool:stop(Server). +ok + </pre> + </section> + + <section> + <title>Create a target system</title> + <pre> +Erlang R13B02 (erts-5.7.3) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:0] [kernel-poll:false] + +Eshell V5.7.3 (abort with ^G) +1> Config = {sys, [{escript, "examples/display_args", [{incl_cond, include}]}, + {app, inets, [{incl_cond, include}]}, + {app, mnesia, [{incl_cond, exclude}]}, + {app, ssl, [{incl_cond, exclude}]}, + {app, runtime_tools, [{incl_cond, exclude}]}, + {app, syntax_tools, [{incl_cond, exclude}]}]}. +{sys,[{escript,"examples/display_args",[{incl_cond,include}]}, + {app,inets,[{incl_cond,include}]}, + {app,mnesia,[{incl_cond,exclude}]}, + {app,ssl,[{incl_cond,exclude}]}, + {app,runtime_tools,[{incl_cond,exclude}]}, + {app,syntax_tools,[{incl_cond,exclude}]}]} + + + +2> {ok, Spec} = reltool:get_target_spec([Config]). +{ok,[{create_dir,"releases", + [{write_file,"start_erl.data","5.7.3 1.0"}, + {create_dir,"1.0", + [{write_file,"start_clean.rel", + [37,37,32,114,101,108,32,103,101,110,101,114,97,116|...]}, + {write_file,"start_clean.script", + [37,37,32,115,99,114,105,112,116,32,103,101,110|...]}, + {write_file,"start_clean.boot", + <<131,104,3,100,0,6,115,99,114,105,112,116,...>>}, + {write_file,"start_sasl.rel", + [37,37,32,114,101,108,32,103,101,110,101|...]}, + {write_file,"start_sasl.script", + [37,37,32,115,99,114,105,112,116,32|...]}, + {write_file,"start_sasl.boot", + <<131,104,3,100,0,6,115,99,114,...>>}]}]}, + {create_dir,"bin", + [{copy_file,"display_args.escript", + "/clearcase/otp/tools/reltool/examples/display_args"}, + {copy_file,"display_args","erts-5.7.3/bin/escript"}, + {copy_file,"start","erts-5.7.3/bin/start"}, + {copy_file,"erl","erts-5.7.3/bin/dyn_erl"}, + {copy_file,"epmd","erts-5.7.3/bin/epmd"}, + {copy_file,"to_erl","erts-5.7.3/bin/to_erl"}, + {copy_file,"run_erl","erts-5.7.3/bin/run_erl"}, + {copy_file,"escript","erts-5.7.3/bin/escript"}, + {copy_file,"erlc","erts-5.7.3/bin/erlc"}, + {copy_file,"dialyzer","erts-5.7.3/bin/dialyzer"}, + {copy_file,"typer","erts-5.7.3/bin/typer"}, + {write_file,"start_clean.boot", + <<131,104,3,100,0,6,115,...>>}, + {write_file,"start_sasl.boot",<<131,104,3,100,0,6,...>>}, + {write_file,"start.boot",<<131,104,3,100,0,...>>}]}, + {create_dir,"misc", + [{copy_file,"makewhatis"},{copy_file,"format_man_pages"}]}, + {copy_file,"Install"}, + {create_dir,"usr", + [{create_dir,"lib", + [{copy_file,"liberts_r.a"},{copy_file,"liberts.a"}]}, + {create_dir,"include", + [{copy_file,"erl_fixed_size_int_types.h"}, + {copy_file,"erl_int_sizes_config.h"}, + {copy_file,"erl_memory_trace_parser.h"}, + {create_dir,"obsolete",[{copy_file,"driver.h"}]}, + {copy_file,"driver_int.h"}, + {copy_file,"erl_driver.h"}]}]}, + {create_dir,"erts-5.7.3", + [{create_dir,"lib", + [{create_dir,"internal", + [{copy_file,"liberts_internal_r.a"}, + {copy_file,"liberts_internal.a"}, + {copy_file,"libethread.a"}, + {copy_file,"README"}]}, + {copy_file,"liberts_r.a"}, + {copy_file,"liberts.a"}]}, + {create_dir,"bin", + [{copy_file,"start"}, + {copy_file,"erl","erts-5.7.3/bin/dyn_erl"}, + {copy_file,"epmd"}, + {copy_file,"to_erl"}, + {copy_file,"run_erl"}, + {copy_file,"escript"}, + {copy_file,"erlc"}, + {copy_file,"dialyzer"}, + {copy_file,"typer"}, + {copy_file,"erlexec"}, + {copy_file,[...]}, + {copy_file,...}, + {...}|...]}, + {create_dir,"doc",[]}, + {create_dir,"man",[]}, + {create_dir,"include", + [{create_dir,"internal", + [{create_dir,"tile",[{copy_file,...},{...}]}, + {create_dir,"sparc64",[{...}]}, + {create_dir,"sparc32",[...]}, + {create_dir,[...],...}, + {create_dir,...}, + {...}|...]}, + {copy_file,"erl_fixed_size_int_types.h"}, + {copy_file,"erl_int_sizes_config.h"}, + {copy_file,"erl_memory_trace_parser.h"}, + {copy_file,"driver_int.h"}, + {copy_file,"erl_driver.h"}]}, + {create_dir,"src",[{copy_file,"setuid_socket_wrap.c"}]}]}, + {create_dir,"lib", + [{archive,"compiler-4.6.3.ez",[], + [{create_dir,"compiler-4.6.3", + [{create_dir,"ebin", + [{copy_file,"compiler.appup"}, + {copy_file,[...]}, + {copy_file,...}, + {...}|...]}, + {create_dir,"src", + [{copy_file,[...]},{copy_file,...},{...}|...]}]}]}, + {archive,"crypto-1.6.1.ez",[], + [{create_dir,"crypto-1.6.1", + [{create_dir,"ebin", + [{copy_file,[...]},{copy_file,...},{...}|...]}, + {create_dir,"src",[{copy_file,...},{...}|...]}]}]}, + {create_dir,"crypto-1.6.1", + [{create_dir,"priv", + [{create_dir,"lib",[{copy_file,[...]}]}, + {create_dir,"obj",[{copy_file,...},{...}]}]}]}, + {archive,"erts-5.7.3.ez",[], + [{create_dir,"erts-5.7.3", + [{create_dir,"ebin",[{...}|...]}, + {create_dir,"src",[...]}]}]}, + {archive,"hipe-3.7.3.ez",[], + [{create_dir,"hipe-3.7.3", + [{create_dir,"util",[...]}, + {create_dir,[...],...}, + {create_dir,...}, + {...}|...]}]}, + {archive,"kernel-2.13.3.ez",[], + [{create_dir,"kernel-2.13.3", + [{create_dir,[...],...},{create_dir,...},{...}]}]}, + {create_dir,"kernel-2.13.3", + [{create_dir,"include", + [{copy_file,[...]},{copy_file,...},{...}]}]}, + {archive,"stdlib-1.16.3.ez",[], + [{create_dir,"stdlib-1.16.3",[{...}|...]}]}, + {create_dir,"stdlib-1.16.3", + [{create_dir,"include",[{...}|...]}]}]}]} + + + +3> TargetDir = "my_target_dir". +"my_target_dir" +4> reltool:eval_target_spec(Spec, code:root_dir(), TargetDir). +{error,"/clearcase/otp/tools/reltool/my_target_dir: no such file or directory"} +5> file:make_dir("my_target_dir"). +ok +6> reltool:eval_target_spec(Spec, code:root_dir(), TargetDir). +ok +7> file:list_dir(TargetDir). +{ok,["lib","erts-5.7.3","usr","Install","misc","bin","releases"]} +8> file:list_dir(filename:join([TargetDir,"lib"])). +{ok,["stdlib-1.16.3","stdlib-1.16.3.ez","kernel-2.13.3", + "kernel-2.13.3.ez","hipe-3.7.3.ez","erts-5.7.3.ez", + "crypto-1.6.1","crypto-1.6.1.ez","compiler-4.6.3.ez"]} +9> file:make_dir("yet_another_target_dir"). +ok +10> reltool:create_target(Config, "yet_another_target_dir"). +ok + </pre> + + </section> +</chapter> |