Salome HOME
Changing from 4.X to 5.X
[tools/install.git] / doc / readme.html
1 <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
2 <html>
3 <head>
4   <meta http-equiv="Content-Type"
5  content="text/html; charset=iso-8859-1">
6   <meta name="GENERATOR"
7  content="Mozilla/4.8 [en] (X11; U; Linux 2.4.18-14 i686) [Netscape]">
8   <meta name="Author"
9  content="Alexander KOVALEV, Open CASCADE SAS (alexander.kovalev@opencascade.com)">
10   <meta name="Copyright" content="2002-2008 CEA">
11   <title>SALOME Installation Wizard Help</title>
12 </head>
13 <body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 229);"
14  alink="#ff0000" link="#0000ee" vlink="#551a8b">
15 &nbsp;
16 <center>
17 <table nosave="" width="100%">
18   <tbody>
19     <tr nosave="">
20       <td nosave="">
21       <h1><a href="http://www.opencascade.com"><img src="logocorp.png"
22  border="0" height="47" width="139"> </a></h1>
23       </td>
24       <td>
25       <center>
26       <h3><font size="+4"><font color="#000099">SALOME Installation
27 Wizard Help</font></font></h3>
28       </center>
29       </td>
30       <td>
31       <div align="right"><a href="http://www.opencascade.org/SALOME/"><img
32  src="application.png" border="0" height="47" width="109"> </a></div>
33       </td>
34     </tr>
35   </tbody>
36 </table>
37 </center>
38 <div align="right"><b><font color="#000099">updated for the version </font><font
39  color="#ff0000">5.0.0</font></b></div>
40 <hr>
41 <ul>
42   <li> <a href="#install_from_wizard">Installing products with the
43 Installation Wizard<br>
44     </a></li>
45   <ul>
46     <li><a href="#gui_mode">GUI mode</a></li>
47 <!--    <li><a href="#batch_mode">Batch mode</a></li>-->
48     <li><a href="#env_files">Environment files</a><br>
49     </li>
50   </ul>
51   <li> <a href="#pick_up_env">Pick up the environment</a></li>
52   <li> <a href="#xml_files">Modifying XML configuration file</a></li>
53   <li> <a href="#new_products">Implementing installation scripts for
54 the new products</a></li>
55   <li> <a href="#finish_buttons">Customizing Readme page buttons</a></li>
56 </ul>
57 <h3>
58 <hr></h3>
59 <h3> <a name="install_from_wizard"></a>Installing products with the <font
60  color="#ff0000">Installation Wizard</font></h3>
61 <!--The Installation Wizard can be launched in two modes: <span
62  style="font-weight: bold;">GUI </span>and <span
63  style="font-weight: bold;">batch</span>. <br>-->
64 The root directory of the Installation Wizard
65 contains Python script <span style="font-weight: bold;">runInstall</span>.
66 To run the Installation Wizard just type <b>runInstall</b> in the
67 terminal
68 window:<span style="font-weight: bold;"></span><span
69  style="font-weight: bold;"></span>
70 <p>[ python ] <b>runInstall </b>[options]<b><br>
71 </b></p>
72 <p>Without options this script will launch the SALOME Installation
73 Wizard in the GUI mode.<br>
74 The default installation settings can be overridden by using of command
75 line options. Each option has short and long notations:<br>
76 </p>
77 <p><b>-g / --gui</b><br>
78 </p>
79 <div style="margin-left: 40px;">Runs the Installation Wizard in the
80 GUI
81 mode (this is the default mode).<br>
82 </div>
83 <!--<p><b>-b / --batch</b><br>
84 </p>
85 <div style="margin-left: 40px;">Runs the Installation Wizard in
86 the terminal mode. <br>
87 </div>-->
88 <p><b>-f FILE / --file=</b><span style="font-weight: bold;">FILE<br>
89 </span></p>
90 <div style="margin-left: 40px;">
91 This is the XML configuration file used by the Installation Wizard. 
92 If this option is not used, the installation script tries to define 
93 the<i>Linux </i>version and to use the corresponding XML file
94 if it is present.
95 For example, for <span style="color: rgb(0, 0, 153);">Linux Mandriva
96 2006</span>&nbsp; the <b>config_Mandriva_2006.0.xml</b>&nbsp;
97 file
98 will be used by default.
99 </div>
100 <p> <b>-d DIR / --target=DIR</b><br>
101 </p>
102 <div style="margin-left: 40px;">This is the target installation 
103 directory for SALOME platform. If used, this option overrides 
104 the default target directory, given in the
105 configuration XML file (usually<span style="font-weight: bold;">
106 ${HOME}/salome_&lt;version&gt;</span><!--,
107 see
108 <a href="#xml_files">here</a> for more details-->).<br>
109 </div>
110 <p><b>-t DIR / --tmp=DIR </b></p>
111 <div style="margin-left: 40px;">This is the directory, for 
112 temporary files. If given, this option overrides the default 
113 temporary directory, given in the configuration xml file 
114 (usually <span style="font-weight: bold;">/tmp</span>
115 <span style="font-weight: bold;"></span><!--, 
116 see <a href="#xml_files">here</a> for more information-->).<br>
117 </div>
118 <p><b>-h / --help</b><br>
119 </p>
120 <div style="margin-left: 40px;">Prints help information on
121 the usage of the Installation Wizard. <br>
122 </div>
123 <p></p>
124 <p>
125 <b>-v / --version</b><br>
126 </p>
127 <div style="margin-left: 40px;">Prints version information
128 (<span style="font-weight: bold;">Note: </span>this
129 is the version number of the Installation Wizard, not of SALOME platform). <br>
130 </div>
131 <p>
132 </p>
133 <p>The installation procedure supports different <span style="color: rgb(0, 0, 153);">Linux
134 </span>platforms and installs various 3d-party installation prerequisite products, which
135 are required by SALOME platform. As it was mentioned above, the basic
136 target platform for SALOME 4.0.0 and later is <span style="color: rgb(0, 0, 153);">Linux Mandriva 2006</span>.<br>
137 The usage of configuration XML files provides a flexible way to modify
138 the list of products to be installed by the Installation Wizard without
139 changing the source code of the application. Just create your own XML
140 configuration file and implement installation scripts for the prerequisite products you
141 need and then use this XML file with the Installation Wizard. This can
142 be done, for example, for some <span style="color: rgb(0, 0, 153);">Linux
143 </span>platform which is not supported directly by the
144 Installation Wizard. See <a href="#xml_files">Modifying XML
145 configuration file</a> and <a href="#new_products">Implementing installation
146 scripts for the new products</a> sections for more information. </p>
147 <h3 style="margin-left: 40px;"> <a name="gui_mode"></a>GUI
148 mode<br>
149 </h3>
150 <p>The GUI of the <font color="#ff0000">Installation Wizard</font> has been
151 developed with <span style="font-weight: bold;"><span style="color: rgb(0, 0, 153);">Qt
152 3.3.8 </span> </span>toolkit by <span style="color: rgb(0, 0, 153);">
153 Trolltech </span>. After launching the Installation Wizard
154 in the GUI mode the wizard window is shown to the user. This wizard
155 guides the user through several subsequent pages. To navigate between
156 the pages use <i>"Next"</i> and <i>"Back"</i>
157 buttons in the lower part of the wizard window. <i>"Cancel"</i> button
158 closes the wizard window&nbsp;and quits the installation procedure after user
159 confirmation. <i>"Help"</i> button opens a window with the help information. </p>
160 <p>The first "<span style="font-style: italic;">Introduction"</span>
161 page is shown in <a href="#IntroPage">Figure 1</a>.
162 Skip this page by pressing <i>"Next"</i> button:
163 </p>
164 <center><a name="IntroPage"></a><br>
165 <img alt="Intro page" src="intropage.png" style="width: 593px; height: 468px;">
166 <p><b>Figure 1:</b> "Introduction" page</p>
167 </center>
168 <p>In the second page you are proposed to select the type of the
169 SALOME installation.<br>
170 <br>
171 At this step three possible types of installation are available:<br>
172 </p>
173 <ol>
174   <li><span style="font-style: italic;"> <font color="#ff0000"><b>"Install binaries"</b></font></span>
175 type:<br>
176     <ul>
177       <li>all binaries and sources of the chosen modules are
178 installed;</li>
179       <li>all binaries of the chosen prerequisites are installed.</li>
180       <br>
181     </ul>
182   </li>
183   <li><span style="font-style: italic;"> <font color="#ff0000"><b>"Install sources"</b></font></span>
184 type:<br>
185     <ul>
186       <li>all sources of the chosen modules and prerequisites are
187 installed without compilation.</li>
188       <br>
189     </ul>
190   </li>
191   <li><span style="font-style: italic;"> <font color="#ff0000"><b>"Install sources and
192 make compilation"</b></font></span> type:<br>
193     <ul>
194       <li>all sources of the chosen modules and prerequisites are
195 installed;</li>
196       <li>all sources are compiled.</li>
197     </ul>
198   </li>
199 </ol>
200 <p></p>
201 <p>In case you select "Install sources and make compilation"
202 installation type, then you can also check "Remove sources and
203 temporary files after compilation" option.
204 </p>
205 <center><a name="Installation_type_page"></a><br>
206 <img alt="Installation type page" src="installtypepage.png" style="width: 593px; height: 468px;">
207 <p><b>Figure 2:</b> "Type of installation" page
208 </p>
209 </center>
210 <p>After the installation type has been selected you click <i>"Next"</i>
211 button and the Installation Wizard tries to determine the Linux
212 platform to load the corresponding configuration file. If the user
213 system is not defined or the current SALOME package does not support
214 this one, the warning will appear ("<i>Install binaries</i>"
215 and "<i>Install sources</i>" installation types only):
216 </p>
217 <center><a name="Platform_page"></a><br>
218 <img alt="Platform page" src="platformpage.png" style="width: 593px; height: 468px;">
219 <p><b>Figure 3:</b> "Installation platform" page
220 </p>
221 </center>
222 <p>If "<i>Install sources and make compilation</i>"
223 installation type has been selected, the warning message will be
224 slightly different: "<i>Your Linux platform is not supported by
225 this SALOME package and compilation is not tested on this one</i>".<br>
226 There is a list of all platforms supported by SALOME, but only those
227 supported by the current package are available for selection. in this
228 page you need to to select the reference platform, if you wish to
229 proceed with the present installation procedure.<br>
230 <b>Note:</b> this page is not displayed if the installation
231 platform has been defined automatically.
232 </p>
233 <p>In the next page you are proposed to enter the target
234 installation directory for SALOME platform. You can also press <i>"Browse..."</i>
235 button and choose the destination folder using the standard browse
236 directory dialog box. <br>
237 If the necessary directory does not exist you are
238 prompted to confirm the directory creation. If you type a wrong
239 directory
240 path, or if you do not have the permissions to write to the chosen
241 directory, the corresponding message box is shown.<br>
242 </p>
243 <p><b>Note: you are strongly recommended to avoid using
244 directory names containing spaces.</b> Otherwise you can
245 experience some troubles with the
246 installation.
247 </p>
248 <center><a name="Directory_page"></a><br>
249 <img alt="Directory page" src="directorypage.png" style="width: 593px; height: 468px;">
250 <p><b>Figure 4:</b> "Installation directory" page
251 </p>
252 </center>
253 <p>You can select the products to be installed in the "Choice of
254 the products to be installed" page.<br>
255 In the default mode it gives you the possibility to view and select
256 SALOME modules only. There is a hidden list of 3d-party prerequisite
257 products. To show it, just click "<i>Show prerequisites...</i>"
258 button.
259 </p>
260 <center><a name="Products_page1"></a><br>
261 <img alt="Products page (default mode)" src="productpage1.png" style="width: 593px; height: 468px;">
262 <p><b>Figure 5:</b> Choice of the SALOME modules
263 </p>
264 </center>
265 <p>In the full mode you also have the possibility to select
266 prerequisites.<br>
267 The checkbox before each product indicates if this one will be
268 installed or not (checked or unchecked). The second column shows the
269 disk space occupied by the corresponding module. This value depends on
270 the selected type of installation.<br>
271 To hide the prerequisites list - click "<i>Hide prerequisites</i>"
272 button.</p>
273 <center><a name="Products_page2"></a><br>
274 <img alt="Products page (full mode)" src="productpage2.png" style="width: 593px; height: 468px;">
275 <p><b>Figure 6:</b> Choice of the prerequisites
276 </p>
277 </center>
278 <p>
279 Some products may require some other prerequisite products to be
280 installed. So the installation procedure has a special feature to
281 automatically mark these products in the list view. For example, to
282 install PyQt it is necessary to have gcc, Python, Qt and Sip installed,
283 and these products will be also turned on when you check on PyQt. GEOM
284 module requires KERNEL, GUI modules and such prerequisites as:
285 OpenCascade, Python, Swig, Qt, etc.
286 </p>
287 <p>The dependencies between SALOME modules are managed in the
288 following way:
289 </p>
290 <ul>
291   <li>If one module is unchecked, all modules which depend on
292 this one are also unchecked automatically;</li>
293   <li>If one module is checked, all modules required for this one
294 are also checked automatically.</li>
295 </ul>
296 <p></p>
297 <p>Dependency between modules and prerequisites is realized in
298 the following way:
299 </p>
300 <ul>
301   <li>The choices made by the user in the list of modules have a
302 direct impact on the list of prerequisites;</li>
303   <li>Whenever a module is checked, all the necessary
304 prerequisites are checked automatically with no possibility for the
305 user to uncheck them (see <a href="#Products_page3">Fig.7</a>
306 below);</li>
307   <li>Whenever a module is unchecked, according to the remaining
308 checked modules, the unnecessary prerequisites are unchecked
309 automatically (see <a href="#Products_page3">Fig.7</a>
310 below).</li>
311 </ul>
312 It is possible to check again the prerequisites, which have been
313 automatically unchecked. In other words, it is possible to add more
314 prerequisites than necessary.
315 <p></p>
316 <center><a name="Products_page3"></a><br>
317 <img alt="Products page (dependencies presentation)" src="productpage3.png" style="width: 593px; height: 468px;">
318 <p><b>Figure 7:</b> Dependencies between modules and
319 prerequisites
320 </p>
321 </center>
322 <p>The "<i>Installation with GUI</i>" checkbox allows
323 managing the installation of the graphical interface. If it is
324 unchecked, only "KERNEL" and "MED" modules are installed with their
325 necessary prerequisites, and other modules are unchecked with no
326 possibility to check them in this mode (see <a href="#Products_page4">figure</a> below).<br>
327 By default this checkbox is switched on.
328 </p>
329 <center><a name="Products_page4"></a><br>
330 <img alt="Products page (Installation without GUI)" src="productpage4.png" style="width: 593px; height: 468px;">
331 <p><b>Figure 8:</b> Installation MED without GUI mode
332 </p>
333 </center>
334 <p>The box at the right side of the page displays the information
335 about the currently selected product: name, version and short description,
336 required disk space, disk space required for the temporary files and
337 the list of prerequisites (this information is provided in the XML
338 file).
339 </p>
340 <p>The <i>"Disk space required:"</i> field displays
341 how much
342 disk space on the hard drive is required for installation of the
343 selected
344 products.<br>
345 <b>Note:</b> please, take into account that the displayed
346 amount of
347 the required disk space is approximate and may differ when you actually
348 install products on your hard drive.
349 </p>
350 <p>The installation procedure uses a special directory to store
351 temporary files. The <i>"Space for temporary files"</i>
352 field shows
353 the information about the required disk space on the hard drive for
354 extracting and compiling the selected products. You can change the
355 temporary directory (this information is provided in the XML file) to
356 the folder you want.<br>
357 <span style="font-weight: bold;">Note:</span>
358 actually, the temporary files
359 are not stored directly in the directory selected by the user. The
360 Installation Wizard creates in this directory an additional folder
361 named
362 like INSTALLWORK<span style="font-weight: bold;">XXXXX</span>
363 where XXXXX is a unique number. This allows launching several
364 Installation Wizards simultaneously. This temporary directory is
365 removed automatically when the installation finishes.<br>
366 </p>
367 <p>The installation procedure also checks the available disk
368 space. If
369 there is not enough disk space on your hard drive you will see the
370 corresponding error message box.
371 </p>
372 <p>Also in the current version of Installation Wizard is possible
373 to install all binaries of the selected SALOME modules into a <b>single</b>
374 directory. It is "<i>SALOME</i>" directory.
375 For this purpose there is a checkbox "<i>Install modules to a
376 single directory</i>" checkbox exists (see <a href="#Products_page4">Fig.8</a>).<br>
377 This feature helps to get shorter PYTHONPATH and LD_LIBRARY_PATH
378 environment variables.<br>
379 <b>Note:</b> the installation into a single directory is
380 available with the binaries installation type only.
381 </p>
382 <p>To proceed further, click <i>"Next"</i> button.
383 At this moment
384 the program will make some tests to check the installation settings: if
385 there is enough disk space on the hard drive, check for the
386 dependencies for each product you have selected to be installed. If any
387 test fails you will see the corresponding warning message box.
388 Otherwise the wizard will proceed to the next page:
389 </p>
390 <center><a name="ChoicePage"></a><br>
391 <img alt="Choice page" src="choicepage.png" style="width: 593px; height: 468px;">
392 <p><b>Figure 9:</b> "Check your choice" page
393 </p>
394 </center>
395 <p>This page summarizes the installation options you've selected
396 in the
397 previous pages. You can review again your choices and change them if
398 necessary returning to the previous pages. <br>
399 When you are sure that everything is OK, press <i>"Next"</i>
400 button to
401 follow to the <a href="#ProgressPage">progress page</a>.
402 </p>
403 <center><a name="ProgressPage1"></a><br>
404 <img alt="Progress page (not started yet)" src="progresspage1.png" style="width: 593px; height: 468px;">
405 <p><b>Figure 10:</b> "Installation progress" page:
406 not started yet
407 </p>
408 </center>
409 <div style="text-align: left;">To start the installation
410 of the selected
411 products click <i>"Start"</i>
412 button. It launches the shell installation script and you will be able
413 to see the output of the script in the topmost frame of the dialog box.
414 If any
415 errors occur during the installation progress, the corresponding
416 messages
417 will be printed to the log window in the bold red font.<br>
418 </div>
419 <div style="text-align: left;">It is possible to break the
420 installation at any time by pressing <span style="font-style: italic;">"Stop"</span>
421 button. Then you can get back to the previous pages if you wish to
422 change the installation settings or restart the installation by
423 pressing <span style="font-style: italic;">"Start"</span>
424 button again.<br>
425 </div>
426 <p style="text-align: left;"><span style="font-weight: bold;">Note:</span>
427 in the current
428 implementation it is not possible to resume the stopped installation
429 process; the installation will restart from the very beginning. <br>
430 </p>
431 <center><a name="ProgressPage2"></a><br>
432 <img alt="Progress page (installation started)" src="progresspage2.png" style="width: 593px; height: 468px;">
433 <p><b>Figure 11:</b> "Installation progress" page:
434 installation in
435 progress
436 </p>
437 </center>
438 <p>The <i>"Installation Status"</i> frame window
439 shows you the
440 progress of installation. "<font color="#ff0000">Waiting</font>"
441 status
442 means that the installation of this product has not started
443 yet. The product currently being installed is marked as "<font color="#ff9900">Processing</font>" and is displayed in
444 the status bar under "Installation Status" view. All installed products
445 have "<font color="#33ff33">Completed</font>"
446 status.
447 </p>
448 <p>You can abort the installation and close the installation
449 procedure
450 using <i>"Cancel"</i> button. <br>
451 <span style="font-weight: bold;">Note:</span> this
452 button sends the
453 signal "SIGTERM" to the shell script.
454 The script tries to clear all temporary files.
455 The process of removing the temporary files can take some time, so the
456 installation wizard will wait for 3 seconds before closing.
457 </p>
458 <p>At the end of the installation "<b>Installation completed</b>"
459 message will appear in the status bar. You can return to the previous
460 pages to start a new installation or click <i>"Next"</i>
461 button to go to the readme page: </p>
462 <center><a name="readmepage"></a><br>
463 <img alt="Readme page" src="readmepage.png" style="width: 593px; height: 468px;">
464 <p><b>Figure 12:</b> "Finish installation" page
465 </p>
466 </center>
467 <p>In this page you can read important information about the
468 Installation Wizard itself and some tips: how to run and test SALOME or
469 how to build SALOME from the sources. This is also described the
470 README file which you can find in the root directory of the
471 Installation Wizard. <br>
472 You can also launch SALOME Desktop from this
473 page or read the Release Notes file by clicking on the corresponding
474 buttons in the lower part of the page (see <a href="#xml_files">here</a>
475 and <a href="#finish_buttons">here</a> for more
476 information about
477 customizing these buttons).<br>
478 </p>
479 <!--<h3 style="margin-left: 40px;"> <a name="batch_mode"></a>Batch mode<br>
480 </h3>
481 To launch the Installation Wizard in the batch mode use <span
482 style="font-weight: bold;">-b</span>
483 (<span style="font-weight: bold;">--batch</span>) parameter.<br>
484 In this mode the GUI wizard is not shown but all the installation
485 status is displayed directly in the console. In the batch mode user do
486 not have a possibility to change installation settings which are given
487 in the configuration file, except target and temporary directories
488 which can be overridden by the corresponding command line options.<br>
489 The only exception is <span style="font-weight: bold;">--all-from-sources</span>
490 (<span style="font-weight: bold;">-a</span>) option which enables
491 special installation mode in which all the products (including SALOME
492 modules) are installed from sources, ignoring default mode defined in
493 the XML configuration file (see <a href="#install_from_wizard">here</a>
494 for details).
495 <center><a name="BatchMode"></a><br>
496 <br>
497 <img alt="Batch mode" src="batchmode.png"
498 style="width: 660px; height: 410px;">
499 <p><b>Figure 9:</b> Batch mode</p>
500 </center>-->
501 <h3 style="margin-left: 40px;"><a name="env_files"></a>Environment
502 files</h3>
503 <p>During the process of installation the
504 script creates some
505 environment files to simplify the procedure of launching SALOME. These
506 shell scripts set
507 all necessary environment variables for all products you have
508 installed.
509 To learn how the installation scripts collect the environment, see <a href="#pick_up_env">here</a>. These files are: <b>salome.csh</b>
510 + <b>salome.sh</b>
511 in the <span style="font-style: italic;"><span style="font-weight: bold;">KERNEL module</span></span><b><i>
512 sources</i></b>
513 and <span style="font-style: italic;"><span style="font-weight: bold;">KERNEL
514 module</span></span><b><i> binaries</i></b>
515 root directories and <b>env_products.csh</b>
516 + <b>env_products.sh </b>and <span style="font-weight: bold;">env_build.csh
517 </span>+ <span style="font-weight: bold;">env_build.sh</span>
518 in the
519 target installation directory.<br>
520 </p>
521 <span style="font-weight: bold;">Note:</span> there
522 is some difference
523 between these files: <span style="font-weight: bold;">env_build.*</span>
524 files are optimized to
525 be used for the building of SALOME modules from sources (see <span style="font-weight: bold;">README </span>file
526 provided with the
527 installation procedure on the CD). The <span style="font-weight: bold;">env_products.*</span>
528 (and<span style="font-weight: bold;"> salome.*</span>)
529 files are
530 optimized for
531 the SALOME launching. The behavior is defined by the environment
532 variable<span style="font-weight: bold;"> </span><b>ENV_FOR_LAUNCH</b>
533 which is set to <span style="font-weight: bold;">0</span>
534 in
535 env_build.* files and to <span style="font-weight: bold;">1</span>
536 in
537 env_products.*
538 (salome.*) files.<br>
539 <br>
540 <hr>
541 <h3> <a name="pick_up_env"></a>Pick up the <font color="#ff0000">environment</font></h3>
542 Please, read carefully the following information. This section
543 describes how the installation procedure generates the environment
544 scripts for the SALOME platform being installed.
545 <p>After the installation of each product the shell script
546 creates a special
547 environment file for the product in its installation folder. The name
548 of the file is generated from the name of the product by the following
549 scheme: <b>env_&lt;product_name&gt;.sh</b>
550 (for example <b>env_Vtk.sh </b>for the Vtk).
551 This file includes all necessary environment settings. At the final
552 step of the installation the script picks up all settings files and
553 generates from them two common environment files: <b>salome.sh</b>
554 and <b>salome.csh
555 </b>for <span style="font-weight: bold;">bash</span>
556 and <span style="font-weight: bold;">csh</span>
557 shells correspondingly. This
558 approach helps to save time when reinstalling products and you may can
559 avoid setting all environment variables
560 manually to build/launch SALOME. What you need is to source one of
561 these environment files. </p>
562 <p>This also concerns the products which are not being installed.
563 For example, you install some SALOME binaries to the directory where
564 you have previously installed other products.&nbsp; The
565 installation
566 procedure tries to collect the environment files from the target
567 directory if it finds necessary products installed there. If a
568 product is not found in the target directory the corresponding
569 section of <b>salome.sh/salome.csh</b> files will be
570 commented. <br>
571 For the native products (like <i><b>gcc, tcl, etc...</b><b>)</b></i>
572 the installation procedure tries to find them first using <b>PATH</b>
573 / <b>LD_LIBRARY_PATH</b> variables and then in the system
574 default
575 directories (<b>/usr/bin, /usr/lib</b> etc., depending on
576 the product).
577 </p>
578 <p>In any case you are able to edit <b>salome.*</b>
579 files after the installation procedure finished.<br>
580 <span style="font-weight: bold;"><br>
581 Note:</span> as it has been mentioned <a href="#env_files">above</a>
582 there
583 are other environment files generated by the installation procedure: <span style="font-weight: bold;">env_products.csh</span> + <span style="font-weight: bold;">env_products.sh</span> and <span style="font-weight: bold;">env_build.csh</span> + <span style="font-weight: bold;">env_build.sh</span>. These
584 files can be
585 found in the target installation root directory.<br>
586 </p>
587 <hr>
588 <h3><a name="xml_files"></a>Modifying <font color="#ff0000">XML</font>
589 configuration <font color="#ff0000">file</font></h3>
590 <font color="#000000">You can create your own XML
591 configuration file.
592 The Installation Wizard can take it as a command line argument to
593 provide a list of products you want to install with it. The list of
594 products and some other settings for the Installation Wizard are
595 provided in the XML file.<br>
596 This section describes the structure of the configuration file.</font>
597 <font color="#000000">XML tags are in bold blue, optional
598 sections/tags
599 are in brackets.</font>
600 <font face="Courier">
601 <p><b><font color="#000099">&lt;document&gt;</font></b>
602 <br>
603 <font color="#000000"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
604 </b></font><b><font color="#000099">
605 &lt;config</font></b><font color="#000000">
606 [ version=&lt;application_version&gt;
607 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</font> <br>
608 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
609 &nbsp;
610 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
611 caption=&lt;application_caption&gt;
612 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</font> <br>
613 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
614 &nbsp;
615 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
616 copyright=&lt;application_copyright&gt;&nbsp; ]</font>
617 <br>
618 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
619 &nbsp;
620 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
621 license=&lt;application_license_info&gt; ]</font> <br>
622 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
623 &nbsp;
624 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
625 platforms=&lt;target_platform&gt;</font> <br>
626 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
627 &nbsp;
628 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
629 targetdir=&lt;target_directory&gt;
630 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] </font>
631 <br>
632 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
633 &nbsp;
634 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
635 [
636 tempdir=&lt;temp_directory&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
637 &nbsp;&nbsp;&nbsp;&nbsp; ]</font><b><font color="#000099"><br>
638 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /&gt; </font></b>
639 <br>
640 <font color="#000000"><b>&nbsp;&nbsp;&nbsp;
641 </b>[ </font><b><font color="#000099">&lt;buttons&gt;</font></b>
642 <br>
643 <font color="#000000"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
644 </b>[ </font><b><font color="#000099">&lt;button</font></b>
645 <font color="#000000">&nbsp;
646 label=&lt;button_label&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>
647 <br>
648 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
649 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
650 [ tooltip=&lt;button_tooltip&gt; ]</font> <br>
651 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
652 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
653 &nbsp;
654 script=&lt;button_script&gt;&nbsp;&nbsp;&nbsp;</font>
655 <br>
656 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
657 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
658 [ disable=&lt;disable_flag&gt;&nbsp;&nbsp;&nbsp;]</font><font color="#000099"><br>
659 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>/&gt;</b>
660 </font><font color="#000000"><br>
661 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]</font> <br>
662 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
663 [</font><b><font color="#000099">
664 &lt;button</font></b><font color="#000000">
665 ... </font><font color="#000099"><br>
666 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>/&gt;</b></font>
667 <br>
668 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
669 ]</font><br>
670 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
671 ...</font>
672 <font color="#000099"><br>
673 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>&lt;/buttons&gt;</b>
674 </font><font color="#000000"><br>
675 &nbsp;&nbsp;&nbsp; ]</font> <br>
676 <font color="#000000">&nbsp;&nbsp;&nbsp; [</font><b><font color="#000099"> &lt;products&gt;</font></b>
677 <br>
678 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
679 [</font><b><font color="#000099">
680 &lt;product</font></b><font color="#000000">&nbsp;
681 name=&lt;product_name&gt;</font> <br>
682 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;
683 &nbsp;
684 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
685 type=&lt;product_type&gt;</font> <br>
686 &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
687 &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; [
688 description=&lt;product_description&gt; ]<br>
689 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
690 </font><b><font color="#000099">
691 &lt;installation</font></b><font color="#000000">&nbsp;
692 os=&lt;installation_platform&gt;</font> <br>
693 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;
694 &nbsp;&nbsp;&nbsp;&nbsp;
695 &nbsp;&nbsp;
696 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
697 version=&lt;product_version&gt;</font> <br>
698 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
699 &nbsp;&nbsp;&nbsp;
700 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
701 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [
702 disable=&lt;disable_flag&gt;
703 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]
704 <font color="#000000"><br>
705 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
706 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
707 installdiskspace=&lt;install_disk_space&gt;</font><br>
708 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
709 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;
710 &nbsp;&nbsp;&nbsp;&nbsp; [
711 pickupenv=&lt;pickup_env_flag&gt; ]</font>&nbsp;
712 <font color="#000000"><br>
713 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
714 &nbsp;
715 &nbsp;&nbsp;&nbsp;&nbsp;
716 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
717 script=&lt;installation_script_name&gt;</font><br>
718 <font color="#000099">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
719 <b>/&gt;</b></font><br>
720 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
721 ...</font>
722 <font color="#000099"><br>
723 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>/&gt;</b></font><font color="#000000">
724 <br>
725 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]</font> <font color="#000000"><br>
726 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [</font><b><font color="#000099"> &lt;product</font></b><font color="#000000"> ... </font><font color="#000099"><br>
727 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>/&gt;</b></font><font color="#000000"> <br>
728 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]</font><br>
729 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
730 ...</font><br>
731 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><b><font color="#000099"> &lt;/products&gt;</font></b>
732 <br>
733 <font color="#000000">&nbsp;&nbsp;&nbsp; ]</font><br>
734 <font color="#000000">&nbsp;&nbsp;&nbsp; [</font><b><font color="#000099"> &lt;dependencies&gt;</font></b>
735 <br>
736 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
737 [</font><b><font color="#000099">
738 &lt;product</font></b><font color="#000000">&nbsp;
739 name=&lt;product_name&gt;</font><b><font color="#000099"> &gt;</font></b> <br>
740 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
741 [</font><b><font color="#000099">
742 &lt;dep&gt;</font></b> <font color="#000000">&lt;prerequisite_name&gt;</font>
743 <b><font color="#000099"> &lt;/dep&gt;</font></b>
744 <font color="#000000">]</font><br>
745 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
746 ...</font><br>
747 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><b><font color="#000099"> &lt;/product&gt;</font></b>
748 <br>
749 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
750 ]</font><br>
751 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
752 ...</font><br>
753 <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><b><font color="#000099"> &lt;/dependencies&gt;</font></b>
754 <br>
755 <font color="#000000">&nbsp;&nbsp;&nbsp; ]</font><br>
756 <b><font color="#000099">
757 &lt;/document&gt;</font></b> </p>
758 </font>
759 <h4><font color="#000000">&lt;config&gt;
760 section</font></h4>
761 <font color="#000000">This section provides general
762 information about an application that will be installed.<br>
763 <br>
764 Attributes:<br>
765 </font>
766 <ul>
767   <li> <font color="#000000"><b>version</b></font></li>
768 </ul>
769 <font color="#000000">The application version number to be
770 shown in the
771 caption.</font>
772 <ul>
773   <li> <font color="#000000"><b>caption</b></font></li>
774 </ul>
775 <font color="#000000">The application main window caption
776 - if this
777 string contains '%1' text the title will contain
778 the version number in this place (see above).</font>
779 <ul>
780   <li> <font color="#000000"><b>copyright</b></font></li>
781 </ul>
782 <font color="#000000">The application
783 copyright information (shown in the first page).</font>
784 <ul>
785   <li> <font color="#000000"><b>license</b></font></li>
786 </ul>
787 <font color="#000000">The application license information
788 (shown in the
789 first page).</font>
790 <ul>
791   <li> <font color="#000000"><b>platforms</b></font></li>
792 </ul>
793 <font color="#000000">This parameter defines platforms for
794 whose the configurations from this file will be used. Also it provides
795 the directory name (relative from ./Products/BINARIES) where the
796 Installation Wizard will search for precompiled binaries packages.</font>
797 <ul>
798   <li> <font color="#000000"><b>targetdir</b></font></li>
799 </ul>
800 <font color="#000000">The target
801 directory is the path to the directory where the products should be
802 installed.</font>
803 <ul>
804   <li> <font color="#000000"><b>tempdir</b></font></li>
805 </ul>
806 <font color="#000000">The temporary directory is
807 the path to the directory for the temporary files.</font>
808 <h4> <b>&lt;buttons&gt; section</b></h4>
809 This is an optional section and may contains one or more
810 &lt;product&gt; sections.
811 <h4> <b>&lt;button&gt; section</b></h4>
812 This optional section allows customization of the last <i>"Finish
813 installation"</i> page of the Installation Wizard by adding one
814 or
815 more buttons in the lower part of the Installation Wizard window. The
816 script
817 which is attached to each such button, can perform some specific
818 actions, for example, launch the application or show the 'Release
819 Notes'
820 file by using an external program.
821 See <a href="#finish_buttons">here</a> for more
822 details about
823 writing scripts.<br>
824 <font color="#000000"><br>
825 Attributes:</font><br>
826 <ul>
827   <li> <font color="#000000"><b>label</b></font></li>
828 </ul>
829 <font color="#000000">This is the button text.</font>
830 <ul>
831   <li> <font color="#000000"><b>tooltip</b></font></li>
832 </ul>
833 <font color="#000000">The button tooltip (optional).</font>
834 <ul>
835   <li> <font color="#000000"><b>script</b></font></li>
836 </ul>
837 <font color="#000000">The script attached to the button.</font>
838 <ul>
839   <li> <font color="#000000"><b>disable</b></font></li>
840 </ul>
841 <font color="#000000">If this optional flag has 'true'
842 value, the corresponding button will not appear in the <i>"Finish
843 installation"</i> page - the section of XML file is ignored.</font><br>
844 <h4> <b>&lt;products&gt; section</b></h4>
845 This one contains a list of &lt;product&gt; sections. The
846 products appear in the tree view and are installed in the order they
847 are described in this section.
848 <h4> <b>&lt;product&gt; section</b></h4>
849 Current section is optional. It describes the product to be installed
850 with the Installation
851 Wizard. The &lt;products&gt; container should include
852 &lt;product&gt; section for each
853 product to be installed.<br>
854 <font color="#000000"><br>
855 Attributes:</font><br>
856 <ul>
857   <li> <font color="#000000"><b>name</b></font></li>
858 </ul>
859 <font color="#000000">The name of the product.</font>
860 <ul>
861   <li> <font color="#000000"><b>type</b></font></li>
862 </ul>
863 <font color="#000000">The type of the product: '<i>component</i>'
864 - SALOME module or '<i>prerequisite</i>' - prerequisite
865 product.</font>
866 <ul>
867   <li> <font color="#000000"><b>description</b></font></li>
868 </ul>
869 The <font color="#000000">product </font><font color="#000000">description
870 (optional).</font>
871 <h4> <b>&lt;installation&gt; section</b></h4>
872 It is a part of the &lt;product&gt; section, that provides
873 installation information by platforms. The &lt;product&gt;
874 section may contains a several &lt;installation&gt; ones for
875 the different platforms.
876 <br>
877 <font color="#000000"><br>
878 Attributes:</font><br>
879 <ul>
880   <li> <font color="#000000"><b>os</b></font></li>
881 </ul>
882 <font color="#000000">A possible installation platform.</font>
883 <ul>
884   <li> <font color="#000000"><b>version</b></font></li>
885 </ul>
886 <font color="#000000">The version of the product.</font>
887 <ul>
888   <li> <font color="#000000"><b>disable</b></font></li>
889 </ul>
890 <font color="#000000">If this optional flag has 'true'
891 value, the corresponding product will not appear in the list of
892 products and will not be installed.</font>
893 <ul>
894   <li> <font color="#000000"><b>installdiskspace</b></font></li>
895 </ul>
896 <font color="#000000">List of three total amount spaces
897 (integer, in Kbytes, derived by comma), which product occupies on the
898 hard drive after the installation in case 'binary', 'sources' and
899 'sources and compile' installation type.</font>
900 <ul>
901   <li><b>pickupenv</b></li>
902 </ul>
903 This flag shows that the pickup environment
904 procedure should be performed for this product. If this flag equal to
905 'true',
906 &nbsp;salome.sh and salome.csh files will&nbsp; be created in
907 the product's
908 installation directory. Usually this option is set to true for SALOME
909 KERNEL module. This is optional key, default value is 'false'<b>.</b><br>
910 <ul>
911   <li> <font color="#000000"><b>script</b></font></li>
912 </ul>
913 <font color="#000000">The installation script name.
914 This script is in charge of the installation of the product. It is
915 called
916 automatically by the Installation Wizard when necessary from the main
917 program. See the <a href="#new_products">next
918 section</a> for
919 more information.</font><br>
920 <br>
921 <b>Note:</b> If you add new products to be
922 installed with Installation Wizard, you should also provide
923 installation script for this product. See the next section for more
924 details.
925 <p><br>
926 </p>
927 <hr>
928 <h3><a name="new_products"></a>Implementing <font color="#ff0000">installation
929 scripts</font> for the new products</h3>
930 When you want some product to be installed with the Installation
931 Wizard, you should add it's description it <a href="#xml_files">in
932 the
933 configuration file</a> and create the installation script,
934 following
935 rules described in this section. <br>
936 <br>
937 There are some obligatory functions which should be implemented in this
938 installation
939 script. These functions are automatically called by master installation
940 script
941 or/and its GUI shell when it is necessary.<br>
942 <font color="#000000">File <b>common.sh</b>
943 contains some service
944 functions
945 which can be used in your installation script, like <b>make_env()</b>,<b>
946 make_dir()</b>, <b>try_existing()</b>, <b>sort_path()</b>,<b>
947 find_in_path()</b>,
948 etc.</font>
949 <ul>
950   <li> <b>check_version()</b></li>
951 </ul>
952 This function allows to check the
953 version of the product already installed on the computer. It should try
954 to find product (native or preinstalled in the target directory) and
955 check
956 its version. This helps to avoid unnecessary reinstallation. This is
957 internal
958 function and is not called from the master installation script.<br>
959 <ul>
960   <li><font color="#000000"><b>install_binary()</b></font></li>
961 </ul>
962 <font color="#000000">This function is
963 called when <i>'Install binaries'</i> installation mode is
964 selected by
965 the user. The function is responsible for the extracting of the product
966 from the binaries package. It should create environment for the product
967 in
968 the temporary directory (see also the description of <b>print_env()</b>
969 function). It is not necessary to implement this function if you do not
970 provide binaries mode
971 installation for the current product. <br>
972 </font>
973 <ul>
974   <li> <font color="#000000"><b>install_source()</b></font></li>
975 </ul>
976 <font color="#000000">This function is
977 called to install SALOME modules sources, if <i>'Install binaries</i>'
978 installation mode is selected by the user, and to install prerequisite
979 products sources, in <i>'Install sources</i>' case (see <a href="#Installation_type_page">Fig.2</a> above). The
980 function is responsible for the building of the product from
981 the sources package. It should create the environment file for the
982 product
983 in the temporary directory (see also the description of <b>print_env()</b>
984 function). It is not necessary to implement this function if you do not
985 provide a sources mode installation for the current product.</font>
986 <br>
987 <ul>
988   <li> <font color="#000000"><b>install_source_and_build()</b></font></li>
989 </ul>
990 <font color="#000000">This function is
991 called when <i>'Install sources and make a compilation'</i>
992 installation mode is selected. This function should be used to unpack
993 SALOME or prerequisite sources package and then call build/install
994 procedure for it.<br>
995 For more details please refer to <a href="#gui_mode">this</a>
996 section for more details.<br>
997 </font>
998 <ul>
999   <li> <b>try_preinstalled()</b></li>
1000 </ul>
1001 <font color="#000000">This function
1002 is used to parse the target directory to try to find an already
1003 installed product, to pick up and to check the environment from
1004 there. See <a href="#pick_up_env">here</a> for more
1005 details.</font>
1006 <ul>
1007   <li> <font color="#000000"><b>print_env_bin()
1008     </b> &amp; <b> print_env_src()</b></font></li>
1009 </ul>
1010 <font color="#000000">These functions are in charge of the
1011 creation of the environment scripts. They should create in the
1012 temporary directory two files with <b>env_&lt;product_name&gt;.sh</b>
1013 and <b>env_&lt;product_name&gt;_src.sh</b>
1014 names and then copy them into the binary and sources product
1015 installation directories correspondingly. The file should contain all
1016 necessary
1017 environment variable settings for the product. It will be collected
1018 during the 'pick-up-environment' procedure.</font>
1019 <ul>
1020   <li><b>pickup_env()</b></li>
1021 </ul>
1022 This procedure corresponds to <b>pickupenv</b> tag
1023 of the configuration xml file (see the previous section). It should
1024 call <b>make_env</b>
1025 procedure to perform the pick-up environment procedure for the product.<br>
1026 <br>
1027 <font color="#000000">The calling signature of the product
1028 installation
1029 script is the following:</font> <br>
1030 <b><font color="#000000">
1031 &lt;product_script_name&gt;
1032 &lt;function_name&gt;
1033 &lt;temp_folder&gt;
1034 &lt;products_directory&gt;
1035 &lt;target_directory&gt;
1036 &lt;all_products&gt;
1037 &lt;product_name&gt;
1038 &lt;install_products&gt;
1039 &lt;sources_directory&gt;
1040 &lt;remove_sources_flag&gt;
1041 &lt;binaries_directory&gt;
1042 &lt;single_directory_flag&gt; </font></b>
1043 <p><font color="#000000">where</font> <br>
1044 </p>
1045 <p><font color="#000000"><b>&lt;product_script_name&gt;</b>
1046 -
1047 the name of the installation script (described in the configuration XML
1048 file);</font> <br>
1049 <font color="#000000"><b>&lt;function_name&gt;</b>
1050 - the name of
1051 the function, corresponding to the selected installation type and
1052 currently installed product; </font> <br>
1053 <font color="#000000"><b>
1054 &lt;temp_folder&gt; </b> - the directory for the
1055 temporary files; </font> <br>
1056 <font color="#000000"><b>&lt;products_directory&gt;</b>
1057 - the directory
1058 where the sources/binaries package can be found. You should provide
1059 sources package in the <i>&lt;Install_Wizard_root_directory&gt;/Products/SOURCES</i>
1060 directory and binaries package in the <i>&lt;InstallWizard_root_directory&gt;/Products/BINARIES/&lt;os_version&gt;</i>,
1061 where &lt;os_version&gt; is the target platform description,
1062 which appears
1063 in the corresponding section of the <a href="#xml_files">configuration
1064 xml
1065 file</a>.</font> <br>
1066 <font color="#000000"><b>
1067 &lt;target_directory&gt; </b> - the root target
1068 directory where the product should be installed to;</font> <br>
1069 <font color="#000000"><b>
1070 &lt;all_products&gt; </b> - single-quoted list
1071 of all products, separated by space;</font> <br>
1072 <font color="#000000"><b>
1073 &lt;product_name&gt; </b>- product name
1074 itself;</font> <br>
1075 <font color="#000000"><b>
1076 &lt;install_products&gt; </b> - single-quoted list
1077 of all products to be installed, separated by space;</font> <br>
1078 <font color="#000000"><b>
1079 &lt;sources_directory&gt; </b> - the directory
1080 where the sources package can be found (it is usable if the
1081 &lt;products_directory&gt; parameter gives the binaries
1082 directory path); </font> <br>
1083 <font color="#000000"><b>
1084 &lt;remove_sources_flag&gt; </b> - bool parameter, that
1085 is equal to 'TRUE' if 'Remove sources and temporary files after
1086 compilation' option has been selected by the user (see <a href="#Installation_type_page">Fig.2</a> in the <a href="#gui_mode">GUI part</a>);</font> <br>
1087 <font color="#000000"><b>
1088 &lt;binaries_directory&gt; </b> - the directory
1089 where the binaries package can be found (it is usable if the
1090 &lt;products_directory&gt; parameter gives the sources
1091 directory path); </font> <br>
1092 <font color="#000000"><b>
1093 &lt;single_directory_flag&gt; </b> - bool parameter,
1094 that is equal to 'TRUE' if 'Install modules to a single directory'
1095 option is selected by the user (see <a href="#Products_page1">Fig.5</a>
1096 above). </font> <br>
1097 </p>
1098 <p><font color="#000000">Example:</font> <br>
1099 <i><font color="#000000">med-2.3.3.sh install_binary
1100 /tmp/INSTALLWORK21797
1101 ./Products/BINARIES/Mandriva2006.0
1102 'gcc tcltk tcltk_src Python Python_src Qt Qt_src ... DOCUMENTATION
1103 DOCUMENTATION_src'
1104 Med
1105 'gcc Hdf Med'
1106 ./Products/SOURCES
1107 FALSE
1108 ./Products/BINARIES/Mandriva2006.0
1109 </font></i></p>
1110 <p><font color="#000000">Copy the created script
1111 into
1112 the <i>&lt;Install_Wizard_root_directory&gt;/config_files</i>
1113 sub-directory where all installation scripts are stored. The Installation
1114 Wizard will automatically search and call your script during the
1115 installation
1116 procedure.</font>
1117 </p>
1118 <hr> <br>
1119 <h3><a name="finish_buttons"></a>Customizing <font color="#ff0000">Readme
1120 page</font> buttons</h3>
1121 The Installation Wizard allows customizing the layout of the last
1122 <i>"Finish installation"</i> page. If you want to add one
1123 or more
1124 buttons in this page to perform some specific actions at the
1125 end of the installation (for example, show the 'Release Notes' file by using
1126 Open Office) you can put an additional section to the XML
1127 configuration file. This is the <b>&lt;button&gt;</b>
1128 section (see <a href="#xml_files">here</a> for more
1129 details). <br>
1130 <br>
1131 To implement the action which will be performed when the user clicks on
1132 the button, you need to create a script and to put it into the
1133 <i>&lt;Install_Wizard_root_directory&gt;/config_files</i>
1134 directory.<br>
1135 There are some obligatory functions which should be implemented in this
1136 script. These functions are automatically called by the Installation
1137 Wizard GUI.
1138 <ul>
1139   <li><b>check_enabled()</b></li>
1140 </ul>
1141 This procedure is called by the Installation Wizard when the
1142 <i>"Finish installation"</i> page is displayed and the
1143 status of the
1144 buttons should be modified according to the installation options. This
1145 procedure should return <b>0</b> if the corresponding
1146 action can be
1147 performed and, thus, the button should be enabled. Otherwise, it
1148 should return <b>1</b> - in this case the corresponding
1149 button will be
1150 disabled.
1151 <ul>
1152   <li><b>execute()</b></li>
1153 </ul>
1154 This procedure is invoked when the user clicks the button. This
1155 procedure should return <b>0</b> if the corresponding
1156 action is carried out
1157 successfully and <b>1</b> if any error occurs.<br>
1158 <br>
1159 The calling signature of the script is the following:<br>
1160 <b><font color="#000000">&lt;product_script_name&gt;
1161 &lt;function_name&gt; &lt;target_directory&gt;
1162 &lt;temp_folder&gt;</font></b>
1163 <p><font color="#000000">where</font> <br>
1164 </p>
1165 <p><font color="#000000"><b>&lt;product_script_name&gt;</b>
1166 -
1167 the script name itself (retrieved from the XML configuration xml
1168 file);</font> <br>
1169 <font color="#000000"><b>&lt;function_name&gt;</b>
1170 - the name of the function;</font> <br>
1171 <font color="#000000"><b>&lt;target_directory&gt;</b>
1172 - the root target
1173 directory where the product is
1174 installed to;</font> <br>
1175 <font color="#000000"><b>&lt;temp_folder&gt;
1176 </b> - the directory for the temporary files.</font> <br>
1177 <br>
1178 <b>Note:</b> The standard Installation Wizard buttons
1179 "Launch
1180 SALOME" and "Release Notes" are implemented with this
1181 feature. Refer to the scripts <b>start_salome.sh</b> and
1182 <b>release_notes.sh</b> for the sample implementation.<br>
1183 <br>
1184 <b>Note:</b> Any button (even standard) can be ignored by
1185 the
1186 Installation Wizard if the attribute <b>&lt;disable&gt;</b>
1187 in the XML
1188 configuration file is set to the "true" value.
1189 </p>
1190 <hr><br>
1191 </body>
1192 </html>